Datasets
Working with Adams Solver Datasets
After 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 Dataset
You 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, GROUND GROUND—PART 01
MARKER/0103 GLOBAL REFERENCE FOR REQUESTS
MARKER/0102, QP=0,0,-2 REVOLUTE JOINT TO CRANK
MARKER/0108, QP=12,0,0 TRANSLATIONAL JOINT,
, REULER=90D,90D,0 TO PISTON
MARKER/0109, QP=12.286,0,0 GAS FORCE APPLICATION POINT
PART/02, MASS=2, CM=0201 CRANK—PART 02
, IP=5,6,10
MARKER/0201, QP=0,0,-3 CENTER OF MASS
MARKER/0202, QP=0,0,-2 REVOLUTE JOINT TO GROUND
MARKER/0203 GRAPHICS MARKER
MARKER/0204, QP=2,0,0 SPHERICAL JOINT TO ROD
PART/03, MASS=1, CM=0305 ROD—PART 03
, IP=1.5,1.6,3, QG=2,0,0 BCS IN GLOBAL POSITION
MARKER/0305, QP=4,0,0 CENTER OF MASS
MARKER/0304, QP=0,0,0 SPHERICAL JOINT TO CRANK
MARKER/0306, QP=8,0,0 UNIVERSAL JOINT TO PISTON
PART/04, MASS=.5, CM=0407 PISTON—PART 04
, QG=10,0,0 BCS IN GLOBAL POSITION
MARKER/0407, QP=1,0,0 CENTER OF MASS
, REULER=90D,90D,0
MARKER/0406, ZP=0,1,0 UNIVERSAL JOINT TO ROD
, XP=0,0,1
MARKER/0408, QP=2,0,0 TRANSLATIONAL JOINT TO
, REULER=90D,90D,0 GROUND AND GAS FORCE
MARKER/0409, QP=2,0,0 VISCOUS FORCE
, REULER=90D,90D,0
!****** CONSTRAINTS ****************************************
JOINT/0201, REVOLUTE CRANK TO GROUND
, I=0202, J=0102
JOINT/0302,SPHERICAL ROD TO CRANK
, I=0304, J=0204
JOINT/0403,UNIVERSAL PISTON TO ROD
, I=0406, J=0306
JOINT/9401,TRANSLATIONAL PISTON TO GROUND
, I=0408, J=0108
MOTION/0201, JOINT=0201, ROT SPECIFIED CRANK MOTION
, FUNCTION=POLY(TIME, 0, 0, 360D)
!****** FORCES**********************************************
SFORCE/0401, I=0408, J=0109 PISTON VISCOUS DAMPING
, TRANSLATION
, FUNCTION=POLY(VR(408, 109), 0, 0, -0.2)
SFORCE/0104, I=0409, J=0109 ISENTROPIC 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 ACCELERATION
REQUEST/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
REQUEST/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/0201 CRANK OUTLINE
, OUTLINE=0201,0203,0204
GRAPHICS/0202,CYLINDER FLYWHEEL
, CM=0201, RADIUS=2
, LENGTH=-2, SIDES=20, SEG=20
GRAPHICS/0301 ROD OUTLINE
, OUTLINE=0304,0306
GRAPHICS/0401,CYLINDER PISTON RIGHT HALF
, CM=0407, RADIUS=.75
, LENGTH= 1, SIDES=20, SEG=20
GRAPHICS/0402,CYLINDER PISTON LEFT HALF
, CM=0407, RADIUS=.75
, LENGTH=-1, SIDES=20, SEG=20
!****** SOLUTION AND OUTPUT PARAMETERS**********************
OUTPUT/ GRSAVE, REQSAVE TURN ON GRAPHICS AND REQUEST FILES
END
The 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.
The 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,GROUND
MARKER/01 GLOBAL REQUEST REFERENCE
PART - (02) CRANK
PART/02, MASS=2, CM=02
, IP=5, 6, 10
MARKER/02, QP=0,0,-3 CENTER OF MASS
REQUESTS
REQUEST/01, DISPLACEMENT, I=02, J=01
, COMMENT=CRANK CG DISPLACEMENT
REQUEST/02, ACCELERATION, I=02, J=01
, COMMENT=CRANK CG ACCELERATION
GRAPHICS
GRAPHICS/01, OUTLINE=03,04,05 CRANK OUTLINE
GRAPHICS/02, CYLINDER, CM=03 FLYWHEEL
, RADIUS=2, LENGTH=-2
, SIDES=20, SEG=20
MARKER/03, QP=0,0,-3 GRAPHICS MARKER
MARKER/04, QP=0,0,0 GRAPHICS MARKER
MARKER/05, QP=2,0,0 GRAPHICS MARKER
PART - (03) ROD
PART/03, MASS=1, CM=06, IP=1.5, 1.6, 3
MARKER/06, QP=6,0,0 CENTER OF MASS
REQUESTS
REQUEST/03, DISPLACEMENT, I=06, J=01
, COMMENT=ROD CENTER OF MASS DISPLACEMENT
REQUEST/04, ACCELERATION, I=06, J=01
, COMMENT=ROD CENTER OF MASS ACCELERATION
GRAPHICS
GRAPHICS/03, OUTLINE=07,08 ROD OUTLINE
MARKER/07, QP=2,0,0 GRAPHICS MARKER
MARKER/08, QP=10,0,0 GRAPHICS MARKER
PART - (04) PISTON
PART/04, MASS=.5, CM=09
MARKER/09, QP=11,0,0 CENTER OF MASS
REQUESTS
REQUEST/05, DISPLACEMENT, I=09, J=01
, COMMENT=PISTON CENTER OF MASS DISPLACEMENT
REQUEST/06, ACCELERATION, I=09, J=01
, COMMENT=PISTON CENTER OF MASS ACCELERATION
GRAPHICS
GRAPHICS/04, CYLINDER, CM=10 PISTON RIGHT HALF
, RADIUS=.75, LENGTH=1, SIDES=20, SEG=20
GRAPHICS/05, CYLINDER, CM=10 PISTON LEFT HALF
, RADIUS=.75, LENGTH=-1, SIDES=20, SEG=20
MARKER/10, QP=11,0,0 GRAPHICS MARKER
, REULER=90D,90D,0
!**********CONSTRAINT MODULES*******************************
CONSTRAINT - (REVOLUTE) CRANK ON GROUND
JOINT/01, REVOLUTE, I=11, J=12
MARKER/11, PART=02, QP=0,0,-2 CRANK MARKER
MARKER/12, PART=01, QP=0,0,-2 GROUND MARKER
REQUEST/07, FORCE, I=11, J=12
, COMMENT=CRANK/GROUND REACTION
CONSTRAINT - (SPHERICAL) ROD ON CRANK
JOINT/02, SPHERICAL, I=13, J=14
MARKER/13, PART=03, QP=2,0,0 ROD MARKER
MARKER/14, PART=02, QP=2,0,0 CRANK MARKER
REQUEST/08, FORCE, I=13, J=14
, COMMENT=ROD/CRANK REACTION
CONSTRAINT - (UNIVERSAL) PISTON ON ROD
JOINT/03, UNIVERSAL, I=15, J=16
MARKER/15, PART=04, QP=10,0,0 PISTON MARKER
, ZP=10,1,0, XP=10,0,1
MARKER/16, PART=03, QP=10,0,0 ROD MARKER
REQUEST/09, FORCE, I=15, J=16
, COMMENT=PISTON/ROD REACTION
CONSTRAINT - (TRANSLATIONAL) PISTON ON GROUND
JOINT/04, TRANSLATIONAL, I=17, J=18
MARKER/17, PART=04, QP=12,0,0 PISTON MARKER
, REULER=90D,90D,0
MARKER/18, PART=01, QP=12,0,0 GROUND MARKER
, REULER=90D,90D,0
REQUEST/10, FORCE, I=17, J=18
, COMMENT=PISTON/GROUND REACTION
CONSTRAINT - (MOTION) GROUND MOTION ON CRANK
MOTION/01, JOINT=01, ROT, FUNCTION=POLY(TIME, 0, 0, 360D)
!********** FORCE MODULES***********************************
FORCE - (SFO) PISTON VISCOUS DAMPING
SFORCE/01, I=19, J=20, TRANSLATION
, FUNCTION=POLY(VR(19, 20), 0, 0, -0.2)
MARKER/19, PART=04, QP=12,0,0 PISTON MARKER
MARKER/20, PART=01, QP=12.286,0,0 GROUND MARKER
REQUEST/11, FORCE, I=19, J=20
, COMMENT=PISTON VISCOUS DAMPING
FORCE - (SFO) ISENTROPIC GAS PRESSURE FORCE
SFORCE/02, I=21, J=22, TRANSLATION
, FUNCTION=1422.0 * DM(21, 22) ** (-1.4) - 185.4
MARKER/21, PART=04, QP=12,0,0 PISTON MARKER
MARKER/22, PART=01, QP=12.286,0,0 GROUND MARKER
REQUEST/12, FORCE, I=22, J=21
, COMMENT=ISENTROPIC GAS PRESSURE FORCE
!********** SOLUTION AND OUTPUT PARAMETERS*******************
OUTPUT/ GRSAVE, REQSAVE ENABLE GRAPHICS AND REQUEST FILES
Although 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
■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.