[CIG-SHORT] pylith time stepping

Charles Williams willic3 at rpi.edu
Tue May 13 18:53:07 PDT 2008


I just looked, and there is a _needNewJacobian flag that gets set to  
true if the time step size changes for the viscoelastic materials, so  
we should be OK.

Charles


On May 13, 2008, at 7:33 PM, Brad Aagaard wrote:

> Chris-
>
> Line 56 in libsrc/feassemble/ElasticityImplicit.cc is
>  assert(_dt == _dtm1); // For now, don't allow variable time step
>
> I know we need this assertion in ElasticityExplicit.cc, because the  
> current
> explicit time stepping implementation uses a uniform time step. I  
> don't think
> there is anything in the implicit time integration implementation  
> that limits
> it to a uniform time step. However, there might be issues in the  
> current
> implementation of the viscoelastic materials that require a uniform  
> time
> step.
>
> If Charles verifies that the viscoelastic materials do not require a  
> uniform
> time step, we can remove the assertion and the code will not abort  
> when it
> encounters a different time step for implicit time stepping.
>
> There are hooks for providing feedback from the integrators on what  
> is a
> stable time step. Right now they are hardwired to return the initial  
> time
> step that was assigned to them. If someone provided the algorithms for
> computing the stable time step for the various material models (the  
> elastic
> cases for implicit time integration are trivial), we could get  
> automatic
> variable time stepping implemented very easily.
>
> Brad
>
> On Tuesday 13 May 2008, Christopher DiCaprio wrote:
>> PyLith developers,
>>
>> I'm trying to write a PyLith component for rudimentary variable time
>> step size. My component, called ImplicitManualdt, is similar to
>> Implicit, but it replaces the Formulation.stableTimeStep() with a
>> method that reads time step sizes sequentially from a text file. It
>> works when I specify the same size for every step (i.e. repeat the
>> same value in the timestep file), but I get the following error when
>> I give it a file that has more than one time step size:
>>
>>  -- Advancing solution from t=1.57788e+06*s to t=4.73364e+06*s.
>>
>>>> /home/dicaprio/local/pylith-build/lib/python2.4/site-packages/
>>
>> pylith/problem
>> s/Formulation.py:381:_reformResidual
>>  -- implicit_manualdt(info)
>>  -- Integrating residual term in operator.
>> [0]0:Return code = 0, signaled with Aborted
>>
>> Does this have anything to do with the initialization of the
>> integrator(s) in Formulation.py? Formulation.initialize() calculates
>> numTimeSteps assuming a constant time step size and that value is
>> used here:
>>
>> integrator.initialize(totalTime, numTimeSteps)
>>
>> Any advice?
>>
>> Thanks,
>> Chris
>> _______________________________________________
>> CIG-SHORT mailing list
>> CIG-SHORT at geodynamics.org
>> http://geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>
>
>

Charles A. Williams
Dept. of Earth & Environmental Sciences
Science Center, 2C01B
Rensselaer Polytechnic Institute
Troy, NY  12180
Phone:    (518) 276-3369
FAX:        (518) 276-2012
e-mail:    willic3 at rpi.edu


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://geodynamics.org/pipermail/cig-short/attachments/20080513/ae4313ba/attachment-0001.htm 


More information about the CIG-SHORT mailing list