Automatic Time Stepping¶
Setting up an adequate time stepping for highly nonlinear simulations is not easy. Often there are specific events emerging within a simulation which require locally a highly refined timestepping, like a collision, buckling instabilities, snap back or snap through and many more.
In those cases a coarse manual timestepping would very likely fail and using very small time steps over the whole simulation interval would generate a large simulation time overhead.
With an automatic time stepping, local refinements of the time step size are possible and the time steps are computed automatically in the course of the computation. The automatic time stepping on SimScale is defined in two steps. First the user selects which event should trigger a time step adaptation. Then in a detailed setting the user defines how the time step should be re-computed in case of an retiming event.
Currently there are four different retiming events:
- Error: This is the case of a general error like for example non-convergence or singular matrix errors.
- Field change: The user can define the maximum delta that a field is allowed to change within one time step, if the defined threshold is exceeded the time step is adapted. This time stepping criteria is especially useful to capture material nonlinearitier more exact.
- Non-monotonous Residual: This event is triggered if the residual has not been reduced within three iterations. This criteria is mostly used to reduce runtime by detecting diverging time steps before reaching the maximum number of allowed newton iterations.
- Collision: This event is triggered if in a computation with physical contact a contact state change from open to closed is noticed. This time step adaptation is especially useful in dynamics to reduce the effect of artificial oscillations due to inexact collision detection.
The adaptation criteria type Error is always active and used as a fall back. If for example a Collision criteria is defined, but within some timestep the convergence is not reached due to the maximum number of Newton iterations, the error criteria is activated and the timestep is subdivided. The adaptation settings in this case are of a manual type with 4 subdivisions and a maximum depth of 3.
The Time step calculation type defines how time increments should be computed in case of an adaptation event. Currently four types are available (which may not all be available for every event):
- Manual: Here the user defines fixed time step subdivision and augmentation settings. This time step calculation type is the most basic one and available for all adaptation events.
- Newton Iterations Target: With this setting the user defines a target value for the Newton Iterations and the time increments are calculated automatically to having this value as objective.
- Field Change Target: With this setting the user defines a target value for change of a specific field component within a time increment and the time increments are calculated automatically to having this value as objective.
- Mixed: The mixed type uses a fixed subdivision and an automatic adaptation of the time step with a target value for the change of the selected field component.
Some of the above adaptation types need to perform extrapolation of data from previous iterations. If the compuation fails directly after the first iteration, no extrapolation can be perfomed and the computation stops. The Manual adaptation time is the most robust since it does not use any extrapolation values and should be used if one of the other types fails.