HyperWorks Solvers

Parameters: Transient Solver

Parameters: Transient Solver

Previous topic Next topic Expand/collapse all hidden text  

Parameters: Transient Solver

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  
hmtoggle_plus1greyXML Format

Command Element

Description

Param_Transient defines the simulation control parameters for a time-domain-based nonlinear dynamic analysis.  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.

Param_Transient 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.

The settings for each formulation are documented separately.

Format

ODE form

DAE form

<Param_Transient

 [ integrator_type   = "string" ]

 [ integr_tol        = "real"   ]

 [ h_max             = "real"   ]

 [ h0_max            = "real"   ]

 [ vel_tol_factor    = "real"   ]

 [ max_order         = "integer"]

 [ rel_abs_tol_ratio = "real"   ]

/>

<Param_Transient

 [ integrator_type     = "string" ]

 [ integr_tol          = "real"   ]

 [ h_max               = "real"   ]

 [ h_min               = "real"   ]

 [ h0_max              = "real"   ]

 [ vel_tol_factor      = "real"   ]

 [ max_order           = "integer"]

 [ dae_alg_tol_factor  = "real"   ]

 [ dae_index           = "integer"]

 [ dae_constr_tol      = "real"   ]

 [ dae_corrector_maxit = "real"   ]

 [ dae_corrector_minit = "real"   ]

 [ dae_vel_ctrl        = "TRUE|FALSE"]

 [ dae_jacob_eval      = "integer"]

 [ dae_eval_expiry     = "integer"]

 [ dae_jacob_init      = "integer"]

 [ dae_interpolation   = "TRUE|FALSE"]

/>

Attributes (ODE)

integrator_type

Defines the integrator to be used with the ODE form of the equations of motion.  Select one of the following:

VSTIFF
MSTIFF
ABAM

The default value for integrator_type is VSTIFF. See the Comments below for a more detailed explanation of these integrators.

integr_tol

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 <Control_Diff>, <Control_SISO>, and the <Control_StateEqn> modeling entities.

Since displacement and velocity have different units, they are subject to different error tolerances.

Displacement tolerance = integr_tol
Velocity tolerance = vel_tol_factor*integr_tol
Differential equation state tolerance = integr_tol

The default value for integr_tol is 1.0E-3.

vel_tol_factor is a scale factor that you specify separately.

h_max

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 h_max should be specified.

Note that the maximum integrator step size is set to the print_intervalin the Simulate command if the print_interval is smaller than h_max.

The default value for h_max is 0.01.

h_min

Defines the minimum step size the integrator is allowed to take.

The default value for h_min is 1.0E-6.

h0_max

The maximum initial step size.  The default value for h0_max is 1.0E-8.

vel_tol_factor

A 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.

rel_abs_tol_ratio

The factor that multiplies integr_tol to yield the relative error tolerance for the integrator.

The default value is 0.01.

max_order

Specifies the maximum order that the integrator is to take.  Each integrator has its own built-in maximum order.  Higher orders lead to higher accuracy, but lower stability in the numerical method. The table below shows the maximum order for the various integrators in MotionSolve that work with the ODE form of the equations.

Integrator

Maximum Order

ABAM

12

VSTIFF

05

MSTIFF

09

For models that contain contact or other discontinuous events, it may beneficial to set max_order = 2.

Attributes (DAE)

integrator_type

Defines the integrator to be used with the DAE form of the equations of motion.  Currently, only one DAE integrator is supported – DSTIFF.

See the Comments section below for a more detailed explanation of this integrator.

integr_tol

Represents the maximum absolute error per step the integrator is allowed in computing the displacement, velocity, and differential equations states. Differential equation states include those found in <Control_Diff>, <Control_SISO>, and the <Control_StateEqn> modeling entities.

Since displacement and velocity have different units, they are subject to different error tolerances.

Displacement tolerance = integr_tol
Velocity tolerance         = vel_tol_factor*integr_tol
Differential equation state tolerance = integr_tol

The default value for integr_tol is 1.0E-3.

vel_tol_factor is a scale factor that you specify separately.

h_max

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 h_max should be specified.

The default value for h_max is 1.0.

h_min

Defines the minimum step size the integrator is allowed to take.

The default value for h_min is 1.0E-6.

h0_max

The maximum initial step size.

The default value for dae_h0_max is 1.0E-3.

vel_tol_factor

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.

max_order

Specifies the maximum order that the integrator is to take.   Higher orders lead to higher accuracy, but lower stability in the numerical method.  The default maximum order for DSTIFF is 5.

For models that contain contact or other discontinuous events, it may be beneficial to set
max_order = 2, which prevents the integrator from trying to use a higher order that will normally not succeed.

dae_alg_tol_factor

The factor that multiplies integr_tol to yield the error tolerance for algebraic states like Lagrange Multipliers.

The default value for dae_alg_tol_factor is 1000.

dae_index

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).

See Comments 2-3 for more detailed information.

The default value for dae_index is 3.

dae_constr_tol

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.

See Comment 13 for more detailed information.

dae_corrector_maxit

The maximum number of iterations that the corrector is allowed to take to achieve convergence.

