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           = "string"                     ]
     [ save_increment      = "integer"                    ]    
     [ save_inc_overwrite  = "{ TRUE | FALSE }"           ]     
     [ usrsub_param_string = "USER([par1,par2,…,parN])"   
     { 
       usrsub_dll_name     = "string" 
     |
       interpreter         = "string"
       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.
The default value for constr_tol = 1.0E-10.
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.

The default value is 0.09.

linsolver
Defines the type of linear solver to be used. Options include:
  • HARWELL (MA48)
  • PARDISO (MKL)
  • USER (user-defined using SPARSESUB)
Default is HARWELL.
save_increment
Instructs MotionSolve to save the model at every nth print_interval (like Save ). If save_increment is not provided, MotionSolve does not save the model during simulation.
save_inc_overwrite
Instructs MotionSolve to reuse the same XML for save_increment. If TRUE, the same XML, called <mrf_base_name>_saved_at_laststep.xml, is overwritten during each save operation. If FALSE, a new XML, called <mrf_base_name>_saved_at_<time>.xml, is generated for each save operation. This attribute is only used if save_increment is provided.
The default is TRUE.
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. For details on the definition and syntax of the subroutine, please refer to its 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 (example: "PYTHON"). See User-Written Subroutines for a choice of valid interpreted languages.
acusolve_cosim
A Boolean flag that determines whether the simulation will be coupled with AcuSolve or not.
"TRUE" means that the MBD model is to be coupled with the CFD model in a co-simulation between MotionSolve and AcuSolve.
"FALSE" means that the MBD model is not to be coupled with the CFD model. The default value is FALSE.

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

  1. 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 multibody systems simulation. The Harwell software solves the equations in three major steps:
    1. Symbolic LU factorization.
    2. Numeric LU factorization.
    3. 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.