找回密码
 注册
Simdroid-非首页
查看: 65|回复: 1

[基础知识] Rules of Thumb for building robust models with ADAMS

[复制链接]
发表于 2009-5-29 10:36:48 | 显示全部楼层 |阅读模式 来自 北京
本帖最后由 songshunguang 于 2009-5-29 10:42 编辑

这个是我从MSC官方论坛的Knowledge Base中看到的,是关于使用ADAMS以及ADAMS接触建模的一些建议和应注意的问题,希望对大家有所帮助。
"Rules of Thumb" for building robust models with ADAMS

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 (any part with zero or very small mass)
  • Sometimes dummy parts are useful, but generally avoid using dummy parts.
  • Avoid connecting dummy parts with compliant connections (BEAMs, BUSHINGs, etc.). If the mass of the dummy part = 0, then the acceleration, a = F/m = F/0 = infinite. If the mass is even very small, then a = F/m = very large number. Thus, small masses and/or 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 those two (or more) parts can be combined or merged into a single part.
  • Avoid using lots of 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 sizable mass and inertia so that it can behave like ground or better yet consider just merging it to ground (1-KB7902).
  • Create FIXED joint between two parts at the center-of-mass (cm) of the lightest part, when feasible, to minimize magnitude of any reaction forces and/or torques.
  • Avoid redundant constraints.
    • ADAMS tries to eliminate them by looking at pivots in a constraint jacobian, which are in no particular order. It removes the offending entries as needed, and as a result the physical meaning of your constraint 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 1-KB9752 for more information). This is true for both GSTIFF,I3 and GSTIFF,SI2 integrator formulations.
  • Avoid using motion as a function of variables (i.e., states).
  • Cubic splines (CUBSPL) may in general work better on motions than the Akima. The derivatives of the Akima are not as nice as those of the Cubic so they're useful in forces rather than motions (1-KB7534).

FORCES
  • If using data, approximate forces with smooth, continuous splines.
  • Don't define a springdamper 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 documentation and 1-KB10170 for a starting point. Some adjustment of the properties to match experimental results is expected.

