[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