25487198 using adams solver md adams 2010

1810
1 About Adams/Solver About Adams/Solver

Upload: vinicius-costa

Post on 14-Aug-2015

83 views

Category:

Documents


13 download

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 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/SolverConventions8Adams/Solver GlossaryThis glossary defines terms that may be unfamiliar to you or that have meanings peculiar to the Adams/Solver documentation. The terms are listed alphabetically.AAction-Only ForceA force that has one point of action and has no points of reaction.Action-Reaction ForceA force that causes equal and opposite forces at its points of attachment BBase FrameA 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.CCommandAny interactive instruction that Adams/Solver or the postprocessor accepts.Constitutive EquationA 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)DDAEDifferential Algebraic EquationDIFSUB (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:A B C D E F G H I J K L MN O P Q R S T U V W X Y Z9 About Adams/SolverConventions Gear, C.W. Numerical Initial Value Problems in Ordinary Differential Equations. New Jersey: Prentice-Hall. Discrete FunctionA function that you define with a set of data points rather than with a continuous equation.Dynamic AnalysisAn analysis, performed over time, of a system that relies on inertial effects to determine motion.EEuler SingularityA 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.FForceAn 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.HHolonomicAn 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.IIntegration StepThe 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.JJointA 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.KKinematic AnalysisAdams/SolverConventions10An 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.LLocal Body Reference FrameThe 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 FactorizationThe process of redefining a matrix, A, as a product of a lower triangular matrix, L, and an upper triangular matrix, U:LU = AL and U are the factors of A.MMarkerA 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.NNonholonomicAn 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 ElementAny system element you describe with an Adams/Solver statement that defines and passes constants to user-written subroutine.OODEOrdinary Differential EquationOutput StepA 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.11 About Adams/SolverConventionsPPositioned FrameA 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 SemidefiniteA 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 SystemThe 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 AbortProgram 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.QQuasi-Static Equilibrium AnalysisAn analysis that finds the change in displacement over time without considering velocities or accelerations.RRight-Hand RuleA 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 ForceA 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.SStandard System ElementA system element you describe with an Adams/Solver statement that does not define and pass constants to a user-written subroutine.StatementAdams/SolverConventions12Any executable line in the Adams/Solve data set. Adams/Solver associates one statement with each element in the model.State VectorThe one-dimensional array of system variables defined by the equation set.Static Equilibrium AnalysisAn analysis of a mechanical system at the configuration at which all forces are equilibrated and all velocities and accelerations are zero.System ElementA mechanical characteristic of the system that you describe with an Adams/Solver statement.Symbolic FactorizationThe 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 RefactorizationThe process of redefining the symbolic factorization of a matrix after a previous factorization has resulted in a singular matrix.TTranslational ForceA 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.13 Using Adams/SolverConventionsUsing Adams/SolverAdams/SolverCommand File14Command FileCreating an Adams/Solver Command FileThis section explains how to create a command file. Learn about Command File Syntax.Using a text editor, enter the commands you want to use to control your simulation, using the following guidelines: The first line must contain the name of your dataset file. The second line is the prefix name you want assigned to the output files that Adams/Solver creates. The following lines contain all of the different commands you want Adams/Solver to use while performing the simulation. The last line in your file contains the STOP command.You should save the file with the extension .acf, although it is not required.Sample Adams/Solver command file.! This is my simulation script. compressor.admrun1output/noseparatorsimulate/transient, &end=2, dtout=0.1deactivate/motion, id=201simulate/transient, end=5, dtout=0.01stopIn this example, the name of the dataset is compressor.adm and the base name that is assigned to all of the output files Adams/Solver creates is run1 (run1.msg, run1.out, and so on). The next four lines turn off the separators between the different simulations in the output files, performs a transient simulation, the motion is deactivated, and then performs another transient simulation. The simulation is finally terminated with the STOP command.In Adams/View, you can create a simulation script, which is analogous to the Adams/Solver command file. To do this, select Simulate -> Simulation Script -> New, and then change Script Type to Adams/Solver Commands. The only difference is that the model name and output results name (the first two lines of the Adams/Solver command file) should not be used.Command File SyntaxAdams/Solver commands generally follow the syntactical rules governing Adams/Solver statements.Exceptions and special cases are: Angles Arguments 15 Using Adams/SolverCommand File Continuations AnglesAdams/Solver generally assumes all angular data in an Adams/Solver command is in radians. Therefore, if you want to use degrees as the input value for your angular data instead of the default, use a D after the value to indicate degrees.ArgumentsIf Adams/Solver finds one of the following syntactical errors in the arguments of a command, then the code issues an error message and ignores the entire command. An invalid number of values for an argument. An ambiguous argument abbreviation. An invalid value type for an argument (for example, you input a character value and the argument requires a numeric value or you input a real number with a nonzero fractional part and the argument requires an integer). Omission of a required argument or a required value for an argument. If you assign an argument value that is not a member of the set of permissible values for that argument, Adams/Solver issues an error message and ignores the argument, but executes the rest of the command.ContinuationsAdams/Solver allows a command line to be at most eighty characters long. To input a command that is more than one line long, put an ampersand (&) as the last character of the input line. If you are entering commands interactively, Adams/Solver responds by asking you to type in the next line. You can enter as many lines of input as you like. Adams/SolverModeling and Simulating Process16Modeling and Simulating ProcessThis explains the general mechanical system modeling and simulating process you should follow when using Adams/Solver.Process OverviewThe figure below shows the steps in the modeling and simulating process. Although the steps that you perform to model and simulate a mechanical system are listed as though you build the entire model at once and then test, review, and improve it, you should build and test small elements of your model before building the entire model. For example, create a few parts, connect them together, and then run a simulation. This way you can ensure that each element works before moving on to the next step. This is referred to as the crawl-walk-run approach.Learn more about: Build Test Review Improve 17 Using Adams/SolverModeling and Simulating ProcessAdams/SolverModeling and Simulating Process1819 Using Adams/SolverModeling and Simulating ProcessBuilding Your ModelYou define the elements of your model in a dataset. The dataset is an ASCII/text file you create using any text editor or preprocessor to enter the Adams/Solver statements that describe each element of the model.For more information about Adams/Solver datasets, see Working with Adams/Solver Datasets.The build step in the process includes: Idealizing the mechanical system so it can be represented mathematically. This involves deciding: How many parts really need to be modeled. How to connect the parts to represent the movement of the physical system. Which compliant connections need to be modeled. Which environment forces need to be modeled. Selecting the units. Creating the basic elements. This involves: Creating the parts of your model. Adding constraints to define movement. Defining forces that act on your model. Adding system equations. Including requests to Adams/Solver to output specific data.Testing Your ModelAfter you define the model in a dataset, you can run a simulation using Adams/Solver commands to verify its performance characteristics and response to a set of operating conditions.We recommend that you simulate your model at various times during the building step. This allows you to more readily find and correct any mistakes in the model. You can also set up simulations so that they are interactive, allowing you to control and refine the simulation. During the simulation, Adams/Solver solves a set of equations of motion for your model.Reviewing the ResultsAs you create your model, its important to consider the results you want. In general, it is best to output any information you think is useful for model verification or system analysis. When you run a dynamic, kinematic, or quasi-static simulation, Adams/Solver outputs data at the fixed intervals you specify. These fixed intervals are known as output time steps. When you run a static simulation, Adams/Solver outputs data only once.You can request that Adams/Solver output data for displacements, velocities, accelerations, reaction forces, applied forces, user-defined variables, generic system elements, as well as system modeling Adams/SolverModeling and Simulating Process20element inputs and outputs. Adams/Solver writes all the data you request to a request file at each output time step. Adams/PostProcessor can read this file for plotting purposes. Plots are often useful for studying the specific behavior of a model. For example, if you needed to know the maximum translational loading at a joint, you could plot the translational reaction forces at the joint over the course of the entire simulation and quickly determine the maximum load. Figure 1 below shows a plot of the translational reaction forces in the translational joint between the base and the upper link of a robot arm. For more information about the wide scope of tools available in Adams/PostProcessor for reviewing the response of your system, see the online help for Adams/PostProcessor.Figure 1 Plot of Translational Joint Reaction ForceAdams/Solver also outputs graphical data at each output step to the graphics file. Graphical output is often useful for animating the overall behavior of the model and identifying specific problems, such as: Improper connectivity Misapplied motions or forces Unwanted oscillatory behavior Clearance problems Figure 2 shows an animation with superimposed frames.21 Using Adams/SolverModeling and Simulating ProcessFigure 2 Superimposed Frames from the Animation of a Robot ArmImproving Your ModelAfter you have run initial simulations to determine the basic motion of your model, you can improve and refine your model by adding more complexity to it. You can edit the dataset using more advanced statements or replace simple function expressions with subroutines. After you modify the dataset, run more simulations to verify the model.When you have exhausted the features available in Adams/Solver, you can transfer your model to Adams/View to add even more complexity. For example, using Adams/View, you can establish parametric relationships among modeling elements that allow you to perform design sensitivity studies to compare alternative designs. For more information about the features available in Adams/View, see Adams/View.For a detailed explanation of the subroutines available in Adams/Solver, see Welcome to Adams/Solver Subroutines.Adams/SolverDatasets22DatasetsWorking with Adams/Solver DatasetsAfter you create an idealized model on paper and determine the units you want to work in, you are ready to create your model in Adams/Solver by entering statements and function expressions in the dataset. Most statements define a model element. These include the specification of mass and inertia properties, geometry, and connectivity, as well as analysis control and output specification. Each function expression, in general, evaluates a mathematical equation and returns that value to the statement.The following statements allow you to use the function expressions as part of the element definition:If you can develop an equation describing the desired characteristic and are familiar with FORTRAN syntax, you have the knowledge to write a correct Adams/Solver function expression.You use a text editor to enter the statements and function expressions in a file. The file is called the Adams model definition file or the dataset. Each statement consists of an identifier and a set of keywords that qualify the statement. You can specify most system properties and data in the dataset.Organizing the DatasetYou always start your dataset with a TITLE statement and end it with an END statement. The statements, function expressions, and comments between the TITLE and END statements constitute the body of the dataset. You can define statements in any order without affecting the results of an analysis. Carefully arranging them, however, can greatly increase dataset readability and simplify debugging, mode sharing, and modification. This section suggests two methods for organizing datasets and discusses the implications of each. The following sample structure shows a dataset for a piston-crank mechanical system. The geometric information in the dataset describes the model in the top dead-center position.PISTON COMPRESSOR SAMPLE dataset !****** PARTS AND THEIR MARKERS ****************************PART/01, GROUNDGROUNDPART 01MARKER/0103GLOBAL REFERENCE FOR REQUESTSMARKER/0102, QP=0,0,-2REVOLUTE JOINT TO CRANK MARKER/0108, QP=12,0,0TRANSLATIONAL JOINT,, REULER=90D,90D,0TO PISTON MARKER/0109, QP=12.286,0,0GAS FORCE APPLICATION POINT DIFF GFORCE MOTION REQUEST SENSOR SFORCE VARIABLE VFORCE VTORQUE 23 Using Adams/SolverDatasetsPART/02, MASS=2, CM=0201CRANKPART 02, IP=5,6,10 MARKER/0201, QP=0,0,-3CENTER OF MASS MARKER/0202, QP=0,0,-2REVOLUTE JOINT TO GROUNDMARKER/0203GRAPHICS MARKER MARKER/0204, QP=2,0,0SPHERICAL JOINT TO RODPART/03, MASS=1, CM=0305RODPART 03, IP=1.5,1.6,3, QG=2,0,0BCS IN GLOBAL POSITIONMARKER/0305, QP=4,0,0CENTER OF MASS MARKER/0304, QP=0,0,0SPHERICAL JOINT TO CRANK MARKER/0306, QP=8,0,0UNIVERSAL JOINT TO PISTONPART/04, MASS=.5, CM=0407PISTONPART 04 , QG=10,0,0BCS IN GLOBAL POSITIONMARKER/0407, QP=1,0,0CENTER OF MASS, REULER=90D,90D,0MARKER/0406, ZP=0,1,0UNIVERSAL JOINT TO ROD, XP=0,0,1MARKER/0408, QP=2,0,0TRANSLATIONAL JOINT TO , REULER=90D,90D,0GROUND AND GAS FORCE MARKER/0409, QP=2,0,0VISCOUS FORCE , REULER=90D,90D,0 !****** CONSTRAINTS ****************************************JOINT/0201, REVOLUTECRANK TO GROUND, I=0202, J=0102JOINT/0302,SPHERICALROD TO CRANK , I=0304, J=0204JOINT/0403,UNIVERSALPISTON TO ROD , I=0406, J=0306JOINT/9401,TRANSLATIONALPISTON TO GROUND , I=0408, J=0108MOTION/0201, JOINT=0201, ROTSPECIFIED CRANK MOTION , FUNCTION=POLY(TIME, 0, 0, 360D) !****** FORCES**********************************************SFORCE/0401, I=0408, J=0109PISTON VISCOUS DAMPING, TRANSLATION, FUNCTION=POLY(VR(408, 109), 0, 0, -0.2) SFORCE/0104, I=0409, J=0109ISENTROPIC GAS FORCE , TRANSLATION, FUNCTION=1422.0 * DM(0409, 0109) ** (-1.4) - 185.4!****** REQUEST OUTPUT***************************************REQUEST/01, DISPLACEMENT, I=0201, J=0103 , COMMENT=CRANK CENTER OF MASS DISPLACEMENT REQUEST/02, ACCELERATION, I=0201, J=0103 , COMMENT=CRANK CENTER OF MASS ACCELERATION REQUEST/03, DISPLACEMENT, I=0305, J=0103 , COMMENT=ROD CENTER OF MASS DISPLACEMENT REQUEST/04, ACCELERATION, I=0305, J=0103 , COMMENT=ROD CENTER OF MASS ACCELERATIONREQUEST/05, DISPLACEMENT, I=0407, J=0103 , COMMENT=PISTON CENTER OF MASS DISPLACEMENT REQUEST/06, ACCELERATION, I=0407, J=0103 , COMMENT=PISTON CENTER OF MASS ACCELERATION Adams/SolverDatasets24REQUEST/07, FORCE, I=0202, J=0102 , COMMENT=CRANK/GROUND REACTION REQUEST/08, FORCE, I=0304, J=0204 , COMMENT=ROD/CRANK REACTION REQUEST/09, FORCE, I=0406, J=0306 , COMMENT=PISTON/ROD REACTION REQUEST/10, FORCE, I=0408, J=0108 , COMMENT=PISTON/GROUND REACTION REQUEST/11, FORCE, I=0408, J=0109 , COMMENT=PISTON VISCOUS DAMPING REQUEST/12, FORCE, I=0409, J=0109 , COMMENT=GAS PRESSURE FORCE!****** GRAPHICS OUTPUT*************************************GRAPHICS/0201CRANK OUTLINE , OUTLINE=0201,0203,0204GRAPHICS/0202,CYLINDERFLYWHEEL , CM=0201, RADIUS=2 , LENGTH=-2, SIDES=20, SEG=20GRAPHICS/0301ROD OUTLINE , OUTLINE=0304,0306GRAPHICS/0401,CYLINDERPISTON RIGHT HALF , CM=0407, RADIUS=.75 , LENGTH= 1, SIDES=20, SEG=20 GRAPHICS/0402,CYLINDERPISTON LEFT HALF, CM=0407, RADIUS=.75 , LENGTH=-1, SIDES=20, SEG=20!****** SOLUTION AND OUTPUT PARAMETERS**********************OUTPUT/ GRSAVE, REQSAVETURN ON GRAPHICS AND REQUEST FILESENDThe TITLE statement in the example is PISTON COMPRESSOR SAMPLE DATASET. Note that the statements are in blocks or sections separated by blank lines. In some cases, the comments occupy entire lines; and in other cases, the comments occupy parts of lines following executable statements. Adams/Solver requires neither sections nor comments, but both increase dataset readability.You can organize the dataset into six major sections: Parts and their markers Constraints Forces Request output Graphics output Solution, execution, and output parameters When you have part drawings that provide the markers with respect to separate body coordinate systems (BCS), this organization is particularly convenient. The major disadvantage of this organization is that it separates statements for joints, forces, and requests from the MARKER statements to which they refer. For example, the two MARKER statements that define a joint are beneath the PART statements and not with the JOINT statement. In short, this organization makes it necessary to search the dataset to find all the information you need concerning a particular system element, but it is hierarchically organized.25 Using Adams/SolverDatasetsThe following sample structure is an alternate organization scheme for the piston-crank mechanical system. This structure emphasizes a relational organization of data.PISTON COMPRESSOR SAMPLE dataset !********PART MODULES ************************************* PART - (01) GROUND PART/01,GROUNDMARKER/01GLOBAL REQUEST REFERENCE PART - (02) CRANK PART/02, MASS=2, CM=02, IP=5, 6, 10MARKER/02, QP=0,0,-3CENTER OF MASS REQUESTSREQUEST/01, DISPLACEMENT, I=02, J=01, COMMENT=CRANK CG DISPLACEMENTREQUEST/02, ACCELERATION, I=02, J=01, COMMENT=CRANK CG ACCELERATIONGRAPHICSGRAPHICS/01, OUTLINE=03,04,05CRANK OUTLINEGRAPHICS/02, CYLINDER, CM=03FLYWHEEL, RADIUS=2, LENGTH=-2, SIDES=20, SEG=20MARKER/03, QP=0,0,-3GRAPHICS MARKERMARKER/04, QP=0,0,0GRAPHICS MARKERMARKER/05, QP=2,0,0GRAPHICS MARKER PART - (03) RODPART/03, MASS=1, CM=06, IP=1.5, 1.6, 3MARKER/06, QP=6,0,0CENTER OF MASS REQUESTSREQUEST/03, DISPLACEMENT, I=06, J=01, COMMENT=ROD CENTER OF MASS DISPLACEMENTREQUEST/04, ACCELERATION, I=06, J=01, COMMENT=ROD CENTER OF MASS ACCELERATIONGRAPHICSGRAPHICS/03, OUTLINE=07,08ROD OUTLINEMARKER/07, QP=2,0,0GRAPHICS MARKERMARKER/08, QP=10,0,0GRAPHICS MARKER PART - (04) PISTONPART/04, MASS=.5, CM=09MARKER/09, QP=11,0,0CENTER OF MASS REQUESTSREQUEST/05, DISPLACEMENT, I=09, J=01, COMMENT=PISTON CENTER OF MASS DISPLACEMENTREQUEST/06, ACCELERATION, I=09, J=01, COMMENT=PISTON CENTER OF MASS ACCELERATIONGRAPHICSGRAPHICS/04, CYLINDER, CM=10PISTON RIGHT HALF, RADIUS=.75, LENGTH=1, SIDES=20, SEG=20 GRAPHICS/05, CYLINDER, CM=10PISTON LEFT HALF , RADIUS=.75, LENGTH=-1, SIDES=20, SEG=20MARKER/10, QP=11,0,0GRAPHICS MARKER, REULER=90D,90D,0Adams/SolverDatasets26!**********CONSTRAINT MODULES******************************* CONSTRAINT - (REVOLUTE) CRANK ON GROUNDJOINT/01, REVOLUTE, I=11, J=12MARKER/11, PART=02, QP=0,0,-2CRANK MARKERMARKER/12, PART=01, QP=0,0,-2GROUND MARKERREQUEST/07, FORCE, I=11, J=12, COMMENT=CRANK/GROUND REACTION CONSTRAINT - (SPHERICAL) ROD ON CRANKJOINT/02, SPHERICAL, I=13, J=14MARKER/13, PART=03, QP=2,0,0ROD MARKERMARKER/14, PART=02, QP=2,0,0CRANK MARKERREQUEST/08, FORCE, I=13, J=14, COMMENT=ROD/CRANK REACTIONCONSTRAINT - (UNIVERSAL) PISTON ON RODJOINT/03, UNIVERSAL, I=15, J=16 MARKER/15, PART=04, QP=10,0,0PISTON MARKER , ZP=10,1,0, XP=10,0,1MARKER/16, PART=03, QP=10,0,0ROD MARKER REQUEST/09, FORCE, I=15, J=16 , COMMENT=PISTON/ROD REACTIONCONSTRAINT - (TRANSLATIONAL) PISTON ON GROUNDJOINT/04, TRANSLATIONAL, I=17, J=18MARKER/17, PART=04, QP=12,0,0PISTON MARKER, REULER=90D,90D,0 MARKER/18, PART=01, QP=12,0,0GROUND MARKER , REULER=90D,90D,0 REQUEST/10, FORCE, I=17, J=18 , COMMENT=PISTON/GROUND REACTION CONSTRAINT - (MOTION) GROUND MOTION ON CRANKMOTION/01, JOINT=01, ROT, FUNCTION=POLY(TIME, 0, 0, 360D) !********** FORCE MODULES*********************************** FORCE - (SFO) PISTON VISCOUS DAMPINGSFORCE/01, I=19, J=20, TRANSLATION , FUNCTION=POLY(VR(19, 20), 0, 0, -0.2)MARKER/19, PART=04, QP=12,0,0PISTON MARKER MARKER/20, PART=01, QP=12.286,0,0GROUND MARKER REQUEST/11, FORCE, I=19, J=20, COMMENT=PISTON VISCOUS DAMPINGFORCE - (SFO) ISENTROPIC GAS PRESSURE FORCESFORCE/02, I=21, J=22, TRANSLATION, FUNCTION=1422.0 * DM(21, 22) ** (-1.4) - 185.4 MARKER/21, PART=04, QP=12,0,0PISTON MARKER MARKER/22, PART=01, QP=12.286,0,0GROUND MARKER REQUEST/12, FORCE, I=22, J=21, COMMENT=ISENTROPIC GAS PRESSURE FORCE !********** SOLUTION AND OUTPUT PARAMETERS******************* OUTPUT/ GRSAVE, REQSAVEENABLE GRAPHICS AND REQUEST FILESAlthough the second sample dataset defines the same model as the first, the two differ in their organization. Note that in the second sample dataset, the statements and comments are in four sections rather than in six. The four sections are for: Parts 27 Using Adams/SolverDatasets Constraints Forces Solution, execution, and output parameters Note that at time zero, the BCS of each part has the same location and orientation as the global coordinate system or ground.The major advantage of this dataset organization is that it groups MARKER statements with the statements for parts, constraints, forces, and requests to which they refer. In addition, the position and orientation of each BCS is the same; so to superimpose two markers for a joint, you simply input the same geometric data for them. To describe any point in more than one part, constraint, force, or request, this organization requires that you use multiple MARKER statements so that each MARKER statement is used only once. This dataset organization decreases the time you spend searching for data and makes the dataset easier to modify.In general, when you define parts with respect to the BCS, an organization like the one in the first sample dataset is easier to use. However, if you are superimposing all the BCS on the global coordinate system, an organization like the one in the second sample dataset is easier to use. The primary objective, of course, is to find an organization that works best for you and for the types of models you are defining. In some cases, you may find it useful to employ a dataset organization other than these two.Adams/SolverUsing Statements to Define Your Model28Using Statements to Define Your ModelThese sections explain how to use statements to define your model: Formatting Statements About Arguments Understanding Statement Syntax Formatting StatementsThe figure below shows the general format for all Adams/Solver statements.Every statement, except the TITLE statement, includes a name that indicates the statement type. Most statements require: Slash (/) delimiter Identifier (id) One or more arguments (ARG1,...,ARGn) Statement arguments can indicate: Condition Values (,...,vn) Character string (c) with values Expression (e) About ArgumentsYou can classify arguments into three categories: Conditional - These arguments are of the form ARGUMENT. Assignment - These arguments are of one of two forms: ARGUMENT={v1[,...,vn]} ARGUMENT={c1[:...:cn]} Function expression - These arguments are of the form: ARG=e ARG=USER(r1[,...,r30]) A different set of arguments characterizes each Adams/Solver statement. If you do not include mandatory arguments, Adams/Solver outputs an error message and stops execution after the input phase. Some of the arguments in a statement may be optional; therefore, the number of arguments you use for a statement 29 Using Adams/SolverUsing Statements to Define Your Modelcan vary. Argument order can also vary without changing the overall meaning of a statement. For example, the argument order in the statements below differ, but they provide Adams/Solver with the same information.REQUEST/04, FORCE, I=0304, J=0204REQUEST/04, I=0304, FORCE, J=0204Although it is unnecessary to order arguments in a consistent fashion, such a practice facilitates locating argument information. The following sections describe each argument category and its distinctive attributes Conditional ArgumentsArguments that specify a quality are named conditional arguments. Conditional arguments do not explicitly contain any argument values. They consist solely of the argument key word. For example, consider the following SFORCE statement:SFORCE/0104, I=0408, J=0109,TRANSLATION,FUNCTION=1422.0 * DM(0408, 0109) * * (-1.4) - 185.4 The conditional argument in this statement is TRANSLATION, which specifies that the force is translational instead of being rotational.Assignment ArgumentsArguments that assign one or more values to a statement attribute are named assignment arguments. Each of these arguments consists of: Argument key word Equal sign Set of values you want to assign to the attribute In example formats, lower-case terms indicate the types of values that are to follow the argument key word. The types of values can be: Identifiers (id1,...,idn) Cartesian coordinates (x, y, z) Angular values (a, b, c) Which can take the form of: Integers (i1,...,in) Real numbers (r1,...,rn) Character strings (c1:...:cn) In some cases, arguments accept more than one kind of value; their formats specify varying types (v1,...,vn). Regardless of the kinds of values you enter for an assignment argument, you must precede all values except the first with either a comma or a colon. A comma must separate numerical values and a Adams/SolverUsing Statements to Define Your Model30colon must separate character strings. You may break assignment arguments for a statement before any comma or colon. If you break the argument before a comma, do not retain the separating comma.The following PART statement includes the assignment arguments MASS, CM, IP, and QG:PART/03, MASS=1, CM=0305,IP=1.5,1.6,3, QG=2,0,0 Here, the value or values following indicate: MASS keyword indicates the value of the mass of the part. CM indicates the identifier of the part center-of-mass marker. IP indicates the three principal mass moments of inertia of the part about the part center-of-mass marker location. QG indicates the initial coordinates of the BCS of the part with respect to the global coordinate system.Function ArgumentsArguments that allow you to define their values with a FORTRAN-like expression in the dataset or with an external user-written subroutine are called function-expression arguments. Each of these arguments consists of the argument, an equal sign, and an expression that Adams/Solver can evaluate.There are two types of function-expression arguments: Define an expression (e). Pass constants to a user-written evaluation subroutine (USER=). The following are examples of the two types of function-expression arguments: The MOTION statement below, includes a function-expression argument that uses an expression to compute a MOTION.MOTION/0201, JOINT=0201, FUNCTION=POLY(TIME,0,0,360D) The statement below includes a function-expression argument that defines constants Adams/Solver is to pass to the user-written subroutine MOTSUB:MOTION/0201, JOINT=0201, FUNCTION=USER(0, 0, 6.28) In the first example, the expression specifies the four values Adams/Solver is to pass to the POLY function to determine the motion. In most cases, defining an expression is easier than writing and then passing values to a user-written subroutine as done in the second example. To find out more about user-written subroutines and the Adams/Solver utilities you can access from user-written subroutines, see Welcome to Adams/Solver Subroutines. You can break a function expression for continuation anywhere except: In the middle of a number In the middle of a function name Between a function name and the left parenthesis that follows it 31 Using Adams/SolverUsing Statements to Define Your ModelIf you break the expression before a comma, you must retain the comma (in addition to the continuation comma).To terminate a function expression, you must put the function expression argument last in your statement or put a backslash at the end of the expression to explicitly specify the end of the expression.Understanding Statement SyntaxLike all languages, the statements specifying a model definition must follow certain syntactical rules. Adams/Solver relies on these rules to decode a statement and understand it. The next sections explain the syntactical rules that govern statement definitions and their interpretation: Angles Arguments Blanks and Tabs Comments Continuations Delimiters Identifiers Numbers Statements Angles Adams/Solver assumes all angular data is in radians, unless indicated otherwise. If you want to indicate that angular values are in degrees, follow the values with a D, as in these examples.45.D45D1.E-3DD does not specify double precision in Adams/Solver as it does in FORTRAN. In Adams/Solver, a D after a number indicates that the number is to be scaled by the factor. All output angular data defaults to radians, except for the rotational displacement data in the tabular output file. If you want to scale angular displacement output from degrees to radians, use the DSCALE argument on the OUTPUT command or statement. Arguments Each argument indicates a condition, assigns a value, or evaluates an expression. Adams/Solver has three basic types of arguments, described in Formatting Statements.t 180 Adams/SolverUsing Statements to Define Your Model32 An equal sign separates the argument keyword from its values. Argument values can be in the form of numbers (with an E added to indicate scientific notation and/or a D added to indicate degrees), alphabetic characters, a combination of numbers and alphabetic characters, a string of words, and function expressions. Five or more consecutive blank spaces in an argument (except a function expression argument) cause Adams/Solver to ignore the rest of the line (see Blanks and Tabs). You can abbreviate arguments. Underscores in statement formats, explained in Formatting Statements, indicate minimum allowable argument abbreviations. Adams/Solver accepts both uppercase and lowercase letters for arguments. You can arrange arguments in any order within the statement to which they belong. You can break function expression arguments before any comma or colon. If you break the argument before a comma, retain the comma (in addition to the continuation comma). If you break the argument before a colon, retain the colon. (See Continuations). You can break assignment arguments before any comma or colon. If you break the argument before a comma, do not retain the comma (in addition to the continuation comma). If you break the argument before a colon, retain the colon. (See Continuations.) If you do not provide an optional argument or value, Adams/Solver uses the default. Do not assign a real number value to an integer argument unless there is nothing except a zero after the decimal point. If you assign a real number with a fractional part after the decimal point to an integer argument, Adams/Solver issues an error message. You can use scientific notation for both real and integer values. The following errors in the use of arguments cause Adams/Solver to issue an error message and stop execution at the end of the input phase: You assign argument values that are not numbers of the permissible set of values for that argument. You input an invalid number of values for an argument. You input an ambiguous argument abbreviation. You input an invalid value type for an argument (for example, you input a character value, and the argument requires a numeric value; or you input a real number with a nonzero fractional part, and the argument requires an integer). You input two or more arguments that are mutually exclusive.Blanks and Tabs Adams/Solver ignores all data following five or more consecutive blank spaces on any line. There are two exceptions to this rule: function expressions and the TITLE statement. Do not put blanks in numerical values. Blank spaces provide spacing within statements, and blank lines provide spacing between groups of statements. You can have as many blank lines as you want in an Adams/Solver dataset.33 Using Adams/SolverUsing Statements to Define Your Model Do not use tabs in Adams/Solver statements. You can use tabs in comments.Comments Use comments to describe statements and groups of statements. Adams/Solver ignores comments. An exclamation point indicates to Adams/Solver that the line is a comment. At least five consecutive blank spaces also indicate a comment everywhere, except within a function-expression argument. Within a function-expression argument, five blank spaces do not cause Adams/Solver to stop reading the line. An Adams/Solver dataset can have any number of consecutive or nonconsecutive comments. A comment can be on any line between the TITLE statement and END statement. (Adams/Solver does not read beyond the END statement.) A comment can be in the middle of a statement or even in the middle of an argument, but if a comment is an entire continuation line, it must start with either a continuation character (See Continuations below) or an exclamation mark.ContinuationsCommas in column one are used to indicate continuation lines. To continue a statement on the next line, break the line before any statement comma or colon and put a continuation comma in column one of the following line before the rest of the statement. If you break the statement at a comma directly preceding an argument, you do not need to retain the comma preceding the argument. If you break the statement before a comma within a function-expression argument, use both the comma separating the values within the argument and the continuation comma. If you break the statement before a comma within an assignment argument, use only one comma. If you break the statement before a colon in either type of argument, retain the colon.Alternately, ampersands (&) can indicate continuation lines. To continue a statement on the next line, break the statement before any statement comma or colon and put an ampersand after the last statement character on the line to indicate that the following input line is a continuation of the line with the ampersand. Because Adams/Solver ignores all comments, putting an ampersand after the comment does not indicate to Adams/Solver that the following input line is a continuation line. You cannot use an ampersand to continue a function expression on the next line. If you must continue a function expression on the next line, use a comma in the first column of the new line as described above.DelimitersDelimiters allow Adams/Solver to interpret input, and they make datasets easier to read. Adams/Solver commonly requires or allows six delimiters: Slash - Separates a statement name from the remainder of the statement. Equal sign - Separates an argument key word from a value or a set of values.Adams/SolverUsing Statements to Define Your Model34 Comma - Separates arguments within a command and separates multiple integer values (i1,...,in) and multiple real values (r1,...,rn) within multiple valued arguments. Backslash - Instead of the comma, separates a function-expression argument from any arguments that follow it. Semicolon - Separates two statements on the same line.The following errors in the use of delimiters cause Adams/Solver to issue an error message and stop execution at the end of the input phase: You do not use a delimiter when it is required. For example, you omit the backslash between a function expression argument and the following argument. You use a delimiter when it is not allowed. You use two or more delimiters when only one is allowed. For example, you use two commas between two arguments on the same line.Identifiers Identifiers distinguish statements of the same type. In a dataset, you should not have two or more statements with the same name and the same identifier (for example, two GRAPHICS statements with the same identifier). If your dataset does include two or more statements with the same name and the same identifier, Adams/Solver issues one or more warning messages and stores the last instance only. Not all statement types require an identifier. If a statement type requires an identifier, the identifier string must follow a slash. The identifier you assign to a statement can be any positive integer with eight or fewer digits. The following errors in the use of identifiers cause Adams/Solver to issue an error message and stop execution at the end of the input phase: You omit a statement identifier that Adams/Solver requires. You use a statement identifier that is negative, is a real number, or is a positive integer with more than eight digits. If you include a statement identifier with a statement that does not require an identifier, Adams/Solver issues a warning message and ignores the identifier. Numbers A real number is a number with a decimal point and/or a fractional part behind the decimal point. A single plus or minus sign can precede any number or exponent. Use of the plus sign is optional. Numbers must not contain blanks or commas. If a number contains a decimal point and/or an exponent, Adams/Solver interprets it as a real number. Adams/Solver stores real numbers in a format that retains approximately fifteen significant digits in 32-bit machines.35 Using Adams/SolverUsing Statements to Define Your Model If a number does not contain either a decimal point or an exponent, Adams/Solver interprets it as an integer. You may assign an integer value when Adams/Solver expects a real argument. However, if you do this, Adams/Solver converts the integer to a real number before storing it. Integer values input to Adams/Solver must be greater than -231 -1 and less than +231 -1. You can assign a real number value when Adams/Solver expects an integer if the fractional part of the real number is zero. If you do this, Adams/Solver converts the real number to an integer before storing it. You can input exponents for real numbers and integers you assign to real arguments. The exponent indicates an integer power of ten by which Adams/Solver is to multiply the mantissa. To indicate the exponent, immediately follow the number with an E (this is consistent with the E in FORTRAN). Then, follow the E with the positive or negative integer exponent. The allowable range for exponents depends on the particular computer on which you are running Adams/Solver. On the VAX/VMS, exponents must be integers greater than -38 and less than +38. The following are examples of numbers with valid exponents:.314159E1314159E01314.159E-02314159E+2 Internally, Adams/Solver uses radians for angular units. Adams/Solver includes a degrees-to-radians conversion factor to allow for easy conversion of degree quantities to radian quantities. Put a D immediately following a number that you want Adams/Solver to scale by that conversion factor. Adams/Solver multiplies the number by before storing it.You can use this conversion factor for any number in the dataset, including numbers in function expressions. But this conversion factor is especially useful when you are assigning values to arguments that expect angular quantities. For example, Adams/Solver converts the argument:REULER = 90D, 180.0D, 2.70E+2DtoREULER = 1.5708, 3.1416, 4.714before storing the information. D does not specify double precision in Adams/Solver as it does in FORTRAN. The following errors in the use of numbers cause Adams/Solver to issue an error message and stop execution at the end of the input phase: You include a fractional part other than zero in a real number you input for an integer argument value. You include a blank or a comma in a number. t 180 Adams/SolverUsing Statements to Define Your Model36Statements A statement must begin in one of the first five columns of the line. If it does not, Adams/Solver treats it as a comment and does not read it. Statements can be defined only between column 1 and column 80. To continue a statement that is longer than eighty columns, use an ampersand (&) after the last statement character in the line to be continued or use a comma as the first character in all continuation lines (see Continuations). If you use the ampersand, the last statement character can be in the seventy-ninth column at most because the ampersand would then have to be in the eightieth column. Adams/Solver can read two or more statements on the same line if they are separated by semicolons. You can abbreviate statement names. Underscores in statement formats, indicate minimum allowable abbreviations. See C++ Statements. Adams/Solver accepts both upper- and lower-case letters for statement names. Because the TITLE statement is read but not executed, it can include any combination of printable characters and blank spaces. The following errors in the use of statements cause Adams/Solver to issue an error message and stop execution at the end of the input phase: You do not include all required arguments in a statement. You put two or more statements on the same line without semicolons separating them. You continue a statement on the following line without either an ampersand at the end of the first line or a comma at the beginning of the following line.37 Using Adams/SolverUnderstanding Adams/Solver Modeling ConceptsUnderstanding Adams/Solver Modeling ConceptsThis document contains the general modeling concepts of mechanical system simulation, and explains how Adams/Solver interprets the information you provide when defining a mechanical system. It contains the sections: Vectors Reference Frames Coordinate Systems Positioning Methods Local versus Global Geometric Data Degrees of Freedom Force Direction and Application VectorsVectors in Adams/Solver are defined as quantities having magnitude and direction. They are used in mechanical system simulation to define and measure the movement of bodies, such as displacement, velocity, and acceleration. Vectors are also used to apply and measure forces in a mechanical system.Unit vectors (where magnitude is equal to one) are most commonly used to define the direction portion of vector quantities. For example, you can use unit vectors to define the direction along which displacement, velocity, or acceleration occurs or to define the direction in which a force is applied.Reference FramesA reference frame specifies a reference for the calculation of velocities and accelerations in a mechanical system. Reference frames do not have any graphic representation, but are used when specifying function expressions which represent time derivatives of vector quantities. There are two types of reference frames in Adams/Solver: Ground coordinate system (GCS) - The GCS is the single Newtonian or inertial reference that establishes absolute rest. By definition, any point attached to the GCS has zero velocity and acceleration. Such a point is fixed in absolute space.Adams/Solver expresses Newton's Laws with respect to the GCS. For many applications, you can consider the earth as a Newtonian reference frame, even though it travels in an elliptical path about the sun and is therefore accelerating, and rotates on its own axis. Body coordinate system (BCS) - Every rigid body has one reference frame, named the BCS.Coordinate SystemsA coordinate system (CS) is essentially a measuring stick used to define kinematic and dynamic quantities. Coordinate systems usually consist of an origin and a set of three mutually-perpendicular unit Adams/SolverUnderstanding Adams/Solver Modeling Concepts38vectors that specify three directions. Associated with each of these directions is a scale that permits measurement of quantities with respect to that coordinate system. You can specify all kinematic and kinetic vector quantities as projections of the vector along three mutually-perpendicular unit vectors, , , and , as shown in the example of a Coordinate System and Vector below.The example below illustrates a vector, R, that is defined as the displacement of point P with respect to point O. For example, R x, R y, and R z are defined as the measure numbers of R along the,, and axes, respectively, of the global coordinate system.Example of a Coordinate System and Vector In Adams/Solver, you use coordinate systems to define: Location or orientation of other coordinate systems. Point with respect to which a body's mass moments of inertia are defined. Axes about which a body's mass moments of inertia are defined. Points at which constraints are applied. Axes along or about which bodies are constrained to move. Points to which forces are applied. Axes along or about which forces are applied.You can also use coordinate systems in Adams/Solver to measure: Translational displacement of one point with respect to another point. Translational velocity or acceleration of one point with respect to some reference frame. Angular velocity or angular acceleration of one reference frame with respect to another reference frame. Translational force or rotational force components acting on a body.Adams/Solver uses two types of coordinate systems, global and local, as introduced next.xyzxGyGzG39 Using Adams/SolverUnderstanding Adams/Solver Modeling ConceptsGlobal Coordinate SystemThe global coordinate system (GCS) rigidly attaches to the ground reference frame or the ground body. In Adams/Solver, your model has only one GCS that defines the absolute point (0,0,0) and provides a set of axes that is referenced when creating body coordinate systems (see Body Coordinate Systems).Local Coordinate SystemsIn your model, you can use local coordinate systems to identify the location and orientation of key points and axes. The origin of a local coordinate system defines its location or translational position in a mechanical system, while the axes define its orientation or rotational position.The next sections provide information about the two types of local coordinate systems: body coordinate systems and markers.Body Coordinate SystemsA body coordinate system (BCS) is created automatically for each rigid body you define in Adams/Solver. Every rigid body in your model has one and only one BCS. You specify the initial location and orientation of each BCS by providing its location and orientation with respect to the GCS. The BCS defaults to the same location and orientation as the GSC, if you do not specify a different position for it. The BCS moves with its body.Example of Global and Body Coordinate Systems MarkersMarkers are coordinate systems owned by a body. There is no limit on the number of markers you can have in your model. You use markers to define any point of interest in a mechanical system such as: The location of a body's center of mass. The reference point with respect to which you specify a rigid body's mass moments of inertia.Adams/SolverUnderstanding Adams/Solver Modeling Concepts40 A reference point for defining where you want graphical entities anchored. An initial location of a constraint you want to use to connect bodies together. A point where you want force applied to a body. All points where you want to measure displacement, velocity, acceleration, or force.You can also use markers to define directions in a mechanical system such as: The axes about which you specify a body's mass moments of inertia. A direction you want to use when you specify a constrain. A direction you want to use when you specify a force. A direction you want to use when you specify graphical dimensions. The axes along which you want to measure displacement, velocity, acceleration, or force.Example of Body and Marker Coordinate Systems You have two types of markers in Adams/Solver: Fixed markers - A fixed marker attaches to a body and moves with that body. To place a fixed marker on a body, you must specify its location and orientation with respect to the BCS. Floating markers - You use a floating marker to specify sites for applying certain forces or constraints to bodies. The force or constraint dictates the location and orientation of the floating marker. Therefore, you do not specify a position for a floating marker. This allows the floating marker's location and orientation to change with respect to its BCS during the simulation, as dictated by the force or constraint.Adams/Solver forces and constraints that use floating markers include the six-component force, three-component force, three-component torque, curve-to-curve constraint, and point-to-curve constraint.Positioning MethodsYou can tell Adams/Solver the position of a local coordinate system by indicating its location and orientation. There is only one way to locate a local coordinate system but two ways to orient it. A local coordinate system's location is always defined the same way, regardless of the orientation method you 41 Using Adams/SolverUnderstanding Adams/Solver Modeling Conceptsuse. In this section, the local coordinate system that you are either locating or orienting is referred to as the positioned coordinate system and the coordinate system with respect to which you are locating or orienting it as the base coordinate system. For example, if you are locating a BCS with respect to the GCS, the BCS is the positioned coordinate system and the GCS is the base coordinate system. Similarly, if you locating a marker with respect to its BCS, the marker is the positioned coordinate system and the BCS is the base coordinate system.The next sections explain the Adams/Solver location and orientation positioning methods.Location MethodAdams/Solver uses Cartesian coordinates to define the location of the origin of the positioned coordinate system with respect to the base coordinate system. Cartesian coordinates are the distances to the point you are defining, measured from the origin and along the, , and axes of the base coordinate system. The example of the Cartesian Coordinates Location Method below shows an example of using Cartesian coordinates to define the location of a positioned coordinate system.Example of the Cartesian Coordinates Location MethodOrientation MethodsFor orienting any BCS with respect to the GCS or any marker with respect to its BCS, you can use the rotation sequence method or the three-point method (also known as the direction cosines method) as explained next.Rotation Sequence MethodThe rotation sequence method used by Adams/Solver to orient a local coordinate system uses rotation angles associated with a particular sequence. Although there are 24 possible rotation sequences Note: When you locate and orient coordinate systems, remember that the BCS is always defined with respect to the GCS and a marker is always defined with respect to the BCS of the body that owns it.xyzAdams/SolverUnderstanding Adams/Solver Modeling Concepts42available, Adams/Solver uses only the body-fixed 3-1-3 (or z-x-z) rotation sequence. The rotation angles associated with this sequence are often referred to as Euler angles. When you use the Euler angles method to orient a positioned coordinate system, you need to define the orientation of the positioned coordinate system with respect to the base coordinate system.The example below of the Rotation Sequence Method (Body-Fixed 3-1-3 Euler Angles) shows how successive rotations of Euler angles incrementally orient the axes of the positioned frame. Initially, the positioned coordinate system has the same orientation as the base coordinate system (5a). The first Euler angle rotates the positioned coordinate system about its z-axis +90 degrees. This repositions the x- and y-axes (5b). The second Euler angle rotates the positioned coordinate system about its new x-axis (x) -90 degrees, to reposition the new y-axis and the z-axis (5c). The third Euler angle rotates the positioned coordinate system about its new z-axis (z) +90 degrees, to reposition the new x-axis (x) and the second new y-axis (y).Together and in sequence, these rotations define the orientation of the positioned coordinate system (5d).The right-hand rule defines the direction of positive rotation about each axis. For example, if you look down the initial z-axis, positive rotations are counterclockwise and negative rotations are clockwise.Example of the Rotation Sequence Method (Body-Fixed 3-1-3 Euler Angles) Because Euler angle rotations cumulatively define the orientation, you may find it difficult to imagine orientations that involve rotations of other than 0, 45, or 90-degree increments. When orienting a coordinate system that requires a complex combination of rotations, you may find it easier to use the three-point orientation method, as described next. Three-Point MethodYou can use the three-point method to specify the orientation (in direction cosines) of the positioned coordinate system relative to the base coordinate system. When you use the three-point method to orient a positioned coordinate system, provide the following geometric data with respect to the base coordinate system: Cartesian coordinates of the positioned coordinate system origin (point 1). You must specify this point when using this method of orientation.43 Using Adams/SolverUnderstanding Adams/Solver Modeling Concepts Cartesian coordinates of a point on the primary axis of the positioned coordinate system (point 2). You can specify either the z- or x-axis as the primary axis of the positioned coordinate system. If you do not specify a primary axis, thez-axis is used by default. When it is important to exactly specify the z-axis of the positioned coordinate system, provide the Cartesian coordinates of a point on the z-axis. When it is important to exactly specify the x-axis of the positioned coordinate system, provide the Cartesian coordinates of a point on the x-axis. Cartesian coordinates of a point that is in the x-z plane of the positioned coordinate system (point 3). Since three points in a straight line do not uniquely define a plane, you must make sure that point 3 does not lie on the line defined by points 1 and 2. If the three points are collinear, Adams/Solver returns an error.The example of the Three-Point Method below shows the points of the positioned coordinate system with respect to the base coordinate system. Point 2 in the figure specifies the z-axis of the positioned coordinate system and point 3 defines a point in the x-z plane of the positioned coordinate system. Note that in this example, point 3 is placed directly on the x-axis of the positioned coordinate system but only needs to be in the x-z plane.By default, Adams/Solver assumes that defines the the exact location of the coordinate system origin anddefines a point on the z-axis. Because the third point (by default) does not necessarily lie on an axis but happens to in this example, Adams/Solver determines the vector cross product of vectors and to form an orthogonal y-axis. Then, Adams/Solver determines the vector cross product of the new y-axis and the exact axis (the z-axis by default) to produce the orientation of the remaining axis (by default, the x-axis). By calculating and, you can verify that the third point is in the x-z plane and that the three points are not collinear.R1R2R3R2R3v1v2Adams/SolverUnderstanding Adams/Solver Modeling Concepts44Local Versus Global Geometric DataRegardless of the methods that you use to position the local coordinate systems, the location and orientation of every marker with respect to the GCS is the summation of both BCS and marker positioning data. This summation allows you to input points from a series of part drawings in which each drawing has its own BCS. The geometric data you input to describe the location and orientation of each BCS with respect to the GCS relates the BCS to one another.Although the summation of the geometric data allows you to input data from part drawings with different BCS, it can complicate the process of superimposing markers in global space and assigning parallel or perpendicular orientations to their axes. Superimposing markers is sometimes necessary for defining joints (superimpose one marker on one body with a second marker on another body). For example, if you define a spherical or ball-and-socket joint, you must superimpose a marker origin at the center of the ball with a marker origin at the center of the socket. Similarly, to allow for the proper assembly of the model, certain joints require that one axis of a marker in one body remains parallel or perpendicular to a particular axis of a marker in the other body.If two markers do not have the correct origin locations or axis orientations, Adams/Solver iteratively repositions the bodies to bring the two markers to the correct position before continuing the analysis. For two markers whose positions are reasonably close to what they should be, these iterations usually do not 45 Using Adams/SolverUnderstanding Adams/Solver Modeling Conceptsseriously affect the solution process. For two markers whose positions are not reasonably close, Adams/Solver might not be able to enforce the proper positioning during the initial phases of the simulation and will be unable to solve for the model behavior. In other cases, Adams/Solver may find an initial assembly position different from the intended one, thus leading to a different solution. Consequently, when you define markers, you must carefully specify their positions and the positions of their BCS.Not all models describe the geometry of a mechanical system as explained above. For example, in the automotive industry, it is common practice to dimension all the bodies in a single, and often large, drawing of the assembly. Because Adams/Solver does not require the BCS to lie within the boundaries of the bodies to which they belong, its possible to superimpose all of the BCS on the GCS. When you do this, the initial marker position with respect to the BCS is the same as the marker position with respect to the GCS. Under these circumstances, the BCS positions are all zero. Because they default to zero if left unspecified, this approach reduces the amount of data that you must provide.In addition, even though you input the markers positions with respect to their different BCS, all markers occupying the same position in space have identical position with respect to the GCS. In general, this approach greatly simplifies the summation process for superimposing marker positions. When using this approach, keep in mind that Adams/Solver superimposes the disparate BCS on the GCS only at time zero. As the model articulates during a subsequent dynamic, kinematic, or quasi-static equilibrium analysis or settles during a subsequent static equilibrium analysis, the BCS move with their bodies with respect to the stationary GCS.Adams/SolverUnderstanding Adams/Solver Modeling Concepts46An example of local versus global dataDegrees of FreedomDegrees of freedom dictate how a mechanical system is allowed to move. The following sections provide information on understanding and calculating degrees of freedom in your model.47 Using Adams/SolverUnderstanding Adams/Solver Modeling Concepts Removing Degrees of Freedom Calculating Degrees of Freedom Using the Gruebler Equation Checking for Redundant Constraints Removing Degrees of FreedomIn mechanical systems, a degree of freedom (DOF) is a measure of how bodies can move relative to other bodies. Therefore, the total number of degrees of freedom of a mechanical system is the number of independent motions that characterize the model.A freely floating rigid body in three-dimensional space is said to have six DOF. This implies that the body can exhibit motion in six independent ways: three translations and three rotations. The DOF of a mechanical system represent the minimum number of displacement coordinates needed to completely specify the system configuration. Once you know these, you can calculate any other information pertinent to the configuration as a function of these independent variables.You can, of course, represent a mechanical system with more coordinates than there are degrees of freedom. In such an instance, the coordinates are not all independent. There must be algebraic constraint equations relating some of the coordinates. This is precisely how Adams/Solver works.For most mechanical systems, the number of degrees of freedom is constant throughout time. In some mechanical systems, the number of degrees of freedom can change as their configurations change over time.Adams/Solver allows you to specify the position of each body in the model, regardless of the degrees of freedom in the mechanical system. Different types of constraints constrain different combinations of motion, thereby removing various DOF from the model. Revolute joints, for example, constrain two degrees of rotational freedom and three degrees of translational freedom therefore allowing one degree of rotational freedom. Cylindrical joints constrain two degrees of rotational and two degrees of translational freedom, therefore allowing one rotational and one translation freedom. Rotational or translation motions, defined at joints, constrain either one rotational or translational DOF, respectively. Below tables list the number of DOF removed by Adams/Solver constraints.Table 1 Number and Types of DOF Removed by JointsThis joint type:Removes number translational DOF:Removes number rotational DOF:Removes total number DOF:Constant velocity 3 1 4Cylindrical 2 2 4Fixed 3 3 6Hooke 3 1 4Planar 1 2 3Rack-and-pinion 0.5* 0.5* 1Revolute 3 2 5Adams/SolverUnderstanding Adams/Solver Modeling Concepts48* The rack-and-pinion and screw joints are shown as half translational and half rotational because they relate a translational motion to a rotational motion. They each create one constraint, but the constraint is neither purely translational nor purely rotational.Screw 0.5* 0.5* 1Spherical 3 0 3Translational 2 3 5Universal 3 1 4Table 2 Number and Types of DOF removed by Joint PrimitivesThis type of joint primitive:Removes Number translational DOF:Removes number rotational DOF:Removes total number of DOF:Atpoint 3 0 3Inline 2 0 2Inplane 1 0 1Orientation 0 3 3Parallel Axes 0 2 2Perpendicular 0 1 1Table 3 Number and Types of DOF removed by other constraintsThis type of constraintRemoves number trans. DOF:Removes number rotational DOF:Removes number mixed translational & rotational DOF:Removes number new generalized DOF:Removes total number DOF:Coupler -- -- 1 -- 1Curve-to-curve-- -- -- 2 2Gear -- -- 1 -- 1Table 1 Number and Types of DOF Removed by JointsThis joint type:Removes number translational DOF:Removes number rotational DOF:Removes total number DOF:49 Using Adams/SolverUnderstanding Adams/Solver Modeling ConceptsCalculating Degrees of Freedom Using the Gruebler EquationTo determine the total number of degrees of freedom (DOF) for a mechanical system, you can use the Gruebler equation which is:Degrees of freedom = [ 6 * (Number of movable bodies) ] - (Number of constraints)To evaluate this equation, you would count the number of movable bodies in your model and subtract the DOF removed by the constraints and prescribed motions. Note that the body count does not include the ground body since it does not contribute any DOF. For example, the Gruebler equation for a model that contains three movable bodies, one rotational motion, three revolute joints, and one translational joint would be:DOF = ( 6 * 3 ) - ( 1 + 5 + 5 + 5 + 5 ) = 18 - 21 = -3From this calculation, you see that the model has -3 DOF. When the Gruebler equation yields a DOF count less than zero, it indicates that the model definitely has one or more constraints that are redundant.If you use the same model and replace one of the revolute joints with a spherical joint and another revolute joint with a cylindrical joint, the Gruebler equation would then be:DOF = ( 6 * 3 ) - ( 1 + 5 + 3 + 4 + 5 ) = 18 - 18 = 0This equation now indicates that there are zero DOF in the model. When the Gruebler equation is greater than or equal to zero, you cannot be positive that the mechanical system does not contain constraints that are redundant.The Gruebler equation offers a good way to understand how the model is built, but to see if there are redundant constraints or not, it is best to let Adams/Solver perform an analysis. You will receive a message from Adams/Solver if the model contains redundant constraints. However, you do not know how many or which ones Adams/Solver sees as the redundant constraints. For information on how Adams/Solver handles models with redundant constraints, see Checking for Redundant Constraints below.Translational motion1 -- -- -- 1Rotational motion-- 1 -- -- 1Point-to-curve -- -- -- 2 2User-defined constraint-- -- 1 -- 1Table 3 Number and Types of DOF removed by other constraintsThis type of constraintRemoves number trans. DOF:Removes number rotational DOF:Removes number mixed translational & rotational DOF:Removes number new generalized DOF:Removes total number DOF:Adams/SolverUnderstanding Adams/Solver Modeling Concepts50Checking for Redundant ConstraintsYou can construct a legal and well-defined model where one set of joints constrain the model in exactly the same way as another set of joints. In mathematical terms, you can state that the equations of constraint of both sets of joints are redundant with each other.An Adams/Solver model is a mathematical idealization of a physical mechanical system. For this reason, your model can contain redundant constraints even if you define your model with the same number and types of joints as the physical mechanical system.An example of a mechanical system with redundant constraints is a door supported by two hinges. In a real door, minor violations of the hinge collinearity do not prevent the door from operating because of body deformity and joint-play in the hinges. In the mathematical model, where the bodies are rigid and joints do not permit any play, the two hinges are redundant but consistent when the axes of the two hinges are aligned. If, however, the axes are not aligned, the door cannot move without breaking one of the hinges. In this case, the two hinges are inconsistent and half of their constraints are redundant.Adams/Solver does not tolerate redundant constraints whether they are consistent or inconsistent. When encountered, Adams/Solver subjectively determines which constraints are redundant, deletes them from the set of equations, and provides a set of results that characterize the motion and forces in the model. Note that other solutions can also be physically realistic. Systems with redundant constraints do not have a unique solution.According to the Gruebler equation, an Adams/Solver model with fewer than zero DOF is overconstrained. Adams/Solver can solve an overconstrained model only if the redundant constraints are consistent. Redundant constraints are consistent if a solution satisfying the set of independent constraint equations also satisfies the set of dependent or redundant constraint equations.In the case of the door with two hinges, Adams/Solver ignores five of the constraint equations. You, unfortunately, do not know which equations are removed. If you assume that Adams/Solver ignores all of the equations corresponding to one of the hinges, that means that all the reaction forces are concentrated at the other hinge in the Adams/Solver solution. Adams/Solver subjectively sets the reaction forces to zero at the redundant hinge. However, as long as distribution of reaction forces maintains a constancy of the net reaction force and torque, it also provides a correct solution.Adams/Solver does not always check joint initial conditions when it does overconstraint checking. If you apply a motion on one joint and initial conditions on another joint, check to make sure that they are not redundant because Adams/Solver does not check them. As a general rule, you should not specify more initial conditions than the model has degrees of freedom.For a model with redundant constraints, constraints that are initially consistent can become inconsistent as the model articulates over time. Adams/Solver stops execution as soon as the redundant constraints become inconsistent. Therefore, you should not intentionally input redundant constraints in your model. For example, consider a planetary gear system with redundant constraints. Slight misalignment errors can accumulate over time, eventually resulting in a failure of the consistency check. If this occurs, manually remove the redundant constraints or replace them with flexible connections.If you have redundant constraints in your model, try replacing joints with joint primitives or with approximately equivalent flexible connections. By reviewing the messages saved in the message file after 51 Using Adams/SolverUnderstanding Adams/Solver Modeling ConceptsAdams/Solver tries to solves your model, you can find out how many and which redundant constraints are being removed.Force Direction and ApplicationYou can define any force vector in terms of its magnitude and direction. The following sections explain how Adams/Solver directs and applies the different forces available. Single-Component Forces Multi-Component Forces Single-Component ForcesYou can use two types of single-component forces in Adams/Solver: Action-Only, Single-Component Forces Action-Reaction, Single-Component Forces Action-Only, Single-Component ForcesAn action-only, single-component force is an external force or torque applied to a single body in a model that acts along a specified fixed axis. As you know from Newtons third law, however, in nature there is no such thing as an action-only force (that is, one with no reaction). Therefore, the body reacting to the action-only force in Adams/Solver is automatically defined as ground and shows no visible effect in your model.You can apply either a translational or rotational action-only, single-component force to a body in your model. Note that a rotational force is a pure torque in Adams/Solver. For both translational and rotational action-only, single-component forces, you provide Adams/Solver with two markers: action and direction. The action marker declares the point of application for the force.For a rotational force, or pure torque, the location of the action marker is irrelevant; only the body to which it belongs is important. The z-axis of the direction marker specifies the direction of the force. Adams/Solver evaluates the signed magnitude and applies it to the action marker.If the force is positive and translational (Figure 3), it acts in the positive direction along the z-axis of the direction marker. If the force is positive and rotational (Figure 4), it acts in the positive direction about the z-axis of the direction marker. The right-hand rule defines the positive direction.Note: You may find the action-reaction, multi-component forces more intuitive to use than the action-only, single-component force. If you want to apply force to only one body, you can use the action-reaction, multi-component forces and specify the reaction marker on ground.Adams/SolverUnderstanding Adams/Solver Modeling Concepts52Figure 3 Translational, Action-Only, Single-Component ForceFigure 4 Rotational, Action-Only, Single-Component TorqueAction-Reaction, Single-Component ForcesAn action-reaction force is a force applied to one body producing a reaction force on a second body that is equal and opposite to the action force on the first body. You can apply either a translational or rotational (torque) action-reaction, single-component force to your model. For translational, action-reaction, single-component forces (Figure 5), you provide Adams/Solver with two fixed markers: action and reaction. These markers specify the points of force application and the line along which the instantaneous forces act, therefore no direction marker is needed. If the force applied to the action marker is positive, the action marker is pushed away from the reaction marker. If the force applied to the action marker is negative, the action marker is pulled towards the reaction marker.53 Using Adams/SolverUnderstanding Adams/Solver Modeling Concepts For rotational, action-reaction, single-component torques (Figure 6), you provide Adams/Solver with two fixed markers: action and reaction. These markers only specify the body affected by the torque not a location on the body itself, because pure torques are independent of location. The z-axis of the reaction marker specifies the axis about which the torque is applied. If the torque is positive, the action marker tends to move counter-clockwise to the reaction marker. If the torque is negative, the action marker tends to move clockwise to the reaction marker.Figure 5 Translational, Action-Reaction, Single-Component Force Figure 6 Rotational, Action-Reaction, Single-Component Torque Multi-Component ForcesAdams/Solver also allows you to define multi-component translational and rotational force vectors. For each of the multi-component forces, you provide Adams/Solver with two fixed and one floating marker: action (fixed), reaction (floating), and direction (fixed). The action and reaction markers always remain coincident. The axes of the direction marker define the directions of the vector components. You specify the x, y, z measure numbers of the force components to define them with respect to the direction marker axes.If a vector component is positive and translational (Figure 7), it acts in the positive direction along the corresponding axis of the direction mark