The feature Time accepts the following property/values:
By default, you can control the process of solving the linear or nonlinear system of equations in each time step manually. For a coupled problem, this is done through the properties Damp,
Dtech,
Hnlin,
Initstep,
Jtech,
Maxiter,
Minstep, and
Rstep listed under
femnlin. For a segregated problem, the properties listed under
femstatic that are related to the segregated solver are available. When
Timemethod is set to
bdf it is possible to use the internal nonlinear solver of the time integrator. This can be achieved by setting
Nlsolver to
automatic.
The properties atol,
atolmethod,
atolglobal,
atolglobalfactor,
atolglobalmethod,
atolglobalvaluemethod,
atoludot, and
atoludotactive require some additional explanation. The default value of the absolute tolerance for all fields is given by the property
atolglobalfactor or
atolglobal, depending on the setting for
atolglobalvaluemethod. The modifier
atolglobalmethod specifies whether the given value of
atolglobal should be applied to scaled or unscaled variables. For variables where the automatic scaling does a good job, or where a manual scaling has been used, specifying the absolute tolerance in scaled variables is much easier. If either a different absolute value or scaling method than dictated by
atolglobal and
atolglobalmethod is wanted for one or several variables you can use the properties
atol and
atolmethod. Enter
atol as a space-separated string with alternating field names and tolerances (for example,
“u 1e-3 v 1e-6”). Enter
atolmethod as a space-separated string with alternating field names and one of the strings
global,
scaled, or
unscaled (for example, “
u unscaled v scaled”). By default
atolmethod is equal to
global for all fields. The lists
atol and
atolmethod do not have to contain all fields. The ones not present get absolute tolerances as specified by
atolglobal and
atolglobalmethod. When solving wave-type equations, the time-derivatives of all fields are also treated as unknowns, and therefore absolute tolerances have to be specified also for these components. By default these tolerances are chosen automatically. In some situations it might be necessary to specify them manually with the properties
atoludot and
atoludotactive. To turn on manual specification for, say, the two fields
u and
v, set the property
atoludotactive to the string
"u on v on". If
atoludot is not specified, these two time-derivatives get the default absolute tolerance
1e-3. To specify other absolute tolerances, set
atoludot to, for instance, the string
"u 1e-4 v 1e-7". The absolute tolerance method for all time derivatives is the same as the method specified for the field itself.
The maximum allowed relative error in each time step (the local error) is specified using rtol. However, for small components of the solution vector
U, the algorithm tries only to reduce the absolute local error in
U below the given absolute tolerance.
Use complex=on if complex numbers occur in the solution process.
The property Consistent controls the consistent initialization of a
differential algebraic equation (DAE) system. The value
Consistent=off means that the initial values are consistent (this is seldom the case because the initial value of the time derivative is 0). Otherwise, the solver tries to modify the initial values so that they become consistent. The value
consistent=on can be used (when
timemethod=bdf and
nlsolver=automatic) for index-1 DAEs. Then the solver fixes the values of the differential DOFs and solves for the initial values of the algebraic DOFs and the time derivative of the differential DOFs. The value
Consistent=bweuler can be used for both index-1 and index-2 DAEs. Then the solver perturbs the initial values of all DOFs by taking a backward Euler step.
For a DAE system, if Estrat=exclude, then the algebraic DOFs are excluded from the error norm of the time discretization error.
You can suggest a size of the initial time step using the property initialstepbdf when
timemethod is set to
bdf the property
initialstepdopri5 when
timemethod is set to
dopri5, and the property
initialstepgenalpha when
timemethod is set to
genalpha. You also have to set one of the properties
initialstepbdfactive,
initialstepdopri5active, or
initialstepgenalphaactive to
on for the specified initial step to be active.
The property maxorder gives the maximum degree of the interpolating polynomial in the BDF method (when
timemethod=bdf).
If timemethod=
bdf and
maxstepconstraintbdf=
const, then the property
maxstepbdf put an upper limit on the time step size (this property is not allowed when
tstepsbdf=
manual). If instead
maxstepconstraintbdf=
expr, then the property
maxstepexpressionbdf controls the maximum step size via an expression that is evaluated while solving. The same holds true for the associated
maxstep properties if
timemethod=
genalpha or
timemethod=
rk and
rkmethod=
dopri5.
The timemethod property is used to select which time-stepping method to use:
The property reacf controls the computation and storage of the constraint reaction force. The value
reacf=on (default) means that the solver stores the FEM residual vector
L in the solution object. Because
L = NFΛ for a converged solution, the residual is the same as the constraint force. Only the components of
L that correspond to nonzero rows of
NF are stored. For each time for which the solution is requested an extra residual vector assembly is performed. The value
reacf=off gives no computation or storage of the reaction force and can therefore save some computational time.
The property tlist must be a strictly monotone vector of real numbers. Commonly, the vector consists of a start time and a stop time. If more than two numbers are given, the intermediate times can be used as output times, or to control the size of the time steps (see below). If just a single number is given, it represents the stop time, and the start time is 0.
The property tout determines the times that occur in the output. If
tout=tsteps, then the output contains every
Nth time steps (where
N is specified using the
tstepsstore property; default: 1) taken by the solver. If
tout=tlist, then the output contains interpolated solutions for the times in the
tlist property. If
tout=tstepsclosest. The default is
tout=tlist.
The properties tstepsbdf (applicable when
timemethod=bdf),
tstepsdopri5 (applicable when
timemethod=dopri5), and
tstepsgenalpha (applicable when
timemethod=genalpha) control the selection of time steps. If either of these properties is set to
free, the solver selects the time steps according to its own logic, disregarding the intermediate times in the
tlist vector. If either of the properties is set to
strict, then time steps taken by the solver contain the times in
tlist. If either of the properties is set to
intermediate, then there is at least one time step in each interval of the
tlist vector. If
tstepsgenalpha has been set to
manual, the solver follows the time step specified in the property
timestepgenalpha. If
timestepgenalpha is a scalar value, this time step is taken in the entire simulation. When
timestepgenalpha is a (strictly monotone) numeric vector, the solver computes the solution at the times in the vector. The start time and stop time is still obtained from
tlist; the vector given in
timestepgenalpha is truncated and/or expanded using the first and/or last time step in the vector so that the start time and stop time agrees with the values in
tlist. Finally, an expression using variables with global scope and which results in a scalar can be used as
timestepgenalpha.
For problems of wave type, the logic by which the solver selects the time step can sometimes result in a time step that oscillates in an inefficient manner. When timemethod=genalpha (the solver typically used for wave-type problems), you can avoid such oscillations in the time step using the properties
incrdelay and
incrdelayactive. When
incrdelayactive=on, a counter keeps track of the number of consecutive time steps for which a time step increase has been warranted. When this counter exceeds the number given in the property
incrdelay, the time step is increased and the counter is set to zero.