Parameters: Static Solver
Command ElementDefines the solution control parameters for static and quasi-static analysis, where the parameters control the accuracy of the solution and the method to be used for solution.
Format
<Param_Static
{
method = "MKEAM"
[ max_ke_tol = "real" ]
[ max_dq_tol = "real" ]
[ max_num_iter = "integer" ]
|
method = { "FIM_S" | "FIM_D" }
[ max_error = "real" ]
[ max_imbalance = "real" ]
[ max_num_iter = "integer" ]
[ stability = "real" ]
[ compliance_delta = "real" ]
}
/>
Attributes
- method
- Specifies the choice of the algorithm to be used for Static or Quasi-static simulation.
For the Maximum Kinetic Energy Attrition Method ("MKEAM"), the relevant parameters are:
- max_ke_tol
- Applicable only if "MKEAM" was chosen. Specifies the maximum allowable residual kinetic energy of the system at the static equilibrium point. This should be a small number. The default value for max_ke_tol is 10E-5 energy units.
- max_dq_tol
- Applicable only if "MKEAM" was chosen. Specifies the upper limit for the change in system states at the static equilibrium point. The iterations are deemed to have converged when the maximum relative change in the states is smaller than this value. The default value for max_dq_tol is 10-3.
- max_num_iter
- Specifies the maximum number of iterations that are allowed before simulation stops. If max_ke_tol and max_dq_tol are not satisfied at this point, the equilibrium iterations should be considered to have failed. The default value for max_num_iter is 50.
For the Force Imbalance Method, the relevant parameters are:
- max_error
- Applicable only if "FIM_S" or "FIM_D" was chosen. This specifies the upper limit for the change in the residual of the system equations at the static equilibrium point. The iterations are deemed to have converged when the maximum residual in the equations of motion is smaller than this value. The default value for max_error is 10E-4.
- max_imbalance
- Applicable only if "FIM_S" or "FIM_D" was chosen. Specifies the maximum force imbalance in the equations of motion that is allowed at the solution point. This should be a small number. The default value for max_imbalance is 10E-4 force units.
- max_num_iter
- Maximum number of iterations that are allowed before the simulation terminates.
- stability
- Applicable only if "FIM_S" or "FIM_D" was chosen. Specifies the fraction of
the mass matrix that is to be added to the Jacobian to ensure that it is not
singular (see discussion on Newton-Raphson method in the Comments section).
The Jacobian matrix can become singular when the system has a neutral
equilibrium solution, and the initial guess is close to it. To avoid this, a
fraction of the mass matrix (known to be non-singular) is added to the
Jacobian to make it non-singular. The value of stability
does not affect the accuracy of the solution, but it may slow the rate of
convergence of the Newton-Raphson iterations. stability
should be a small number. The default value for stability
is 1-10.Note: The square root of the value specified by stability is multiplied to the mass matrix and then added to the Jacobian to make it non-singular.
- compliance_delta
- Applicable only if "FIM_S" or "FIM_D" was chosen. Delta used during compliance matrix calculation (default = 0.001).
Example
This example shows the default settings for the Param_Static
element that uses the MKEAM method.
<Param_Static
method = "MKEAM"
max_ke_tol = "1.000E-05"
max_dq_tol = "0.001"
max_num_iter = "100"
/>
This example shows the default settings for the Param_Static
element that uses the FIM_S solution
method.
<Param_Static
method = "FIM_S"
max_error = "1.000E-04"
max_imbalance = "1.000E-04"
max_num_iter = "50"
/>
Comments
- For quasi-static simulation, only the force imbalance methods are supported.
- For the force imbalance method, not all modeling elements are supported. The solver displays a warning if an element is not supported.
- Finding the static equilibrium configuration for
nonlinear, non-smooth systems can be difficult sometimes. In those cases, you
may find that the default parameters do not work very well for all models. Here
are some tips for obtaining successful static solutions using the “Force
Imbalance Method":
- Verify that your system starts in a configuration close to a static equilibrium position.
- View the animation of the static equilibrium iterations to understand what the algorithm is trying to do. Visual inspection is crucial for gaining an insight into the behavior of the algorithm.
- Sometimes, it is useful to have several static iterations to obtain the final solution by first defining max_error and max_imbalance very loosely and then tighten them iteratively.
- Avoid non-smooth forces if possible. Newton-Raphson assumes that the equations have smooth partial derivatives. If the forces acting on the system are not smooth, Newton-Raphson will have difficulties.
- Many systems have neutral equilibrium solutions. Examples of neutral
equilibrium are:
- A spherical ball on a table.
- A car standing still on a flat road.
- When used for quasi-static, FIM_S involves a sequence of static simulations. In contrast, the FIM_D method uses the DAE integrator DASPK to perform quasi-static simulation. Hence, FIM_D uses the DSTIFF parameters specified in the Parameters: Transient Solver element to control the integration process (in particular, dae_constr_tol to set the error tolerance), in addition to the parameters specified in the Param_Static element. FIM_D always uses I3 DAE formulation.
- FIM_D uses FIM_S at the start and the end of the quasi-static solution. FIM_S is also used when the integrator encounters difficulties. Thus, the error tolerance setting for FIM_D is dae_constr_tol from Parameters: Transient Solver except for the first and last steps, which use the error tolerances in Param_Static for FIM_S.