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.
Simulation Method Main Strength
MKEAM Static Maximum Kinetic Energy ttrition Only finds stable equilibrium.
FIM_S Static and quasi-static Force Imbalance Accuracy
FIM_D Static and quasi-static Force Imbalance Speed
See Static and Quasi-Static Simulation for a more detailed description of each algorithm, including their strength and weaknesses.
The default is "FIM_D".
Note: In addition to the parameters specified in the Param_Static element, "FIM_D" also uses the parameters related to DAE integration specified in the Parameters: Transient Solver element.

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

  1. For quasi-static simulation, only the force imbalance methods are supported.
  2. For the force imbalance method, not all modeling elements are supported. The solver displays a warning if an element is not supported.
  3. 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":
    1. Verify that your system starts in a configuration close to a static equilibrium position.
    2. 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.
    3. 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.
    4. 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.
    5. Many systems have neutral equilibrium solutions. Examples of neutral equilibrium are:
      1. A spherical ball on a table.
      2. A car standing still on a flat road.
      Use larger values of stability (example stability = 0.01) to deal with such problems. Remember, stability does not change the static equilibrium solution.
  4. 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.
  5. 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.