Equilibrium

Model ElementEquilibrium defines the solution control parameters for Static and Quasi-static analysis. These parameters control the accuracy the solution and the method to be used for solution.

Class Name

Equilibrium

Description

MotionSolve supports two distinct methods for static analyses - a Maximum Kinetic Energy Attrition Method and a Force Imbalance Method.

MotionSolve only supports the Force Imbalance Method (FIM) for Quasistatics. There are two variations for the Force Imbalance Method:
  • FIM_S: This uses its own time stepping algorithm
  • FIM_D: This reuses the time stepping algorithm from DASPK

Attribute Summary

Name Property Modifiable by command? Designable?
type Enum ("STATIC", "DYNAMIC")   No
method Enum ("FIM_D FIM_S", "MKEAM", default="FIM_D") Yes
error Double (default=None) Yes
maxit Int (default=None) Yes
imbalance Double (default=None) Yes
kinetic_energy_error Double (default=None) Yes
stability Double (default=None) Yes

Usage

# Equilibrium using "FIM_D"
Equilibrium (method="FIM_D", optional_attributes)

# Equilibrium using "FIM_S"
Equilibrium (method="FIM_S", optional_attributes)

# Equilibrium using MKEAM
Equilibrium (method="MKEAM", optional_attributes)

Attributes

Equilibrium using "FIM_D" or "FIM_S"
type
Enum String
Specifies the choice of the Equilibrium between Static and Dynamic. Dynamic corresponds to the MKEAM method in MotionSolve.
Method
String
Specifies the choice of the algorithm to be used for Static or Quasi-static simulation. Choose from following:
  • "FIM_S"

    This method sets all the velocity and acceleration terms in the equations of motion to zero to obtain a system of nonlinear algebraic, force balance equations of the form F(q, λ) = 0.

    The generalized coordinates (q) and constraint forces (λ) are the unknowns.

    The nonlinear equations are solved using the Newton-Raphson method to find the equilibrium configuration. For more details see Comments.

  • "FIM_D":

    This method uses the same technique as "FIM_S" for finding static equilibrium. However, the time stepping algorithm it uses for quasi- statics is different.

    This is the default. When not specified, method defaults to "FIM_D".

error
Double
This 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 error attribute is optional. When not specified, error defaults to 1.0E-4.
imbalance
Double
Specifies the maximum force imbalance in the equations of motion that is allowed at the solution point. This should be a small number.
The imbalance attribute is optional.
The default value for imbalance is 1e-4 force units.
maxit
Integer
Specifies the maximum number of Newton-Raphson iterations that are allowed before simulation stops. If error and imbalance are not satisfied at this point, the equilibrium iterations should be considered as having failed.
The maxit attribute is optional.

The default value for MAXIT is 75.

stability
Double
Specifies the fraction of the mass matrix that is to be added to the Jacobian to ensure that it is not singular. 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 in order 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 stability attribute is optional.
The default value for stability is 1E-10.
Specific to "FIM_S" Only
pattern
Pattern
This attribute controls the frequency of evaluation of the Jacobian matrix during corrector iterations.
  • A value of "T" in the ith location implies that the algorithm should evaluate the Jacobian at the ith iteration.
  • A value of "F" in the ith location implies that the algorithm should not evaluate the Jacobian at the ith iteration.
  • MotionSolve will repeat the pattern of evaluations that have been provided until it reaches the maximum number of iterations (MAXIT).
  • The total number of "T" + "F" entries in pattern may not exceed ten.
  • A value of "3" implies that a new Jacobian is to be calculated at every third iteration, for example at iterations 1-4-7, and so on.
The attribute pattern is optional. Specify pattern only when the default setting does not work well. Frequent Jacobian iterations can slow down the simulations dramatically.
When not specified, FIM_S will use pattern ="T". This means the Jacobian is evaluated every iteration.
Note: FIM_D uses the pattern specified in the Integrator object. When not specified, DASPK will automatically determine when a new Jacobian is needed by examining the rate of convergence.
Equilibrium using "MKEAM"
method
String
Specifies the choice of the algorithm to be used for Static or Quasi-static simulation. Choose "MKEAM".
The model is formulated as a dynamics problem from which all damping is removed. The result is a conservative system whose total energy, defined as the sum of kinetic and potential energies, should remain invariant with time.
Numerical integration is started. During integration, the kinetic energy of the system is monitored. When a peak (maximum) is detected, integration stops and backtracks as necessary to locate the peak in time, within some precision. Since the system is conservative, this instant also corresponds to a valley (minimum) for potential energy.
MKEAM is not applicable for quasi-static analysis.
error
Double
This 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 error attribute is optional. When not specified, error defaults to 1.0E-4.
kinetic_energy_error
Double
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 kinetic_energy_error is 1e-5 energy units.
maxit
Integer
Specifies the maximum number of integration steps that are allowed before simulation stops. If error and kinetic_energy_error are not satisfied at this point, the equilibrium iterations should be considered as having failed.
The maxit attribute is optional.
The default value for MAXIT is 75.

Examples

  1. The default settings for the MKEAM method.
    This example shows the default settings for the EQUILIBRIUM element that uses the MKEM solution method.
    Equilibrium (method="MKEAM", error=1E-4, imbalance=1E-4, kinetic_energy_error=1E-5,maxit=75)
  2. The default settings for the FIM_S method.
    This example shows the default settings for the EQUILIBRIUM element that uses the FIM_S solution method.
    Equilibrium (method="FIM_S", error=1E-4, imbalance=1E-4, maxit=75, stability=1E-10)

Comments

  1. See Properties for an explanation about what properties are, why they are used, and how you can extend these.
  2. For a more detailed explanation about Equilibrium, see Param: Static Solver