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.
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
- 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)
- 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
- See Properties for an explanation about what properties are, why they
are used, and how you can extend these.
- For a more detailed explanation about
Equilibrium, see Param:
Static Solver