[CIG-SHORT] pylith time stepping

Charles Williams willic3 at rpi.edu
Tue May 13 19:47:39 PDT 2008


The stress-strain relation is dependent on the time step size (we do a  
time integration from the previous state to the current state).  Since  
we use the tangent stress-strain matrix to form the stiffness matrix,  
we need to reform the stiffness matrix if the time step size changes.   
If we were doing an iterative solution, we could cheat and not reform,  
but convergence would be slower.  Since this is a linear problem,  
though, we only want to do one iteration.

Charles


On May 13, 2008, at 10:22 PM, Mark Simons wrote:

> Why does changing delta t cause you to need to reform the stiffness  
> matrix?
>
> 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 <mailto: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 <mailto:willic3 at rpi.edu>
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> CIG-SHORT mailing list
>> CIG-SHORT at geodynamics.org
>> http://geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>>
>
> -- 
>
> Mark Simons
> Seismological Laboratory
> Division of Geological and Planetary Sciences
> TEL: 626-395-6984
> FAX: 626/564-0715
> WWW: www.gps.caltech.edu/~simons
>
>
>

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/6e79af98/attachment.htm 


More information about the CIG-SHORT mailing list