Parameters: Simulation
Model ElementParam_Simulation defines the solution control parameters for simulations that are associated with more than one analysis method. Exceptions are noted.
Format
<Param_Simulation
[ constr_tol = "real" ]
[ implicit_diff_tol = "real" ]
[ nr_converge_ratio = "real" ]
[ linsolver = "HARWELL" ]
[ usrsub_param_string = "USER([par1,par2,…,parN])"
{ usrsub_dll_name = "string"
|
interpreter = "PYTHON | MATLAB"
script_name = "string"
}
usrsub_fnc_name = "string"
]
[ acusolve_cosim = "TRUE | FALSE" ]
/>
Attributes
- constr_tol
- Defines 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 the 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
- Defines 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
- Defines 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 analysis.
- usrsub_param_string
- The list of parameters that are passed from the data file to the user defined subroutine, defined by usrsub_fnc_name. This attribute is common to all types of user subroutines and scripts.
- usrsub_dll_name
- Specifies the path and name of the shared library containing the user subroutine. MotionSolve uses this information to load the user subroutine at run time.
- usrsub_fnc_name
- Specifies an alternative name for the user subroutine TUNSUB. For details on the definition and syntax of the TUNSUB, please refer to the TUNSUB documentation.
- script_name
- Specifies the path and name of the user written script that contains the routine specified by usrsub_fnc_name.
- interpreter
- Specifies the interpreted language that the user script is written in. Valid choices are MATLAB or PYTHON.
- acusolve_cosim
- A Boolean flag that determines whether the simulation will be coupled with AcuSolve or not.
Example
The example below shows the default settings for the Param_Simulation modeling 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.
This methodology is suitable for solving small to medium sets of equations (< 10,000 equations) and is therefore quite suitable for multi-body systems simulation. The Harwell software solves the equations in three major steps:- 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.