SUBROUTINES
  • Always use an ADAMS function over a subroutine, if possible.
  • If you receive errors in your model, eliminate user-subroutines so as they're not the source of error.
  • Check that your compiler is compatible with the current version of ADAMS. The Hardware and Software specifications are available from the Adams support website (http://www.mscsoftware.com/products/adams_support.cfm).

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 is 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 solver acts like a fixed-step integrator.
  • Spikes in results output may arise from changes in step size
  • Reduce HMAX or try setting HINIT=HMAX
  • Run with SI2 instead.
  • ADAMS/Solver uses a body 313 rotation sequence (psi, theta, phi). Theta=0d (or 180d) is bad because it creates an Euler singularity, and thus an integrator restart. If the z-axis of part principal inertia axis is parallel to z-axis of ground there will be an Euler singularity. Note: the IM marker defines the inertia axes, but if the part has cross terms for inertia (Ixy, Iyz, etc.), then the z axis of the IM marker is not the same as the principal inertia axis. Many times there are no cross terms included, so IM = principal inertia axes. Furthermore, if no IM marker is specified, then the CM marker is used for the inertia properties reference frame. Thus, usually, you simply need to make sure the CM marker z-axis is not aligned with the z axis of ground. If this is the case at the beginning of the simulation, this is not a problem since ADAMS/Solver will fix this automatically.
  • Regarding Euler Singularities...Theta=90D will have "healthy" pivots
  • Models will run better, won't act like there's 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 in a piece-by-piece manner using the "crawl-walk-run" approach.
  • Test with small model to isolate problems.
  • Have graphics for visualizing motion.
  • Look at damping terms as a source of errors.
    • Incorrect sign, 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 (e.g., redundant constraints, splines, etc.).
  • Understand numerical methods (e.g., understand your integrator).
  • Look for results which become very large in magnitude; this could indicate a discontinuity.

MISCELLANEOUS
  • 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 are modeling an aircraft landing on runway.
  • Use a reasonable time scale.
    • If duration of dynamic event time is short, consider using MILLISECONDS time units.
  • Extend the range of spline data beyond the range of need.
  • Don't write function expressions that can potentially divide by zero.
    • To avoid this use the MAX function, for example: FUNCTION= 8/MAX(0.01, your_function)
  • Add damping so frequencies can die off.
  • Avoid very high damping rates. The high damping causes a rapid decay in response, which can be 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" (i.e. a non-smooth function). Try 2.2 for the exponent instead.
 楼主| 发表于 2009-5-29 10:38:12 | 显示全部楼层 来自 北京
Simdroid开发平台
·
Considerations for successful contact modeling in ADAMS
The following important aspects to consider when including contact elements in a model:
Step Size
Simulations allowed to run at large relative step sizes may cause contacts to have trouble contributing to convergence. Large displacements (especially rotations) during integration steps can cause significant discontinuities. Running with a smaller hmax can help some models by limiting the predictor induced displacements.

Equilibrium
Static equilibrium is a very difficult problem to solve with contacts. Using good modeling techniques such as making sure that the objects expected to be in contact at equilibrium are initially in contact in the input configuration. If this is not feasible, make sure that the objects expected to be in contact are very close so that the contacts can be detected during equilibrium iterations. It will also help to consider the appropriate TLIM and ALIM to help limit the perturbations for finding equilibrium. Use dynamic equilibrium for models that have difficulty finding static equilibrium.

Thin Shells
During one solution step, ADAMS may take several integrator steps in order to satisfy predictor-corrector requirements. If input geometry is very thin, there is a possibility that one geometry may completely pass through another, resulting in invalid volume of intersection calculations. This can result in missed contacts, passthroughs, or generation of unusually high contact force generation. Reducing hmax can help prevent this problem.

Friction
Friction calculations are highly discontinuous and can cause numerical convergence problems, especially at low relative velocities. The friction difficulties compound the already difficult contact evaluations. Whenever possible, run a model without contact friction first, and refine the functioning model by adding friction later. If the addition of frictional forces causes numerical difficulties or simulation slowdowns, gradually increase the values for STICTION_TRANSITION_VELOCITY and FRICTION_TRANSITION_VELOCITY. Also reduce the coefficients of friction, which usually helps the integrator.

Complex Geometry
The time required to retrieve contact intersection information from the geometric modeler is directly related to the complexity of the given geometry. Some methods are deployed to bound geometry to avoid unnecessary calls when possible, but complex geometry can still unduly affect the simulation. Consider the actual contact expected between the geometric pairs. Trim or split the geometry as much as possible to assign contacts to the actual areas of contact interest. Also, when possible, substitute imported or general geometry with geometric primitives, such as cylinders ans spheres. These shapes branch into a much faster calculation algorithm.

Impact vs. Restitution
The Coefficient of restitution was provided for the case where no impact values were available and restitution values were obtainable from material references or physical testing. In general, the impact method is more numerically smooth and will result in faster simulations. In addition the impact method provides greater control of the contact behavior such as inclusion of damping, and force exponent, which can help tune a numerically satisfying result. In general, the coefficient of restitution method should only be used when COR data is available and impact values are not. If a method can be used to derive or determine impact parameters for the given geometry, it should be used.

Contact Order
Sometimes the relative velocities and complexity of the two geometries participating in a contact can provide better numerical condition based on their order. If a model is performing poorly, in some cases, changing the order of the geometries (IGEOM - JGEOM) can improve the simulation performance. If the answer is different, it should be within error tolerance and tightening error tolerance should converge the results if they are different

Use Stabilized Index 2 Integrator
The Stabilized Index 2 (SI2) integrator provides better solutions for velocities and derived accelerations without spikes. These acceleration spikes can have adverse affects on contact behavior, so the SI2 integrator is the best choice for most contact models.

Avoid CONSTANT_BDF
The constant bdf integrator was created for early design iterations for increased robustness at the cost of accuracy. Models with contacts have been found to perform poorly with constant BDF. Although the model will run more robustly, many observations of contacts missing have been observed.
2D Approximation for Contact Modeling Whenever Possible
When applicable, represent the contact event using 2D elements.
Choose from point-to-curve, curve-to-curve, or utilize the IMPACT function defined in a SFORCE, VFORCE, or GFORCE element.

Contact Parameters (Stiffness, Damping, Force Exponent)
Take into account the mass and inertia of each part in the mechanism and the resulting velocities at which the contact bodies are traveling with respect to each other.
Based on this, ensure that the contact parameters are defined with appropriate values.

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-30 01:45 , Processed in 0.055465 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表