Parameters: Simulation
Command ElementModifies the simulation parameter element.
Format
<Param_Simulation
[ constr_tol = "real" ]
[ implicit_diff_tol = "real" ]
[ nr_converge_ratio = "real" ]
[ linsolver = "HARWELL" ]
[ acusolve_cosim = { "TRUE" | "FALSE" } ]
[ contact_iteration = { "ACTIVE" | "INACTIVE" } ]
/>
Attributes
- constr_tol
- Modifies the accuracy to which the system configuration and motion constraints are to be satisfied at each step. This is used by kinematics and the transient solver in ODE formulation (ABAM, VSTIFF, or MSTIFF), but not the DAE form, which has its own tolerance for this (Param_Transient::dae_constr_tol). This should be a small positive number.
- implicit_diff_tol
- Modifies the accuracy to which implicit differential equations, such as Control_Diff equations with the is_implicit = "TRUE", are to be satisfied. The default value for implicit_diff_tol = 1.0E-5.
- nr_converg_ratio
- Modifies a measure of the rate of convergence in the Newton-Raphson method for ODE solvers. If the maximum entry in the constraint vector is larger than nr_converg_ratio times the maximum entry from the previous iteration, the Newton-Raphson iterations are converging slowly and the generalized coordinates will be re-partitioned in the next integration step to select a new set of independent coordinates. This attribute is applicable only if an ODE integrator (ABAM, VSTIFF, or MSTIFF) is selected.
- linsolver
- The type of linear solver used, which currently is set to "HARWELL" for all analyses.
- acusolve_cosim
- A Boolean flag that determines whether the simulation will be coupled with AcuSolve or not.
- contact_iteration
- Specifies whether the contact residual is being updated during the
corrector step of the implicit solver and an analytical Jacobian is
provided or not (see Comment 2).
The value "ACTIVE" indicates that the residual is being updated. The value "INACTIVE" indicates that the residual is not being updated.
The attribute contact_iteration is optional. When not specified, it defaults to "INACTIVE".
Example
The example below shows the default settings for the Param_Simulation command element.
<Param_Simulation
constr_tol = "1E-10"
implicit_diff_tol = "1E-5"
nr_converg_ratio = "0.09"
linsolver = "HARWELL"
/>
Comments
- Linear Solvers: At the core of most analyses in MotionSolve is solving a set of linear equations
(A x = b). For example,
the Newton-Raphson method solves a set of linear equations as part of the
iteration process to find the solution to a set of non-linear algebraic
equations. A brief explanation of how the linear solver works follows:
- The Harwell Linear Solver is a tool for solving linear algebraic equations. It is especially suited for linear systems characterized by non-singular, unsymmetrical and sparse coefficient matrices A that have a fixed, non-zero entry pattern. The latter implies that while matrix entries are allowed to change with time, the pattern of non-zeroes is not. The matrix entries must be real.
- Symbolic LU factorization.
- Numeric LU factorization.
- Forward-Backward Substitution.
- Symbolic LU factorization
- Given a pattern of non-zero entries in A and their representative values, this function computes the symbolic lower- and upper-triangular (LU) factors of A. A partial pivoting scheme is used. It tries to maximize the stability of the LU factors while still maintaining sparsity of the factors. This operation is typically done once or only a few times during the simulation.
- Numeric LU factorization
- Given the current values of the non-zero entries in A and the symbolic LU factors, this utility returns the numeric LU factors of A. The symbolic LU factorization must therefore precede the numeric LU factorization. This operation is done whenever a new Jacobian is needed.
- Forward-Backward Substitution
- Given the numeric LU factors of a sparse matrix A and an appropriately sized right-hand-side vector b, this utility returns the solution x for the linear problem. The Numeric LU factorization must precede the forward-backward substitution operation. This operation is performed at each iteration.
- The feature contact_iteration can increase the simulation robustness for contacting bodies, especially if there are contacts connecting multiple bodies or if high oscillations are observed. In certain circumstances, it can also decrease the computational performance. When using active contact iteration, contacts can react more sensitively when switching from an active to an inactive state, especially if the contacting bodies carry a high velocity difference. In those scenarios, using an additional zero-crossing sensor is recommended.