[CIG-SHORT] Uniform time-stepping for long runs on viscoelastic domain

Brad Aagaard baagaard at usgs.gov
Fri Jun 5 12:43:27 PDT 2015


Michal,

There may be some roundoff making it look like PyLith is going further 
than requested.

What is more likely happening is that PyLith has integrated the residual 
and is busy doing something at the next step, which may not be showing 
up in the log due to buffering or that step was not requested to be 
shown in the log. PyLith could be busy calculating state variables 
(stress or strain) in order to output them. It will calculate them 
before writing, so you won't see any I/O while they are being calculated.

You can attach a debugger to the process to try to see what is doing, 
for example gdb --pid PID_OF_MPINEMESIS_PROCESS.

Regards,
Brad

On 06/05/2015 12:24 PM, Michal Dichter wrote:
>
> Dear PyLith experts,
>
>
> I am having a strange problem with the uniform time-stepping scheme for "long runs" on a viscoelastic domain. I have set up the time-stepping as:
>
> [pylithapp.problem.formulation.time_step]
>
> total_time = 500.0*year
> dt = 0.1*year
>
>
> The dt value is less than the stable timestep. The simulation runs as expected when total_time is relatively small (for example 5 years). However for longer runs, such as the 500-year run above, PyLith runs great for the first 99% of the simulation but then gets stuck at the very end:
>
>
>   -- Finishing advancing solution from t=1.57725e+10*s to t=1.57756e+10*s.
>   >> /home/michal/PyLith/lib/python2.7/site-packages/pylith/problems/Implicit.py:246:poststep
>   -- implicit(info)
>   -- Writing solution fields.
>   >> /home/michal/PyLith/lib/python2.7/site-packages/pylith/problems/TimeDependent.py:176:run
>   -- timedependent(info)
>   -- Main time loop, current time is t=1.57756e+10*s
>   >> /home/michal/PyLith/lib/python2.7/site-packages/pylith/problems/TimeDependent.py:187:run
>   -- timedependent(info)
>   -- Preparing to advance solution from time t=1.57756e+10*s to t=1.57788e+10*s.
>   >> /home/michal/PyLith/lib/python2.7/site-packages/pylith/problems/Implicit.py:181:prestep
>   -- implicit(info)
>   -- Setting constraints.
>   >> /home/michal/PyLith/lib/python2.7/site-packages/pylith/problems/TimeDependent.py:193:run
>   -- timedependent(info)
>   -- Advancing solution from t=1.57756e+10*s to t=1.57788e+10*s.
>   >> /home/michal/PyLith/lib/python2.7/site-packages/pylith/problems/Formulation.py:579:_reformResidual
>   -- implicit(info)
>   -- Integrating residual term in operator.
>
>
> The simulation gets hung-up here. No error message or anything. PyLith isn't busy writing output to files during this time. It also seems that PyLith is trying to advance the solution multiple time steps beyond the 500 years that I've requested: 1.57788e+10 ~ 500.34 years. What's going on here?
>
>
> Best,
>
>
> Michal
>
>
> ____________
> Michal Dichter
> Department of Physics and Astronomy
> University of New Mexico
> (860) 459-0956
>
>
>
> _______________________________________________
> CIG-SHORT mailing list
> CIG-SHORT at geodynamics.org
> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>



More information about the CIG-SHORT mailing list