Difference between revisions of "AdjustTimeStep Custom Task"
Line 29: | Line 29: | ||
This custom task only has an effect if some particles are using [[Material Models|material classes]] for which the wave speed changes wiht particle state and for which the material class code responds to <tt>CurrentWaveSpeed()</tt> to provide a wave speed that depends on current particle state. The material models that current provide with support are: | This custom task only has an effect if some particles are using [[Material Models|material classes]] for which the wave speed changes wiht particle state and for which the material class code responds to <tt>CurrentWaveSpeed()</tt> to provide a wave speed that depends on current particle state. The material models that current provide with support are: | ||
* HEMGEOSMaterial | * [[Isotropic, Hyperelastic-Plastic Mie-Grüneisen Material|HEMGEOSMaterial]] | ||
* | * [[Isotropic, Elastic-Plastic Mie-Grüneisen Material|MGEOSMaterial]] | ||
* IdealGas | * [[Ideal Gas Material|IdealGas]] | ||
* | * [[Tait Liquid Material|TaitLiquid]] | ||
Some other materials could have changing wave speed with particle state, but do not yet provide the needed <tt>CurrentWaveSpeed()</tt> code. These materials, which will update in the future as needed, are: | Some other materials could have changing wave speed with particle state, but do not yet provide the needed <tt>CurrentWaveSpeed()</tt> code. These materials, which will update in the future as needed, are: | ||
* [[Isotropic, Elastic-Plastic Material|IsoPlasticity]] | |||
* [[Anisotropic, Elastic-Plastic Material|HillPlastic]] | |||
* WOODMATERIAL | |||
* [[Mooney Material|Mooney]] | |||
* [[Isotropic, Hyperelastic-Plastic Material|HEIsotropic]] | |||
* [[Anisotropic, Hyperelastic Material|HEAnisotropic]] | |||
* [[Viscoelastic Material|Viscoelastic]] | |||
All other materials have wave speed that is independent of particle state and therefore have no need for dynamical adjustment of the time step during calculations. | All other materials have wave speed that is independent of particle state and therefore have no need for dynamical adjustment of the time step during calculations. |
Revision as of 10:53, 31 December 2013
A custom task to dynamically adjust the MPM time step.
Introduction
For convergence of explicit, dynamic calculations, like NairnMPM, the time step must be less then the time it takes a stress wave to pass across the smallest element size. For safety, the time step is usually calculated to be some fraction of this time as specified by the input factor C. But, for some material types, the wave speed might change during the calculations thereby necessitating an adjustment in the time step to retain convergence. This tasks allows you to periodically adjust the time step.
Task Scheduling
In scripted files, a AdjustTimeStep custom task is scheduled using
CustomTask AdjustTimeStep Parameter adjustTime,(time)) Parameter verbose,(verbose)
In XML files, this task is scheduled using a <Schedule> element, which must be within the single <CustomTasks> block:
<Schedule name='AdjustTimeStep'> <Parameter name='adjustTime'>(time)</Parameter> <Parameter name='verbose'>(verbose)</Parameter> </Schedule>
where the two parameters are:
- (time) - Enter the time interval for checking the time step and adjusting it if needed (in ms). This parameter is optional; if it is omitted, the time step adjustment is done each time particle data are archived.
- (verbose) - If its integer value is not zero, it will print the new time step whenever it changes by more than 1%. If it is zero, the new time step is silently changed. The default it 0.
Material Support
This custom task only has an effect if some particles are using material classes for which the wave speed changes wiht particle state and for which the material class code responds to CurrentWaveSpeed() to provide a wave speed that depends on current particle state. The material models that current provide with support are:
Some other materials could have changing wave speed with particle state, but do not yet provide the needed CurrentWaveSpeed() code. These materials, which will update in the future as needed, are:
- IsoPlasticity
- HillPlastic
- WOODMATERIAL
- Mooney
- HEIsotropic
- HEAnisotropic
- Viscoelastic
All other materials have wave speed that is independent of particle state and therefore have no need for dynamical adjustment of the time step during calculations.