Conventions
Throughout the help, the following type styles are used as visual cues.
Style: | Indicates: |
|---|
Name | A string that is a legal name for use in interface products. The following criteria must be met in order for a legal string to be defined: ■The name may only contain alpha numeric characters (upper and lower case). ■No white space in the name. ■No special characters in the name (e.g. @#$%^&*). The exception to this rule is the underscore '_' character. ■Names must begin with an alpha character or an underscore. (e.g. 4bar is not legal, while _4bar is legal). |
x | Arguments in Adams subroutines and functions |
i | Parameters that follow a statement, command, or argument: i = Integer r = Real c= Character string (alphanumeric) e = Function expression v =Varying type (integer, real, or alphanumeric) id =Identifier x,y,z =Cartesian coordinate (real) a,b,c =Angular coordinate (real) |
PART | Minimum abbreviations of statements, commands, and arguments |
{ } | Selection you can make from a series of items |
[ ] | Optional selection you can make from a series of items |
[[ ]] | Combined selection you can make from a series of items |
A | Two-dimensional matrices |
a | One-dimensional matrices |
| Vectors |
| Unit vectors |
See the section
Adams File Types for more information on Adams Solver extension.
Guidelines for Solver Selection and Settings
This section provides some advice with regard to selection of solver types and integrators.
Solver Selection
There are two "flavors" of Adams Solver: the FORTRAN version the C++ version. The C++ version is the default choice across the Adams product line. MSC recommends all Adams users to use the C++ version. It is generally faster and more robust. It also supports more modeling capability than the FORTRAN version. MSC plans to retire the FORTRAN Solver in a future release of Adams, so if you believe you have any modeling conditions in which the FORTRAN solver appears to be favorable, please contact MSC technical support and share what details you can about the case.
For a more detailed comparison of the FORTRAN and C++ versions of Adams Solver, see
Adams Solver C++ vs. FORTRAN.
Integrator Selection
The two integrators most widely used are the GSTIFF and HHT integrators. The table below describes the benefits, cautions and recommended usage when models are dominated by certain content. The GSTFF integrator has two available formulations: I3 (whose error control is on the displacement states) and SI2 (which controls error on the velocity states). Each are listed separately below.
| Benefits | Cautions | Model Content |
|---|
GSTIFF I3 | ■High Speed ■High accuracy of system displacements ■Robust in handling a variety of analysis problems | ■Velocities and especially accelerations can have errors. An easy way to minimize these errors is to control HMAX so that the integrator runs at a constant step size and runs consistently at a high order (three or more) ■You can encounter corrector failures at small step sizes. These occur because the Jacobian matrix is a function of the inverse of the step size and becomes ill-conditioned at small steps | ■Recommended for most numerically stiff models (many mechanical systems with large range of frequency content) and models with velocity inputs. |
GSTIFF SI2 | ■Gives very accurate results, especially for velocities and accelerations ■Usually allows an ERROR that is approximately 10 to 100 times larger than regular GSTIFF to produce the same quality of results ■Is very robust and stable at small step sizes ■Corrector failures that small step sizes cause occur less frequently than with GSTIFF I3 ■Singular matrices due to small step sizes occur less frequently than with GSTIFF I3 ■Corrector failures are typically indicative of a modeling problem and not of a numerical deficiency in the Adams Solver software ■Tracks high frequency oscillations very accurately | ■Is typically 25% to 100% slower for most problems than regular GSTIFF, when run with the same error ■Requires that all velocity inputs be differentiable. Therefore, you must define your MOTIONS so that they are smooth and twice differentiable. Non-smooth motions, which theoretically cause infinite accelerations, cause failures in the SI2 formulation. The I3 formulations can sometimes handle such models. | ■Recommended for models where velocity or high frequency accuracy might be important. Common examples include models with contact or friction. |
HHT | ■Expected to result in a smaller number of Jacobian evaluations ■Unlike GSTIFF, behaves like a low pass filter; it cuts high frequency spurious oscillations, while accurately preserving low frequency oscillations ■Can control the cutoff frequency by adjusting alpha; the smaller value (that is, closer to -0.3, the lower the cutoff threshold) ■Stable at small value of the integration step size | ■Because of the reduced order, the acceleration and reaction forces obtained are going to be more spiky ■The numerical damping associated with HHT is smaller than the one produced by GSTIFF ■If GSTIFF manages to run a simulation at order 4 or higher, it will take step sizes significantly larger than HHT. This is because HHT is a low-order integrator and it needs to limit the step size based on accuracy characteristics. | ■Recommended for fast solution of models with flexible bodies or those having high frequency content and/or durability loading. |
Other integrators:
■WSTIFF: The benefits and cautions of the WSTIFF integrator are the same as those for GSTIFF with the one added benefit that the step size can change without any loss of accuracy.
■Newmark: The benefits and cautions of the Newmark integrator are the same as those for HHT.
■HASTIFF: The benefits and cautions are similar to those for GSTIFF SI2 with the one added benefit that this integrator does not become unstable at very small time steps.
For further discussion of Adams Solver integrators, see the documentation for the
INTEGRATOR statement.
Best Practices
This section contains general tips on advanced modeling with Adams Solver.
Discontinuities
■Discontinuities are the root cause of most simulation problems. Avoid them.
■Examples of discontinuous functions: MIN, MAX, DIM, MOD, IF.
■Discontinuous displacements and velocities cause corrector and integrator failures.
■Discontinuous accelerations cause integration failures (requires infinite force).
■Discontinuous forces cause corrector failures.
Units
■Widely separated magnitudes in a matrix can cause numeric difficulties (conditioning problems).
■Be careful when using inconsistent units.
■Choose units so that model states (displacements and velocities) are reasonable values. For example, choosing "mm" for displacements of a rocket which travels thousands of kilometers is a poor choice.
■Choose units so that stiffness values are not very large.
■Choose time units appropriate to the phenomena being studied.
Dummy Parts
■A dummy part is any part with zero or very small mass.
■Sometimes dummy parts are useful; but generally, avoid using them.
■Avoid connecting dummy parts with compliant connections (BEAMs, BUSHINGs, and so on). If the mass of the dummy part = 0, then the acceleration, a = F/m = F/0 = infinite. Even if the mass is very small, a = F/m = very large number. Therefore, small masses/moments of inertia introduce high frequencies into the system, which is usually undesirable since it has detrimental effects on the solver.
■If you must use dummy parts, then constrain all DOF, since with no DOF for the dummy part, a=F/m is not an issue.
■Dummy parts should be massless; 0.0 (or unassigned), not 1e-20.
Joints
■Avoid using FIXED joints. A FIXED joint adds equations to your system that aren’t necessary when two or more parts can be combined or merged into a single part.
■Avoid using many FIXED joints to lock parts to ground. Enormous torques may develop due to large moment arms.
■If you must lock something to ground with a FIXED joint, consider assigning it a very large mass/inertia so that it can behave like ground, or consider merging it to ground (for more information, see Simcompanion Knowledge Base Article
KB8013580).
■When possible, create a FIXED joint at the center-of-mass (cm) of the lightest part, to minimize the reaction forces/torques.
■Avoid redundant constraints. Adams eliminates them by looking at pivots in a constraint Jacobian, which are in no particular order. As a result, the physical meaning may be disregarded.
Motions
■Ideally, motions should impose continuous accelerations.
■Avoid using splines in a motion (function based on time is ideal).
■If you must use splines as motion, use their velocity form (see Simcompanion Knowledge Base Article
KB8015319 for more information). This is true for both GSTIFF and SI2_GSTIFF integrators.
■Avoid using motion as a function of variables (that is, states).
■In general, cubic splines (CUBSPL) may work better on motions than the Akima. The derivatives of the cubic are better than those of the Akima, so they’re more useful in forces than in motions (see Simcompanion Knowledge Base Article
KB8013252 for more information).
Forces
■If using data, approximate forces with smooth, continuous splines.
■Don’t define a spring damper with spring length=0.
■Make sure velocities are correct in force expressions. For example, in this damping function:
-c*vx(i,j,j )
the 4th term is missing --^
The 4th term defines the reference frame in which the time derivatives are taken, and this may be important.
Contacts
■Contacts should penetrate before statics. Models with impacts should have slight penetration in model position when doing statics.
■All tires should penetrate the road. Models with tires should have slight penetration in model position when doing statics. For example, if only rear tires penetrate, the static position could be a handstand.
■Contact properties are model dependent. See the
CONTACT statement, and Simcompanion Knowledge Base Article
KB8015613 for a starting point. Adjustment of the properties to match experimental results is expected.
Subroutines
■If possible, use an Adams function over a subroutine.
■If you receive errors in your model, eliminate user subroutines so they’re not the source of the errors.
■Verify that your compiler is compatible with the current version of Adams.
Simulation/Integrators
■Perform initial static first, when applicable. Note that a static solution may be more difficult to find than a dynamic solution. If you care only about the dynamic solution and cannot find static equilibrium, then either increase your error tolerance or forget about the static simulation.
■15-20 static iterations is suspect.
■If GSTIFF won't start, it’s most likely a problem with initial conditions.
■Don't let the integrator step over important events. Short duration events like an impulse can be captured by setting maximum time step, HMAX, to value less than impulse width.
■Use HMAX so that Adams Solver acts as a fixed-step integrator.
■Spikes in results output may come from changes in step size. Reduce HMAX or try setting HINIT=HMAX. Run with SI2 instead.
■Adams Solver uses a body 3-1-3 rotation sequence (psi, theta, phi). Theta=0d (or 180d) is bad (Euler singularity). If the z-axis of part cm is parallel to z-axis of ground, there will be a Euler singularity.
■For Euler Singularities, Theta=90D will have good pivots. Models will run better, and won't act like there is a discontinuity.
■Truncation (or round-off) errors accumulate when you let MAXIT go larger than 6. The theory of GSTIFF says 2-3 iterations is desirable; it breaks down if it uses more than 4 or 5.
Debugging
■Try to understand mechanism from a physical standpoint.
■Use building blocks of concepts that worked in the past. Add enhancements to the model using crawl-walk-run approach.
■Test with a small model to isolate problems.
■Have graphics for visualizing motion.
■Look at damping terms as a source of errors. Incorrect sign and missing terms are typical mistakes.
■Turn on DEBUG/EPRINT.
■Turn gravity off, since it can accentuate modeling errors.
■Models should have no warnings during simulation (for example, redundant constraints, splines, and so on).
■Understand numerical methods (for example, understand your integrator).
■Look for results which become very large in magnitude; this could indicate a discontinuity.
Miscellaneous Tips
■Avoid very large numbers and very small numbers. Be wary when your model contains numbers like 1e+23 or 1e-20.
■Choose the right set of units. Length units of millimeters may not be appropriate if you’re modeling an aircraft landing on runway.
■Use a reasonable time scale. If duration of dynamic event time is short, consider using milliseconds units.
■Extend the range of spline data beyond the range of need.
■Don’t write function expressions that can potentially divide by zero (for example, use the MAX function to prevent this: function =8/MAX(0.01,your_function).
■Add damping so frequencies can dissipate.
■Avoid very high damping rates. The high damping cause a rapid decay in response, which is difficult for an integrator to follow.
■Avoid toggles, dual solutions, or bifurcations.
■Don’t use 1.0 for the exponent in IMPACT or BISTOP functions. This creates a “corner” (that is, a non-smooth function). Instead, try 2.2 for the exponent.
■It is not possible to run more than one external simulation with the same name in the same directory.Solver. In this case more than one Solver simulation will try to access the same file causing the simulation(s) to fail. This include external Solver simulations from View or Car.
Additional Publications
You might find it helpful to refer to the following resources when modeling mechanical systems.
Recommended Publications:
To learn about: | See: |
|---|
Akima Method | Akima, Hiroshi. A New Method of Interpolation and Smooth Curve Fitting Based on Local Procedures. Journal of the Association for Computing Machinery, Vol. 17, No. 4, pp. 589-602, New York: JACM, October, 1970. |
BDF Integration Algorithm | Brayton, R. K., F. G. Gustavson, and G. D. Hatchel. A New Efficient Algorithm for Solving Differential-Algebraic Systems using Implicit Backward Differentiation Formulas. Proceedings of the IEEE, Vol. 60, No. 1, pp. 98-108. New York: Institute of Electrical and Electronics Engineers, 1972. |
Chebyshev Polynomial | Carnahan, B., H.A. Luther, and J.O. Wilkes. Applied Numerical Methods. New York: John Wiley & Sons, 1969. |
Cubic Curve Fitting Method | Forsythe, G.E., M.A. Malcolm, and C.B. Moler. Computer Methods for Mathematical Computations. Englewood: Prentice-Hall, Inc., 1977. |
DASSL Computer Code | Gear, W.C. Numerical Initial Value Problems in Ordinary Differential Equations. Englewood Cliffs: Prentice-Hall. 1971; and Brenan, K.E., S.L. Campbell, and L.R. Petzold, Numerical Solution of Initial-Value Problems in Differential-Algebraic Equations. New York: Elsevier Science, 1989. |
Gear Stiff | Gear, W.C. Simultaneous Numerical solution of Differential-algebraic Equations. IEEE Transactions on Circuit Theory, Vol. CT-18, No. 1, pp. 89-95. New York: Institute of Electrical and Electronics Engineers, 1971. |
Numerical Stiffness | Wielenga, T. The Effect of Numerical Stiffness on Mechanism Simulation. Proceedings from the 1986 International Computers in Engineering Conference, Vol. 1, pp. 369-378. New York: American Society of Mechanical Engineers, 1986. |
Rotational Coordinates | Kane, T.R., P.W. Likins, and D.A. Levinson. Spacecraft Dynamics. Edited by D.D. Heibert and M. Eichberg, New York: McGraw-Hill Book Company, 1983. |
Standard Beam Stiffness Matrix | Przemieniecki, J. S. Theory of Matrix Structural Analysis, p. 79. New York: McGraw-Hill, 1968. |
Timoshenko Beams | Oden, J. T., and E. A. Ripperger. Mechanics of Elastic Structures, Second Edition, p. 351. New York: McGraw-Hill, 1981. |
Vehicle Technology | Vehicle Dynamics Terminology, SAEJ670e. Warrendale, PA: Society of Automotive Engineers, Inc., 1978. |
Adams Solver Glossary
This glossary defines terms that may be unfamiliar to you or that have meanings peculiar to the Adams Solver documentation. The terms are listed alphabetically.
A
Action-Only Force
A force that has one point of action and has no points of reaction.
Action-Reaction Force
A force that causes equal and opposite forces at its points of attachment
B
Base Frame
A reference frame with respect to which you position and orient another reference frame. For example, if you define the position and orientation of a marker with respect to a body coordinate system (BCS), the BCS is the base frame.
C
Command
Any interactive instruction that Adams Solver or the postprocessor accepts.
Constitutive Equation
A tensor equation that establishes a relation between statical and kinematical tensors. For example, the following constitutive equation for a field force relates the statical force tensor (Fi) to the kinematical displacement tensor (Uj) and velocity tensor (Vj) by means of stiffness (Kij) and damping (Cij) matrices, respectively:
Fi = - (Kij * Uj) - (Cij * Vj)
D
DAE
Differential Algebraic Equation
DIFSUB (integrator)
An integrator written by C. W. Gear to solve stiff ODEs. MSC has modified this integrator to solve stiff DAEs. This integrator is unrelated to the Adams Solver subroutine that is known by the same name. For more on the DIFSUB integrator, see:
■Gear, C.W. Numerical Initial Value Problems in Ordinary Differential Equations. New Jersey: Prentice-Hall.
Discrete Function
A function that you define with a set of data points rather than with a continuous equation.
Dynamic Analysis
An analysis, performed over time, of a system that relies on inertial effects to determine motion.
E
Euler Singularity
A singular matrix that results when the second Euler angle is zero. Therefore, the first and third Euler angles are not uniquely defined, and this results in a singular Jacobian matrix.
F
Force
An effect that has magnitude and direction and that causes motion of a rigid part when there is no other external effect on the rigid part. In Adams Solver, force sometimes refers to both translational and rotational forces.
H
Holonomic
An adjective associated with system constraints. A holonomic constraint equation is an equality configuration constraint equation that can be expressed in the form F(q,t) = 0, where q denotes the system generalized coordinates and t is time. The function need not be a function of time.
I
Integration Step
The steps at which Adams Solver integrates. Adams Solver varies the size of these steps as necessary to obtain an accurate solution, to stay within the error limits you specify (if any), and to converge to a solution.
J
Joint
A system element that connects two parts and allows relative motion of one part with respect to another. You must assign each joint to exactly two markers that are not in the same part.
K
Kinematic Analysis
An analysis of a mechanical model with zero degrees of freedom. Adams Solver calculates the reaction and applied forces as well as the motion of the model.
L
Local Body Reference Frame
The local body reference frame is an orthogonal triad attached to and moving with the body. It acts as the sole reference for defining any collection of markers that move with the body.
LU Factorization
The process of redefining a matrix, A, as a product of a lower triangular matrix, L, and an upper triangular matrix, U:
LU = A
L and U are the factors of A.
M
Marker
A system element you use to mark the center of mass in a part, the inertia axis of a part, a boundary of a part, the point at which a joint connects a part to another part, a point of action in a force field, or any other point that is significant to the analysis or to the graphics output of the model. Every marker in an Adams Solver model has a coordinate system associated with it. Adams Solver fixes each marker with respect to a part you specify.
N
Nonholonomic
An adjective associated with system constraints. A nonholonomic constraint is a constraint equation that cannot be expressed in the form F(q,t) = 0, where q is the generalized coordinate and t is time. The constraints involve time derivatives of the generalized coordinates and are therefore often called motion constraints.
Nonstandard System Element
Any system element you describe with an Adams Solver statement that defines and passes constants to user-written subroutine.
O
ODE
Ordinary Differential Equation
Output Step
A step at which you request output. Adams Solver varies the integration step size (see above), but writes request information at the output steps you specify. The output step is nearly always larger than the integration step.
P
Positioned Frame
A reference frame you position and orient with respect to another reference frame. For example, if you define the position and orientation of a marker with respect to a BCS, the marker is the positioned frame.
Positive Semidefinite
A mathematical characteristic of a matrix. For example, the matrix K is positive semidefinite if, for any x, transpose (x)Kx is greater than or equal to zero.
Principal Coordinate System
The coordinate system whose origin is at the part center of mass and whose axes have the same alignment and direction as the axes of the principal moments of inertia. The part products of inertia associated with the principal coordinate system are zero.
Program Abort
Program aborts (sometimes loosely referred to as FORTRAN crashes) occur when Adams Solver is unable to reasonably prevent or protect against errors that cause problems for the operating system; the operating system then responds to the error by prematurely aborting (stopping) Adams Solver execution.
Q
Quasi-Static Equilibrium Analysis
An analysis that finds the change in displacement over time without considering velocities or accelerations.
R
Right-Hand Rule
A rule for determining the direction of a positive rotation about any axis in a right-handed reference frame. If you point the right thumb in the positive direction along any axis, the curled fingers indicate the direction of the positive rotation about that axis.
Rotational Force
A torque; that is, a force that causes rotation of a rigid part about the vector defining the rotational force when there is no other external effect on the rigid part.
S
Standard System Element
A system element you describe with an Adams Solver statement that does not define and pass constants to a user-written subroutine.
Statement
Any executable line in the Adams Solve data set. Adams Solver associates one statement with each element in the model.
State Vector
The one-dimensional array of system variables defined by the equation set.
Static Equilibrium Analysis
An analysis of a mechanical system at the configuration at which all forces are equilibrated and all velocities and accelerations are zero.
System Element
A mechanical characteristic of the system that you describe with an Adams Solver statement.
Symbolic Factorization
The map of the elements of a matrix, A, onto its lower and upper triangular factors, L and U. Once this map has been computed, it can be stored for multiple uses for other matrices with identical structures but with different numerical values.
Symbolic Refactorization
The process of redefining the symbolic factorization of a matrix after a previous factorization has resulted in a singular matrix.
T
Translational Force
A force that causes rectilinear translation of a rigid part in the same direction as the translational force when there is no other external effect on the rigid part.