Академический Документы
Профессиональный Документы
Культура Документы
Introduction
SimXpert is based on the world's most widely used mechanical system simulation software. It enables
users to produce virtual prototypes, realistically simulating the full-motion behavior of complex
mechanical systems on their computers and quickly analyzing multiple design variations until an optimal
design is achieved. This reduces the number of costly physical prototypes, improves design quality, and
dramatically reduces product development time.
In a motion simulation, the system has specific degrees of freedom and is driven by external forces and
excitations. SimXpert solves the nonlinear differential and algebraic equations of the system in order to
simulate the motion of the model subject to the specified conditions.
Components involved in the simulation are known as parts, and may have unique geometry and mass
properties. Parts are connected to one another by various types of connections, which connect specific
degrees of freedom. Motion may be specified for connections to control how parts move with respect to
each other. Forces may be applied to parts, including forces of constant magnitude and spring dampers,
which produce variable force based on relative position and velocity. Once you compute a simulation,
you may display the motion of each part, and chart data from the simulation.
Introduction 3
Degrees of Freedom
Degrees of Freedom
Degrees 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.
From 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 = 0
This 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 SimXpert perform an analysis. You will receive a message
from SimXpert if the model contains redundant constraints. However, you do not know how many or
which ones SimXpert sees as the redundant constraints. For information on how SimXpert handles
models with redundant constraints, see Checking for Redundant Constraints below.
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.
SimXpert 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 SimXpert 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. SimXpert 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
SimXpert tries to solves your model, you can find out how many and which redundant constraints are
being removed.
6
Modeling and Simulating Process
Process Overview
The 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.
Introduction 7
Modeling and Simulating Process
Build
The build step in the process includes:
1. 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. Also, you must specify which compliant connections need to be modeled
and which environment forces need to be modeled.
2. Selecting the units. You must work within a consistent set of units that is appropriate for your
model.
3. Creating the basic elements. This involves creating the parts of your model, adding constraints to
define movement, and defining forces that act on your model.
Test
After you define the model, you can run a simulation using SimXpert 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, SimXpert solves
a set of equations of motion for your model.
Review
As you create your model, it’s 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, SimXpert outputs data at the fixed intervals you specify. These
fixed intervals are known as output time steps. When you run a static simulation, SimXpert outputs data
only once.
You can request that SimXpert output data for displacements, velocities, accelerations, reaction forces,
applied forces, user-defined variables, generic system elements, as well as system modeling element
inputs and outputs. SimXpert writes all the data you request to a request file at each output time step.
SimXpert 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
8
Modeling and Simulating Process
determine the maximum load. The figure below shows a plot of the translational reaction forces in the
translational joint between the base and the upper link of a robot arm.
SimXpert 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, or clearance
problems. The figure below shows an animation with superimposed frames.
Improve
After 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 model using more advanced
functions. For example, you can establish parametric relationships among modeling elements that allow
you to perform design sensitivity studies to compare alternative designs. After you modify the model, run
more simulations to verify the model.
Components 9
Components
10
Overview
Overview
The components of your model include the separate parts of your mechanism, and may each be based on
imported CAD geometry. You may import a variety of geometry in SimXpert, including CATIA and
Parasolid formats. Once imported, these pieces of geometry may be applied to one or more parts in the
complete assembly in order to compose the complete simulation model.
You may also create geometry within the SimXpert Motion Workspace, which is covered in the
Geometry tab. Before creating geometry however, you muct define motion parts with user defined mass
properties under the components tab.
Components 11
Import Geometry
Import Geometry
Using the File menu, you may import Geometry from a variety of formats.
1. Select Import from the File Menu.
2. Select the format of the file you wish to import.
Coordinate Systems
Within SimXpert, you may create local coordinate systems that can be used to help construct
connections, forces, and requests. These coordinate systems include origin and orientation information
and may be referenced by other operations which require location or orientation data. By default
coordinate systems are children of the model, but may be created as children of whichever object is set
to current during creation of the coordinate system. Floating coordinate systems may be defined which
are associated with a particular part but don’t have a defined location.
Description of Fields:
Field Description
Name Allows specification of a unique name for each coordinate system.
Define as a
Checkbox that when enabled allows definition of a floating coordinate system,
Floating
which only has a name and a part to which it is associated. This option is used by
Coordinate
General Force, Vector Force, and Vector Torque. Cleared by default.
System
Allows selection of a reference coordinate system to be used in positioning the
new coordinate system in a “nested” manner relative to an existing coordinate
Reference System
system. Icon next to field is the "Origin Icon". Selecting this will set the Reference
System to the Origin and the text "Origin" will display in the field.
Allows specification of location of the coordinate system origin using common
Location
location selection tools.
Allows specification of the orientation of the coordinate system using common
Orientation
orientation options.
Components 13
Coordinate Systems
Sample Form:
Hardpoints
Hardpoints are parametric locations within a model that contain no orientation information. You may
create hardpoints using the Hardpoint tool in the Components Toolbox. Hardpoints define locations in
the model and are the basic building blocks for most other components. When you create hardpoints, you
can define them symmetrically or as single points in space. When defining hardpoints symmetrically, you
could, for example, define a left hardpoint and the right hardpoint is automatically generated as a
parametric point.
Description of Fields
Field Description
Name Allows specification of a unique name for each hardpoint. Automatically
populated with Hardpoint_###.
Single or Pair Selects whether a single hardpoint or a pair of points will be created.
Symmetry or Appears when Pair is selected. Selects whether second hardpoint will be
No Symmetry symmetrical with the first about the model’s XZ plane.
Location Allows the direct entry of X, Y, and Z coordinates of hardpoint positions.
Sample Form
To create a hardpoint:
1. From the Components toolbox select Hardpoint.
2. In the Properties form, select single or pair. You may also enter a unique name for the hardpoint.
Components 15
Hardpoints
3. If pair is selected, then additional options will be available such as symmetry and second point
location. Select symmetry if you want the points to be symmetric about the model’s X axis.
4. Enter the X, Y, and Z coordinates of the location to create the hardpoint. If symmetry is selected,
the second point location will be completed automatically.
5. Click OK. The hardpoint (or pair) will appear in the canvas and in the tree.
16
Parts
Parts
Parts are the main components of a model. There may be multiple parts in each model and the geometry,
inertial properties, and initial conditions for each may be specified independently. You may designate
parts as moving parts or ground parts from the properties form.
Ground Part
The ground part is the only part in your model that must remain stationary at all times. You can define a
new or existing part as the ground part. The ground part does not have mass properties or initial velocities
and does not add degrees of freedom into your model.
Moving Parts
Moving components of your model. They can have a mass, inertia, initial position, and initial velocity.
They are made up of geometric elements of any size or shape.
Description of Fields
Definition Tab::
Field Description
Name Allows specification of a unique name for each part. Automatically
populated with Part_###.
Active Selects whether part will be included in a simulation.
Ground Specifies that part will be a ground part if selected, or a moving part if
cleared. Check box is cleared by default.
Source of Inertia Select User Specified or Geometry. Geometry specifies that automatically
Properties calculated values based on part Geometry will be used for mass and inertia
properties. User Specified specifies that manually entered values will be
used for mass and inertia properties, and is required for geometry that is to
be created within the SimXpert Motion Workspace. Geometry is selected
by default.
Specifies the density value used if mass and inertia properties are
Density
automatically calculated based on part Geometry.
Reference System Specifies the Coordinate System defining the local part reference frame.
Mass Specifies the part mass.
Specifies diagonal inertia values as calculated about the Inertia Properties
Ixx/Iyy/Izz
Location, expressed in the coordinate system of the Inertia Orientation.
Specifies off-diagonal inertia values as calculated about the Inertia
Ixy/Ixz/Iyz Properties Location, expressed in the coordinate system of the Inertia
Orientation.
Components 17
Parts
Field Description
Center of Mass Location Allows manual specification of coordinates of center of mass location if
Source Of Inertia Properties is selected. Specified relative Reference
System.
Inertia values defined at Specifies that inertia values are calculated about center of mass location if
Center of Mass selected, or about the manually entered Inertia Properties Location if
cleared. Check box is selected by default.
Inertia Properties Allows manual specification of coordinates of location about which inertia
Location properties are calculated if Source Of Inertia Properties is selected and
Inertia Values Defined at Center of Mass is cleared. Specified relative
Reference System.
Allows manual specification of orientation about which inertia properties
Inertia Orientation are calculated if Source Of Inertia Properties is selected. Specified relative
Reference System.
Geometry Allows selection of one or more geometry to be associated with a part.
Previously imported geometry may be selected from the treeview or
canvas. Geometry can be selected by setting Pick Parts or Pick SubAssy in
the pick panel. Selecting Clear Selection List in the pick panel will clear the
Geometry field. Once selected, this geometry will be used to automatically
calculate mass and inertia properties.
Initial Position
Field Description
Positions held fixed during assembly:
Global X Holds the part fixed in the global X direction during assembly.
Global Y Holds the part fixed in the global Y direction during assembly.
Global Z Holds the part fixed in the global Z direction during assembly.
Orientations held fixed during assembly:
Psi Holds the part fixed in the Psi rotation direction during assembly.
Theta Holds the part fixed in the Theta rotation direction during assembly.
Phi Holds the part fixed in the Phi rotation direction during assembly.
18
Parts
Initial Velocity
Field Description
Translational:
Along X Specifies part initial velocity along the X axis of the global reference frame.
Along Y Specifies part initial velocity along the Y axis of the global reference frame.
Along Z Specifies part initial velocity along the Z axis of the global reference frame.
Specifies coordinate system for initial translational velocity values. Origin is
Reference System
selected by default.
Rotational:
About X Specifies part initial velocity about the X axis of the global reference frame.
About Y Specifies part initial velocity about the Y axis of the global reference frame.
About Z Specifies part initial velocity about the Z axis of the global reference frame.
Drop-down that specifies location and orientation for initial rotational velocity
values. CM location and IM location is selected by default. Global orientation and
Reference System
user specified (where any coordinate system may be selected) options are
available as well.
Loads Tab::
Field Description
Connections and Forces List of connections and loads that affect the part.
Selections of geometry within the part to carry the load from connections
Load Bearing Geometry
or forces. This geometry may be modified to apply loads as the user desires.
Button that allows selection of alternate geometry as the load bearing
Replace Geometry
region of a selected connection or force.
Button that allows selection of additional geometry as the load bearing
Append Geometry
region of a selected connection or force.
Components 19
Parts
Structures Tab:
Field Description
Properties:
Specifies whether properties will be defined by entries on this form or by
Source
existing material properties in the Structures workspace.
Density Specifies density for the part.
Specifies Young’s (Elastic) modulus for use in the structural analysis of the
Young’s Modulus
part.
Poisson’s Ratio Specifies Poisson’s ratio for use in the structural analysis of the part.
Mesh:
Specifies whether the finite element mesh will be defined by entries on this
Source
form or by an existing mesh in the Structures workspace.
Selects whether the global edge length for the elements will be determined
Element Size
automatically or set to a user input value.
Specifies the dimensionality of the mesh to be created. Options are
Type
available for surface and solid meshing.
Specifies whether linear elements (without midside nodes) or quadratic
Element Type
elements (with midside nodes) will be created for the part.
Output:
Specifies the number of modes to be requested from the modal structures
Number of Modes
analysis of the part.
Selects which result quantities will be requested from the modal analysis.
Results Element Stress, Grid Point Stress, Element Strain, and Grid Point Strain
may each be activated or deactivated individually.
Damping
Field Description
Drop-down that selects between default damping and custom damping, which is
Method
defined by a user entered expression or subroutine.
Custom
Option button that selects between runtime expression and user subroutine to
Method
define the damping.
Field that defines the expression for the damping. To define the expression using
Espression
the Expression Builder, click the icon to the right of the text.
20
Parts
Field Description
Parameters Field that lists parameters to be passed to user subroutine to define damping.
Field that selects user subroutine to define damping. Users enter library name and
Routine routine name, with specific syntax: library_name::routine_name. Example
abgFDM::fie910
Generalized
Drop-down that defnes optin for generalized damping. Set to off by default.
Damping
Off No generalized damping is used. This is the default setting.
Full Generalized damping applied to both rigid and modal coordinates.
Internal
Generalized damping only applied to modal coordinates.
Only
Animation Visualization
Field Description
Animation
Option button that determines how the part will be displayed during animation.
Visualization
Rigid Disables flexible body results visualization in animations.
Linear
Stress / Provides option to display part stress and/or deformation during animation.
Deformati Actual result data to be displayed will be specified on the Animation form.
on
Field Description
Option button that determines whether modal information is defined by a range or
Specify
table.
Range
Option button that specifies whether the modes in the specified range will be
Modes
enabled or disabled.
Method Frequency (Hz) is currently the only available option.
Drop-down that selects whether the values specified will be above, between, or
Range
below user specific values.
Values Frequency (Hz) values to be used in filtering the range of modes.
Table
Icon Matrix editor icon opens panel to directly enter table of modes to enable.
Components 21
Parts
Field Description
Results Set Specifies results set to be used for quasi-static load transfer.
Specifies start time for loads to be transferred. Time must be within the
Start Time
range of the selected results set.
Specifies end time for loads to be transferred. Time must be within the
End Time
range of the selected results set.
Output interval for load transfer. Within the selected range, transfer loads
Interval
will be calculated at this interval.
Transfer Button that begins the load transfer process with the specified parameters.
Visualization Tab:
Field Description
Visual Checkbox that enables visibility of the motion part.
Color Defines the color of the motion part icon.
Size Specifies the size of the motion part icon.
Outputs Tab::
Field Description
Translational Checkbox that enables translational displacement output for the part. This must
Displacement be selected in order to generate an animation.
Center of Mass
Checkbox that enables translational displacement output for the part’s center of
Translational
mass. This is cleared by default.
Displacement
Euler Angles Checkbox that enables output of Euler angles for the part.
Yaw/Pitch/Roll Checkbox that enables output of Yaw, Pitch, and Roll angles for the part. Cleared
Angles by default.
Modal Scaling Checkbox that enables output of a modal scaling factor for each mode in a flexible
Factor body simulation.
Checkbox that enables output of Euler parameters for the part. This must be
Euler Parameters
selected in order to generate an animation.
Translational
Checkbox that enables output of translational velocity for the part.
Velocity
22
Parts
Field Description
Center of Mass
Checkbox that enables output of translational velocity for the center of mass of
Translational
the part. Cleared by default.
Velocity
Angular Velocity Checkbox that enables output of angular velocity for the part.
Modal Velocity Checkbox that enables output of modal velocity for the part.
Translational
Checkbox that enables output of translational acceleration for the part.
Acceleration
Center of Mass
Checkbox that enables output of translational acceleration for the center of mass
Translational
of the part.
Acceleration
Angular
Checkbox that enables output of angular accelerations for the part.
Acceleration
Modal
Checkbox that enables output of modal acceleration for the part.
Acceleration
Kinetic Energy Checkbox that enables output of kinetic energy for the part.
Components 23
Parts
Sample Form:
To create a part associated with multiple geometries, use the Properties form. To create a part associated
with a subassembly, use the Properties form or RMB from the Model Browser.
Create Parts From Geometry form is populated with all available geometry. A geometry is only
available if no other part is associated with it or with any subassembly that it is part of.
2. In the Create Parts From Geometry form, enter a name for each part or use the defaults.
3. Select Ok to finish creating parts.
Flexible Bodies
Parts in SimXpert may be modeled as flexible bodies. This is accomplished through interaction between
the Structures and Motion workspaces. From the Motion workspace, you may define structural analysis
parameters using the Structures section of the Part property editor. You may then create a flexible body
for each part that you wish to model as flexible. This automatically launches the Structures workspace.
From there, you perform a Modal Analysis (SOL 103) which generates a Nastran results file and a Modal
Neutral File (MNF). Attaching these results in the Structures workspace allows you to switch back to the
Motion workspace and select the Model Part as Flexible checkbox. Upon performing the simulation,
displacement and stress data will be available for the body, and may be displayed in fringe plot form
during animations.
26
Flexible Bodies
Sample Forms:
Components 27
Flexible Bodies
28
Flexible Bodies
2. Select the Loads section of the part property editor to define load bearing geometry for each of
the forces and connections that act on the motion part.
3. Select Create Flexible Body from the Structures section of the part property editor, or right click
on a motion part and select Create Flexible Body. This automatically creates the mesh,
connections, and properties defined earlier and opens the Structures workspace.
4. Perform modal analysis (SOL 103).
5. Attach the Nastran results file using Attach Results from the File menu.
6. Return to the Motion workspace.
7. Open the part property editor for the part.
8. Select the Model Part as Flexible checkbox under the Flexible Body option.
9. Select the desired Result Set.
10. Choose the animation visualization method. The default is Linear Stress/Deformation, which
displays flexible body results on a fringe plot in the animation.
11. Perform a motion simulation.
12. Select Animation from the Results toolbox.
13. Select the desired Result Type and Derivation under the Plot Data option. This selects which
results will be displayed on the animation fringe plot. The Deform and Fringe options provide
additional control for displaying results entities.
30
ADM Container
ADM Container
This feature provides a means to enter MSC.Adams solver level syntax in to the motion workspace so
that it can be included in the motion workspace model. The main purpose of this feature is to allow users
to include solver level syntax for objects that currently do not have higher level abstracted motion
workspace objects developed at this time. A secondary purpose is to allow experienced users who have
traditionally entered Adams syntax to create their models in the motion workspace.
Sample Form:
Procedure:
1. Start Adams View and read in your model.
2. Import the command file “read_export_simx_macro.cmd”
3. Open Adams View's Command Window (F3) and type:
mdi export_to_simxpert model = model_name
(where model_name is the Adams View model name)
Invoking that macro will cause an adm file to be exported along with parasolids files for each part
that has geometry to a directory inside your current working directory called
“exported_to_simx_model_name”.
Additionally, a rade script will be created which may be used within SimXpert to import the adm
& parasolids files.
After invoking the macro, you should see these files in the
“exported_to_simx_model_name”directory:
model_name_simx.adm
PART_*_geom.x_t
model_name_exported.rdl
4. Start SimXpert, go to the Motion Workspace
5. Import a rade file via Tools->Macro->Macros... (Ctrl+F8)
Select the model_name_exported.rdl that Adams View created.
6. You should now see the model with all of the geometry.
32
Export of Models From Adams View To SimXpert
Notes:
• The generated rade script will contain full path info for the generated adm and parasolids files.
At the very top of the rade file, you will see a variable named cwdPath.
Example:
global cwdPath = "/storage/views/fred/work/exported_to_simx_testSimX1/";
• If you transfer all of the exported files to a different directory or different machine, you may
need to modify that file path in order for the script to execute correctly.
• If you are running SimXpert from within the directory that contains all of the exported files, you
can modify the cwdPath variable in the rade file so that it is set to the empty string.
Example:
global cwdPath = "";
• If you have flexible bodies in your Adams View model, you need to add an extra option to the
export command. This command is “do_flexbodies = yes”
Example:
mdi export_to_simxpert model = model_1 do_flexbodies=yes
• Unsupported Adams statements that reside in the Adm Container will be ignored. You may need
to recreate objects like contacts once your model has been imported.
Components 33
Update Model
Update Model
The Update Model tool automatically updates the model to incorporate any changes in the CAD
geometry (whether added or deleted), part locations, orientations, masses and inertias. This tool reports
all broken references to missing geometry, parts, joints, and hardpoints.
The tool is automatically launched when you select the simulation panel and submit the model to solver.
You may also access the Update Model tool from the Edit menu.
34
Visualization Page for Property Editors
Visual Checkbox:
Checkbox that allows the user to either turn on or turn off the visibility of this object.
Note: For motion parts this means the Center of Mass screen symbol not the
geometry associated for that part.
Color:
This allows the user to change the color of the screen symbol. There are two means for choosing the
color:
1. Enter the Red, Green, and Blue values (0 to 255, space separated) in the input field
2. Use the drop down color chooser. A standard set of colors is available along with a custom color
option. The customer color option is noted by the "..." button in the lower left corner of the drop
down list. Selecting that button will generate a window that allows the user to pick any color. The
user can even maintain a small list of custom colors in this window.
Symbol Size:
This allow the user to change the size of the screen symbol. The field contains a numeric value along with
the model units and the user can change the numeric value.
Geometry 147
Geometry
148
Motion Geometry
Motion Geometry
The Geometry tab in the SimXpert Motion Workspace allows you to create simple parametric geometry
that is defined relative to motion coordinate systems. Common geometric shapes and links of arbitrary
length, width, and depth mya be created based on existing coordinate systems and user defined lengths.
This geometry must be created in an existing motion part, which must have its mass and inertia properties
defined manually.
Application
Motion geometry may be used to quickly create visual representatios of geometry without importing
CAD data. The geometry is defined relative to existing motion coordinate systems, and must be part of
an existing parent motion part. The motion mare contains user defined mass properties that apply to the
geometry. Any of the parameters used to define the geometry may be edited to modify the geometry later
in the simulation process. The orientation, loaction, and in csome cases size depends on the coordinate
systems chosen.
Description of Fields
Field Description
Field that specifies an existing part for the geometry object. Selection of an
existing part is required for geometry creation. To create a part without any
Parent Part
reference geometry, select User Specified as the source of inertia properties in the
Part property editor.
Name Allows specification of a unique name for the box geometry object.
Field that specifies an existing coordinate system to form the center of certain
Center Coordinate
geometry, such as sphere, torus, prism, and ellipsoid. This coordinate system
System
defines the center of the first face of a cyliner or frustum.
Corner
Field that specifies an existing coordinate system to form a corner of box
Coordinate
geometry.
System
Field that specifies an existing coordinate system from which a link will extend
From Coordinate
and the orientation of the link. The link’s depth will extend along this coordinate
System
system’s Z axis, and the curved ends will be in its XY plane.
To Coordinate
Field that specifies an existing coordinate system to which a link will extend.
System
Geometry 149
Motion Geometry
Field Description
Length of the geometry extending in a particular direction. The number of
Length
available length fields depend on the type of geometry.
Depth of link geometry, which is along the Z axis of the From Coordinate System.
Depth The depth is constant throughout the link and in a direction normal to the plane
containing the curved ends.
Width of link geometry, which is also the diameter of the link’s rounded ends. The
width lies in the XY plane of the from coordinate system and is perpendicular to
Width
both the depth direction and the line connecting the coordinate systems. For more
information, see figure below.
150
Motion Geometry
Sample Forms
See Also:
• For more information on the specific tools for creating motion geometry see Geometry in the
Motion Workspace Quick Reference Help.
152
Motion Geometry
Connections 33
Connections
34
Overview
Overview
A connection is a mechanical element that connects two parts and allows relative motion of one object
with respect to another. SimXpert supports many idealized connection types, as well as joint primitives
which limit motion of two parts to certain directions.
You may select from available connection types as you select from the Connections toolbox, or you may
change connection types using the Type list box once the Connection Properties form is open.
Connections 35
Connection Specification Tools
Location
The location field is a standard tool used for the definition of parts, joints, and forces. The purpose is to
provide a consistent method by which you define locations within SimXpert but relevant to the current
workbench. There are two key entities that can be used for defining locations; geometry and hardpoints.
When you choose geometry, the location is tied parametrically to that geometry. If during an update or
modification operation that geometric feature moves, the location will move with it. If the geometric
feature no longer exists, the location will be considered to have a broken reference.
When you choose hardpoints, the location is tied parametrically to the hardpoint position. If the hardpoint
position changes, the location value also will update.
Choosing Coordinate System allows selection of a coordinate system origin (and associated part) to be
used as the location. Upon choosing the coordinate system the part field is populated with the part name
36
Connection Specification Tools
corresponding to the coordinate system. Therefore, in order to use the coordinate system location method
you should ensure that the selected coordinate system is on the desired part.
Field Description
Geometry Allows selection of particular geometry, such as a vertex, center point of a
circular edge, or center of a sphere. If geometry filters are active, they will
affect the default types of picks that can be made. If multiple locations are
selected, this option will average the locations to determine a single
location.
Hardpoint Allows selection of an individual hardpoint to be used as the location.
Custom Allows the direct entry of X, Y, and Z coordinates of a position.
Coordinate System Allows selection of a coordinate system origin to be used as the location.
The corresponding part field will be populated with the part to which the
selected coordinate system belongs.
Center of Mass Location Allows selection of a part’s center of mass as the location.
Connections 37
Connection Specification Tools
Orientation
The orientation field is a standard tool used for the definition of parts, joints, and forces. The purpose is
to provide a consistent method by which you define a direction vector within SimXpert but relevant to
the current workbench.
38
Connection Specification Tools
Depending on the entity, you may not need to define orientation (as in the case of the fixed joint), define
only one axis (the z-axis), define 2 axes, or have a user specified input.
Field Description
Global Oriented with global coordinates. (Default for optional orientation.)
Z-axis Only Oriented with a single axis, which will be specified below.
2 axes Oriented with two axes, which will be specified below.
Euler Angles Euler angles may be input for Body 313 rotation.
Coordinate System Select existing coordinate system to define orientation.
Connections 39
Connection Specification Tools
Field Description
Geometry Allows selection of geometric features to orient axis. Available selections
include face normal, cylinder axis, coordinate frame axis, and linear edge.
Orient normal to plane Allows selection of three hardpoints to define a plane normal to the desired
vector.
Orient axis along line Allows selection of two hardpoints to define a direction along which the
vector will be oriented.
Bushings
A bushing is a connection that represents the forces acting between two parts over a distance. The
bushing applies a force and a torque to the components it connects. You may specify the stiffness and
damping values in each direction for the bushing in the connector properties form.
Description of Fields
Field Description
Name Name of connector to be created
Define Using Checkbox that when enabled replaces the part and location definition
Coordinate Systems options with directly specified coordinate systems to be connected by the
connection. Cleared by default.
Type Type of connector, in this case Bushing
Part 1 First part to be connected by joint.
Part 2 Second part to be connected by joint
Stiffness Stiffness values in each direction, both in translation and rotation
Damping Damping values in each direction, both in translation and rotation
42
Bushings
Sample Forms:
Connections 43
Bushings
You must specify an axis of rotation for each part connected by the joint.
Description of Fields
Field Description
Name Name of connector to be created
Define Using Checkbox that when enabled replaces the part and location definition
Coordinate Systems options with directly specified coordinate systems to be connected by the
connection. Cleared by default.
Type Type of connector, in this case Constant Velocity.
Part 1 First part to be connected by joint.
Part 2 Second part to be connected by joint.
Connections 45
Constant Velocity Joints
Sample Form
6. Specify the orientation of the axis about which each part may rotate. See also Orientation under
Connection Specification Tools.
7. Click OK. The joint will appear in the tree and in the canvas.
Connections 47
Cylindrical Joints
Cylindrical Joints
A cylindrical joint allows both relative rotation as well as relative translation of one part with respect to
another part. A cylindrical joint can be located anywhere along the axis about which the parts can rotate
or slide with respect to each other.
The orientation of the cylindrical joint defines the direction of the axis about which the parts can rotate
or slide along with respect to each other. The rotational axis of the cylindrical joint is parallel to the
orientation vector and passes through the location.
Description of Fields
Field Description
Name Name of connector to be created
Define Using Checkbox that when enabled replaces the part and location definition
Coordinate Systems options with directly specified coordinate systems to be connected by the
connection. Cleared by default.
Type Type of connector, in this case Cylindrical.
Part 1 First part to be connected by joint.
Part 2 Second part to be connected by joint.
48
Cylindrical Joints
Sample Form
Fixed Joints
A fixed joint locks two parts together so they cannot move with respect to each other. The effect is similar
to defining two parts as a single part. If you want to have the two parts move relative to each other in a
future simulation, simply delete the fixed joint and use another type of joint.
For a fixed joint, the location and orientation of the joint often do not affect the outcome of the simulation.
In these cases, you can place the joint at a location where the graphic icon is easily visible. However,
occasionally the placement of the fixed joint can allow force moments to become quite large depending
on where you place the joint, as shown in this example. In this case, be sure to place it where you get the
results you want.
Description of Fields
Field Description
Name Name of connector to be created
Define Using Coordinate Checkbox that when enabled replaces the part and location definition
Systems options with directly specified coordinate systems to be connected by the
connection. Cleared by default.
Type Type of connector, in this case Fixed.
Part 1 First part to be connected by joint.
Part 2 Second part to be connected by joint.
Sample Form
Connections 51
Fixed Joints
Hooke Joints
A hooke joint is a two-degree-of-freedom joint that allows rotation about two axes: xi, the x-axis of the
I marker and yj, the y-axis of the J marker (see the figure below).
For the HOOKE joint, ADAMS/Solver (C++) superimposes the origins of the I and J markers and
constraint markers. It also keeps the x-axis of the I marker perpendicular to the y-axis of the J marker so
they outline the crosspiece of the joint. The origins of the I and J markers are at the center of the cross.
The HOOKE joint functions the same as the universal joint, but uses different marker orientations.
Description of Fields
Field Description
Name Name of connector to be created
Define Using Coordinate Checkbox that when enabled replaces the part and location definition
Systems options with directly specified coordinate systems to be connected by the
connection. Cleared by default.
Type Type of connector, in this case Hooke.
Part 1 First part to be connected by joint.
Part 2 Second part to be connected by joint.
Connections 53
Hooke Joints
Sample Form
7. Click OK. The joint will appear in the tree and in the canvas.
Connections 55
Revolute Joints
Revolute Joints
A revolute joint allows the rotation of one part with respect to another part about a common axis. The
revolute joint can be located anywhere along the axis about which the joint’s parts can rotate with respect
to each other.
The orientation of the revolute joint defines the direction of the axis about which the joint’s parts can
rotate with respect to each other. The rotational axis of the revolute joint is parallel to the orientation
vector and passes through the location.
Description of Fields
Field Description
Name Name of connector to be created
Define Using Coordinate Checkbox that when enabled replaces the part and location definition
Systems options with directly specified coordinate systems to be connected by the
connection. Cleared by default.
Type Type of connector, in this case Revolute.
Part 1 First part to be connected by joint.
Part 2 Second part to be connected by joint.
56
Revolute Joints
Sample Form
Spherical Joints
A spherical joint allows the free rotation about a common point of one part with respect to another part.
The location of the spherical joint determines the point about which the joint’s parts can pivot freely with
respect to each other.
Description of Fields
Field Description
Name Name of connector to be created
Define Using Coordinate Checkbox that when enabled replaces the part and location definition
Systems options with directly specified coordinate systems to be connected by the
connection. Cleared by default.
Type Type of connector, in this case Spherical.
Part 1 First part to be connected by joint.
Part 2 Second part to be connected by joint.
58
Spherical Joints
Sample Form
Translational Joints
A translational joint allows one part to translate along a vector with respect to another part. The parts can
only translate, not rotate, with respect to each other.
When you create a translational joint, you specify its location and orientation. The location of a
translational joint does not affect the motion of the joint. It simply determines where the joint will be
placed. The orientation of the translational joint, however, determines the direction of the axis along
which the parts can slide with respect to each other. The direction of the motion of the translational joint
is parallel to the orientation vector and passes through the location.
Description of Fields
Field Description
Name Name of connector to be created
Define Using Coordinate Checkbox that when enabled replaces the part and location definition
Systems options with directly specified coordinate systems to be connected by the
connection. Cleared by default.
Type Type of connector, in this case Translational.
Part 1 First part to be connected by joint.
Part 2 Second part to be connected by joint.
60
Translational Joints
Sample Form
Universal Joints
A universal joint allows the rotation of one rigid body to be transferred to the rotation of another rigid
body. This joint is particularly useful when transferring rotational motion around corners, when you need
to simulate the non-constant velocity of a physical universal joint, or when transferring rotational motion
between two connected shafts that are permitted to bend at the connection point (such as the drive shaft
on an automobile).
Description of Fields
Field Description
Name Name of connector to be created
Define Using Coordinate Checkbox that when enabled replaces the part and location definition
Systems options with directly specified coordinate systems to be connected by the
connection. Cleared by default.
Type Type of connector, in this case Universal.
Part 1 First part to be connected by joint.
Part 2 Second part to be connected by joint.
62
Universal Joints
Sample Form
6. Specify the orientation of both axes of revolution using the orientation options. See also
Orientation under Connection Specification Tools.
7. Click OK. The joint will appear in the tree and in the canvas.
64
Screw Joints
Screw Joints
A screw joint is a five-degree-of-freedom joint that constrains the translation of the I marker to its rotation
(see the figure below).
W
When you create a screw joint, you specify its location, orientation, and pitch. For the SCREW joint, the
z-axis of the I marker and the z-axis of the J marker must always be parallel and co-directed. Although
the SCREW joint does not enforce this parallelism, the chain of parts and joints that connects the two
markers should. During simulation, the I marker displacement along the J marker z-axis is a function of
the relative angle of the x-axis of the I marker with respect to the x-axis of the J marker. ADAMS/Solver
(C++) measures a positive rotation according to the right-hand rule. For every full rotation, the
displacement of the I marker along the z-axis of the J marker is equal to the value of PITCH. If the angle
of rotation is zero, the translational displacement may be zero or any multiple of PITCH.
Description of Fields
Field Description
Name Name of connector to be created
Define Using Coordinate Checkbox that when enabled replaces the part and location definition
Systems options with directly specified coordinate systems to be connected by the
connection. Cleared by default.
Connections 65
Screw Joints
Field Description
Type Type of connector, in this case Screw.
Part 1 First part to be connected by joint.
Part 2 Second part to be connected by joint.
Pitch Pitch of the screw joint. Entered value is the amount of translation for every
full rotation of the J marker.
Sample Form
3. Click in the Part1 list box and select the first part to be connected by the joint. Select the part from
either the tree or the canvas. If desired, you may select the ground part by clicking the ground icon.
4. Repeat the selection process for the second part.
5. Choose the location for the joint using the location options. See also Location under Connection
Specification Tools.
6. Specify the orientation of the axis about which the two parts may translate. See also Orientation
under Connection Specification Tools.
7. Define the pitch of the screw joint. This is the translation that occurs for every full rotation of the
joint. Positive direction is determined by the right hand rule.
8. Click OK. The joint will appear in the tree and in the canvas.
Connections 67
Rack and Pinion Joints
Description of Fields
Field Description
Name Name of connector to be created
Define Using Coordinate Checkbox that when enabled replaces the part and location definition
Systems options with directly specified coordinate systems to be connected by the
connection. Cleared by default.
Type Type of connector, in this case Rackpin.
Part 1 First part to be connected by joint.
Part 2 Second part to be connected by joint.
Pitch Diameter Diameter of the pinion gear, such that the translation of the rack is the
circumference of this diameter for each full turn of the pinion. Also note
that the seperation between the I and J markers should be 1/2 this pitch
diameter.
68
Rack and Pinion Joints
Sample Form
6. Specify the orientation of the axis about which the two parts may translate. See also Orientation
under Connection Specification Tools.
7. Define the pitch diameter of the rack and pinion joint. This diameter times Pi is is the translation
that occurs for every full rotation of the joint.
8. Click OK. The joint will appear in the tree and in the canvas.
70
Joint Primitives
Joint Primitives
A joint primitive places a restriction on relative motion, such as restricting one part to move parallel to
another part. The joint primitives do not have physical counterparts as the idealized joints do. You can,
however, combine joint primitives to define a complex constraint that cannot be modeled using the
idealized joints. In fact, you can use the joint primitives to create any idealized joint.
The different types of joint primitives that are available are inline, inplane, orientation, parallel axes, and
perpendicular axes.
Inline
Constrains one part so that it can only move along a straight line defined on a second part as shown below.
In the figure, the solid circle indicates the first part that the joint connects and the hollow circle indicates
the second part that the joint connects. The first part is constrained relative to the second part.
Inplane
Constrains one part so that it can only move in a plane of a second part as shown below. In the figure, the
solid circle indicates the first part that the joint connects and the hollow circle indicates the second part
that the joint connects. The first part is constrained relative to the second part.
Orientation
Constrains one part so that it cannot rotate with respect to a second part as shown below. In the figure,
the solid circle indicates the first part that the joint connects and the hollow circle indicates the second
Connections 71
Joint Primitives
part that the joint connects. The first part is constrained relative to the second part. The axes of the
coordinate systems must maintain the same orientation.
Parallel Axes
Constrains the z-axis of one part so that it remains parallel to the z-axis of a second part, as shown below.
In the figure, the solid circle indicates the first part that the joint connects and the hollow circle indicates
the second part that the joint connects. The first part is constrained relative to the second part.
Perpendicular Axes
Constrains one part so that it remains perpendicular to the z-axis of a second part as shown below. In the
figure, the solid circle indicates the first part that the joint connects and the hollow circle indicates the
second part that the joint connects. The first part is constrained relative to the second part.
Description of Fields
Field Description
Name Name of connector to be created
Define Using Coordinate Checkbox that when enabled replaces the part and location definition
Systems options with directly specified coordinate systems to be connected by the
connection. Cleared by default.
Type Type of joint primitive connector
Part 1 First part to be connected
Part 2 Second part to be connected
Sample Form
Connections 73
Joint Primitives
Beam
Beams represent the force applied by a massless beam placed between specific locations in the model.
The beam force transmits forces and torques between the two parts in accordance with Timoshenko beam
theory. You define values of the beam's physical properties, and Adams/Solver calculates the matrix
entries defining the forces that the beam produces.
Application:
Beams allow you to introduce loading into the model based on the section and material properties of a
beam.
For every beam force that you create you specify the following information:
1. Between which parts the force is applied.
2. At what points the force is applied.
3. The orientation of the beam at each part.
4. The material properties of the beam, including Young’s modulus and Poisson Ratio.
5. The cross-section properties of the beam section, including shape and dimensions.
Description of Fields:
Definition:
Field Description
Name Name of beam force
Define Using Coordinate Checkbox that when enabled replaces the part and location definition
Systems options with directly specified coordinate systems to be connected by the
connection. Cleared by default.
Part 1 Part which the force will be applied to
Part 2 Second part which the force will be applied to.
Free Length Option button for defining the free length of the beam automatically based
on the selected locations or manually by entering a length value.
Location 1 Defines the root location of the beam.
Orientation 1 Defines the root orientation of the beam.
Location 2 Defines the end location of the beam.
Orientation 2 Defines the end orientation of the beam.
Function Allows definition of magnitude of applied force. Available options are
constant, expression, harmonic, spline, and step functions. See also
Function Specification tools.
Connections 75
Beam
Section Properties:
Field Description
Icons are available to select from a variety of cross section shapes or a
Section Type
custom option, where you enter numerical section properties.
Current Cross Section
Displays the type of cross section selected from the icons above.
Type
Dimensions for the selected cross section, as illustrated in the figure on the
right side of the form. The number of required dimensions depends on the
Dim i
section type selected. For the Custom section type, fields are available for
moments of inertia, shear area ratio, and cross sectional area.
Young’s Modulus Field that defines the Young’s Modulus of the beam material.
Poisson Ratio Field that defines the poisson ratio of the beam material.
Enter a damping value to establish a ratio for calculating the structural
Damping Ratio damping matrix for the beam. To obtain the damping matrix, Adams/Solver
multiplies the stiffness matrix by the value you enter for the damping ratio.
Sample forms:
Definition:
76
Beam
Section Properties:
Connections 77
Beam
4. Select the second part that the force will be applied to.
5. Select an option for defining the free length of the beam. Enter a value for the length if Custom is
selected.
6. Select the location for the root of the beam under Location 1.
7. Select the orientation of the root of the beam with Orientation 1.
8. Select the location for the end of the beam under Location 2.
9. Select the orientation of the end of the beam with Orientation 2.
10. Select the Section Properties option on the left of the form.
11. Choose from the available section types or select Custom to enter inertia and area values directly.
12. Enter the DIM values corresponding to the section image shown on the right of the form.
13. Enter Material properties (Young’s Modulus, Poisson Ratio, and Damping Ratio).
14. Click OK to create the force. The force will appear in the tree and in the canvas.
Connections 79
Field
Field
The field applies translational and rotational action-reaction forces between two locations which are
defined by stiffness and damping matrices.
Application:
To specify a linear field, use the arguments in the FIELD statement to specify constants for the six-by-
six stiffness matrix, a preload force, a six reference lengths, and a six-by-six damping matrix. The
stiffness and damping matrices must be positive semidefinite, but need not be symmetric. To specify a
nonlinear field, use the user-written subroutine FIESUB to define the three force components and three
torque components and use the argument FUNCTION=USER(r1[,...,r30]) to pass constants to FIESUB.
Description of Fields:
Definition:
Field Description
Name Name of field. Set to Field_# by default.
Define Using Checkbox that when enabled replaces the part and location definition options with
Coordinate directly specified coordinate systems to be connected by the connection. Cleared
Systems by default.
Part 1 First part connected by the field.
Part 2 Second part connected by the field.
Attachments Option button that allows one or two attachment location to be specified.
Location 1 Selected location for attachment to Part 1.
Location 2 Selected location for attachment to Part 2.
Verify Icon that verifies that the expression entered is in correct Motion Solver syntax.
Coordinate
Field that selects the coordinate system to be the location of the general constraint.
System
Location(s) Fields that selects the location(s) where the field is applied.
Orientation Fields that define the orientation of the field.
80
Field
Field Properties:
Field Description
Drop-down that selects method to define stiffness and damping. Available options
are User Entered Values (where the matrix coefficients are entered manually) and
Method
User Subroutine (where the user selects a subroutine to define the matrices). User
Entered Values is the default.
User Entered Values
Field table that defines the values in the stiffness matrix. Additional rows may be
k Matrix added or removed by using the “+” or “-” icons to the right of the fields. Available
if the method is set to user entered values.
Drop-down that selects method to define damping. Available options are Damping
Ratio (where the damping matrix is defined by multiplying the stiffness matrix by
damping Method
a user specified damping ratio) and Damping Matrix (where the user manually
defines the damping matrix). User Entered Values is the default.
Field that defines the ratio of the damping matrix to the stiffness matrix. Available
c Ratio
only if the damping method is set to damping ratio.
Field table that defines the values in the damping matrix. Additional rows may be
c Matrix added or removed by using the “+” or “-” icons to the right of the fields. Available
only if the damping method is set to damping matrix.
Fields that define three preload force components transferred by the field element
t Preload (X, Y, when the I and J markers are separated/misaligned by the values specified in the t
and Z) Offset text boxes. The terms are the force components along the x-, y-, and z-axis
of the J marker. Entering values for force preload is optional.
Fields that define three preload torque components transferred by the field
r Preload (X, Y, element when the I and J markers are separated/misaligned by the values specified
and Z) in the r Offset text boxes. The terms are the torque components about the x, y-, and
z-axis of the J marker.
Field that defines the translation at preload to define three reference lengths. This
t Offset (X, Y, and
is the nominal (x0, y0, z0) position of the I marker with respect to the J marker,
Z)
resolved in the J marker coordinate system.
Field that defines the rotation at preload to define the reference rotational
r Offset (X, Y, and
displacement of the axes of the I marker with respect to the J marker, resolved in
Z)
the J marker axes (a0, b0, and c0) (specified in radians).
User Subroutine
Field table that specifies parameters to be passed to a user subroutine if the method
Parameters
is set to user subroutine.
Field table that specifies a user subroutine to define the stiffness matrix if the
Routine
method is set to user subroutine.
Connections 81
Field
Sample form:
Definition Tab:
82
Field
To create a field:
1. From the Connections tab, select Field.
2. Enter a name for the Field.
3. Select parts and locations upon which the field will act.
4. Define the orientation for the field.
5. On the Field Properties tab, enter the stiffness, damping, and offset values to define the field.
6. Click OK to create the field. The field will appear in the tree and in the canvas.
Connections 83
General Constraint
General Constraint
The General Constraint (GCON) statement introduces a constraint equation that must be satisfied by the
Motion solver during the simulation. This allows you to specify both holonomic and non-holonomic
constraints.
Application:
While the JOINT statement describes a physically recognizable combination of constraints that are used
to connect bodies together, the GCON statement enables you to define an arbitrary constraint specific to
a particular model. The GCON statement is more general and can be used to equivalently define the
existent JOINT elements.
Description of Fields:
Field Description
Name Name of general constraint. Set to General_Constraint_# by default.
Field that defines the expression for the general constraint. To define the
Expression
expression using the Expression Builder, click the icon to the right of the text.
Launch Function
Expression Icon that opens the Expression Builder to assist in defining solver functions.
Builder
Verify Motion
Icon that verifies that the expression entered is in correct Motion Solver syntax.
Solver Syntax
Coordinate
Field that selects the coordinate system to be the location of the general constraint.
System
Sample form:
84
General Constraint
Couplers
Couplers relate the translational and/or rotational motion of two joints. You may enter values for motion
of each joint which the coupler will make equivalent.
Description of Fields:
Field Description
Allows specification of a unique name for each coupler. Automatically populated
Name
with CouplerJoint_###.
Active Selects whether coupler will be included in the simulation.
Type Select whether the coupler joins two or three joints.
By Displacements allows specification of displacement values for each joint, while
Method
By Scales allows specification of scale factors relative to the first joint.
First Joint First joint to be connected by coupler, the driver joint.
Motion Type Select translational or rotational motion.
Enter equivalent motion for By Displacements method, or scale factor for By Scales
Value
method.
Second Joint Second joint to be connected by the coupler, the coupled joint.
Motion Type Select translational or rotational motion.
Enter equivalent motion for By Displacements method, or scale factor for By Scales
Value
method.
Third Joint Third joint to be connected by the coupler, enabled if Type is set to 3 Joints.
Motion Type Select translational or rotational motion.
Enter equivalent motion for By Displacements method, or scale factor for By Scales
Value
method.
86
Couplers
Sample Form
To create a coupler:
1. From the Connections toolbox, select Coupler and then select Joint Coupler.
2. Enter a name for the new connector.
3. Select from 2 Joint or 3 Joint for the type.
4. Select a coupling method. To enter equivalent joint motions, select By Displacements. To enter
scale factors for the joint motions, select By Scales.
5. Click in the Joint1 list box and select the first joint to be connected. Select the joint from either
the tree or the canvas.
6. Repeat the selection process for the second joint and third joint if necessary.
7. Select Freedom types for each joint (translational or rotational) and enter a displacement value
(for By Displacements) or a Scale Factor (for By Scales).
8. Click OK. The coupler will appear in the tree and in the canvas.
Connections 87
Gear
Gear
Gears are a special form of coupler that relate the translational and/or rotational motion of two joints. The
relationship between the motion of the two joints is defined either by a specified reduction ratio or by
selecting a contact point shared by the two joints.
Description of Fields:
Field Description
Allows specification of a unique name for each coupler. Automatically populated
Name
with Gear_###.
Active Selects whether gear will be included in the simulation.
Type Select whether the gear is defined by a reduction ratio or by a contact point location.
Input Joint First joint to be connected by gear coupler, the driver joint.
Input Freedom Select translational or rotational motion.
Enter equivalent motion for By Displacements method, or scale factor for By Scales
Value
method.
Output Joint Second joint to be connected by the gear coupler.
Output
Select translational or rotational motion.
Freedom
Specify the reduction ratio between the two joints. The reduction ratio is based on
the following equation:
Reduction
Ratio input motion = reduction_ratio * output motion
Sample Form:
To create a gear:
1. From the Connections toolbox, select Coupler and then select Gear.
2. Enter a name for the new gear connector.
3. Select from Reduction or Contact Point for the type.
4. Click in the Input Joint list box and select the first joint to be connected. Select the joint from
either the tree or the canvas.
5. Repeat the selection process for the Output Joint.
6. Select Freedom types for each joint (translational or rotational) and enter a Reduction Ratio (for
Reduction type) or select a location (for Contact Point method).
7. Click OK. The gear will appear in the tree and in the canvas.
Contacts 77
Contacts
78
Overview
Overview
You may specify contact between a point and curve, two curves, and two bodies. The contact tab is
consistent across all of the contact types.
Creating Contacts
Description of Fields
Field Description
Method Impact or Restitution method may be selected for contact calculation.
Specifies a material stiffness that you can use to calculate the normal force for the
impact model.
Stiffness In general, the higher the STIFFNESS, the more rigid or hard the bodies in contact
are. Also note that the higher the STIFFNESS is, the harder it is for an integrator
to solve through the contact event.
Stiffness exponent for contact. The motion solver models normal force as a
nonlinear spring-damper. If PEN is the instantaneous penetration between the
contacting geometry, the solver calculates the contribution of the material
Exponent stiffness to the instantaneous normal forces as STIFFNESS *
(PENALTY)**EXPONENT. For more information, see the IMPACT function.
Exponent should normally be set to 1.5 or higher. For more information, refer to
the IMPACT function.
Damping value that defines the damping properties of the contacting material.
Damping You should set the damping coefficient is about one percent of the stiffness
coefficient.
Penetration is the depth at which maximum damping occurs. The motion solver
uses a cubic STEP function to increase the damping coefficient from zero, at zero
Penetration penetration, to full damping when the penetration is this value. A reasonable value
for this parameter is 0.01 mm. For more information, refer to the IMPACT
function.
Contact friction may be enabled for both static and dynamic, dynamic only, or
Friction
disabled completely.
Specifies the maximum velocity for static friction or the minimum for dynamic
Velocity
friction.
Coefficient Specifies a unique friction coefficient for static and dynamic friction.
Contacts 79
Overview
Sample Form
Extended Definition
During a simulation, the first step is to find out if the contact is occurring between the geometry pairs
identified in the CONTACT statements. If there is no contact, there is no force. If contact exists, the
geometry modeling system calculates the location of the individual contact points and the outward
normals to the two geometries at the contact point. The motion solver calculates the normal and slip
velocities of the contact point from this information. The solver then uses the velocities to calculate the
contact force at each individual contact.
Once there is contact, the motion solver finds the centroid of the intersection volume. This is the same as
the center of mass of the intersection volume (assuming the intersection volume has uniform density).
Next, the motion solver finds the closest point on each solid to the centroid. The distance between these
two points is the penetration depth.
The motion solver then puts this distance into the formula:
F = K*(distance)n
where:
• K - material stiffness
• n - exponent
• F - force
to determine the contact force due to the material stiffness (there can also be damping and friction forces
in the contact).
For example, if you apply this algorithm to a sphere on a plate, the intersection volume is some type of
spherical shape with a flat side. The centroid of this volume can be computed (this is where most of the
time is spent in the algorithm). It will be below the plate and inside the sphere. The nearest point on the
plate (to the centroid) and the nearest point on the sphere (to the centroid) can also be computed. In this
case, the line between them will pass through the center of the sphere (this will also be the direction in
which the contact force acts).
Again, the algorithm can handle the case of a sphere in a V-groove. There will be two volumes of
intersection and two separate forces will be applied to sphere and to the V-groove (equal and opposite
forces).
The restitution method is based on impulse momentum theory where the velocity field is
discontinuous over the contact event. Discontinuous velocity means undefined acceleration and
hence undefined contact forces. You should not use restitution if you're interested in contact
force magnitudes or when you're in a situation where velocity doesn't dominate the event (such
as persistent contact). Do use restitution when you're interested in having a well-defined
impulse.
In summary, the restitution method will give the proper energy conservation characteristics, but
the contact force is not well defined.
• IMPACT method - Is characterized by contact for relatively long periods of time. External forces
acting between the two bodies serve to maintain continuous contact. Persistent impact contact is
modeled as a nonlinear spring damper, the stiffness modeling the elasticity of the surfaces of
contact, and the damping modeling the dissipation of energy. Two bodies are said to be in
persistent contact when the separation velocity, after a collision event, is close to zero. The
bodies, therefore, cannot separate after the contact.
Contact forces are calculated at each individual contact point. Individual contributions are
summed up to compute the net response of the system to the contact event.
The IMPACT method uses displacement and velocity states to determine the contact force.
Unlike restitution, the contact "event" can be active through several integration steps. For
example we might solve for a few configurations during a typical impact:
• When the contact first becomes active, the ball has a velocity downwards and there is minimal
penetration, hence a small restoring force
• When the ball is fully penetrated and its velocity is zero there is maximum contact force (the
component from the spring term of the IMPACT).
• Situation similar to (1) where ball is just about to leave contact event and has mimimum
penetration, some upward velocity and restoring force is dropping off.
In this situation, if ERROR and HMAX were used to finely discretize the event, the contact
forces might be useful as the 'event' is described. It is realistic to consider the contact forces
developed in this scenario.
Both force models result from a penalty regularization of the normal contact constraints. Penalty
regularization is a modeling technique in mechanics, in which a constraint is enforced mathematically by
applying forces along the gradient of the constraint. The force magnitude is a function of the constraint
violation.
Contact between rigid bodies theoretically requires that the two bodies not penetrate each other. This can
be expressed as a unilateral (inequality) constraint. The contact force is the force associated with
82
Overview
enforcing this constraint. Handling these auxiliary constraint conditions is usually accomplished in one
of two ways, either through introduction of Lagrange multipliers or by penalty regularization.
For contact problems, the latter technique has the advantage of simplicity; no additional equations or
variables are introduced. This is particularly useful when treating intermittent contact and algorithmically
managing active and inactive conditions associated with unilateral constraints. Additionally, a penalty
formulation is easily interpreted from a physical standpoint. For example, the magnitude of the contact
reaction force is equal to the product of material stiffness and penetration between contacting bodies,
similar to a spring force. For these reasons, the motion solver uses a penalty regularization to enforce all
contact constraints. The disadvantage of the penalty regularization, however, is that you are responsible
for setting an appropriate penalty parameter, that is, the material stiffness. Furthermore, a large value for
the material stiffness or penalty parameter can cause integration difficulties.
Contact Prediction
Contact is fundamentally a discontinuous event. When two geometries come into contact:
• A large normal force or an impulse is generated.
• The velocities of the bodies change sign.
• The accelerations are almost discontinuous, and have a large spike. This spike represents the
impulse that was generated due to the contact.
The bodies usually separate because of the contact forces or impulses. Numerical integrators assume that
the equations of motion are continuous. A contact event is, therefore, quite hard for an integrator to solve
through. The motion solver contains a contact predictor that predicts the onset of contact and controls the
integrator step size accordingly. The following paragraphs briefly summarize the contact prediction
algorithm.
When the motion solver detects a new contact, it calculates the penetration and penetration velocity
between the two geometries. From these two values the solver estimates a more refined contact time. The
solver rejects the current time step and uses the refined step size to accurately sense the onset of contact.
Furthermore, the integrator order is set to one, so that the motion solver does not use the time history of
the system to predict the future behavior of the system.
This algorithm essentially ensures that:
• The penetration for a new contact is small.
• The integrator is at first order when the contact event occurs.
• The integrator is taking small time steps.
• q - Actual distance between the two objects (defined with a displacement function)
• q - Time rate of change of the variable q
• q0 - Trigger distance used to determine when the contact force turns on and off; it should be
specified as a real, constant value
• k - Stiffness coefficient
• e - Stiffness force exponent
• c - Damping coefficient
• d - Damping ramp-up distance
84
Overview
The spring and damping forces from the impact vary with penetration depth as follows:
Contacts 85
Point-Curve Contact
Point-Curve Contact
The point-curve contact represents the contact force between a curve and a point. It can be used to create
a force based contact (which allows lift off and may use the restitution or impact contact methods)or a
constraint based contact which forces the two entities to remain in contact. You can use it to model the
contact between a cam and a knife-edge follower.
Application
The point-curve contact models the contact between a single point defined on one part and a curve
defined on a second part. This contact may either be constraint based or force based depending upon the
situation to be modeled.
Constraint Based
The motion solver models the contact as a constraint which constrains the two entities to be in contact
with eachother. Initial conditions may be defined for the constraint. Penetration or lift off are not allowed
between the entites and friction forces are not calculated.
Force Based
A force based contact allows lift-off and takes into account dynamic and static friction. Either the impact
or restitution contact methods may be used, depending on the duration of the contact and desired output.
Contact forces may be obtained from the impact method, but depend highly on step size. For more
information on contact force methods, see Contact Calculation Methods.
Description of Fields
Field Description
Name Field that specifies user defined name for the contact
Option button that defines whether the contact will be constraint based or force
based. The options under the contact tab (including contact friction) are only
Type
available for force based contact. Initial conditions may only be specified for
constraint based contact.
86
Point-Curve Contact
Point:
Field Description
Part Part that contains the point to participate in the contact
Location:
Field Description
Method Allows selection of the method to define location of the point in contact.
Allows selection of geometric point locations, such as a vertex, center point of a
Geometry circular edge, or center of a sphere. If geometry filters are active, they will affect
the default types of picks that can be made.
Hardpoint Allows selection of an individual hardpoint to be used as the location.
Custom Allows the direct entry of X, Y, and Z coordinates of a position.
Coordinate
Allows selection of a coordinate system origin to be used as the location.
System
Center of
Mass Allows selection of a part’s center of mass as the location.
Location
Curve:
Field Description
Drop-down that allows selection of curves defined by Geometry or curves
Method
defined mathematically via the System Elements toolbox.
Geometry
Part that contains the curve to participate in the contact. Available if Method
Part
is set to Geometry
Features Curve on selected part which point will contact in Geometry contact method.
Reverses curve normal direction. The curve normal points away from the
Flip solid side of the curve (it points away from the side of the curve that other
curves cannot penetrate).
Points Per Drop-down and field that determine the number of points evaluated along a
Curve or geometric curve. Setting to Points Per Curve specifies the number of points
Curvature directly, while Curvature tolerance defines a maximum deviation for the point
Tolerance to point path versus the original curve location.
Curve
Field for selection of a predefined non-geometric curve. Available if Method
Curve
is set to Curve.
Contacts 87
Point-Curve Contact
Sample Form
6. Select the curve to be used for either method. For a geometric curve, select Points per curve or
curvature tolerance and enter a value to define how points will be distributed along the curve.
7. Select the Contact tab on the Properties form to define the contact properties.
8. Click OK to create the contact. The contact will appear in the tree and in the canvas.
Contacts 89
Curve-Curve Contact
Curve-Curve Contact
The curve-curve contact represents the contact force between two curves. You can use it to model the
contact between two cams in a variable valvetrain. The resulting hertzian pressure is calculated based on
curvatures in two dimensions, when both curve crowning radii are specified.
Application
The curve-curve contact models the contact between a curve defined on one part and a curve defined on
a second part. This contact may either be constraint based or force based depending upon the situation to
be modeled.
Constraint Based
The motion solver models the contact as a constraint which constrains the two entities to be in contact
with eachother. Initial conditions may be defined for the constraint. Penetration or lift off are not allowed
between the entites and friction forces are not calculated.
Force Based
A force based contact allows lift-off and takes into account dynamic and static friction. The force based
curve-curve contact has a significant performance advantage to using 3-D contact. Either the impact or
restitution contact methods may be used, depending on the duration of the contact and desired output.
Contact forces may be obtained from the impact method, but depend highly on step size. For more
information on contact force methods, see Contact Calculation Methods. The curve-curve contact can
also be defined as an intermittent contact entity between 2 parallel curves. The curves do not have to be
in the same plane as out of plane moments are not accounted for (since the curves are projected onto the
same plane when defined in the solver).
Description of Fields
Field Description
Name Field that specifies user defined name for the contact
Option button that defines whether the contact will be constraint based or force
based. The options under the contact tab (including contact friction) are only
Type
available for force based contact. Initial conditions may only be specified for
constraint based contact.
90
Curve-Curve Contact
Curve 1:
Field Description
Drop-down that allows selection of curves defined by Geometry or curves
Method
defined mathematically via the System Elements toolbox.
Geometry
Part that contains the first curve to participate in the contact. Available if
Part
Method is set to Geometry
Features Curve on selected part which point will contact in Geometry contact method.
Reverses curve normal direction. The curve normal points away from the
Flip solid side of the curve (it points away from the side of the curve that other
curves cannot penetrate).
Points Per Drop-down and field that determine the number of points evaluated along a
Curve or geometric curve. Setting to Points Per Curve specifies the number of points
Curvature directly, while Curvature tolerance defines a maximum deviation for the point
Tolerance to point path versus the original curve location.
Curve
Field for selection of a predefined non-geometric curve. Available if Method
Curve
is set to Curve.
Curve 2:
Field Description
Drop-down that allows selection of curves defined by Geometry or curves
Method
defined mathematically via the System Elements toolbox.
Geometry
Part that contains the second curve to participate in the contact. Available if
Part
Method is set to Geometry
Features Curve on selected part which point will contact in Geometry contact method.
Reverses curve normal direction. The curve normal points away from the
Flip solid side of the curve (it points away from the side of the curve that other
curves cannot penetrate).
Points Per Drop-down and field that determine the number of points evaluated along a
Curve or geometric curve. Setting to Points Per Curve specifies the number of points
Curvature directly, while Curvature tolerance defines a maximum deviation for the point
Tolerance to point path versus the original curve location.
Curve
Field for selection of a predefined non-geometric curve. Available if Method
Curve
is set to Curve.
Contacts 91
Curve-Curve Contact
Sample Form
7. Select the second curve. If necessary toggle the direction so that the arrow points into the solid.
For a geometric curve specify the number of points along the second curve.
8. Select the intermittent check box if desired.
9. Select the Contact tab on the Properties form to define the contact properties.
10. Click OK to create the contact. The contact will appear in the tree and in the canvas.
Contacts 93
Body-Body Contact
Body-Body Contact
Defines a contact force between two bodies without specifying a point or curve for contact. Requires
more solver time than lower order contacts.
Application
Defines a two- or three-dimensional contact between a pair of geometric objects. SimXpert supports
multiple contacts, dynamic friction, contact between three-dimensional solid geometries, and contact
between two-dimensional geometries. It does not support non-solid three-dimensional geometries, such
as shells that do not encompass a volume and sheets. It also does not support contact between a two-
dimensional and a three-dimensional geometry.
Description of Fields
Field Description
First Solid First part to participate in contact
Second Solid Second part to participate in contact.
Sample Form
5. Click OK to create the contact. The contact will appear in the tree and in the canvas.
Forces and Motions 95
Description of Fields
Field Description
Field that allows direct text entry of expressions and shows expressions inserted
Expression
from drop down options below.
Verify Icon that verifies that the expression entered is in correct Motion Solver syntax.
Category Drop- Drop-down that selects the category of motion function to be inserted. May be set
down to All Functions to allow selection of any available solver function.
Drop-down that selects a particular solver function.The available functions
Function Drop- depend on the option selected in the category drop-down on the left. Once a
down function is selected in the drop-down, the Insert, Append, and Help buttons apply
to that function.
Button that inserts the selected function into the expression at the current cursor
Insert
location.
Button that inserts the selected function into the expression on a new line at the
Append
end of the expression.
Button that opens help specific to the selected function in order to assist with the
Help
syntax of the required inputs.
Forces and Motions 97
Function Specification Tools
Sample Form
the grid on and off and allows you to specify whether to show the line connecting data points. Finally,
additional options may be specified by selecting Other from the Options menu. This opens the Grapher
options form, which allows you to set the margins, number of tick marks, and whether tick marks are
displayed.
Joint Motions
When you create a joint motion, SimXpert defines the motion as a velocity over time based on a values
that you can enter. The speed value can be a constant numerical value or a function expression and can
be determined from input values for displacement, velocity or acceleration.
Application
Prescribes translational or rotational motion on a translational, revolute, or cylindrical joint. Each joint
motion removes one degree of freedom (DOF) from your model. Joint motions are very easy to create,
but they limit you to motions that are applied to the above listed joints and movements in only one
direction or rotation.
Description of Fields
Field Description
Joint Name Joint to which motion will be applied
Freedom Degree of freedom for motion
Motion Type Select from Free, Displacement, Velocity, or Acceleration to control the
motion
Initial Displacement Initial displacement of the joint before motion is applied
Initial Velocity Initial velocity of the joint before motion is applied
Function Define function to specify motion. See also Function Specification Tools.
Forces and Motions 101
Joint Motions
Sample Form
Application
When you create a point motion, you specify the two coordinate systems. The first coordinate system you
select is called the moving point. It moves or rotates relative to the coordinate system on the second part,
called the reference point. You can change the axis around or along which the motion is applied.
Description of Fields
Field Description
User specified name of the single point motion. Populated with Single_Point_# by
Name
default,
Moving Point Field that selects a coordinate system as the moving point.
Field that selects a coordinate system as the reference point. This coordinate
Reference Point
system defines the orientation of the motion of the parts.
Freedom Field that selects the degree of freedom in which to apply the motion.
Motion Type Select from Free, Displacement, Velocity, or Acceleration to control the motion
Initial Initial displacement before motion is applied. Active only for Velocity and
Displacement Acceleration motion types.
Initial velocity before motion is applied. Active only for Acceleration motion
Initial Velocity
type.
Option button that selects between defining the motion with a run time expression
Method
or a user subroutine. Expression is the default method.
Field in which the user may enter a run time expression to define the motion.
Available only if the method is set to expression. The Function Expression Builder
Expression
may be launched to edit the expression by clicking the icon to the right of the
expression field.
Field that defines user subroutine input parameters. Available only if the definition
Parameters
method is set to User Subroutine.
Field that selects an existing User Subroutine in the model if the method is set to
Routine User Subroutine. Users enter library name and routine name, with specific syntax:
library_name::routine_name. Example abgFDM::fie910
Forces and Motions 103
Single Point Motion
Sample Form
Application
When you create a point motion, you specify the two coordinate systems. The first coordinate system you
select is called the moving point. It moves or rotates relative to the coordinate system on the second part,
called the reference point. You specify the motion independently for each degree of freedom.
Description of Fields
Field Description
User specified name of the single point motion. Populated with General_Point_#
Name
by default,
Moving Point Field that selects a coordinate system as the moving point.
Field that selects a coordinate system as the reference point. This coordinate
Reference Point
system defines the orientation of the motion of the parts.
Select from Free, Displacement, Velocity, or Acceleration to control the motion in
Type
each of the 6 degrees of freedom. Free is the default.
Field in which the user may enter a run time expression to define the motion. The
Function Expression Builder may be launched to edit the expression by clicking
Function
the icon to the right of the function field. Each field may be verified individually
by clicking the verify icons.
Initial Initial displacement in the specified direction before motion is applied. Active
Displacement only for Velocity and Acceleration motion types.
Initial velocity in the specified direction before motion is applied. Active only for
Initial Velocity
Acceleration motion type.
Forces and Motions 105
General Point Motion
Sample Form
8. Click OK to create the motion. The motion will appear in the tree and in the canvas.
Forces and Motions 107
Applied Force
Applied Force
Applied forces are forces that define loads and compliances on parts so that they move in certain ways.
Applied forces are very general, but you must supply your own description of the force behavior by
specifying a constant force value or expression function.
An 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 Newton’s 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 SimXpert is automatically defined as ground and shows no visible effect in your
model.
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.
An 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. If the force applied to the action body is
positive, the action body is pushed away from the reaction body. If the force applied to the action body
is negative, the action body is pulled towards the reaction body.
Application
Applied forces allow you to introduce loading into the model that may cause or oppose motion. You may
choose from action only and action-reaction forces based on whether the reaction force is applied to
another component in the model
For every force that you create you specify the following information:
1. To which part or parts the force is applied (unless it is applied to a coordinate system directly, in
which case it will be applied to the coordinate system’s parent part).
2. At what point or points the force is applied.
3. Magnitude and direction of the force.
108
Applied Force
Description of Fields
Field Description
Name Name of applied force
Define Using Checkbox that when enabled replaces the part and location definition options
Coordinate with directly specified coordinate systems between which the force acts. Cleared
Systems by default.
Part 1 Part which the force will be applied to
Part 2 Second part for an action-reaction force, or component that will serve as a
reference frame for an action only force. To define ground as the reference frame,
select the ground part button.
Location Allows definition of one application location of an action only force, or two
locations for an action-reaction force.
Direction Defines the force direction for an action only force.
Function Allows definition of magnitude of applied force. Available options are constant,
expression, harmonic, spline, and step functions. See also Function Specification
tools.
Forces and Motions 109
Applied Force
Sample form
Applied Torque
Applied torques allow you to introduce torque loading into the model that may cause or oppose motion.
You may choose from action only and action-reaction torques based on whether the reaction is applied
to another component in the model.
Application
For every torque that you create you specify the following information:
1. To which part or parts the torque is applied, or to which coordinate systems.
2. At what point or points the torque is applied.
3. Magnitude and direction of the torque.
Description of Fields
Field Description
Name Name of applied torque
Define Using Checkbox that when enabled replaces the part and location definition options
Coordinate Systems with directly specified coordinate systems between which the torque acts.
Cleared by default.
Part 1 Part which the torque will be applied to.
Part 2 Second part for an action-reaction torque, or component that will serve as a
reference frame for an action only torque. To define ground as the reference
frame, select the ground part button.
Location Allows definition of one application location of an action only torque, or two
locations for an action-reaction torque.
Direction Defines the force direction for an action only torque.
Function Allows definition of magnitude of applied torque. Available options are
constant, expression, harmonic, spline, and step functions. See also Function
Specification tools.
112
Applied Torque
Sample Form
9. Select the Function type necessary to define the desired torque. The options available in the
Function section of the form will vary based on your selection.
10. Input the necessary data to define the torque.
11. Click OK to create the torque. The torque will appear in the tree and in the canvas.
114
Vector Force
Vector Force
The vector force creates a translational force element that is specified using three orthogonal
components.
Application
You may define the VFORCE statement through user-specified function expressions in the
ADAMS/Solver (C++) dataset or through user-written subroutines (see VFOSUB).
The VFORCE statement creates an ADAMS/Solver (C++) translational vector force element that applies
a three-component force between two parts of the system. The element applies an action force to the part
to which the I marker belongs and a corresponding reaction force to the part to which the JFLOAT marker
belongs. The VFORCE statement establishes the position of the JFLOAT marker. As the system moves,
ADAMS/Solver (C++) moves the JFLOAT marker on its part to keep the JFLOAT and I markers
superimposed. Therefore, ADAMS/Solver (C++) applies the reaction force to the JFLOAT marker's part
at the instantaneous position of the I marker.
The total vector force depends on the vector sum of the individual force components that you specify.
The magnitude of the force is the square root of the sum of the squares of the magnitude of the three
mutually-orthogonal force components. You can specify the functions with function expressions (see
Function Expressions in this guide) or user-written FORTRAN subroutines (see User-Written
Subroutines).
Description of Fields
Field Description
Name User specified name of vector force. Populated with Vector_Force_# by default.
Define Using Checkbox that when enabled replaces the part and location definition options with
Coordinate directly specified coordinate systems between which the force acts. Cleared by
Systems default.
Part 1 First part which the force will be applied between.
Part 2 Second part which the vector force will be applied between.
Component that will serve as a reference frame for an action only force. To define
Reference Part
ground as the reference frame, select the ground part button.
Location Fields that use common tools to specify location of the vector force.
Orientation Orientation tools to define the orientation of the components of the vector force.
Forces and Motions 115
Vector Force
Component Specification
Field Description
Option button that selects between Expression and User Subroutine as the method
Method
to define the Vector Force.
Expression
Field that allows input of an expression to define the force in the X direction. The
X Force
Function Expression Builder is available to assist in creating runtime functions,
Expression
and each expression may be verified individually using the Verify icon.
Field that allows input of an expression to define the force in the Y direction. The
Y Force
Function Expression Builder is available to assist in creating runtime functions,
Expression
and each expression may be verified individually using the Verify icon.
Field that allows input of an expression to define the force in the Z direction. The
Z Force
Function Expression Builder is available to assist in creating runtime functions,
Expression
and each expression may be verified individually using the Verify icon.
User Subroutine
Parameters Field that specifies parameters to be passed to the selected user subroutine.
Field that specifies an existing user subroutine to define force component values.
Routine Users enter library name and routine name, with specific syntax:
library_name::routine_name. Example abgFDM::fie910
116
Vector Force
Sample form
Vector Torque
The vector torque creates a rotational torque that is specified using three orthogonal components.
Application
You can define the VTORQUE statement through user-specified function expressions in the
ADAMS/Solver (C++) dataset or through user-written subroutines.
The VTORQUE statement creates an ADAMS/Solver (C++) rotational force element, that applies a
vector torque between two parts of the system. The element applies an action to the part to which the I
marker belongs and a corresponding reaction to the part to which the JFLOAT marker belongs. The
VTORQUE statement establishes the position of the JFLOAT marker. As the system moves,
ADAMS/Solver (C++) moves the JFLOAT marker on its part to keep the JFLOAT and I markers
superimposed. Thus, ADAMS/Solver (C++) applies the reaction torque to the JFLOAT marker's part.
The components of the torque depend on expressions or subroutines that you supply. The magnitude of
the torque is the square root of the sum of the squares of the magnitudes of the three mutually orthogonal
torque components. You can specify these functions using function expressions (see Function
Expressions) or user-written FORTRAN subroutines (see User-Written Subroutines).
The direction of the torque action is determined by the resultant vector formed by the three component
torque you defined along the RM marker axes. The reaction is equal and opposite to the action.
Description of Fields
Field Description
Name User specified name of vector torque. Populated with Vector_Torque_# by default.
Define Using Checkbox that when enabled replaces the part and location definition options with
Coordinate directly specified coordinate systems between which the torque acts. Cleared by
Systems default.
Part 1 First part which the torque will be applied between.
Part 2 Second part which the vector force will be applied between.
Component that will serve as a reference frame for an action only torque. To
Reference Part
define ground as the reference frame, select the ground part button.
Location Fields that use common tools to specify location of the vector torque.
Orientation Orientation tools to define the orientation of the components of the vector torque.
Forces and Motions 119
Vector Torque
Component Specification
Field Description
Option button that selects between Expression and User Subroutine as the method
Method
to define the Vector Force.
Expression
Field that allows input of an expression to define the torque in the X direction.
X Torque
The Function Expression Builder is available to assist in creating runtime
Expression
functions, and each expression may be verified individually using the Verify icon.
Field that allows input of an expression to define the torque in the Y direction.
Y Torque
The Function Expression Builder is available to assist in creating runtime
Expression
functions, and each expression may be verified individually using the Verify icon.
Field that allows input of an expression to define the torque in the Z direction. The
Z Torque
Function Expression Builder is available to assist in creating runtime functions,
Expression
and each expression may be verified individually using the Verify icon.
User Subroutine
Parameters Field that specifies parameters to be passed to the selected user subroutine.
Field that specifies an existing user subroutine to define torque component values.
Routine Users enter library name and routine name, with specific syntax:
library_name::routine_name. Example abgFDM::fie910
Sample form
120
Vector Torque
8. Select either Expression or User Subroutine as the method to define the vector torque
components.
9. Enter expression or subroutine data for each torque component.
10. Click OK to create the torque. The torque will appear in the tree and in the canvas.
122
General Force
General Force
A general force is a force with potentially different values in each direction. You may specify a constant
or function expression for each X,Y,Z Force and each XYZ Torque independently.
Application:
General forces allow you to introduce loading into the model that varies in different directions.
For every general force that you create you specify the following information:
1. Between which parts or coordinate systems the force is applied.
2. A reference part to define the force direction.
3. At what point or points the force is applied.
4. Magnitude of the force and/or torque in each coordinate direction.
Forces and Motions 123
General Force
Description of Fields:
Field Description
Name Name of general force
Checkbox that when enabled replaces the part and location definition
Define Using Coordinate
options with directly specified coordinate systems between which the force
Systems
acts. Cleared by default.
Part 1 The action body (part) to which the force is applied.
Part 2 The reaction body (part) that receives the reaction forces.
Reference Part The reference part that indicates the direction of the force.
Location Allows definition of one application location of the force.
Orientation Defines the orientation of the coordinate system for the force.
Force and Torque Tabs select the force or torque in each coordinate direction. Options are
Function Expressions available to define each function as a Constant, Expression, Harmonic,
Spline, or Step Function.
Sample form:
124
General Force
4. Select the second part that the force will be applied to. This is the reaction body (part) that receives
the reaction forces.
5. Select a reference part to define the part orientation.
6. Select the location of the force.
7. Define the orientation of the force.
8. Define the force and torque functions in each direction. Select the Function type necessary to
define the desired force. Input the necessary data to define the force or torque.
9. Click OK to create the force. The force will appear in the tree and in the canvas.
126
Modal Force
Modal Force
The modal force statement applies a force directly to the modal coordinates and rigid body degrees of
freedom of a flexible body.
Application:
The MFORCE statement allows you to apply any distributed load vector F to a FLEX_BODY. Such a
load vector is typically generated with a finite element program. Examples of distributed load cases
include thermal expansion or pressure loads.
Forces and Motions 127
Modal Force
Description of Fields:
Field Description
Name User specified name of modal force. Populated with Modal_Force_# by default.
Flexible Body Field that specifies the flexible part to which the modal force is applied.
Reaction Part Field that specifies rigid motion part for reaction part.
Component that will serve as a reference frame for an action only force. To define
Reference Part
ground as the reference frame, select the ground part button.
Dropdown that selects between Single Loadcase, Subroutine (Function) and
Method
Subroutiine (Force) as the method to define the modal force.
Single Loadcase
Field that specifies an existing modal loadcase to be applied to the flexible part
Load Case
scaled by a function expression.
Scale Field that defines an expression for scaling the load case selected above. The
Function Function Expression Builder is available to assist in defining expressions. A
Expression verify icon is available to verify expression syntax.
Subroutine (Function)
Field that specifies up to thirty user-defined constants to be passed to the user-
defined subroutine, MFOSUB to directly compute the modal load case and scale
Parameters function whose product is the modal force applied to the flexible body. The scale
function can depend on time or the state of the system. The load case can only be
a function of time.
Field that selects a user subroutine to which the above parameters will be passed.
Routine Users enter library name and routine name, with specific syntax:
library_name::routine_name. Example abgFDM::fie910
Subroutine (Force)
Field that specifies up to thirty user-defined constants to be passed to the user-
defined subroutine, MFOSUB to directly compute the modal force on the flexible
Parameters
body. Each component of the modal force can depend on time or the state of the
system.
Field that selects a user subroutine to which the above parameters will be passed.
Routine Users enter library name and routine name, with specific syntax:
library_name::routine_name. Example abgFDM::fie910
Sample form:
128
Modal Force
Application:
The NFORCE creates a set of forces and torques which act between the I and J coordinate systems which
appear in the NFORCE statement. These forces and torques are linear functions of the relative
displacements and velocities of the coordinate systems, in a manner equivalent to the finite element
method. For each NFORCE, one coordinate system(J) is used as the reference marker. The velocities are
resolved into the J marker's reference frame and expressed in the J marker's coordinate system. The force
and torque components computed by the NFORCE are also given in the J marker's coordinate system.
The force-displacement and force-velocity relationships are specified using stiffness and damping
matrices, or by using a stiffness matrix and a proportional damping ratio. These matrices are defined
using MATRIX statements in the dataset. The stiffness and damping matrices that ADAMS/Solver
(FORTRAN) requires are defined for the I markers only; that is, they should be derived normally using
the 6(n+1) J marker and I marker degrees-of-freedom, but are input using only the rows and columns
corresponding to the I marker degrees-of-freedom. This is equivalent, in finite element terminology, to
applying fixed boundary conditions at the J marker by simply removing the corresponding rows and
columns from the matrices. ADAMS/Solver (FORTRAN) automatically computes and applies the
correct reaction forces at the J marker.
130
Multi Point Force
Description of Fields:
Field Description
User specified name of multi point force. Populated with Multi_Point_Force_# by
Name
default.
Table for referencing one or more coordinate systems. "+" and "-" buttons are
Points used to append and delete rows. Each cell allows the user to pick a coordinate
system from the model browser, graphics window, or drop down list.
Field that specifies the identifier of the coordinate system that determines the
reference frame in which the relative velocities and all of the forces associated
Reference Point with the NFORCE are calculated and the coordinate system in which all the
components and LENGTHs are evaluated. The NFORCE automatically applies
the proper reaction forces at this location.
Stiffness Matrix
Field Description
Option button selects between Entered data and data from an existing file. The
KMATRIX is a 6n · 6n matrix (n is the number of coordinate systems) that defines
the linear relationships between the I marker displacements relative to the J
Stiffness Matrix marker and elastic forces generated by the NFORCE. The KMATRIX is specified
in the J marker's coordinate system. Marker translational and rotational
displacements appear sequentially in Dx, Dy, Dz, Ax, Ay, Az, order, while the
markers appear in the same sequence as the coordinate systems are selected.
Entered Data
Edit Matrix
Icon that opens matrix editor to define stiffness values.
Data
File
Matrix File Field that specifies location of an existing Adams matrix (.mtx) file.
Matrix
Drop-down that selects from available matrices in the selected matrix file.
Name
Forces and Motions 131
Multi Point Force
Damping
Field Description
Active Checkbox that activates damping and enables remaining fields.
Option button selects between specification of a damping matrix or a damping
Damping Method
ratio. If damping ration is selected, all matrix fields will be disabled.
Field that specifies the proportional damping ratio for the NFORCE. The
Damping
elements of the damping matrix are determined by multiplying the corresponding
Ratio
stiffness element value by this number.
Option button selects between entered data and data from an existing file. The
damping matrix is a 6n · 6n matrix (n is the number of I markers) that defines the
Damping Matrix linear relationships between the coordinate systems velocities relative to the
reference system and the viscous forces generated by the NFORCE. The damping
matrix is derived in the reference coordinate system.
Entered Data
Edit Matrix
Icon that opens matrix editor to define damping values.
Data
File
Matrix File Field that specifies location of an existing Adams matrix (.mtx) file.
Matrix
Drop-down that selects from available matrices in the selected matrix file.
Name
Force Matrix
Field Description
Active Checkbox that activates force matrix and enables remaining fields.
Option button selects between Entered data and data from an existing file.
FORCE is a 6n · 1 matrix (n is the number of I markers) of forces and torques,
Force Matrix appearing sequentially for each marker in Fx, Fy, Fz, Tx, Ty, Tz order, while the
markers appear in the same sequence as the coordinate systems are selected. The
force and torque components are expressed in the reference coordinate system.
Entered Data
Edit Matrix
Icon that opens matrix editor to define force values.
Data
File
Matrix File Field that specifies location of an existing Adams matrix (.mtx) file.
Matrix
Drop-down that selects from available matrices in the selected matrix file.
Name
132
Multi Point Force
Length Matrix
Field Description
Active Checkbox that activates length matrix and enables remaining fields.
Option button selects between Entered data and data from an existing file.
Specifies the identifier of the MATRIX that defines a reference location for each
of the coordinate systems with respect to the reference point, measured in the
reference coordinate system. LENGTH is a 3n · 1 column matrix (n is the number
Length Matrix of I markers) of translational displacements only, in Dx, Dy, Dz order. Usually,
LENGTH is used to specify the system's free (no internal force) lengths when
they differ from the input positions. If LENGTH is not given, the NFORCE
assumes that the input positions of the coordinate systems are at the reference
locations.
Entered Data
Edit Matrix
Icon that opens matrix editor to define length values.
Data
File
Matrix File Field that specifies location of an existing Adams matrix (.mtx) file.
Matrix
Drop-down that selects from available matrices in the selected matrix file.
Name
Forces and Motions 133
Multi Point Force
Sample form:
134
Multi Point Force
You can specify the damping and stiffness values as coefficients or use splines to define the relationships
of damping to velocity or stiffness to displacement. You can also de-activate stiffness to create a pure
damper or de-activate the damping to create a pure spring.
Application:
You add a translational spring damper to your model by defining the locations on two parts between
which the spring damper acts. You define the action force that is applied to the first location, and
SimXpert automatically applies the equal and opposite reaction force to the second location.
136
Translational Spring Damper
Description of Fields:
Field Description
Name Name of translational spring damper
Define Using Coordinate Checkbox that when enabled replaces the part and location definition
Systems options with directly specified coordinate systems between which the
spring-damper acts. Cleared by default.
First Part First part connected to spring damper. This is the action body.
Second Part Second part connected to spring damper. This is the reaction body.
Location 1 Location on first part
Location 2 Location on second part
Stiffness Allows specification of linear stiffness at a constant rate or nonlinear
stiffness to be defined by spline data
Preload and Free Length Optionally allows you to define spring preload by entering a force value or
free length
Damping Allows specification of linear damping with a constant coefficient or
nonlinear damping defined by spline data
Sample form:
Forces and Motions 137
Translational Spring Damper
3. Select the first part (action body) that the spring damper will connect to or select the Define Using
Coordinate Systems checkbox and select coordinate systems between which the spring damper
acts.
4. Select the location on the first part.
5. Select the second part (reaction body) that the spring damper will connect to.
6. Select the location on the second part.
7. Select the Stiffness check box if desired and select linear or nonlinear stiffness.
8. Enter values to define the stiffness as necessary.
9. Select preload if desired and enter value.
10. Select the Damping check box if desired and select linear or nonlinear damping.
11. Enter values to define the damping as necessary.
12. Click OK to create the spring damper.
Forces and Motions 139
Rotational Spring Damper
Application:
You can specify the damping and stiffness values as coefficients or use splines to define the relationships
of damping to velocity or stiffness to displacement. You can also de-activate stiffness to create a pure
damper or de-activate the damping to create a pure spring.
You can also set the rotation angle of the torsion spring when it is in its preload state and any preload
forces on the spring. By default, the solver uses the rotation angle of the torsion spring when you create
it as its preload angle.
The following linear constitutive equation describes the torque applied at the first body:
torque = -CT*da/dt - KT*(a-ANGLE) + TORQUE
SimXpert automatically computes the terms da/dt and a. The term a is the angle between the component
parts. SimXpert takes into account the total number of complete turns.
140
Rotational Spring Damper
Description of Fields:
Field Description
Name Name of rotational spring damper
Define Using Coordinate Checkbox that when enabled replaces the part and location definition
Systems options with directly specified coordinate systems between which the
spring-damper acts. Cleared by default.
First Part First part connected to spring damper. This is the action body.
Second Part Second part connected to spring damper. This is the reaction body.
Location 1 Location of spring damper
Direction Direction of rotation axis. Check box may be selected to flip the direction
of the selected axis.
Stiffness Allows specification of linear stiffness at a constant rate or nonlinear
stiffness to be defined by spline data
Preload and Free Angle Optionally allows you to define spring preload by entering a force value or
free angle
Damping Allows specification of linear damping with a constant coefficient or
nonlinear damping defined by spline data
Sample form:
Forces and Motions 141
Rotational Spring Damper
3. Select the first part (action body) that the spring damper will connect to or select the Define Using
Coordinate Systems checkbox and select coordinate systems between which the spring damper
will act.
4. Select the second part (reaction body) that the spring damper will connect to.
5. Select the location of the spring damper.
6. Specify the direction about which the spring damper may rotate.
7. Select the Stiffness check box if desired and select linear or nonlinear stiffness.
8. Enter values to define the stiffness as necessary.
9. Select preload if desired and enter value.
10. Select the Damping check box if desired and select linear or nonlinear damping.
11. Enter values to define the damping as necessary.
12. Click OK to create the spring damper.
Forces and Motions 143
Bump Stops and Rebound Stops
• Polynomial - The formulation of the force is based on a third-order polynomial whose equation
can be expressed as follows:
F elastic = POLY(MAX(0, impact_length - DM ( lower_location, upper_location )), 0, 0,
LinearRate, QuadraticRate, CubicRate)
• Nonlinear (spline based) - The formulation of the force is based on the Akima spline
interpolation of a nonlinear characteristic:
F elastic = akispl(MAX(0, impact_length - DM( lower_location, upper_location )), 0, Spline)
The elastic force becomes active only when the instantaneous distance between the locations on the two
parts is less than the impact length. The impact length term depends on the distance type. If you select
Clearance, the impact length becomes:
dmCalc - Clearance
Where:
• Clearance - Value you specify
• dmCalc - Initial displacement computed between the upper and lower locations
You may also enable a damping characteristic. If you enable the damping characteristic, the force is
dependent on the deflection and velocity of the upper_location and lower_location.
Damping (viscous) forces can be:
• Linear - If you include in the property file a linear damping value other than zero, then the total
force exerted between the upper and lower parts is equal to the sum of the elastic force specified
above and the following damping force:
F damping = STEP MAX(0, impact_length - DM(lower_location, upper_location )), 0, 0, 0.1, -
dampingRate * VR ( lower_location, upper_location ))
• Nonlinear (spline based) - If the user selects nonlinear damping, then the total force exerted
between the upper and lower parts is equal to the sum of the elastic force specified above and the
following damping force:
F damping = STEP MAX(0, impact_length - DM(lower_location, upper_location )), 0, 0, 0.1, -
AKISPL ( VR ( lower_location, upper_location ), 0, dampingSpline ))
SimXpert Motion also allows you to have a metal to metal bumper stop located at a separate location than
the jounce bumper. By default, the jounce bumper metal to metal stop is at the same position as the jounce
bumper, and when the deflection of the bumper goes beyond the bumper height (as defined in the bumper
properties section), the metal to metal force engages. To define a metal to metal stop that is at a position
not on the jounce bumper, the user must select locations on the upper and lower parts.
rebound stop. When you specify a clearance, the impact length is calculated from the clearance as
follows:
dmCalc + Clearance
where:
• Clearance is the value you specify
• dmCalc is the initial displacement computed between the upper and lower locations.
Further, the force in a rebound stop is the sum of an elastic force and a damping force. The XML property
file supports various options for calculating either force. The options available for calculating elastic
force (F elastic) are:
• Polynomial - The for calculated using a third-order polynomial. The ADAMS/Solver function
expression is:
F elastic = POLY(MAX(0,DM(lower_location, upper_location ) - impact_length),0,0,-
linearRate,-quadraticRate,-cubicRate)
• Nonlinear (spline based) - The force is interpolated using Akima's method based on force vs.
deflection data.
F elastic = -1.0*(AKISPL(MAX(0,DM(lower_location, upper_location ) -
impact_length),0,Spline))
The damping force always acts in opposition to the velocity. The options for calculating damping force
are:
• Linear - You specify the dampingRate, and the damping force is the product of dampingRate,
velocity, and a STEP function. The STEP function depends on the displacement in the rebound
stop and ensures the damping force is continuos with displacement.
Fdamping = STEP (MAX(0, DM(lower_location, upper_location ) - impact_length), 0, 0, 0.1, -
dampingRate * VR ( upper_location, lower_location))
• Nonlinear (spline based) - The damping force is interpolated using Akima's method from a table
of force vs. velocity. A STEP function dependent on the displacement in the rebound stop
ensures that the damping force is continuous with displacement.
F damping = STEP (MAX(0, DM(lower_location, upper_location ) - impact_length), 0, 0, 0.1, -
AKISPL ( VR ( lower_location, upper_location ), 0, dampingSpline ))
Application:
These bump stops and rebound stops will mostly be used engineers who are creating suspension
mechanisms.
146
Bump Stops and Rebound Stops
Description of Fields:
Field Description
Name Name of bump stop
Active
Checkbox that determines whether bump stop is active.
Upper Location
Field Description
Part The part to which the upper location of the bumper is attached.
Location
Define Location
Allows selection of the method to define a location.
Using
Default option. Allows selection of geometric point locations, such as a vertex,
Geometry
center point of a circular edge, or center of a sphere.
Hardpoint Allows selection of an individual hardpoint to be used as the location.
Custom Allows the direct entry of X, Y, and Z coordinates of a position.
Coordinate
Existing coordinate system origin may be selected in the field below.
System
Orientation
Define
Allows selection of the method to define orientation.
Orientation Using
Global Oriented with global coordinates. (Default for optional orientation)
Z-axis Oriented with a single axis, which will be specified below.
2 axis Oriented with two axes, which will be specified below.
Euler
Euler angles may be input for Body 313 rotation.
Angles
Coordinate
Existing coordinate system may be selected in the field below.
System
Lower Location
Forces and Motions 147
Bump Stops and Rebound Stops
Field Description
Part The part to which the lower location of the bumper is attached.
Location 2
Define Location
Allows selection of the method to define a location.
Using
Default option. Allows selection of geometric point locations, such as a vertex,
Geometry
center point of a circular edge, or center of a sphere.
Hardpoint Allows selection of an individual hardpoint to be used as the location.
Custom Allows the direct entry of X, Y, and Z coordinates of a position.
Coordinate
Existing coordinate system origin may be selected in the field below.
System
Installation Method
Field Description
Installation Method
Default option. Specifies the distance the bumper travels after the upper and
Clearance
lower locations come together. Default value is 25mm.
Specifies the maximum distance from the initial location of the upper part to the
Impact
fully compressed location. This is the sum of the initial distance between the
Length
upper and lower locations and the distance traveled after impact (Clearance).
Value Allows entry of a numerical value for the selected installation method.
Nonlinear Allows specification of nonlinear stiffness data using the curve editor.
Independent Axis
The x-axis data is the distance between the spring seats. With this technique the
Length
spline has a negative slope.
The x-axis data is deflection from some trim condition. The spline has a positive
Deflection
slope.
148
Bump Stops and Rebound Stops
Field Description
Height Height of the bumper. Default value is 25mm.
Diameter Diameter of the bumper. Default value is 40 mm.
Stiffness Method
The force is calculated using the following third order polynomial:
Polynomial
F elastic = POLY(MAX(0,DM(lower_location, upper_location ) -
impact_length),0,0,- linearRate,-quadraticRate,-cubicRate)
Specifies the linear term in the third order polynomial used to calculate the bump
Linear Rate
stop force.
Quadratic Specifies the quadratic term in the third order polynomial used to calculate the
Rate bump stop force.
Specifies the cubic term in the third order polynomial used to calculate the bump
Cubic Rate
stop force.
The force is interpolated using Akima's method based on user input force vs.
deflection data.
Spline
F elastic = -1.0*(AKISPL(MAX(0,DM(lower_location, upper_location ) -
impact_length),0,Spline))
Spline Data Opens the curve editor to allow definition of Spline data.
Damping Method
The damping force is the product of the dampingRate, velocity, and a STEP
function. The STEP function depends on the displacement in the rebound stop
Linear and ensures the damping force is continuous with displacement.
Field Description
Metal to Metal
Checkbox that determines whether the metal to metal rate is active or not in the
model.
The part that specifies the upper location for the metal to metal rate. The same
Part part that was specified in the Definition page is pre-populated in this field by
default.
Location
Define Location Allows selection of the method to define a location. The same location that was
Using specified in the Definition page is pre-populated in this field by default.
Default option. Allows selection of geometric point locations, such as a vertex,
Geometry
center point of a circular edge, or center of a sphere.
Hardpoint Allows selection of an individual hardpoint to be used as the location.
Custom Allows the direct entry of X, Y, and Z coordinates of a position.
Coordinate
Existing coordinate system origin may be selected in the field below.
System
Orientation
Define Allows selection of the method to define orientation. The same orientation that
Orientation Using was specified in the Definition page is pre-populated in this field by default.
Global Oriented with global coordinates. (Default for optional orientation)
Z-axis Oriented with a single axis, which will be specified below.
2 axis Oriented with two axes, which will be specified below.
Euler
Euler angles may be input for Body 313 rotation.
Angles
Coordinate
Existing coordinate systems may be selected in the field below.
System
Specify the linear rate for the metal to metal contact.
Metal to Metal
Rate Default: 1E+06 (N/mm)
150
Bump Stops and Rebound Stops
Sample form:
8. Select the desired installation method and enter the appropriate value. See the figure above for a
description of Clearance vs. Impact length.
9. Select the Properties tab.
10. Enter values for the height and diameter of the stop.
11. Select either polynomial or nonlinear Stiffness Method and define as necessary.
12. Select either Linear or Spline damping and enter the damping rate information.
13. If you wish to model a Metal to Metal stop in addition, select the Metal to Metal tab and activate
this option. You may select different locations for the metal to metal stop, but the original stop
locations are selected by default. Enter the desired metal to metal rate.
14. Click OK to create the bump stop or rebound stop.
152
Bump Stops and Rebound Stops
System Elements and Data Elements 147
Overview
The contents of the System Elements and Data Elements toolbars allow users of the SimXpert Motion
Workspace to define mathematical entities for use with the motion solver. These allow users to efficiently
store data and create elements of motion models that are mathematically more complex than the basic
tools allow.
System Elements and Data Elements 149
Subroutines and User Libraries
System Requirements
To use subroutines, you need the system requirements outlined in the following sections.
Languages
You can write user-written subroutines in any language, provided there is a way to call FORTRAN
subroutines in that language. FORTRAN is the preferred language for writing user-written subroutines,
although C and C++ are acceptable.
Debuggers
To facilitate the debugging of user-written subroutines, you should have a source-level debugger.
Debuggers are not required when using your own subroutines with Adams/Solver, but are useful for
finding mistakes, such as improper syntax or logic, in your subroutines.
Differential Equation
In SimXpert, you may define differential equations. This works by creating DIFF statements in the
motion solver format based upon your input in the differential property editor form.
Application
This feature is used when the user wishes to add a new differential equation to the motion model. The
DIFF statement creates a user-defined state variable and defines a first-order differential equation that
describes it. The equation may be dependent on any ADAMS/Solver (C++) state variable available in a
function expression. You can create systems of differential equations by using more than one DIFF
statement or LSE and GSE statements.
Description of Fields
Field Description
Specifies user entered name for differential equation. Populated with
Name
Differential_# by default.
Read-only text that tells the user the numerical ID (the ID motion solver will
ID eventually see) of the DIFF. This is useful because the DIFF expression may
reference itself.
Option button that specifies Explicit or Implicit type. When set to Explicit the
Type
Derivative field is disabled. Set to Explicit by default.
Option button that selects between defining the equation with a run time
Method
expression or a user subroutine. Expression is the default.
Field in which the user may enter a run time expression to define the differential
equation. Available only if the definition method is set to expression. The
Expression
Function Expression Builder may be launched to edit the expression by clicking
the icon to the right of the expression field.
Field that defines user subroutine input parameters. Available only if the
Parameters
definition method is set to User Subroutine.
Field that selects an existing User Subroutine in the model if the method is set to
Routine User Subroutine. Users enter library name and routine name, with specific syntax:
library_name::routine_name. Example abgFDM::fie910
Initial Condition
Field that specifies real value initial condition for the differential equation.
Value
Initial Condition Field that specifies real value initial derivative for the differential equation.
Derivative Enabled only if the type is set to Implicit.
Keep Constant
Checkbox that defines whether value of differential equation will be held constant
During Static
during static analyses. Checked by default.
Analysis
152
Differential Equation
Sample Form
State Variable
The State Variable property editor assists in the creation of a solver VARIABLE statement. The
VARIABLE statement defines a variable in terms of a scalar algebraic equation for independent use, or
as part of the PINPUT, POUTPUT, or ARRAY statement.
Application
The VARIABLE statement creates a user-defined algebraic equation. The value of the VARIABLE
statement may depend on almost any ADAMS/Solver (C++) system variable.
You can define the value of the VARIABLE statement by either writing a function expression in the
dataset or by calling a VARSUB user-written subroutine.
Function expressions and user-written subroutines can access the value of the VARIABLE statement with
the ADAMS/Solver (C++) function VARVAL(id) (see VARVAL) to represent the value, where id
specifies the user-selected identifier of the VARIABLE statement. User-written subroutines access single
VARIABLE statement values by calling the subroutine SYSFNC.
Description of Fields
Field Description
Specifies user entered name for the state variable. Populated with
Name
State_Variable_# by default.
Read-only text that tells the user the numerical ID (the ID motion solver will
ID
eventually see) of the state variable.
Option button that selects between defining the variable with a run time
Method
expression or a user subroutine. Expression is the default method.
Field in which the user may enter a run time expression to define the state
variable. Available only if the definition method is set to expression. The Function
Expression
Expression Builder may be launched to edit the expression by clicking the icon to
the right of the expression field.
Field that defines user subroutine input parameters. Available only if the
Parameters
definition method is set to User Subroutine.
Field that selects an existing User Subroutine in the model if the method is set to
Routine User Subroutine. Users enter library name and routine name, with specific syntax:
library_name::routine_name. Example abgFDM::fie910
Guess Checkbox that activates field for estimated initial condition entry.
Initial Condition
Field that specifies real value initial condition for the state variable.
Value
154
State Variable
Sample form
x· = Ax + Bu
y = Cx + Du
of first-order, explicit differential equations and algebraic equations in classical state-space form.
Application
The state variables, x, the inputs, u, and the outputs, y, are specified by ARRAY statements. Use
MATRIX statements to define the coefficient matrices A, B, C, and D. A single LSE can have a
maximum of 1200 inputs, 1200 states, and 1200 outputs.
The LSE statement provides a very general capability for defining a linear element. The ADAMS solvers,
however, have been developed and refined for sparse systems of equations that arise from the modeling
of mechanical systems. With the LSE statement, you can create very dense sets of equations. If these
equations form a large portion of your completed model, ADAMS/Solver (C++) may perform more
slowly than expected.
Note that, if the algebraic equations defined by the LSE statement have no solution or multiple solutions
(this is possible because of the general nature of the input ARRAY), ADAMS/Solver (C++) most likely
fails to converge or possibly converge to an unexpected answer. To avoid this possibility, you should not
reference the X (state) or Y (output) ARRAY statements in the VARIABLE statements listed in the U
(input) array.
Description of Fields
Field Description
Specifies user entered name for the linear state equation. Populated with
Name
Linear_State_# by default.
Outputs Field that sets the value for number of outputs from the equation.
Inputs Field that sets the value for number of inputs from the equation.
States Field that sets the value for number of states for the equation.
Option button that selects between defining the A matrix values with entered data
A Matrix Method
or data from an existing matrix file. Entered data is the default method.
Option button that selects between defining the values with entered data or data
B Matrix Method from an existing matrix file. Only enabled if N_INPUTS > 0. Entered data is the
default method.
156
Linear State Equation
Field Description
Checkbox that activates the C matrix and option button that selects between
C Matrix Method defining the values with entered data or data from an existing matrix file. Only
enabled if N_OUTPUTS > 0. Entered data is the default method.
Checkbox that activates the D matrix and option button that selects between
defining the linear state equation with entered data or data from an existing matrix
D Matrix Method
file. Only enabled if N_INPUTS > 0 and N_OUTPUTS > 0. Entered data is the
default method.
Specify Initial Checkbox that enables initial condition specification for the linear state equation.
Conditions Clicking on the Edit Values icon allows values to be entered.
Keep initial
values constant Checkbox that selects whether or not the motion solver should hold constant the
during static value of the transfer equation during static and quasi-static simulations.
analysis
System Elements and Data Elements 157
Linear State Equation
Sample Form
5. If necessary, input data or select an existing matrix file for the B, C, and D matrices. The
availability of these matrices depend on the number of outputs and inputs specified in the
configuration.
6. Optionally check the checkbox to define initial conditions..
7. Select whether to keep the equation values constant during a static analysis.
8. Click OK to create the linear state equation.
System Elements and Data Elements 159
General State Equation
Application:
The GSE (General State Equation) statement defines the equations for modeling a nonlinear, time
varying, dynamic system. The statement is especially useful for importing nonlinear control laws
developed manually or with an independent software package. It can also be used to define an arbitrary
system of coupled differential and algebraic equations. The GSE allows you to implement continuous
and feed forward systems.
The GSE statement provides a very general capability for modeling nonlinear systems. However, the
routines for solving the linear equations in ADAMS/Solver (C++) have been developed and refined to
work particularly well with the sparse systems of equations that come from the assembly of mechanical
models. With the GSE statement, you can create very dense sets of equations. If these equations form a
large portion of the completed model, ADAMS/Solver (C++) may perform more slowly than expected.
To improve the performance of ADAMS/Solver (C++), any arrays of partial derivatives which are not
full can be represented in sparse form. This sparse form can substantially reduce the effort required by
the integrator. To represent the partials in sparse form, use the GSEMAP_* (provide link) utility
subroutines, when calling GSE_DERIV (provide link) with IFLAG=1, to define the sparsity. Then, use
the GSEPAR_* utility subroutines to pass the sparse partial arrays to the integrator.
160
General State Equation
Description of Fields:
Field Description
Specifies user entered name for the general state equation. Populated with
Name
General_State_# by default.
Outputs Field that sets the value for number of outputs from the equation.
Inputs Field that sets the value for number of inputs from the equation.
Field that sets the value for number of continuous states (N_STATES) for the
Continuous States
equation.
Field that sets the value for number of discrete states (N_DSTATES) for the
Discrete States
equation.
Option button that selects between Interface style and routine style. Interface style
Formulation
allows the use of implicit formulation, and is the default.
Parameters Subroutine parameters (comma separated numerical entries).
Field that specifies a user subroutine. Users enter library name and routine name,
Routine
with specific syntax: library_name::routine_name. Example abgFDM::fie910
Checkbox that enables initial condition specification for continuous and/or
Initial Conditions discrete states. Fields are enabled if the number of corresponding states = 0.
Clicking on the Edit Values icons allows values to be entered.
Keep state values
Checkbox that selects whether or not the motion solver should hold constant the
constant during
state values during static and quasi-static simulations.
static analysis
Sample form:
System Elements and Data Elements 161
General State Equation
Transfer Function
The TFSISO (Transfer Function, Single-Input, Single-Output) statement defines a single-input, single-
output transfer function as a ratio of two polynomials in the Laplace domain when used with the
associated ARRAY statements.
Application:
The TFSISO (Transfer Function, Single-Input, Single-Output) statement is designed to model a linear,
time-invariant dynamic system defined in the Laplace domain, especially to facilitate the import of
elements from control-system block diagrams. It can also be used, however, to define an arbitrary set of
constant-coefficient, differential and algebraic equations which can be expressed in the Laplace domain
as:
1 m
y( S) b0 + b1 s + bm s
G ( S ) = ----------- = ----------------------------------------
-
u(S) a0 + a1 s + ak s
1 k
The TFSISO follows standard control systems terminology, where x is the state variable array, y is the
output variable, and u is the input variable. Initial conditions are assumed to be identically zero. In the
ADAMS/Solver (C++) dataset, each of these arrays is defined using an ARRAY statement. The
characteristic equation for a single TFSISO statement, defined by the DENOMINATOR argument, can
be a polynomial of degree less than 30.
164
Transfer Function
Description of Fields:
Field Description
Specifies user entered name for the linear state equation. Populated with
Name
Transfer_Function_# by default.
Input Variable Field that selects a motion state variable as the input for the transfer function.
Field that sets the number of coefficients for the numerator of the transfer
function. These coefficients are specified using the Edit Values icon to the right
Numerator Size of the field. The number of coefficients for the denominator must be greater than
or equal to the number of coefficients for the numerator, so if users enter a number
here greater than the current denominator size the denominator size will increase.
Icon that opens a matrix editor form to enter the selected number of numerator
Edit Values
coefficients.
Field that sets the number of coefficients for the denominator of the transfer
function. These coefficients are specified using the Edit Values icon to the right
Denominator Size
of the field. The number of coefficients for the denominator may not be set lower
than the number in the numerator.
Icon that opens a matrix editor form to enter the selected number of denominator
Edit Values
coefficients.
Keep value Checkbox that selects whether or not the motion solver should hold constant the
constant during value of the transfer equation during static and quasi-static simulations. Checked
static analysis by default.
Sample form:
System Elements and Data Elements 165
Transfer Function
String
The STRING statement defines a character string that may be referred to later in the execution of the
motion solver. An interactive STRING command can be used to alter or review this character string. A
GTSTRG subroutine can be used to retrieve this character string in a user-written subroutine.
Application:
The STRING statement enters a character string for later reference. The GTSTRG subroutine can retrieve
this string.
The following characters are not permitted in a STRING argument because they are delimiters in the
ADAMS/Solver command language: comma (,), semicolon (;), ampersand (&), and exclamation point
(!). This is because the comma indicates that additional ADAMS/Solver arguments follow; the semicolon
indicates that additional ADAMS/Solver statements follow on the same line; the ampersand indicates
that the next line is a continuation of the statement on this line; and the exclamation point indicates that
ADAMS/Solver is to stop reading the line.
Description of Fields:
Field Description
Name Field that specifies the ASCII text name of the string. This name is used
with the GTSTRG subroutine to retrieve the string.
String Field that specifies the string values.
Sample form:
To create a string:
1. From the Data Elements toolbox, select String.
2. Enter a name for the string.
System Elements and Data Elements 167
String
3. Enter the value of the string. Be aware to avoid using the comma (,), semicolon (;), ampersand
(&), and exclamation point (!) as they have other solver functions.
4. Click OK to create the string.
168
Array
Array
An Array is a list of input variables, state variables, output variables, and initial conditions associated
with system elements, such as general state equations, linear state equations, and transfer functions. You
can also use general arrays to define lists of constants. You can access the values in function expressions
or user-written subroutines.
Application:
There are five types of arrays:
1. (1) General/ (2) Initial Conditions - Define an array of constants used as initial conditions for a
system element or user-written subroutine.
2. (3) States (X) and (4) Outputs (Y) - Designate the state or output variable arrays for a system
element, such as a linear state equation, general state equation, or transfer function. Adams/Solver
computes these values during a simulation.
To use the arrays, you reference them in function expressions. You can reference the array as the
state or output variable array of only one system element in a model (for example, only one linear
state equation or one general state equation).
3. (5) Inputs (U) - An array that groups together a set of variables used to define the inputs for a
system element. Motion should compute variable values from the specified variable data
elements.
The inputs (U) and the initial conditions arrays can exist independently, and do not need to be
referenced by another system element.
System Elements and Data Elements 169
Array
Array Sizing
For arrays
used in: The array size is:
States (X) array size must be the same size as the row dimension of the matrix
used to define the state transition matrix for the linear system.
Linear state
equation (LSE) Outputs (Y) size must be the same size as the row dimension of the matrix used
to define the output matrix for the linear system or the matrix used to define the
feed forward matrix for the linear system.
States (X) size is determined by the transformation from polynomial ratio type to
Transfer functions canonical state-space form, which is a set of coupled, linear, constant-coefficient
(TFSISO) differential equations and a single algebraic equation.
Description of Fields:
Field Description
Name Name of the array.
Table of array values. Rows may be added using the “+” icon to the right of the
Values
table to make the array any size.
170
Array
Sample form:
To create an array:
1. From the Data Elements toolbox, select Array.
2. Enter a name for the array.
3. Adjust the size of the array table using the “+” and “-” icons.
4. Enter values for the array.
5. Click OK to create the array.
System Elements and Data Elements 171
Curve
Curve
The Motion Curve object allows users to manually define a curve without any geometric reference. This
allows creation of point-curve and curve-curve constraints without imported geometry.
Application:
The Motion Curve object allows users to create point-curve and curve-curve constraints without
imported geometry. Motion Curves can be referenced by the Point-Curve and Curve-Curve objects.
Description of Fields:
Field Description
Name Specifies user entered name for curve. Populated with Curve_# by default.
Field which specifies the coordinate system that defines the location and reference
Coordinate
part for the curve to be created. An icon is available to select the model origin,
System
which is the default.
Checkbox that specifies that the curve meets at the ends. If you specify
CURVE_POINTS, the motion solver attempts to compute a curve that meets at
the ends and has continuous first and second derivatives across the closure. If you
specify FUNCTION, you must ensure that the defined curve meets at the ends and
Closed
has continuous first and second derivatives across the closure. If the curve is
closed, the first and last control or curve points must be the same. During a
simulation, the motion solver moves a PTCV or CVCV contact point across the
closure, if necessary.
Drop-down that allows selection between user entered values, user subroutine,
Method and matrix files as a method to define the curve. The default method is user
entered values.
172
Curve
Field Description
Checkbox that indicates the matrix below contains data points that lie on the
Curve Points
curve. Cleared by default.
Field which specifies the order of the b-spline interpolating the curve. The order
is 1 plus the degree of the functions used to define the spline. The order also
affects the number of points used to determine each spline segment. For example,
Order splines of order 2 are basically polylines, while the segments used to create an
spline of order 4 are of the 3rd order. 4 is the default order of splines, which is a
cubic b-spline. The order must be greater than or equal to 2, and the default value
is 4.
Table of data that defines the curve in all three dimensions. Rows may be added
Curve Matrix to or removed from the matrix using the + and - icons. Four rows are present by
default.
Field Description
Field that specifies parameters for the user-written subroutine CURSUB. Enter
Parameters the user function using the following format where r1 through r30 are constants
passed to the subroutine: r1, ..., r30
Field that specifies an existing user subroutine. Users enter library name and
Routine routine name, with specific syntax: library_name::routine_name. Example
abgFDM::fie910
Maximum Enter the maximum value of the curve parameter for a user-written curve.
Minimum Enter the minimum value of the curve parameter for a user-written curve.
System Elements and Data Elements 173
Curve
Field Description
Checkbox that indicates the matrix file contains data points that lie on the curve.
Curve Points
Cleared by default.
Field which specifies the order of the b-spline interpolating the curve. The order
is 1 plus the degree of the functions used to define the spline. The order also
affects the number of points used to determine each spline segment. For example,
Order splines of order 2 are basically polylines, while the segments used to create an
spline of order 4 are of the 3rd order. 4 is the default order of splines, which is a
cubic b-spline. The order must be greater than or equal to 2, and the default value
is 4.
Field that selects the name of the file containing the matrix values. Icons are
Matrix File
available to browse to a different directory, and to edit an existing file.
Enter the name of the matrix in the file. The name of the matrix is necessary even
Matrix Name if the file contains only one matrix. You will need to create additional matrices to
read other matrices from the same file.
Sample form:
174
Curve
To create a curve:
1. From the Data Elements toolbox, select Curve.
2. Enter a name for the curve.
3. Select a coordinate system in which the curve will be defined.
4. Select a method to define the curve from User Entered Values, User Subroutine, or Matrix File.
5. Enter points or select a matrix or subroutine and enter parameters to be passed to it.
6. Click OK to create the curve.
System Elements and Data Elements 175
Spline
Spline
The SPLINE statement defines discrete data that ADAMS/Solver (C++) interpolates using the AKISPL
and CUBSPL function expressions and the AKISPL and CUBSPL data-access subroutines. A SPLINE
statement provides one or two independent variables and one dependent variable for each data point you
supply.
Application:
ADAMS/Solver (C++) applies curve-fitting techniques that interpolate between data points to create a
continuous function. If the SPLINE data has one independent variable, ADAMS/Solver (C++) uses a
cubic polynomial to interpolate between points. If the SPLINE data has two independent variables,
ADAMS/Solver (C++) uses a cubic method to interpolate between points of the first independent
variable, and then uses a linear method to interpolate between curves of the second independent variable.
176
Spline
Description of Fields:
Field Description
Name Field that specifies an ASCII text name for the spline.
Option button to specify the method for entering/editing spline data.
Entered Data:
Displays a properties button that launches the curve editor tool to enter and
Method display spline data.
File:
Select an ASCII [.txt, .dat] file that contains the desired spline data. Icons are
available to browse to another directory or edit the text file.
Linear
Checkbox that enables linear extrapolation for the spline data. Cleared by default.
Extrapolation
Sample form:
To create a string:
1. From the Data Elements toolbox, select Spline.
2. Enter a name for the spline.
System Elements and Data Elements 177
Spline
3. Select a method to define the spline data. Available options are Entered Data (via the Spline
Editor) or File (via accessing an external file).
4. Enter the data or select the file and file type to define the spline.
5. Click the checkbox to enable extrapolation if desired.
6. Click OK to create the spline.
178
Spline
Instrumentation 177
Instrumentation
178
Overview
Overview
The contents of the Instrumentation toolbar allow users of the SimXpert Motion Workspace to request
specific output from a simulation and to trigger events based on the current status of a simulation or the
configuration of its parts. These allow users to interact with the simulation based upon its results.
Instrumentation 179
Request
Request
Requests allow users to create their own measurements. Quantities may be measured between two
coordinate systems and reported in a reference coordinate system.
Application
Various types of request are available, including displacement, velocity, acceleration, force, user defined,
and user subroutine. Examples are measuring locations and orientations of one part with respect to
another, measuring relative velocity between 2 coordinate systems, and measuring forces between
coordinates systems.
Description of Fields
Field Description
Name Specifies name of the request object. Populated with Request_# by default.
Type Specifies type of request object. Displacement is the default.
Measures displacement between two user selected coordinate systems in a
Displacement
reference coordinate system.
Measures velocity of one user selected coordinate system relative to another
Velocity
in a reference coordinate system.
Measures acceleration of one user selected coordinate system relative to
Acceleration
another in a reference coordinate system.
Measures force between two user selected coordinate systems in a reference
Force
coordinate system.
Allows the user to specify multiple components of the request using
User Defined
expressions. See User Defined Form Entries below.
Allows the user to select an existing subroutine and specify parameters to be
Runtime
passed to it. Units may be selected or defined for each output component from
Subroutine
the subroutine. See Runtime Subroutine Form Entries below.
The first coordinate system that defines the request measurement reference
Coordinate System 1
location. Enabled for all types except User Defined.
The second coordinate system that defines the request measurement reference
Coordinate System 2
location. Enabled for all types except User Defined.
Reference Coordinate The reference coordinate system for the request measurement. Enabled for all
System types except User Defined.
180
Request
Field Description
Table that allows the user to specify an arbitrary number of components for a
Component
request. This table is visible only for User Defined Request types.
Specifies the name for the request component. Must be solver compliant,
Name
standard ASCII text, no spaces or special characters.
Offers the option of selecting a type of unit from a drop down list. User defined
Unit Type
is an available option as well, which makes the Units field editable.
Displays the unit of the selected unit type in the current set of units. The list
updates based on session units. So if the session units are MMKS, only
Units
MMKS units appear in the list. If the user switches to English units (in, lbs,
etc.), the unit field updates to that set of units.
Displays the expression for the request component. You may either type the
Expression request expression or use the Function Expression Builder to assist you in its
creation. You may verify each component expression individually.
Icon to the right of the table that adds another row to the table to add another
+
component to the request.
Icon to the right of the table that removes a selected row from the table,
-
removing that component from the request.
Instrumentation 181
Request
Field Description
Field that specifies a list of parameters to be passed to the selected subroutine
Parameters
to define the request.
Field that specifies an existing subroutine. Users enter library name and
Routine routine name, with specific syntax: library_name::routine_name. Example
abgFDM::fie910
Table that allows the user to select units for the number of components defined
Component
by a subroutine. This table visible only for Runtime Subroutine Request types.
Specifies the name for the request component. Must be solver compliant,
Name
standard ASCII text, no spaces or special characters.
Offers the option of selecting a type of unit from a drop down list. User defined
Unit Type
is an available option as well, which makes the Units field editable.
Displays the unit of the selected unit type in the current set of units. The list
updates based on session units. So if the session units are MMKS, only
Units MMKS units appear in the list. If the user switches to English units (in, lbs,
etc.), the unit field updates to that set of units. Field is read only unless the Unit
Type is set to User Defined.
Sample Form
To create a request:
1. From the Instrumentation toolbox, select Request.
182
Request
Sensor
The SENSOR statement is used to modify the simulation when a user-defined event occurs during run-
time. The event is defined by a logical expression which compares an expression to a target value. If the
logical expression becomes true during the simulation, the sensor modifies the simulation by various
means which are selected by the user under the Actions tab of the property editor form.
Application
The SENSOR statement defines a user-defined event that affects a set of simulation controls when the
event occurs. The event is defined by a logical expression that compares a function expression (or
evaluation of a user-written subroutine) to a target value using a relational operator. If the logical
expression becomes true during the simulation, the sensor modifies a set of simulation controls, which
include output and integration step sizes, simulation end time, and the Jacobian pivot sequence. A sensor
can also output diagnostic information and store the value of a function expression for later recall.
ADAMS/Solver (C++) evaluates the logical expression after every successful integration step when
doing dynamic analysis and after every successful output step when doing other types of analyses. To
define the function, use a function expression or a user-written subroutine. User-written subroutines and
utility subroutines discuss the subroutines they can access.
When using the default search algorithm in ADAMS/Solver (C++), the SENSOR function must be
continuous. The secant-type search algorithm is inaccurate and time consuming when the function is
discontinuous. For that reason, functions of time or displacements work best for sensors; functions of
velocities, accelerations, and forces are less desirable.
Description of Fields
184
Sensor
Definition Tab:
Field Description
Checkbox that enables evaluation of an expression or subroutine when the event
Set Evaluation
that the sensor is monitoring becomes true.
Method Specifies method for evaluation between run time expression and user subroutine.
Specifies run time expression to be evaluated when sensor is triggered. The
Expression launch function expression builder icon is available to assist in defining the
expression.
Specifies parameters to be passed to selected user subroutine when the sensor is
Parameters
triggered. Enabled only if the method is set to User Subroutine.
Field that selects a user subroutine to be evaluated when the event the sensor is
Routine
monitoring becomes true. Enabled only if the method is set to User Subroutine.
Option button that selects between angular and non-angular values for defining
Values
the sensor.
Drop-down that selects the range when the sensor will be triggered. The options
are:
Equal to Value: From (Target - Error) to (Target + Error). This is the default.
Type
Greater than or Equal to Value: Greater than or equal to (Target - Error).
Actions Tab
Instrumentation 185
Sensor
Standard::
Field Description
Generate
Checkbox that creates an extra output step when the motion solver triggers the
Additional Output
sensor so the simulation captures the action. Cleared by default.
Step
Checkbox and field that redefine the time between consecutive output steps. The
Set Output Step motion solver uses this value until it is changed. The default step size is the current
Size time between output steps for the simulation. If checked, a numeric field becomes
active to specify the output step size. Cleared by default.
Checkbox and option button that terminates current simulation step and does one
of the following:
Cleared by default.
186
Sensor
Special:
Field Description
Checkbox that redefines the next integration step size. This change is temporary
and lasts only for the next solution step. The default is an integrator-determined
value except when you've included restarting the integrator as part of the sensor
Set integration action as explained next. In this case, the step size defaults to the integrator step
Step Size size.
If checked, a numeric field becomes active to specify the integration step size.
Cleared by default.
Checkbox that restarts integration and reduces the integration order to one. If you
also set integration step size as explained above, the motion solver reinitializes the
Restart Integrator integration step size to the specified value. If you do not specify the step size, the
solver reinitializes the integration step size to the integrator's default step size.
Cleared by default.
Checkbox that causes the motion solver to generate a new pivot sequence for
matrix factorization. This can help the integrator produce more accurate data or
Refactorize proceed more robustly through the simulation. The motion solver generates a
Jacobian pivot sequence for matrix factorization before starting the simulation. It does not
generate a new pivot sequence unless you specify to refactorize the Jacobian or it
is necessary to refactorize to reach convergence. Cleared by default.
Dump State Checkbox that when checked writes the entire array of state variable values to a
Variable Vector text file in your current working directory. Cleared by default.
Checkbox that specifies that a bisection search algorithm will be used to isolate
Bisection Search
the activation time of the sensor. When not present the default, secant-type root-
Algorithm
finding algorithm is used. Cleared by default.
Checkbox and field that specify the temporal error with which the activation time
Set temporal error
of the sensor is isolated. By default the TERROR condition is not enforced.
Instrumentation 187
Sensor
Sample forms
Definition Tab:
188
Sensor
Actions Tab:
To create a sensor:
1. From the Instrumentation toolbox, select Sensor.
2. Enter a name for the sensor.
3. Select a method to define the sensor. Expression and User Subroutine are the available options.
4. Optionally check the Set Evaluation checkbox and define an evaluation method.
5. Enter an equality type, value, and error tolerance for the target of the sensor.
6. Click on the actions tab and select actions to take place when the definition value is reached.
7. Click OK to create the sensor.
Instrumentation 189
Height Sensor
Height Sensor
The height sensor object reports the minimum distance of a point on a geometric body above a roadway.
The sensor also reports the components of distance in a user specified coordinate system, as well as the
relative velocity of the geometric point relative to the 3D road.
Application
The height sensor is applicable as part of the transportation functionality of the motion workspace and
works closely with the Tire and Road functionality. Using the position of the geometric point on a body,
the height sensor request subroutine calls the 3D road routines and iterates towards the road point with
the minimum distance to the body point. The user subroutine returns the minimum distance as well as
components of the distance vector in a specified coordinate frame. The relative velocity is calculated in
a similar manner and also reported in the specified coordinate frame.
Description of Fields
190
Height Sensor
Definition Tab:
Field Description
Specifies name of the height sensor. Automatically populated with
Name
HeightSensor_#.
Specifies motion part on which a point’s position will be measured relative to
a 3D road. This field is read-only if Coordinate System option has been
Part
selected for location, and the selected Coordinate System does not belong to
ground.
Define Location
Allows selection of the method to define location of the point to be measured.
Using
Allows selection of geometric point locations, such as a vertex, center point of
a circular edge, or center of a sphere. If geometry filters are active, they will
Geometry
affect the default types of picks that can be made. If multiple locations are
selected, this option will average the locations to determine a single location.
Hardpoint Allows selection of an individual hardpoint to be used as the location.
Custom Allows the direct entry of X, Y, and Z coordinates of a position.
Coordinate
Allows selection of a coordinate system origin to be used as the location.
System
Center of
Mass Allows selection of a part’s center of mass as the location.
Location
Reference coordinate system for the sensor in which distance and relative
Reference CS
velocity values will be output.
Road Specifies an existing 3D road model to which the height will be measured.
Instrumentation 191
Height Sensor
Sample form
Definition Tab:
Select Results
The Select Results form allows users to select a subset of calculated results quantities and export them to
a .csv file during the simulation. The .csv file will have a header line with all the entity names, and then
subsequent lines for data at each timestep. Time will always be included as an initial column.
Application
This feature is applicable when the user wishes to export CSV file during simulation for selected results
of interest. Once generated, this file may be useful for 3rd party post-processing on generic formats and
for archival purposes.
Description of Fields
Field Description
Name Specifies name of the table. Automatically populated with Output_Table_#.
Specifies interval between output. Available options are at each output step,
Time Interval
each integration step, or at custom defined points in the simulation.
Specifies Number of decimal places to right of decimal point. Must be greater
Decimal Places
than or equal to 2, and the default value is 4.
Specifies the numerical format of output data. The options are:
Sample form
Max Min
The Max Min form allows users to generate an ASCII report file containing a table of maximums and
minimums and associated time points for a selected list of parameters ('Set A'). For an additional set of
selected parameters ('Set B') that are a subset of 'Set A', it reports out in the same file, the associated
values at the time of the maximum/minimum ('Set C'). These parameters, 'Set C' are specific to the 'Set
B' parameter.
Application
This feature is applicable when the user wishes to export an ASCII text file during simulation for selected
maximum and minimum results of interest.
Description of Fields
Field Description
Specifies name of the text output table. Automatically populated with
Name
Select_Results_#.
Specifies interval between output. Available options are at each output step,
Time Interval
each integration step, or at custom defined points in the simulation.
Unique identifier for the max min report. Populated with the report name by
Identifier default. Duplicate identifier strings (if model as more than one Output Report)
are not accepted. Non- ASCII text is not accepted.
Specifies the numerical format of output data. The options are:
Sample form
2D Envelope
The 2D Envelope form allows users to generate a .csv file containing a summary of data that provides a
2-dimension envelope, or convex hull, of the selected pairs('Set A') when the pairs are plotted against one
another for each simulation. For an additional set of selected parameters (Set B), it reports out in the same
file, their associated values at the time the 2D Envelope points occur.
Application
This feature is applicable to find out the convex hull (or the envelope) inside which all the points would
lie when the XAxis and YAxis data are plotted on a graph.
For example, suppose you have chosen Fz for a Gear in XAxis and Fx for YAxis. That would mean that
the envelope object would plot a graph by plotting Fz along XAxis and Fx along YAxis and then find out
the convex hull (the dotted curve pointed to by the red arrow below) of the resulting curve (the darker
curve below).
Note that the darker curve is completely inside the dotted curve (they have some overlapping boundary
points). And that's why the dotted curve is the hull or envelope of the darker curve. Our envelope object
is intended to find out the points on the hull or the dotted curve only. These points would be a subset of
the points on the darker curve and in certain cases may be the same as the darker curve (for example if
the darker curve is a straight line or circle or a polygon then its hull will be identical to itself).
Since we are interested in the points on the hull only, the resulting points may not be in a increasing order
with respect to time.
Also note that since the hull is an curve which encloses the darker curve completely, it ends on the same
point where it started.
Instrumentation 197
2D Envelope
Multiple
The input for multiple determines which time step output will be used for the envelope plot. For example,
if you have chosen a multiple of 2 and chosen 20 time steps for your simulation, the TwoDEnvelope
would take the data for 0th, 2nd, 4th, 6th, 8th, 10th, 12th, 14th, 16th, 18th output steps and calculate the
hull for those data. The output hull would be a subset of these output steps' data.
Had you chosen a multiple of 3 and 20 time steps the input for the TwoDEnvelope would be 0th, 3rd, 6th,
9th, 12th, 15th, 18th output steps' data.
Had you chosen a multiple of 4 and 20 time steps the input for the TwoDEnvelope would be 0th, 4th, 8th,
12th, 16th output steps' data.
When you increase the multiple the number of input points for the TwoDEnvelope decreases, but that
does not mean that the number of output hull points would decrease proportionately.
Description of Fields
Field Description
Specifies name of the text output table. Automatically populated with
Name
TwoDEnvelope_#.
Specifies interval between output. Available options are at each output step,
Time Interval
each integration step, or at custom defined points in the simulation.
Unique identifier for the max min report. Populated with the report name by
Identifier default. Duplicate identifier strings (if model as more than one Output Report)
are not accepted. Non- ASCII text is not accepted.
Specifies the numerical format of output data. The options are:
Sample form
Simulation
192
Simulation Types
Simulation Types
You may choose from three solution types as you submit a simulation. The four available types are static,
quasi-static, transient, and dynamic. A transient simulation instructs the solver to run a kinematic analysis
if the system has zero degrees of freedom or a dynamic analysis if the system has one or more degrees of
freedom, and is the default in SImXpert motion.
Static
In a static simulation, the system has more than 0 degrees of freedom and is solved to find a static
equilibrium point. All system velocities and accelerations are set to zero.
Quasi-Static
In a quasi-static simulation, a sequence of static simulations are performed for different configurations
of the model. Typically, static equilibrium is computed at fixed time intervals throughout a prescribed
motion for a model.
Kinematic
A kinematic analysis solves for the displacements, velocities, accelerations, and forces (if any) at a series
of points in time. A kinematic analysis is only appropriate when a system has zero degrees of freedom.
Dynamic
In a dynamic simulation, the system has more than 0 degrees of freedom and is driven by external forces
and excitations. Nonlinear differential and algebraic equations are solved.
Simulation 193
Simulation Properties
Simulation Properties
The simulation properties form is accessible from the simulation toolbox in SimXpert. It may also be
accessed from the tree for an existing simulation.
Before submitting a simulation, this form allows you to specify the end time of a simulation, the number
of steps, and the simulation type. The simulation controls section contains tools for verifying the model
prior to simulation and submitting the simulation.
During a simulation, the form displays the current time and current step, as well as the estimated time
remaining.
Description of Fields
Field Description
Name Allows you to specify a unique name for each simulation.
Simulation Type Includes options for running a dynamic, quasi-static, or static simulation.
Start at Static Check box that if selected has a quasi-static or dynamic solution begin
Equilibrium from the static equilibrium solution.
End Time Sets the end time and therefore the length of a simulation
Steps Sets the number of steps for a simulation. Used with the end time to
determine the time interval of each step.
Auto Verify Checkbox that toggles the automatic verification of the model before
running a simulation.
Debug Eprint Prints a block of information for each kinematic, static, or dynamic step.
This information helps you monitor the simulation process and locate the
source of the error if there is a problem.
Animate While Checkbox that toggles display of anumation during a simulation. Options
Simulating for the animation are controlled under the Animation Tab.
Hide When Finished Check box that if selected will close the simulation form once the
simulation has been completed.
Verify Model Checks for error conditions in the model
Simulation Preferences Opens the Simulation Preferences Dialog box to define Dynamics,
Equilibrium, and Initial Conditions Simulation Parameters for the
simulation.
Begin Model Simulation Starts the computation of a simulation
Stop Simulation Stops the in progress simulation
194
Simulation Properties
Sample Form
To set up a simulation:
1. Select Simulation from the Simulation toolbox or right click on an existing simulation and select
properties.
2. If desired, you may enter a unique simulation name.
3. Select the desired simulation type.
4. If you want the simulation to begin from a static equilibrium, select the Start at Static Equilibrium
check box.
5. Enter the desired end time and number of steps.
6. Click on the verify model button to check for error conditions in the model.
7. Click the begin model simulation button to submit the simulation.
8. Monitor the status of the simulation as it progresses. If the Animate While Simulating checkbox
is checked the model will animate while the simulation progresses.
Gravity 195
Gravity
196
Gravity
Gravity
The properties form for the gravity item in the tree allows you to define gravity for the model. You can
specify the magnitude and direction of the acceleration of gravity.
Application
You may specify a positive or negative direction along any of the global axes, or you may specify a
unique direction. Unique directions may be necessary if the model is oriented such that gravity acts in a
direction other than one of the global axes, as in the case of a car on a banked track.
The magnitude may be modified to any desired value to accommodate situations with non-standard
gravitational acceleration. This could be useful in accounting for variations in gravitational acceleration
with altitude or modeling situations where the model is subject to some other constant acceleration.
For each part with mass, the gravitational force produces a point force at its center of mass.
Description of Fields
Field Description
Active Check box that elects whether gravity is enabled for the model. Selected by
default.
Direction Direction in which gravitational acceleration will act. Available options
include the positive and negative directions along each axis, as well as a
custom option which allows you to enter components of gravity along each
axis.
Magnitude Allows you to specify the magnitude of the gravitational acceleration. If the
custom direction option is chosen, the magnitude will be calculated as the
resultant of the acceleration in each axis direction.
Defaults Resets all gravity fields to their default values.
Gravity 197
Gravity
Sample Form
Simulation Preferences
200
Overview
Overview
The simulation preferences form allows you to control how the solver operates. This form is divided into
four sections: Dynamics, Equilibrium, Initial Conditions, and Contact.
Simulation Preferences 201
Dynamics
Dynamics
The dynamics tab located under simulation preferences allows you to specify parameters that affect the
integrator and dynamic solution of the model. The form is separated into two groups: Integrator and
Integration Parameters.
Integrator Group
The integrator is an algorithm that solves the differential equations of motion over an interval of time
during a dynamic simulation. SimXpert lets you select from the GSTIFF (Gear Stiff) and WSTIFF
(Modified Gear) integrators when you customize how the solver solves equations of motion. The default
is the GSTIFF integrator.
• GSTIFF is based on the DIFSUB integrator. GSTIFF is the most widely-used and tested
integrator in SimXpert. It is a variable-order, variable-step and multi-step integrator with a
maximum integration order of six. The BDF coefficients it uses are calculated by assuming that
the step size of the model is mostly constant. Thus, when the step size changes in this integrator,
a small error is introduced in the solution.
• WSTIFF is a stiffly stable, BDF-based, variable-order, variable-step, multi-step integrator. It has
a maximum order of six. The BDF coefficients it uses are a function of the integrator step size.
Thus, when the step size changes in this integrator, the BDF coefficients change. WSTIFF can
change step size without any loss of accuracy, which helps problems run more smoothly.
Next, you may select the type of formulation used by the solver. The available options are I3, SI2, and
SI1. The default formulation is I3.
The corrector entry specifies the corrector algorithm that is to be used with the stiff integrators. Original
and Modified correctors are available, as described below:
• Original - Specifies that the corrector available in the previous releases of the solver be used.
This is the default. This implementation of the corrector requires that at convergence, the error in
all solution variables be less than the corrector error tolerance.
• Modified - Specifies that a modified corrector is to be used. This implementation of the corrector
requires that at convergence, the error in only those variables for which integration error is being
monitored, be less than the corrector error tolerance. This is a slightly looser definition of
convergence, and you should use proper care when using this. The modified corrector is helpful
for models containing discontinuities in the forcing functions. Problems with contacts belong in
this category.
Finally, you may set Interpolate to Yes when you don't want the integrator to control the integration step-
size to precisely hit an output step. The integrator might then overshoot an output point and in this case
an interpolation algorithm will provide an approximation of the solution at the output point. This
approximation is then refined to provide for the consistent solution at the output point. The default for
Interpolate is No.
202
Dynamics
PATTERN accepts a sequence of at least one character string and not more than 10 character strings. Each
string must be either TRUE or FALSE, which you can abbreviate with T or F. You must separate the
strings with colons.
Field Description
Error The relative and absolute local integration error tolerances that the integrator
must satisfy at each step.
Initial Step Size HINIT
Range: 0 < HMIN <= HINIT <= HMAX
Maximum Step Size HMAX
Range: 0 < HMIN <= HINIT <= HMAX
Minimum Step Size Default:1.0E-6*HMAX
Range: 0 < HMIN <= HINIT <= HMAX
Maximum Iterations MAXIT
Default: 10 Range: MAXIT > 0
Integration Order KMAX
Default: 6 Range: 1 <= KMAX <= 6
Pattern Default: T:F:F:F:T:F:F:F:T:F
204
Equilibrium
Equilibrium
The equilibrium tab located under simulation preferences allows you to specify parameters that affect the
equilibrium solution of the model.
The error field specifies the relative correction convergence threshold. The iterative process carried out
during the equilibrium analysis can not converge prior to all relevant relative corrections being smaller
than this value.
The translational limit specifies the maximum translational increment allowed per iteration during static
simulations.
The angular limit specifies the maximum angular increment allowed per iteration.
The maximum iterations field specifies the maximum number of iterations allowed for finding static
equilibriums.
The stability field specifies the fraction of the mass and damping matrices the solver adds to the stiffness
matrix. Adding a fraction of the mass and damping matrices to the stiffness matrix can stabilize the
iteration process and prevent the iteration from diverging.
The imbalance field specifies the equation imbalance convergence threshold. The iterative process
carried out during the equilibrium analysis can not converge prior to each equation imbalance being
smaller than this value.
The pattern field allows you to specify as many as ten character strings that together establish the pattern
for evaluating the Jacobian matrix during the modified Newton-Raphson iteration. For each iteration, T
or TRUE indicates that the solver evaluates the Jacobian and F or FALSE indicates that the solver does
not evaluate the Jacobian. Thus, cj determines whether or not the solver evaluates the Jacobian at the jth
iteration. If necessary, the solver repeats the pattern of evaluations until it reaches the maximum number
of iterations (MAXIT). The number of Ts or TRUEs and Fs or FALSEs together must be at least one and
no more than ten.
Field Description
Error ERROR
Default: 1.0E-04 Range: ERROR > 0
Translational Limit TLIMIT
Default: 20 Range: TLIMIT > 0
Angular Limit ALIMIT
Default: 10D Range: ALIMIT > 0
Simulation Preferences 205
Equilibrium
Field Description
Maximum Iterations MAXIT
Default: 25 Range: MAXIT > 0
Stability Default: 1.0E-05
Range: Stability >= 0
Imbalance Default: 0
Range: Imbalance > 0
Pattern Default: T:T:T:T:T:T:T:T:T:T
Which evaluates the Jacobian at every iteration (for example, the
unmodified Newton-Raphson algorithm).
206
Initial Conditions
Initial Conditions
The initial conditions tab located under simulation preferences allows you to specify parameters that
affect the initial condition solution of the model.
The Error field allows you to specify the maximum displacement error the solver is to allow for the
assembly process.
The translational limit field allows you to specify the maximum translational increment the solver is to
allow while testing trial solutions during a solution step.
The angular limit field allows you to specify the maximum angular increment the solver is to allow while
testing trial solutions for a set of consistent initial conditions that satisfy all system constraints. The
default units for ALIMIT are radians. To specify ALIMIT in degrees, add a D after the value.
Under maximum iterations, you may specify the maximum number of iterations the solver is to allow for
finding displacements during initial conditions, or when reconciling displacement output.
The max acceleration error field allows you to specify the maximum acceleration error the solver is to
allow during an initial conditions solution or for reconciling acceleration output.
The max acceleration iterations field allows you to specify the maximum number of iterations the solver
is to allow for finding accelerations during an initial conditions solution or for reconciling acceleration
output.
The pattern fields specify as many as ten character strings that together establish the pattern for
evaluating the Jacobian matrix during the modified Newton-Raphson solution for the displacements and
accelerations. For each iteration, T or TRUE indicates that the solver is to evaluate the Jacobian, and F
or FALSE indicates that the solver is not to evaluate the Jacobian. Thus, cj determines whether or not the
solver is to evaluate the Jacobian at the jth iteration. If necessary, the solver repeats the pattern of
evaluation until it reaches the maximum number of iterations (MAXIT for displacements or AMAXIT
for accelerations). The number of T's or TRUE's and F's or FALSE's together must be at least one and no
more than 10.
Field Description
Error ERROR
Default: 1.0E-10 Range: ERROR > 0
Translational Limit TLIMIT
Default: 1.0E10 (no limit) Range: TLIMIT > 0
Angular Limit ALIMIT
Default: 30D Range: ALIMIT > 0
Maximum Iterations MAXIT
Default: 25 Range: MAXIT > 0
Simulation Preferences 207
Initial Conditions
Field Description
Max Acceleration Error AERROR
Default: 1.0E-4 Range: AERROR > 0
Max Acceleration AMAXIT
Iterations Default: 25 Range: AMAXIT > 0
Acceleration Pattern Default: T:T:T:T:T:T:T:T:T:T
Which means the solver is evaluating the Jacobian at every iteration.
Pattern Default: T:T:T:T:T:T:T:T:T:T
Which means the solver is evaluating the Jacobian at every iteration.
208
Contacts
Contacts
The contacts tab located under simulation preferences allows you specify how surfaces of solid parts will
be represented in order to model contact.
Faceting is the process of approximating the surface of an object by a mesh of triangles. All polygon-
based geometry engines used faceted representations of surfaces. The default value Faceting Tolerances
is 300. Increasing this value will result in a finer mesh of triangles, which gives a more accurate
representation of surfaces, which are curved. Increasing the tolerance, however, also increases the
memory requirements of the geometry engine and adds to the computational overhead, which makes it
run slower. Setting the faceting tolerance to values greater than 1000 is not recommended. Values smaller
than 300 will give negligible performance improvements. The faceting tolerance has no effect on
inherently polygonal surfaces such as boxes. You have a slider bar to adjust the current value between
the lower and upper limits.
Field Description
Current Value Current value for faceting tolerance.
Default: 300
Lower Limit The lower limit for the faceting tolerance in the slider bar.
Default: 300
Upper Limit The upper limit for the faceting tolerance in the slider bar.
Default:1000
Results 209
Results
210
Overview
Overview
SimXpert has the capability to display results quantities in animations and charts. You may specify
quantities to be displayed and modify the appearance of the results output as shown below. You may also
transfer loading results to the structures workspace to perform additional analysis.
Results 211
Animation
Animation
You may animate the results of a simulation using the Animation property editor, which is accessible
from the Results toolbox. You may specify key parameters for the animation, including which simulation
is to be animated, the start and end times, as well as looping options. You may record the animation to
generate an MPEG movie file that may be replayed outside of SimXpert. Additional options are available
to control tracking of objects in the animation. If you are animating a model with flexible bodies, the Plot
Data, Deform, and Fringe sections of the Animation form allow you to plot additional result data.
Description of Fields:
Field Description
Reset Button that rewinds the animation to the first frame.
Pause Button that pauses the animation at the current frame.
Play Button that plays animation forward at one frame/time step at a time
Record Button that will cause the animation to be recorded when played.
Results Set Drop down menu shows a list of result sets that have been created from motion
simulations and allows you to choose one for the current animation.
Current Slider bar that shows progress of the animation. You may slide the bar to any
position in the frame set. The arrows at each end advance or rewind the animation
in single frame increments.
Time Displays the time of the current frame in the animation. May also be used to enter
a specific time for which to display the animation.
Frame Displays the frame number of the animation at the current time.
Start Time Field that specifies the start time for the animation. Value entered must be within
the time range of the chosen simulation.
Set to Current Button that sets the start time to the currently displayed time of the animation.
End Time Field that specifies the end time for the animation. Value entered must be within
the time range of the chosen simulation.
Set to Current Button that sets the end time to the currently displayed time of the animation.
Loop Drop down that selects the loop function to repeat the animation replay. Default
setting is Forever.
Forever Animation will continue to run start to finish and then repeat until stopped.
Once Animation will run through one complete cycle and stop.
Oscillate Animation will run from start to end, then run in reverse back to the start point
Once and stop.
Oscillate Animation will run from start to end, then run in reverse back to the start point
Forever and repeat until stopped.
Speed Slider bar that adjusts the speed at which the animation is played.
212
Animation
Sample Form
To create an animation:
1. Make sure that you have successfully completed a Simulation.
2. Select Animation from the Results toolbox.
3. Under Results Set, select the simulation that you wish to animate.
4. Enter your desired start and end time.
5. Select the loop option. This defines what will happen once the animation has finished the selected
time range of the simulation.
6. If you wish to save an MPEG file of the animation, click the record button. Additional recording
options may be set under the Record tab.
7. Click the Play Animation button to start the animation (and recording if selected).
8. While the Animation is playing, you may pause it using the Pause Animation button.
9. Click the Reset Animation button to reset the animation back to the first frame.
10. Optionally select the Camera tab to define the object tracking. Select the Follow Object option
and click in the Follow Object field and select a part for the animation to follow. Select the
Animation tab and click the Play Animation button to play the animation following the part.
11. For a flexible body simulation, use the Plot Data tab to detemine which results quantities will be
displayed in a fringe plot during the animation. The Deform and Frimnge tabs provide additional
flexible results visualization options.
Results 213
Charting
Charting
You may plot result quantities as graphs using the Chart editor, which is accessible from the Results
toolbox. You may select time or a result quantity for the independent axis and result quantities for the
dependent axis. You may plot any available result quantities for any entity in the model. You are limited
to one independent axis but you may have up to two different dependent axes, each with units that
automatically correspond to the units for the curves being plotted.
Description of Fields
Field Description
Dependent Data Form Entries
Chart Name Specifies a name for the chart.
Simulations Selects the simulation to chart from the simulations available in the model.
Entity Selects the part within the model for which to chart data.
Quantity Selects the result quantity of the particular part to be charted.
Auto Update Check box that allows curves to be added to the chart and the prior data cleared
automatically as soon as new data is selected. Cleared by default.
214
Charting
Field Description
Add Curves Adds the curve for the selected data to the current chart. Multiple curves may be
added to the same chart by selecting the desired data for each and then clicking
Add Curves.
Clear Chart Clears all curves from the current chart.
Update Curves Updates the curves on the current chart using data from a later run of the same
simulation but the same entity and quantity.
Independent Data Form Entries
Time Checkbox that selects time as the independent axis. Checked by default.
Simulations Selects the simulation to chart from the simulations available in the model.
Entity Selects the part within the model for which to chart data.
Quantity Selects the result quantity of the particular part to be used as the independent axis.
Results 215
Charting
Sample Forms
To create a chart:
1. Make sure that you have successfully completed a Simulation.
2. Select Chart from the Results toolbox.
3. In the Dependent Data Browser, select the simulation from which to chart data.
4. Select the Entity for which to chart data.
5. Select the Quantity to plot for the selected entity.
6. Click Add Curves to plot the selected result quantity versus time.
7. Select any additional entities and quantities to plot and click Add Curves again.
216
Charting
Load Transfer
You may export the loading results from a particular simulation to the structures workspace. This is
accomplished by using the Load Transfer section of the part property editor after a simulation has been
completed. You may select a time frame and interval over which to export the loading.
Description of Fields:
Field Description
Results Set Specifies results set to be used for quasi-static load transfer.
Specifies start time for loads to be transferred. Time must be within the range of
Start Time
the selected results set.
Specifies end time for loads to be transferred. Time must be within the range of
End Time
the selected results set.
Output interval for load transfer. Within the selected range, transfer loads will be
Interval
calculated at this interval.
Transfer Button that begins the load transfer process with the specified parameters.
Sample Form:
To transfer loads:
1. Complete a simulation.
2. Open the part property editor for the part on which you want to transfer loads.
3. Select the Transfer Loads section of the property editor. Specify the desired results set, start time,
end time, and interval for load transfer.
4. Select the Loads section of the property editor. Specify load bearing geometry for each connection
on the part.
218
Load Transfer
5. Click the Transfer button to export the loads to the Structures workspace.
Example Simulation 219
Example Simulation
220
Overview
Overview
This example shows the simulation of a piston and cylinder assembly subject to specific motion. The
example covers many simulation topics, including importing geometry, creating hardpoints, creating
various types of joints, and imposing motion. By following the steps below, you may complete a sample
simulation and learn the key aspects of motion simulation.
Example Simulation 221
Piston and Cylinder Assembly
Components / Hardpoint.
Enter “PistonSlideHP” as the hardpoint Name.
Select Single.
Enter value for X location: -0.3965
Enter value for Y location: 0
Enter value for Z location: 0.314
Click OK.
14. Create a cylindrical joint.
Connections / Cylindrical.
Enter “CrankPivot” as the Connector name.
Click in the Part1 field and select crankshaft from the tree.
Click in the Part2 field and select engineblock from the tree.
Select Define Location Using Hardpoint.
Click in the Hardpoint field and select CrankPivotHP from the tree.
Select Global under Define Orientation Using.
Click OK.
15. Create a spherical joint.
Connections / Spherical.
Enter “CrankToRod” as the Connector name.
Click in the Part1 field and select crankshaft from the tree.
Click in the Part2 field and select conrod from the tree.
Select Define Location Using Hardpoint.
Click in the Hardpoint field and select CrankToRodHP from the tree.
Click OK.
16. Create a revolute joint.
Connections / Revolute.
Enter “RodToPiston” as the Connector name.
Click in the Part1 field and select conrod from the tree.
Click in the Part2 field and select piston from the tree.
Select Define Location Using Hardpoint.
Click in the Hardpoint field and select RodToPistonHP from the tree.
Select Global under Define Orientation Using.
Click OK.
17. Create a translational joint.
224
Piston and Cylinder Assembly
Connections / Translational.
Enter “PistonSlide” as the Connector name.
Click in the Part1 field and select piston from the tree.
Click in the Part2 field and select engineblock from the tree.
Select Define Location Using Hardpoint.
Click in the Hardpoint field and select PistonSlideHP from the tree.
Select User Specified under Define Orientation Using.
Enter value for the Rotation 1 Euler angle: 0
Enter value for the Rotation 2 Euler angle: 90
Enter value for the Rotation 3 Euler angle: 0
Click OK.
18. Create a motion.
Motions / Add Motion.
Enter Motion_1 for the name.
Click in the Joint Name field and select CrankPivot from the tree.
Select Rotate Z as the Freedom.
Select Displacement as the Motion Type.
Select Step as the Function Type.
Enter 0 as the Initial Value.
Enter 14400 as the Final Value.
Enter 0 as the Start Step Time.
Enter 8 as the End Step Time.
19. Perform the Simulation.
Simulation / Simulation.
Enter 4 as the End Time.
Enter 400 as the Number of Steps.
Click the Begin Model Simulation icon.
20. Once the simulation has completed, view an animation of the results.
Results / Animation.
Click the Play Animation button.
21. Chart the position of the piston versus time.
Results / Chart.
Select the simulation that you completed earlier.
Select piston as the Entity.
Example Simulation 225
Piston and Cylinder Assembly