[CIG-SHORT] pylith time stepping

Christopher DiCaprio dicaprio at gps.caltech.edu
Tue May 13 19:58:55 PDT 2008


Brad and Charles,

Thanks for your help. I'll get rid of the assert and give it a try.

One more question:
I notice that in Formulation.initialize there are calls to  
integrator.initialize, constraint.initialize and output.open. All of  
them pass numTimeSteps as an argument. As far as I can tell  
numTimeSteps is not actually used by integrator.initialize and  
constraint.initialize and the writer functions just need to know if  
there is more than one time step. So it looks like I'm not breaking  
anything by effectively making numTimeSteps incorrect. Is this right ?

- Chris



Am I right that I'm not breaking anything except maybe the if  
numTimeSteps becomes obsolete.

On May 13, 2008, at 6:53 PM, Charles Williams wrote:

> 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/5d765f8d/attachment-0001.htm 


More information about the CIG-SHORT mailing list