# using adams/solver - md adams 2010

Post on 18-Nov-2014

2.761 views

Embed Size (px)

TRANSCRIPT

1 About Adams/SolverAbout Adams/SolverAdams/SolverConventions2ConventionsThroughout 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 functionsi Parameters that follow a statement, command, or argument:i = Integerr = Realc= Character string (alphanumeric)e = Function expressionv =Varying type (integer, real, or alphanumeric)id =Identifierx,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 itemsA Two-dimensional matricesa One-dimensional matricesVectorsUnit vectorsR1x3 About Adams/SolverConventionsBest PracticesThis section contains general tips on advanced modeling with Adams/Solver. Discontinuities Units Dummy Parts Joints Motions Forces Contacts Subroutines Simulation/Integrators Debugging Miscellaneous Tips 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.Adams/SolverConventions4 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 arent 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 Knowledge Base Article 7902). 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 Knowledge Base Article 9752 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 theyre more useful in forces than in motions (see Knowledge Base Article 7534 for more information).Forces If using data, approximate forces with smooth, continuous splines. Dont 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 --^5 About Adams/SolverConventionsThe 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 Knowledge Base Article 10170 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 theyre 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, its 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.Adams/SolverConventions6 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 youre 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. Dont 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. Dont 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.Additional PublicationsYou might find it helpful to refer to the following resources when modeling mechanical systems.7 About Adams/SolverConventionsRecommended 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 Scien

Recommended