The default value for dae_corrector_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.

dae_corrector_minit

The minimum number of iterations that the corrector is allowed to take before it checks for corrector divergence.

The default value for dae_corrector_minit is 1.  Under no circumstances should this be increased beyond 3.

dae_vel_ctrl

The logical flag that controls whether the velocity states are checked for local integration error at each step.  This is only valid for the SI1 integrator (see dae_index).

“TRUE” indicates that the integrator is to include velocity states in its check for local integration at the end of each step.
“FALSE” indicates that the integrator is to exclude velocity states in its check for local integration at the end of each step.

When not specified, this defaults to “TRUE” for the SI1 formulation and “FALSE” for the I3 formulation.  For more information on formulations, refer to comments 4-6.

Integrator

DAE_VEL_CTRL

I3 Formulation

“FALSE”

SI1 Formulation

“TRUE”

The I3 formulation is not designed to track velocity errors.  Hence, even when DAE_VEL_CTRL is “TRUE” for I3, velocity errors will not be tracked.

dae_jacob_eval

This attribute controls the frequency of evaluation of the Jacobian matrix during corrector iterations.

A value of “0” implies that the integrator automatically determines when a new Jacobian is needed by examining the rate of convergence.
A value of “1” implies that a new Jacobian is to be calculated at every iteration.
A value of “2” implies that a new Jacobian is to be calculated at every other iteration, for example at iteration 1-3-5, and so on.
A value of “3” implies that a new Jacobian is to be calculated at every third iteration, for example at iterations 1-4-7, and so on.

Specify dae_jacob_eval only when the default setting does not work well.  Frequent Jacobian iterations can slow down the simulations dramatically.

When not specified, the integrator automatically determines when a new Jacobian is needed by examining the rate of convergence.

dae_eval_expiry

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.

For example, dae_eval_expiry = ”10” indicates that after 10 successful integration steps, the pattern specified by dae_jacob_eval is to be ignored.

The default value of dae_eval_expiry is 0, which means that the pattern specified by dae_jacob_eval is obeyed throughout the simulation.

Use this flag when you want dae_jacob_eval to be in effect only to overcome an initial transience in the system.

dae_jacob_init

This attribute controls the Jacobian matrix evaluation during corrector iterations.

A value of “0” implies that the integrator automatically determines when a new Jacobian is needed by examining the rate of convergence.
A value of “1” implies that a new Jacobian is to be calculated at the first iteration.
A value of “2” implies that a new Jacobian is to be calculated at the second iteration.

Default = 0

dae_interpolation

Specifies whether the integrator uses interpolation for the results at the output steps.

TRUE implies that MotionSolve forces the integrator to integrate the states from start_time  to end_time as specified in the <Simulate> block. MotionSolve then interpolates the results at the output points requested by the user.
FALSE implies that MotionSolve does not place any restrictions on the integrator.

Note:  The integrator (DASPK) itself may use interpolation to obtain states at the exact output points if needed.

Default = TRUE

Comments

See the Comments in the Param_Transient model statement help for more details.

hmtoggle_plus1greyPython Format

Command Element

Description

Modifies an INTEGRATOR element.

Declaration

def INTEGRATOR(TYPE="", ERROR=0.0, HINIT=0.0, HMAX=0.0, HMIN=0.0, KMAX=0, INTERPOLATE=True, MAXIT=0, PATTERN=""):

Attributes

TYPE

Modifies the integrator to be used.

Select one of the following for the ODE form of the equations of motion:

VSTIFF
MSTIFF
ABAM

The default value for TYPE is VSTIFF.

Select the following for the DAE form of the equations of motion:

DSTIFF

ERROR

Modifies 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.

HINIT

Modifies the maximum initial step size.  The default value for HINIT is 1.0E-8.

HMAX

Modifies 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 default value for HMAX is 0.01.

HMIN

Modifies the minimum step size the integrator is allowed to take.  The default value for HMIN is 1.0E-6.

KMAX

Modifies the maximum order that the integrator is to take.  Each integrator has its own built-in KMAX.  Higher orders lead to higher accuracy, but lower stability in the numerical method.

INTERPOLATE

Specifies whether the integrator uses interpolation for the results at the output steps.

TRUE means that MotionSolve interpolates (as needed) the results at the output points that you request.
FALSE means that MotionSolve uses the DASPK integrator to interpolate (as needed) the results at the output points you request.

Default = TRUE

MAXIT

Modifies 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.

PATTERN

Modifies the attribute that controls the frequency of evaluation of the Jacobian matrix during corrector iterations.

A value of “0” implies that the integrator automatically determines when a new Jacobian is needed by examining the rate of convergence.
A value of “1” implies that a new Jacobian is to be calculated at every iteration.
A value of “2” implies that a new Jacobian is to be calculated at every other iteration, for example at iteration 1-3-5, and so on.
A value of “3” implies that a new Jacobian is to be calculated at every third iteration, for example at iterations 1-4-7, and so on.

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 automatically determines when a new Jacobian is needed by examining the rate of convergence.

Comments

See Param_Transient

See Also:

Command Statements

Model Statements

Functions

Notation and Syntax