Model ElementIntegrator defines the simulation control parameters for a
time-domain-based nonlinear dynamic analysis.
Description
These parameters control:
- The choice of the integrator.
- The integration error tolerance (or the accuracy of the solution).
- Integrator performance during the simulation.
Dynamic simulations are performed on systems with one or more degrees of freedom. The
dynamic simulation accounts for all inertia effects, all applied forces, and internal
constraints. This enables you to run accurate system level simulations of complex mechanical
systems.
Integrator supports two different categories of equation formulations:
- The Ordinary Differential Equations (ODE) form of the equations.
- The Differential Algebraic Equations (DAE) form of the equations.
Attribute Summary
Name |
Property |
Modifiable by
command? |
type |
Enum ("GSTIFF
DSTIFF HSTIFF MSTIFF VSTIFF ABAM", default="DSTIFF") |
Yes |
error |
Double
(default=None) |
Yes |
hinit |
Double
(default=None) |
Yes |
hmax |
Double
(default=None) |
Yes |
hmin |
Double
(default=None) |
Yes |
kmax |
Int
(default=None) |
Yes |
interpolate |
Bool
(False) |
Yes |
maxit |
Int
(default=None) |
Yes |
pattern |
Pattern
(default=None) |
Yes |
alpha |
Double () |
|
beta |
Double () |
|
gamma |
Double () |
|
vel_tol_factor |
Double () |
Yes |
minit |
|
|
dae_index |
|
Yes |
dae_eval_expiry |
|
Yes |
dae_constr_tol |
Double () |
Yes |
dae_vc_error_ctrl |
Bool () |
Yes |
dae_vc_tol_factor |
Double () |
Yes |
Usage
# Integrator using "DSTIFF"
Integrator (type="DSTIFF", optional_attributes)
# Integrator using "VSTIFF", "MSTIFF" or "ABAM"
Integrator (type="VSTIFF", optional_attributes)
Integrator (type="MSTIFF", optional_attributes)
Integrator (type="ABAM", optional_attributes)
Attributes
Integrator using "DSTIFF" or "GSTIFF"
- type
- String
- Defines the integrator to be used.
- Select "DSTIFF".
- hmin
- Double
- Defines the minimum step size the integrator is allowed to take.
- The hmin attribute is optional.
- When not specified, the default value for hmin is 1.0E-6.
- interpolate
- Boolean
- Specifies whether the integrator uses interpolation for the results at the output
steps.
- True means that MotionSolve
interpolates (as needed) to obtain the results at the output points requested by
the user.
- False means that MotionSolve forces
the DASPK integrator to step exactly to the output points requested by the
user.
- The interpolate attribute is optional.
- When not specified, interpolate = True
- maxit
- Integer
- The maximum number of iterations that the corrector is allowed to take to achieve
convergence.
- The default value for maxit is 4. Under no circumstances should
this be increased beyond 8. If the results don't converge for a particular time step,
it may be better to let the integrator fail and try to solve with a smaller time
step.
- vel_tol_factor
- Double
- The factor that multiplies integr_tol to yield the error
tolerance for velocity states.
- The default value for vel_tol_factor is 1000. A good value for
vel_tol_factor is the highest frequency in the system that you
want to track.
- minit
- Int
- The minimum number of iterations that the corrector is allowed to take before it
checks for corrector divergence.
- The default value for minit is 1. Under no circumstances should
this be increased beyond 3.
- dae_index
- Int
- The index of the DAE formulation.
- Index 3 indicates that position constraints are added to the equations of
motion.
- Index 1 indicates that position, velocity, and acceleration constraints are added
(Stabilized Index 1).
- The default value for index is 3.
- dae_eval_expiry
- Int
- This is an optional attribute. It defines the number of integration steps after
which the evaluation pattern defined by dae_jacob_eval is ignored,
and the default evaluation pattern is to be used. The default evaluation pattern is
automatically determined when a new Jacobian is needed by examining the convergence
rate of the corrector.
- dae_constr_tol
- Double
- The tolerance on all algebraic constraint equations that the corrector must satisfy
at convergence.
- The default value for dae_constr_tol is 1.0E-5. Decrease this
value only if you see a lot of "noise" in the joint or motion reaction forces. Smaller
values for this attribute will decrease the speed of the solution.
- pattern
- String
- This attribute controls the frequency of evaluation of the Jacobian matrix during
corrector iterations. The "Kth" entry in the string tell MotionSolve whether to evaluate the Jacobian or not for the
"Kth" iteration.
- A value of "T" implies that a new Jacobian is to be calculated
at the "Kth" iteration.
- A value of "F" implies that a new Jacobian is not to be
calculated at the "Kth" iteration.
- Specify pattern only when the default setting does not work well.
Frequent Jacobian iterations can slow down the simulations dramatically.
- When not specified, the integrator examines the rate of convergence of the corrector
to automatically determine if a new Jacobian is needed.
Integrator using "
VSTIFF", "
ABAM" or
"
MSTIFF:
- type
- String
- Defines the integrator to be used.
- Select "VSTIFF", "ABAM" or
"MSTIFF"
Optional attributes - Available to all variants
- error
- Double
- Represents the maximum absolute error per step that the integrator is allowed in
computing the displacement, velocity, and differential equations states. Differential
equation states include those found in DIFF,
TFSISO, and the GSE modeling entities. Since
displacement and velocity have different units, they are subject to different error
tolerances.
- The error attribute is optional.
- When not specified, the default value for error is 1.0E-3.
- hmax
- Double
- Defines the maximum step size the integrator is allowed to take. You can also use
this parameter to control the accuracy of the results. Generally, a smaller time step
leads to more accurate results. For models with discontinuities, such as contact, a
smaller value of hmax should be specified.
- The hmax attribute is optional.
- When not specified, the default value for hmax is 0.01.
- hinit
- Double
- Specifies the maximum initial step size.
- The hinit attribute is optional.
- When not specified, the default value for hinit is 1.0E-8.
- kmax
- Integer
- Specifies the maximum order that the integrator is to take. Higher orders lead to
higher accuracy, but lower stability in the numerical method.
- For models that contain contact or other discontinuous events, it may beneficial to
set kmax = 2, which prevents the integrator from trying to use a
higher order that will normally not succeed.
- The kmax attribute is optional.
- The table below specifies the maximum order for each integrator.
- Integrator
- KMAX
- DSTIFF
- 5
- VSTIFF
- 5
- ABAM
- 12
- MSTIFF
- 9
- When not specified, kmax is given the maximum value the
integrator can have.
Note: kmax ≥ 1
Example
This example shows the default settings for the
Integrator element that
uses
DSTIFF
method.
DSTIFF = Integrator (type="DSTIFF", error=0.001, hinit=
1e-008, hmax=0.01, hmin=1e-006, kmax=5)
Comments
- See Properties
for an explanation about what properties are, why they are used, and how you can extend
these.
- For a more detailed explanation about
Integrator, see Param:
Transient.