Professional Documents
Culture Documents
Adams/Chassis, part of the MD Adams 2010® suite of software, provides a complete analysis
environment for automotive Adams analysis. It does this by providing standard model types, two analysis
types, and post-processing. You run Adams/Chassis in conjunction with Adams/Solver and
Adams/PostProcessor.
2 Adams/Chassis
Adams/Chassis Work Modes
Build
The Build mode allows you to edit model data and change system configuration. You can also work on
multiple models at once. The Build mode is the default for starting Adams/Chassis.
Test
The Test mode allows you to build and run your model. Lear more about Adams/Postprocessor.
Review
The Review mode allows you to visualize analysis results using Adams/PostProcessor.
You can postprocess the output of standard Adams/Chassis events. Postprocessing has two formats:
reports and plots. A majority of standard Adams/Chassis events have either a report, a plot, or both. You
can also create an animation of your event.
Improve
The Improve mode allows you to refine models with Adams/Insight. Here you can use the features from
Adams/Insight to create sophisticated experiments for measuring the performance of your model. It also
provides a collection of statistical tools for analyzing the results of your experiments so that you can
better understand how to refine and improve your model.
Welcome to Adams/Chassis 3
Adams/Chassis Data Structure
Bushing
System File (.xml) Vehicle
Full, Front, or Rear Database Damper
(.vdb) Spring
Subsyste
Tires
Visedit
.adm aview_fragment.txt
Event and Alignment Adams/Chassis
Parameters GUI
Adams/
View
achassis_defaultSession.xml achassis_defaultPreferences.xml
Application or
Adams Output Files process
Database or
.gra .res
collection of files
.req .msg
Individual files
Welcome to Adams/Chassis 5
Adams/Chassis Data Structure
User Specified
Adams/PPT Text Editor
Application or
process
Database or
collection of files
Individual files
Vehicle Databases
Each model's data is stored in a vehicle database (VDB). A database is a file folder or directory with the
extension .vdb. The database contains sub directories, also called tables (.tbl), for the different file types.
Databases can be organized to represent:
• One vehicle
• One vehicle program (with variants)
• Common components shared by multiple programs (department-wide library)
• Corporate libraries (tires, shocks, bushings, and so on)
6 Adams/Chassis
Adams/Chassis Data Structure
Systems
System files are also known as vehicle configuration files. They are stored in <model>.vdb/systems.tbl.
System files are the first step in visual data editing. There are three types of systems in Adams/Chassis:
front, rear, and full.
System files contain:
• Subsystem References - Found in the Subsystem Definition tab in the property editor. Subsystem
references include:
• References required and any optional subsystems
• Optional geometry offset to shift entire subsystem in space
• System Parameters - Aspects that affect the model but aren't related to a particular subsystem.
These are found in the Properties tab in the system editor. System parameters include:
• Integrator parameters (For a detailed explanation on Integrator Parameters, see the C++
INTEGRATOR or FORTRAN INTEGRATOR statement in Adams/Solver online help.)
• Ground height, gravity
Welcome to Adams/Chassis 7
Adams/Chassis Data Structure
• Optional requests
Subsystems
Subsystem files are stored in <model>.vdb/subsystems.tbl. They are analogous to the old Adams/Pre data
files (.fst, .sst, .rst, and so on). Data from the property files that were used in versions 2001 and higher is
embedded in the subsystem files.
Subsystem files
The primary contents of subsystem files include:
• Hardpoints
• Parts
• Connectors (bushings)
• Property file references
• Construction options
• Subsystem parameters (if applicable)
Subsystem types
• Body
• Front suspension
• Front wheel and tires
• Steering gear
• Steering column
• Rear suspension
• Rear wheel and tires
Optional subsystems
• Loading
• Instrumentation
• Powertrain
• Brakes
• Controls
• Additional rear suspensions (trailers)
8 Adams/Chassis
Adams/Chassis Data Structure
Property Object
Property files that were used in version 2001 and higher are now embedded in susbsytem files and
referred to as property objects. Once a property is selected in the tree view in Build mode a New property
can be created, existing property can be copied and renamed or it can be deleted from the subsytem.
Property files can also be imported or exported as .xml files.
XML Advantages
The XML files are text based, but they have tags that are used to define context of data. These tags are
similar to tags used to define context of text in HTML. The files can be viewed in any text editor or Web
browser. The advantages of using XML include:
• Operating system independence
• Self-documenting
• You can use third-party tools for viewing and editing. Adams/Chassis can be considered an XML
editor.
Welcome to Adams/Chassis 9
Vehicle Coordinate System
The origin is located some place in front of the vehicle with the Y=0 as the centerline and the Z=0 is
someplace below the vehicle. Due to varying wheel and tire sizes Z=0 does not correspond with the
ground patch for a particular tire. The result of choosing Z=0 to be below the vehicle is that one will not
have negative Z values when describing the vehicle geometry.
10 Adams/Chassis
Adams/Solver (C++) in Adams/Chassis
Customers transitioning from MSC's Adams/Solver (FORTRAN) to Adams/Solver (C++) will want to
gain confidence in using the C++ version and may want to use the C++ and FORTRAN versions of
Adams/Solver interchangeably during the transition period. To facilitate this Adams/Chassis supports
setting a Solver Preference. See Preferences.
Learn more about Adams/Solver (C++).
Learning Basics
This section explains the basics of working in Adams/Chassis.
View examples that introduce each work mode.
12 Adams/Chassis
Starting/Preferences, Commands and Database
Starting Adams/Chassis
In this section you learn how to start Adams/Chassis in the UNIX and the Windows environment. You
must run Adams/Chassis in a directory to which you have write permissions.
Preferences
See the Preferences dialogbox help for information on setting Adams/Chassis preferences.
Learning Basics 13
Starting/Preferences, Commands and Database
Adams/Chassis Commands
Adams/Chassis contains several utilities that can be accessed through a command line interface. The
following commands, except where noted, are available on UNIX and Windows
.
Database Registration
You can reference multiple registered Databases for access. Databases are registered in the Preferences
window.
Note: When exiting Adams/Chassis, it automatically registers any active databases that are not
already registered.
14 Adams/Chassis
Starting/Preferences, Commands and Database
To add a database:
1. From the Edit menu, select Preferences.
2. In the Preferences window, select the Add New... button.
3. Select the appropriate .vdb directory.
To delete a database:
1. Select the database you want to remove.
2. Select the Delete Selected button.
2. Select the model you want to load, and then select Open.
You can load as many models as you want. When you load a model, the databases required for
that model are automatically registered.
Database Utilities
The Database Utilities window (shown below) allows you to manage Databases. It offers the following
options:
• Copy Database - Allows you to specify a source vehicle database (.vdb) to copy to your
working directory.
• Publish Database - Allows you to specify a source system (vehicle configuration) file and
create a new destination database with the data found in the source system model. You have the
option to overwrite existing files, if applicable.
• Create New Database - Allows you create a new, empty database.
• Copy and Rename Database - Allows you to copy a vehicle database to a destination location
and rename a registered database tag (mdids://<name>) in all associated .xml files.
Learn how to use the Database Utilities Window.
Sessions
A session in Adams/Chassis encompasses the entire vehicle modeling environment. From one interface,
you can modify vehicle data, build events, test events, and review results The entire environment,
including user-specified settings, can be saved in a session file. Learn about the Default Session File.
16 Adams/Chassis
Starting/Preferences, Commands and Database
• Prompts you to save any changes you may have made to your
current session.
• Updates your preferences with used databases.
• Writes achassis_defaultPreferences.xml.
• Writes achassis_defaultSession.xml .
Learning Basics 17
Adams/Chassis Window
Adams/Chassis Window
The Adams/Chassis window has a consistent design in each work mode. These elements include:
• Menu Bar
• Main Toolbar
• Treeview
• Property Editor
Property Editor
The property editor in Adams/Chassis changes based on your current work mode and your selection in
the treeview. It allows you to modify objects you selected in the treeview.
The next sections explain the property editor in each mode:
• Build
18 Adams/Chassis
Adams/Chassis Window
• Test
• Review
• Improve
Build Mode
The property editor in Build mode:
• Displays the subsystem file you are working on.
• Shows what component you are editing in a tab.
• Displays the file name of the component when you place your cursor over it.
• Allows you to manipulate data in editable table cells.
• Allows you to add new elements to your model.
• Allows you to save the modifications to the model or save it as a new file.
Test Mode
The property editor in Test mode allows you to:
• Select a single event to edit.
• View current field units feedback.
• Select optional road/testrig data file.
• Select optional front/rear auto-alignment.
• View input parameters for any given number of events from the fingerprint tree.
Learning Basics 19
Adams/Chassis Window
• Select a fingerprint to view the first four input parameters and attributes for every event from the
fingerprint in a table. This table allows you to quickly view and modify the parameter settings
prior to building and running your simulations.
• View input parameters and attributes for the events you selected in the table.
Review Mode
The property editor in Review mode:
• Is a dynamically created table based on your selection in the treeview
• Creates a table containing an entry for each selected event
Each event will have checkboxes for enabling plots, reports, and animations (if one or more of
those categories is not available for the event, the table will not provide a checkbox for that
category)
.
Note: The toggle settings you have selected will be retained when you switch modes. They are
saved and retained when you exit your Adams/Chassis session. When you reopen
Adams/Chassis, the postprocessor toggles will be set as you saved them for a given session
file.
• Contains buttons to check or uncheck selected cells . You can also select cells by:
• Selecting the table row or column headers
• Selecting and dragging your mouse within the table cells themselves
• Allows you to select different options for postprocessed results, such as:
• Use personal files
• Overlay plots/reports of same event
• View Delta reports (two only)
• Send reports to Adams/PostProcessor
• Overlay animation
Learn more about Review Mode Options.
Improve Mode
The property editor in Improve mode provides the gateway for working with Adams/Insight. Here you
can use the features from Adams/Insight to create sophisticated experiments for measuring the
performance of your model.
20 Adams/Chassis
Adams/Chassis Window
Adams/Chassis Toolbars
The toolbars in Adams/Chassis change according to the work mode.
• Build
• Test
• Review
• Improve
Shortcut Menus
Adams/Chassis provides shortcut menus for the Treeview and Bookshelf. The actions found in the
shortcut menus are all available in the menu bar or toolbar. The shortcut menus change according to the
work mode.
Treeview
The Adams/Chassis treeview changes according to the work mode. The treeview has different features
in each work mode.
Build
Test
The treeview in Test mode is divided into two sections:
• Event Bookshelf
• Fingerprint Tree
24 Adams/Chassis
Adams/Chassis Window
Review
The Review mode treeview is divided into two sections:
• Postprocessing Bookshelf
• Fingerprint Tree
Improve
The Improve mode treeview is divided into two sections:
• Fingerprint bookshelf - Displays fingerprints from the test mode's treeview.
• Investigation events tree - Displays events that are to be used by the investigation.
Wildcards
* - matches an arbitrary sequence of characters
? - matches one character
[chars] - matches any of chars
26 Adams/Chassis
Adams/Chassis Window
Examples:
The Build mode treeview has two different hierarchical data representations available: Sort by
Subsystem and Sort by Component. Both sorting methods give access to the same data.
Sort by Subsystem - Arranges the data in the tree in the following way: Model->Subsystems-
>Components
Sort by Components - Arranges the data in the tree in the following way: Model->Components-
>Subsystems
Learning Basics 27
Adams/Chassis Window
• Select the Sort tree by component type button to view all the components in the
subsystem.
Build mode
Test mode
Review mode
Improve mode
Selecting Data
Because the Property Editor is automatically created based on the items selected in the Treeview, there
are several ways you can select items from the treeview and to view data.
The options for individually selecting datafiles to update are shown below.
The following explains the options available for updating individual files.
Fingerprint Update
The other primary method of converting Adams/Pre data to Adams/Chassis data is by using an
Adams/Pre fingerprint file to automatically translate the data and generate the correct vehicle
configuration files. Learn how to update a fingerprint.
The following shows the options for using fingerprint files.
Learning Basics 31
Adams/Chassis Data Translation
The following explains the options available for updating individual files.
Translating Data
There are two ways to translate Adams/Pre data so it can be used in Adams/Chassis 2003:
• Update an individual data file
• Update a fingerprint file
To update a fingerprint:
1. From the Utilities menu, select Update 11.0 Adams/Pre files.
The Update window appears.
2. Select the Fingerprint to Vehicle Configuration tab.
3. Select the Find tool next to Update Directory to choose the directory you want to update.
The Selection Dialog window appears.
4. In the Selection Dialog window, double-click the directory you want to update, and then select
OK.
5. Select the Find tool next to Destination .vdb to choose the directory where you want to place
the translated data files.
The Selection Dialog window appears.
6. In the Selection Dialog window, double-click the directory you want to place the translated data
files, and then select OK.
7. Select the fingerprints you want to update from the Old Fingerprints (.fp) list. The unique
vehicle configurations are shown in the Unique Vehicle Configuration list.
8. (Optional) Rename the default fingerprint with a unique name in the text box under the Old
Fingerprints (.fp) list.
9. Select Create 12.0 fp File.
10. Select a configuration from the Unique Vehicle Configuration list. The data files used in the
configuration are listed in Datafiles Used in Vehicle Configuration.
11. Verify that all the data files required exist.
34 Adams/Chassis
Adams/Chassis Data Translation
Overview
Creating/Opening a Model
To create a model:
1. Select Load Example Model button in the toolbar.
2. Change the subsystem files or components as desired.
To open a model:
1. Select the Load Model button in the toolbar.
2. Do one of the following:
a. If you want to load a pre-defined example model:
• Select Example Vehicles in the file browser.
• Select the model you want to load.
b. To load other models:
• Select a valid system file to load the model, such as
vehicle_database.vdb/systems.tbl/system_file.xml.
Model Setup
You can change the setup of the model by using the system file editor. This allows you to change the
model type, select or change the required subsystems, and select or change optional subsystem for a given
model type. This is only available in the Build mode.
You can also change the properties of the model by selecting the Properties tab.
• Full
• Front
• Rear
Required Subsystems Displays the subsystem files used for the type of model selected. This list
changes according to the model type selected.
Model
type Required subsytem files
Full • Body
• Front Suspension
• Front Wheel/Tires
• Steering Column
• Steering Gear
• Rear Suspension
• Rear Wheel/Tires
Front • Front Suspension
• Front Wheel/Tires
• Steering Column
• Steering Gear
Rear • Rear Suspension
• Rear Wheel/Tires
38 Adams/Chassis
Overview
If you made a change to the subsytem configuration, select Apply or Cancel to continue.
Properties Tab
Example
Old Format:
REQ/81181112,DIS,I=1181112, J=1104112, RM=1104112
,C=LF Displacement of P12 TieRod Bushing from Spindle wrt Bush Coord
• Direction cosines of the reference marker for the request with respect to the vehicle coordinate
system
• Location of the reference marker
• Polarity (Aft/Right/Up,For/Left/Down)
Example
!
! Start of Request Orientation Information
! Req ID Description
!Axes 11051101 LF_Force_on_Frame_from_P1_LCA_Bushing_wrt_Frame
!X 1.0e+000 0.0e+000 0.0e+000 2665.00 0.00 605.00 Aft
!Y 0.0e+000 1.0e+000 0.0e+000 Right
!Z 0.0e+000 0.0e+000 1.0e+000 Up
!
!
! 11051105 LF_Force_on_Frame_from_P5_UCA_Bushing_wrt_Frame
!X 1.0e+000 0.0e+000 0.0e+000 2665.00 0.00 605.00 Aft
!Y 0.0e+000 1.0e+000 0.0e+000 Right
!Z 0.0e+000 0.0e+000 1.0e+000 Up Direction
Cosines
!Location (X Y Z) wrt global Polarity
Construction Options
Construction options allow you to change how different components are modeled or how they are
attached. This is another example of how Adams/Chassis offers modeling flexibility without extensive
customization.
Construction options offer:
Adams/Chassis Build Mode 41
Overview
Steering Column
• U-Joint Phasing
• Double Cardon Joint
Steering Gear
• Nonlinear Rack-and-Pinion Gear
Body
• Body-on-Frame Option
• Two-Part Body Option
• Seat Stiffness Option
42 Adams/Chassis
Overview
Powertrain
• Powertrain Model Type
• Roll Restrictor
• Two-Piece Drive Shaft
• Viscous Coupling
• Halfshaft Compliance
Adams/Chassis Build Mode 43
Modeling
Modeling
Adams/Chassis allows you to model in several different ways:
• Aerodynamic Modeling
• Suspension Design Module
This routine models the aerodynamic forces and moments which act on a vehicle. Aerodynamics
modeling provides the sensitivities of a particular vehicle to wind gusts. This program requires wind
tunnel aerodynamic coefficient data for the vehicle being modeled and they must be taken according to
SAE J1594 conventions for Vehicle Aerodynamics Terminology.
The user is provided an option of using two wind force points of application or only one. This option
depends on the source and type of wind tunnel data. Europe tends to require two points where data in the
U.S. is typically resolves to a single point. To apply aerodynamic forces at two positions on the body, the
GFORCE statement described below must be duplicated at both points.
A wind velocity and angle SPLINES allow the modeler to simulate wind fans, chaotic wind forces, etc.
The wind properties can be dependent on distance (useful for wind fan modeling) or on time (which
allows to user to more easily investigate vehicle sensitivity versus speed). The wind velocity and angle
are with respect to ground. The routine calculates relative wind speed and direction based on vehicle
velocity and yaw angle.
The aerodynamics coefficients can be in 2D spline form or 3D spline form. For a 2D spline, the
independent variable is the wind angle. If a 3D spline is used, the coefficients are determined by spline
lookup of wind angle and vehicle pitch angle. The vehicle pitch angle is determined from “Vehicle
Statistics” request. The 2D and 3D coefficients are stored is separate property files. Therefore, to switch
from one method to other, users will have to read in a new property file.
The aerodynamic GFORCE statement takes the following form:
GFORCE/id, I=imrkr, JFLOAT=jmrkr, RM=bm_sae ,
,FUN = USER (1102,tarea,twb,rho,dscale,dragid,sforid,liftid,rollid,
pitid,yawid,itype,windv,winda,imark)
44 Adams/Chassis
Modeling
where:
if itype < 0 wind velocity and angle are a function of longitudinal distance in global
ground X direction
windv = wind velocity
if windv < 0 absolute value of "windv" is the id of the wind velocity SPLINE (m/s)
in which the X value is time if "itype" > 0 or distance if "itype" < 0
winda = wind angle of attack (sign convention is 0 deg for straight ahead, 90 deg for wind
from the right, -90 for wind from left, etc.)
if winda < 0 absolute value of "winda" is the id of the wind angle SPLINE (deg) in
which the X value is time if "itype" > 0 or distance if "itype" < 0
imark = MARKER id of the point of application of the forces and moments. This marker
must be orientated in SAE coordinates (X out front, Y to right, and Z pointing
down)
The force application MARKER, "imark", must be in vehicle SAE orientation. The origin of this
MARKER must coincide with the location at which the coefficients were measured (or be placed at the
location to which the coefficients were resolved). As a general note, the force consistency factor is test
section area of the vehicle and the moment consistency factor is the test area * wheelbase. These factors
must be properly passed to accurately represent the forces and moments.
Adams/Chassis Build Mode 45
Modeling
ARRAY/999,NUM=-2.458720e+04
SPLINE/106 SPLINE DRAG Cd
, X = -20, -15, -10, -5, 0, 5, 10, 15, 20
, Y = 0.536, 0.516, 0.481, 0.443, 0.417, 0.437, 0.476, 0.503, 0.519
SPLINE/107 SPLINE SIDE FORCE Cs
, X = -20, -15, -10, -5, 0, 5, 10, 15, 20
, Y = -1.007, -0.757, -0.506, -0.240, 0.019, 0.269, 0.523, 0.771,
1.008
SPLINE/108 SPLINE LIFT C1
, X = -20, -15, -10, -5, 0, 5, 10, 15, 20
, Y = 0.517, 0.384, 0.218, 0.103, 0.066, 0.116, 0.232, 0.385, 0.513
SPLINE/109 SPLINE ROLL MOMENT Crm
, X = -20, -15, -10, -5, 0, 5, 10, 15, 20
, Y = -0.297, -0.220, -0.143, -0.068, 0.004, 0.075, 0.148, 0.222,
0.295
SPLINE/110 SPLINE PITCH MOMENT Cpm
, X = -20, -15, -10, -5, 0, 5, 10, 15, 20
, Y = 0.106, 0.093, 0.096, 0.109, 0.112, 0.106, 0.098, 0.097, 0.109
SPLINE/111 SPLINE YAW MOMENT Cym
, X = -20, -15, -10, -5, 0, 5, 10, 15, 20
, Y = -0.079, -0.067, -0.050, -0.021, 0.009, 0.037, 0.063, 0.078, 0.08
To activate SDM:
1. In Build mode treeview, select the subsystem.
2. In the property editor, select the Properties tab.
3. In the property editor treeview, expand system_parameters, and then expand optional_requests.
4. Select sdm_output.
5. In the Value column, enter 1.
46 Adams/Chassis
Modeling
Note that SDM is always on for a ride motion event whether you select a SDM optional request. SDM
cannot be turned on for an SVC event (SVC and SVC iterate) and a force-based roll motion event.
Seven SDM parameters are contained in the TIRE SIZE, VEHICLE SPEED, and SVC PARAMETERS
table.
Adams/Chassis enters default values for these parameters, but it is recommended that you calculate them
for your vehicle model to ensure the most accurate SDM calculations.
For more information, see Computation of Suspension and Steering Characteristics.
SDM Requests
column 1: left
column 2: right
column 3: branch id
column 4 - column 6: not used
All requests follow the above convention except "roll center location (REQUEST 10018 and 30018)".
For roll center location, column 1 has an output of roll center lateral location from half track and column
2 has vertical location.
Flexible Parts
Flexible parts allow you to:
• Capture inertial and compliance properties during handling and comfort simulations.
• Predict loads with greater accuracy by allowing Adams to account for flexibility during
simulations.
• Study deformations.
• Examine the linear system modes of a flexible model when you use Adams/Flex with
Adams/Linear. For more information, see the online help for Adams/Flex.
Learn about:
• FEA Node Finder
• Makeflex
For more information on modeling flexible parts in Adams/Chassis, see Knowledge Base Article 10078.
Input
There are two required input files:
1. Attachment data file - Lists all the Adams/Chassis attachments. It has a fixed format, and all the
attachment names and locations must be listed. You can use the Body Attachment Finder utility
event to generate a sample file conforming to this format. See an example.
2. Modal Neutral File (MNF) - The standard flexible body representation for Adams.
Output
There are two output files:
1. Adams/Chassis flx file - The input to the Adams/Chassis makeflex utility. Learn more about
makeflex. The node finder utility can be considered a .flx file preprocessor.
2. Log file - Lists the attachment names, attachment locations in both vehicle and part coordinate
systems, the actual node locations, and the distance from the attachment locations to the closest
interface nodes. See an example log file.
50 Adams/Chassis
Flexible Parts
Note: If you modify modeling options so the flexible part has a different set of attachments,
repeat Steps 2 through 6.
Makeflex
Adams/Chassis Makeflex is the utility that makes it possible to model flexible parts. It will use
NASTRAN results and a Adams/Chassis setup file to create an Adams/Chassis flexible .py module, and
an Adams/Flex .mtx file.
Adams/Chassis Build Mode 51
Flexible Parts
fea_results.mnf fea_results.mnf
MAKEFLEX
fea_results.mnf fea_results.mnf
Execution
To run Makeflex, simply type the following in your UNIX or DOS shell:
achassis -makeflex
Example Files
• frame.flx
• body.flx
• f_subframe.flx
• r_subframe.flx
• f_lca.flx (front lower control arm)
• f_uca.flx (front upper control arm)
• r_lca.flx (rear lower control arm)
• r_uca.flx (rear upper control arm)
Note: The node list you will need will depend upon your model type, different front and rear
suspensions require different hardpoints to be specified.
NASTRAN setup
To model your flexible part with Adams/Chassis, you must specify the units in your NASTRAN model
in a specific way. The following line should appear in your NASTRAN input file (.dat):
DTI, UNITS, 1, MGG, NEWTON, MM, SECOND
In addition, you should designate the nodes that will attach to the Adams/Chassis model as Master Nodes.
The location of these master nodes should be close to the location of the corresponding Adams/Chassis
hardpoints.
52 Adams/Chassis
Flexible Parts
SCALAR STRING
Flex part partname rsub
APre Part ID fpid 349
MNF filename mnffile rsub_flex.mnf
MTX filename mtxfile rsub_flex.mtx
Flex part origin 0 0 0
Dynamic Limit dlimit 1000.0
Stability dstab 10.0
Flex part - name for your flexible part. This name is used to create the resulting .py file name.
APre Part ID - Adams/Chassis part ID of the rigid part you are replacing with a flexible part.
Adams/Chassis supports the following parts with no customization required:
In order to integrate your flexible part(s), you must specify the proper part ID
Notes: • The .mnf and .mtx files will be created during the Makeflex process.
• Please refer to the DYNAMIC_LIMIT and STABILITY_FACTOR arguments of
FLEX_BODY statement in Adams/Solver (C++) documentation for detailed
information on this feature.
The majority of the work required to replace an Adams/Chassis rigid part with a flexible part is the FEA
node/Adams/Chassis hardpoint list. You must associate a node ID with every hardpoint that belongs to
the flexible part. A sample list for a subframe is shown here. The left column specifies the FEA mesh
node ID, and the right column specifies the Adams/Chassis hardpoint ID. Adams/Chassis hardpoint ID's
can be found by looking at the subsystem diagrams.
The following table is an example node_hard_points table for a flexible subframe.
The format for the hardpoint ID's in the above example has only numbers. For front and rear subframes,
the hardpoints are within either the front or the rear system.
For flexible body or frame modeling, the hardpoint ID must contain a letter indicating the system, and
the hardpoint number. Here is the same list, if one were attaching a body instead of a subframe
SCALAR INT
1 RIGID 2 CONSTANT 3 PARTIAL 4 FULL coupl_typ 3
Adams/Chassis Build Mode 55
Flexible Parts
This specifies the inertia coupling mode you wish to model. Please refer to the Adams/Solver manual for
more information on flex body inertial coupling.
This table lists the flexible modes you don't want included when you run your Adams model. You will
almost always want to turn off the first 6 (rigid body) modes. In addition, you may want to disable some
of the higher frequency modes to reduce simulation time.
This optional table allows you to specify three damping ratios for use with your flexible part. You specify
the three damping ratios, and the 2 break frequencies that separate the damping ratios.
Steering Gear
Steering gear or rack mounting markers can be mounted to one of three parts: front subframe, frame rail
(for body-on-frame vehicle) or body.
Adams/Chassis will first look to see if a front subframe exists. If so, the mounting markers will be
attached to this part.
Next Adams/Chassis will check for body-on-frame construction. If this is found, and there is no isolated
front subframe, the mounting markers will be attached to the frame part.
If neither of these conditions are true Adams/Chassis will attach the markers to the body part.
What this means is that different node lists in .flx files will be required when integrating a flexible body,
depending on the type of vehicle you have. Adams/Chassis will provide error messages during the Build
Model phase if a node has not been specified.
The figure shows the default Leaf Spring Preprocessor window. For more information on the tabs inside
the Leaf Spring Preprocessor, see:
• Leaf Spring Preprocessor: Leaf Title
• Leaf Spring Preprocessor: General Information
• Leaf Spring Preprocessor: Axle Information
• Leaf Spring Preprocessor: Shackle Information
• Leaf Spring Preprocessor: Geometry
• Leaf Spring Preprocessor: Leaf Eyehook Information
• Leaf Spring Preprocessor: Bushing Information
• Leaf Spring Preprocessor: Leaf Clips
• Leaf Spring Preprocessor: Leaf 1
• Leaf Spring Preprocessor: Leaf 2
58 Adams/Chassis
Leaf Spring Preprocessor
For example, a file called original_leafspring.py file would have a method defined as:
def original_leafspring (G):
When you modify parameters in your leaf spring property file, and re-name it modified_leafspring.py, the
method would still be:
def original_leafspring (G):
Since the file name now is modified_leafspring.py, but the method is original_leafspring, you get an
error.
The method name, then needs to be named like the file name for this to work. So, your
modified_leafspring.py file should have:
def modified_leafspring (G):
Makeleaf Program
Makeleaf is a program that builds a beam-element leaf spring model suitable for use with Adams/Chassis.
Makeleaf takes the leaf data in the leaf template (.ltf) file, and creates a beam-element leaf spring property
file (.py). This model file is used with Adams/Chassis. View An Example Leaf template File.
Makeleaf Process
If the leaf template file is called sample.ltf, Makeleaf creates sample.py. Learn How Makeleaf Works.
Using Makeleaf
You can run Makeleaf from the command shell or the Adams/Chassis interface.
2. The Adams control file created in the previous step is run with Adams to exercise the leaf from
the free state to the design position.
3. Adams/View is executed to create an Adams model file of the leaf in the design position. The
results from the previous step are read, and a new model file is written. (The makeleaf program
creates an Adams/View command file to accomplish this).
Adams/Chassis Build Mode 61
Leaf Spring Preprocessor
4. The leafspring model in both free and design positions is processed to produce the final leaf model
file for use with Adams/Chassis.
================================================================================
TITLE
--------------------------------------------------------------------------------
Example leaf spring file
================================================================================
GENERAL INFORMATION
--------------------------------------------------------------------------------
4 = No. of Leaves
0.0 = Frictional Coefficient
2.1 = Impact Exponent
1 = Leaf Spring ID Number (pick 1-REAR, 2-FRONT, 3-OTHER )
1 = Flag for fitting alogarithm (1-2nd poly, 2-3rd poly)
1 = Flag for contact alogarithm (1-impact w/frict)
AXLE INFORMATION
--------------------------------------------------------------------------------
0.5 = Extra Mass on the Dummy Axle (U-bolts, spacers, etc.)
41.3 = Reference Marker to Leafpack (bot-OVERSLUG, top-UNDERSLUG)
40.0 = Front Inactive Length (mm)
40.0 = Rear Inactive Length (mm)
62 Adams/Chassis
Leaf Spring Preprocessor
SHACKLE INFORMATION
--------------------------------------------------------------------------------
139.88 = Shackle Length
0.73 = Shackle Mass (kg)
3.67E1 = Shackle Inertia: Ixx (kg*mm**2) (when it's laid in flat pos.)
8.81E2 = Shackle Inertia: Iyy (kg*mm**2) (x-dir. is its pointing dir.)
8.81E2 = Shackle Inertia: Izz (kg*mm**2)
REAR = Shackle Location (FRONT or REAR)
COMPRESSION = Shackle Position (COMPRESSION(above leaf) or TENSION(below leaf))
BUSHING INFORMATION
--------------------------------------------------------------------------------
SPRING RATES (TRANSLATIONAL AND ROTATIONAL)
================================================================================
LEAF # 1
--------------------------------------------------------------------------------
0 = Auxilliary Leaf Flag
650.0 = Front Leaf Length (mm)
785.0 = Rear Leaf Length (mm)
Adams/Chassis Build Mode 63
Leaf Spring Preprocessor
X Z Thickness
----------- ----------- -----------
-589.92 123.77 8.0
-555.09 113.34
-486.13 90.56
-451.50 79.13
-383.58 57.89
-352.91 49.03
-276.92 29.85
-242.13 22.37
-167.64 9.57
-131.96 5.11
-65.21 0.51
-27.11 0.19
0.00 0.00
21.05 0.17
61.97 0.46
136.52 6.21
175.23 11.56
248.37 24.64
283.46 32.38
353.76 51.22
388.92 61.91
457.23 84.66
494.53 97.99
558.79 123.50
593.31 138.57
658.94 168.07
694.25 183.73
720.80 193.30
================================================================================
LEAF # 2
--------------------------------------------------------------------------------
0 = Auxilliary Leaf Flag
2 = No. of Front Contact Points ( <= # of elements*2 )
2 = No. of Rear Contact Points ( <= # of elements*2 )
2.54 = Center Gap Distance between Leaf #1 And #2 (liner thick.) (mm)
2.54 = Front Gap Distance between Leaf #1 And #2 (liner thick.) (mm)
2.54 = Rear Gap Distance between Leaf #1 And #2 (liner thick.) (mm)
525.0 = Front Leaf Length (mm)
635.0 = Rear Leaf Length (mm)
5 = No. of Elements per Front Leaf (<= 45)
6 = No. of Elements per Rear Leaf (<= 45)
8.00 = Seat (leaf center) Thickness (mm)
64.0 = Seat (Leaf Center) Width (mm)
2.00E5 = Material Properties: Emod
7.9E4 = Material Properties: Gmod
64 Adams/Chassis
Leaf Spring Preprocessor
X Z Thickness
----------- ----------- -----------
-511.82 96.7907 8.0
-481.94 87.7102
-454.45 79.4907
-416.25 68.0787
-384.29 58.8754
-350.96 49.632
-317.55 40.8384
-277.57 31.1448
-245.72 24.0214
-212.85 17.3841
-172.3 10.357
-138.29 5.5226
-95.14 1.2738
-61.68 -0.2094
0.000 0.0000
61.67 0.2006
102.13 2.0485
133.11 5.2944
174.06 10.7729
216.01 17.6316
246.34 23.3458
290.07 32.687
332.62 43.6053
367.6 53.5062
402.55 64.2678
435.29 74.9009
466.02 85.2701
504.65 99.117
535.67 111.2967
561.02 122.0138
611.26 144.288
(Note: The X value at the Center LEAF must be 0.0)
(Note: The Front LEAF must be in negative X-axis.)
================================================================================
LEAF # 3
--------------------------------------------------------------------------------
0 = Auxilliary Leaf Flag
2 = No. of Front Contact Points ( <= # of elements*2 )
2 = No. of Rear Contact Points ( <= # of elements*2 )
2.54 = Center Gap Distance between Leaf #2 And #3 (liner thick.) (mm)
2.54 = Front Gap Distance between Leaf #2 And #3 (liner thick.) (mm)
2.54 = Rear Gap Distance between Leaf #2 And #3 (liner thick.) (mm)
405.0 = Front Leaf Length (mm)
480.0 = Rear Leaf Length (mm)
5 = No. of Elements per Front Leaf (<= 45)
6 = No. of Elements per Rear Leaf (<= 45)
8.0 = Seat (leaf center) Thickness (mm)
64.0 = Seat (Leaf Center) Width (mm)
2.00E5 = Material Properties: Emod
7.9E4 = Material Properties: Gmod
7.86E-6 = Material Properties: Density (kg/mm**3)
0.1 = Material Properties: Damping
1.2 = ASY
1.2 = ASZ
0 = Leaf Profile to Copy (0 if data is included below)
Adams/Chassis Build Mode 65
Leaf Spring Preprocessor
X Z Thickness
----------- ----------- -----------
-399.5 61.5076 8.0
-359.4 51.0546
-318.31 40.2328
-282.08 31.0422
-248.28 23.0739
-213.34 15.8522
-175.43 9.3821
-137.37 4.4586
-93.58 0.9245
-61.57 -0.2476
00.00 00.00
61.57 0.2494
102.06 2.4562
128.98 5.3642
168.59 10.724
214.39 18.3665
249.89 25.2511
289.64 33.9831
333.8 45.0847
367.91 54.3477
403.28 64.7392
430.63 73.833
468.7 85.7599
================================================================================
LEAF # 4
--------------------------------------------------------------------------------
0 = Auxilliary Leaf Flag
2 = No. of Front Contact Points ( <= # of elements*2 )
2 = No. of Rear Contact Points ( <= # of elements*2 )
0.51 = Center Gap Distance between Leaf #3 And #4 (liner thick.) (mm)
0.51 = Front Gap Distance between Leaf #3 And #4 (liner thick.) (mm)
0.51 = Rear Gap Distance between Leaf #3 And #4 (liner thick.) (mm)
317.5 = Front Leaf Length (mm)
342.9 = Rear Leaf Length (mm)
5 = No. of Elements per Front Leaf (<= 45)
6 = No. of Elements per Rear Leaf (<= 45)
15.02 = Seat (leaf center) Thickness (mm)
63.5 = Seat (Leaf Center) Width (mm)
2.00E5 = Material Properties: Emod
7.9E4 = Material Properties: Gmod
7.86E-6 = Material Properties: Density (kg/mm**3)
0.1 = Material Properties: Damping
1.2 = ASY
1.2 = ASZ
0 = Leaf Profile to Copy (0 if data is included below)
-29.90 = Z-offset leaf
X Z Thickness
----------- ----------- -----------
-305.498 4.9887 9.7
-274.323 4.3701 10.64
-249.806 3.9388 11.12
-224.956 3.5062 11.76
-199.874 3.207 12.33
-173.256 3.041 13.35
-138.388 1.4397 13.63
66 Adams/Chassis
Leaf Spring Preprocessor
Default CG
A default CG option is available for parts in Adams/Chassis templates. Activating this option will cause
the CG to be placed at the geometric center of the part.
68 Adams/Chassis
Working with Subsystems
The following describes the methods for calculating the default CG.
(1) Subframe
For a subframe, the default c.g. is calculated by taking the midpoints of the four corners of the subframe
Note: If three points are used to define a subframe (e.g., a subframe in semi trail rear suspension),
the default cg is calculated by the same method as (3) Control Arms.
(2) Links
For links, the default c.g. is calculated by taking the midpoint of the two points.
quadra_link = midpoint(r_pt41,r_pt51)
This method is applied for all links, a rod and an axle. All parts which defined with two points are applied.
About Body Subsystems 69
Working with Subsystems
Subframe
A subframe construction option is available for several front and rear suspensions. When active, the
subsystem must contain the following data members:
HardPointPair subframe_front
HardPointPair subframe_rear
Part subframe
ConnectorPair subframe_front
ConnectorPair subframe_rear
When inactive, the subframe part is not included in the model. When a fixed joint is selected for one of
the four connection points and the subframe is rigid, only one fixed joint will be written to avoid
redundant constraints.
Subframe Mid-Mounts
Subframe mid-mounts allow you to use up to eight subframe mounts for a front or rear suspension. When
you load a front or rear subsystem, the necessary components for this feature are automatically added.
These components include:
• One construction option
• Two connector pairs
• Two hardpoint pairs
To use subframe_mid_mounts:
1. In Build mode treeview, select the front or rear system.
2. Select the suspension subsystem, and then select the Construction Options tab.
70 Adams/Chassis
Working with Subsystems
3. Select one:
• mid_1_only
• mid_2_only
• both
• none
Now you must set the associated connectors and hardpoint values.
Type Schematic
BRAKE_SIMPLE See Brake Schematic
About Brake System 71
Working with Subsystems
CONSTRUCTION OPTIONS
---- -------------------------------------------------------
For the bilinear method, you need to specify initial gain, final gain, and pressure break point. The
following parameters are used for this method:
For the radius method you supply the distance from the wheel center to the pad center. The brake torque
is calculated by multiplying this distance by the friction force. The following parameters are used for this
method:
With the XYZ method you specify the actual geometric center of the brake pad. A force is applied at this
point, tangent to the line connecting the wheel center and the pad center. The force is applied in the XZ
plane.
The above suspension types also have options which allow the user to model with varying methods. For
example, all suspensions can be build up with a simple link or complex beam element stabilizer bar. Also,
the placement of jounce bumpers and springs can vary as well as the type of bushing model (i.e. linear,
nonlinear, with or without hysteresis).
The suspension and steering systems are separated by including the inner tie rod ball as front suspension
while the rack or center link points are considered steering data. As in the case of the body & tire file,
Adams/Chassis reads this front suspension input data file and looks for major keywords. The software
uses these keywords to identify where blocks of data are to process. This section describe each main data
block of the front suspension input data followed by an example of the parameters Adams/Chassis
requires of the file.
GEOMETRY HARDPOINT
The first major block of data is the geometry point data. The table is set up with the standard set of
required points for both the left and right sides. If the user enters the word "mirror" in the right column,
the right side geometry points will be assumed to be equal to the left side with the Y component negated.
Another field, "(specifiy as left side)", may show up in one column of the geometry point table. This
informs the modeler that the defined point is not symmetric side-to-side in the vehicle and therefore must
be specified only once.
There are several assumptions associated with the definition of the geometry points:
• All bushing and ball joint points are assumed to be located at the center of the bushing or ball.
74 Adams/Chassis
Working with Subsystems
• All bushings are assumed to be located with the axial component mostly longitudinally located
in the vehicle unless a orientation marker is specified in the list of points.
• Bushings on control arms are assumed to be lined up with one another axially.
• The tire patch is the point in PDGS that the designer specified as the tire patch. It is only used in
the compliance tester which can be used with a suspension exerciser model.
• The spindle alignment point orients the wheel toe and camber at design height.
• The jounce bumper tip is the location of the point on the bumper that is first contacted.
• The rebound bumper points are typically the upper and lower shock absorber points since most
suspensions have bumpers in the shocks.
• The torsion bar spring points are the center of the hex section of the bar.
• The center of lower strut point in the McPherson strut must lie on the strut centerline at the
center of the spindle clamp which holds the strut.
• Stab. bar rotational is the point on the center of the stabilizer bar in the center of the rotational
bushing (usually mounted to the body or frame).
• Stab. Bar to Link is the point at the end of the stabilizer bar that attaches to the stabilizer bar link.
• Stab. Bar Link End is the point on the stabilizer bar link which is not connected to the stabilizer
bar.
• Most of the suspension geometry tables look similar with only minor differences. An example of
a torsion bar spring SLA gemetry table is shown below:
POINT LOCATIONS
LEFT (mm) Right (mm)
GEOMETRY HARDPOINT X Y Z X Y Z
UCA Front Bushing 1 1517.15 -438.47 810.27 1517.15 438.47 810.27
UCA RearBushing 2 1796.50 -452.78 773.21 1796.50 452.78 773.21
LCA Front Bushing 3 1325.44 -342.50 447.99 1325.44 342.50 447.99
LCA RearBushing 4 1783.06 -356.29 456.39 1783.06 356.29 456.39
Lower Ball Joint 6 1581.15 -729.46 415.25 1581.15 729.46 415.25
Upper Ball Joint 7 1625.87 -639.78 796.89 1625.87 639.78 796.89
Wheel Center 9 1593.00 -830.40 517.18 1593.00 830.40 517.18
Tire Patch 10 1593.00 -832.60 189.69 1593.00 832.60 189.69
Spindle Alignment Pt 11 1593.00 -705.71 516.35 1593.00 705.71 516.35
Outer Tie Rod Ball 12 1441.00 -753.00 535.00 1441.00 753.00 535.00
Inner Tie Rod Ball 14 1453.50 -411.00 562.00 1453.50 411.00 562.00
Torsion Bar @ 23-24 3132.52 -390.31 495.15 3132.52 390.31 495.15
Bracket
About Front Suspension Subsystems 75
Working with Subsystems
POINT LOCATIONS
Torsion Bar @ LCA 25-26 1762.22 -430.70 462.06 1762.22 430.70 462.06
T-Bracket Bushings 27-28 3141.77 -522.63 477.09 3141.77 522.63 477.09
Stab Bar to Frame 61-62 1320.53 -393.00 560.78 1320.53 393.00 561.78
Stab. Bar to Link 63-64 1541.04 -561.66 552.87 1541.04 561.66 552.87
Stab. Bar Link to LCA 65-66 1536.85 -561.64 432.95 1536.85 561.64 432.95
Jounce Bumper @ Tip 75-76 1733.74 -513.49 538.33 1733.74 513.49 538.33
Jounce Bumper @ LCA 71-72 1733.80 -519.62 525.35 1733.80 519.62 525.35
Rebound Bumper @ 77-78 1657.56 -490.73 770.98 1657.56 490.73 770.98
Frame
Rebound Bumper @ LCA 73-74 1651.28 -554.20 436.40 1651.28 554.20 436.40
Shock Absorber @ 81-82 1657.56 -490.73 770.98 1657.56 490.73 770.98
Frame
Shock Absorber @ LCA 83-84 1651.28 -554.20 436.40 1651.28 554.20 436.40
Front Subfame to 91-92 1325.44 -342.50 447.99 1325.44 342.50 447.39
Body
Rear Subframe to 93-94 1783.06 -356.29 456.39 1783.06 356.29 456.39
Body
A special note should be made concerning the required geometry point information for stabilizer bar
modeling. Adams/Chassis allows the user the flexibility of modeling stabilizer bar links with both
bayonnet style and silent block bushings. For bayonnet bushings, Adams/Chassis uses the link centerline
as the axial direction (i.e. the top end point is the ZP for the lower end and visa versa). For this type of
link, only three lines of geometry information is required:
Stab. Bar to Frame 61-62 1320.53 -393.00 560.78 1320.53 393.00 561.78
Stab. Bar to Link 63-64 1541.04 -561.66 552.87 1541.04 561.66 552.87
Stab. Bar Link to LCA 65-66 1536.85 -561.64 432.95 1536.85 561.64 432.95
For silent bushings, the user must specify the orientation axis of the bushing at each end of the link. To
properly orient the ZP of the bushing at the stabilizer-to-link connection, a geometry point data line
containing the ZP must be added below the point 63-64 line. It must also have the data points defined as
163-164. The same method holds for the other end of the link. The ZP axis should be entered as a line of
data, defined as points 165-166, and placed below the line containing points 65-66:
Stab. Bar to Frame 61-62 1320.53 -393.00 560.78 1320.53 393.00 561.78
Stab. Bar to Link 63-64 1541.04 -561.66 552.87 1541.04 561.66 552.87
76 Adams/Chassis
Working with Subsystems
Stab. Bar Link to ZP 163-164 1536.85 -561.64 432.95 1536.85 561.64 432.95
Stab. Bar Link to LCA 65-66 1536.85 -561.64 432.95 1536.85 561.64 432.95
Stab. Bar Link End ZP 164-165 1541.04 -561.66 552.87 1541.04 561.66 552.87
Adams/Chassis does allow for a bayonnet bushing at one end and a silent block at the other.
ALIGNMENT INFORMATION
Adams/Chassis models every front suspension with alignment joints so a modeler can adjust the toe,
caster, and camber angles. Adams/Chassis provides an automated alignment utility which will adjust
these joints and lock in a requested alignment specification. In order to keep the model aligned at the
correct loading condition, the modeler must put these MOTION specifications into the model (i.e.
vehicles are aligned at curb load but simulated with at least a driver present). The following chart
provides the format:
recommended since Adams has difficulty dealing with out-of-balance tires. An example of each table is
shown below for a torsion bar spring SLA suspension:
(NOTE: Tire, Wheel, Rotor Part assumes inertias have Z as spin axis)
C.G. Locations
Left (mm) Right (mm)
PARTS (CG) X Y Z X Y Z
Upper Control Arm 1550.17 -464.80 777.62 (mirror)
Lower Control Arm 1561.02 -398.92 420.86 (mirror)
Spindle and Caliper 1552.44 -647.66 537.02 (mirror)
Stabalizer Bar Parts 1261.43 -314.41 567.74 (mirror)
T-Bar Crossmember 2158.48 -368.75 442.93 (not applicable)
Tire, Wheel, Rotor 0.00 0.00 0.00 (mirror)
Subframe 0.00 0.00 0.00 (not applicable)
78 Adams/Chassis
Working with Subsystems
SUSPENSION BUSHINGS
An important part of any suspension is the bushing rates and damping. The front suspension input data
file has three required tables of bushing information. The first table informs Adams/Chassis what type of
bushing model to use (refer to the last column of the example torsion bar SLA table below):
The above options allow a modeler to select from many different kinds of joints including several
nonlinear bushings. The joints are helpful in that a user can take all the compliance out of the lower
control arm of an SLA suspension by specifying a revolute joint (-1) for point 3 and a free model (0) for
point 4.
The bushing rates should be specified as the slope of the static load deflection curve. Rate should be
entered as a positive value in N/mm. Adams/Chassis will interpret a negative rate as the SPLINE or
ARRAY statement required by the nonlinear bushing routines. It is important to note that most
Adams/Chassis models assume Z axis as axial and X axis as lateral for suspension bushings. When in
About Front Suspension Subsystems 79
Working with Subsystems
doubt, please build a model and study the Adams *.adm file. Listed below is an example of both the rate
and damping tables for a torsion bar spring SLA suspension:
(NOTE: Torsion bar crossmember is located with Axial toward rear of vehicle)
(NOTE: Torsion bar crossmember is located with Axial toward rear of vehicle)
The last information on bushings is optional and pertains to the initial torques. In studies such as load
cases and accurate wheel center rise simulations, it is sometimes necessary to model the situation in
which the suspension bushings are bolted in place at a wheel position different than the one being
simulated. For example, if the suspension bolts are tightened in the plant at design position and the user
is modeling a simulation at curb load, the bushings will have an intial torque due to windup.
Adams/Chassis can estimate these torques for Adams standard bushing statements only and put them in
the model as a T0. The estimate is performed by multiplying the torsional rate by a deflected angle. This
angle is computed by reading in the "wheel center rise" (i.e. the vertical distance that the wheel center
changes between bushing bolting in the plant and the current simulated condition) and estimating an
angle based on suspension control arm lengths. The bushing initial torque table looks as follows:
SPRING DATA
The next block of data required by Adams/Chassis is the spring chart. Front suspensions typically have
coil, torsion bar, or leaf springs. The first coil spring block provides Adams/Chassis with three important
pieces of information prior to the software reading the actual spring lineup chart. The first is the
attachment location of the spring (i.e. upper arm, lower arm, spindle/body, lower/upper strut, etc.) which
depends on the type of suspension. The other information is how many springs are listed in the chart and
which one to put in the model.
The coil spring chart provides the modeler with all information on the spring design specifications
including rates, capacities, and free lengths. Adams/Chassis will echo the entire chart to the Adams
dataset for reference. It is important to note that the only information that Adams/Chassis actually reads
About Front Suspension Subsystems 81
Working with Subsystems
and uses is the spring rate, free length L, and the diameter. The rest of the chart could be left unfilled if
the modeler so desires. The following is an example of a coil spring data block:
SPRINGS (COIL)
1 = SPRING ATTACHMENT (1=LOWER ARM 2=UPPER ARM)
1 = NUMBER OF SPRINGS
1 = IS THE SPRING TO BE USED
PART SPRING WHEEL CAPACITY CAPACITY K L DIAMETER
NUMBER RATE RATE @ SPRING @ GROUND(- for SPLINE) (GRAPHICS)
(lb/in) (lb/in) (lbs) (lbs) (N/mm) (mm) (mm)
PART-NO 549.00 164.00 2075.00 2350.00 77.1 378.5 35.00
The torsion bar spring chart slightly resembles the coil chart. Torsion bar springs require material
information such as moduli, damping ratios, and shear areas. A good initial guess of these values can be
found in the example below. The torsion bar chart also requires added parameters such as the torsion bar
radius, finish angles, and active lengths. The finish angles, which is the bar windup required to achieve
the desired ride height, should be determined by adjusting a full vehicle model. The torsion bar active
lengths must be obtained from the spring supplier. Shown below is an example of a torsion bar spring
data block:
The last spring chart is the leaf spring, currently only available with the monobeam front suspension. The
user must first specify the standard information as to number of springs in the tables and which one to
use. The only portion of the spring tables that contains data not important for the Adams model is the first
five columns (i.e. part numbers, rate, and capacity). The rest of table #1 includes the three link
approximation rotational spring rates to apply at the two spherical joints:
• KT(x) = Longitudinal twist stiffness of that section (front or rear) of the spring. This parameter is
important for roll stiffness
• KT(y) = Lateral bending stiffness of that section (front or rear) of the spring. This value is
important for the lateral stiffness of the suspension
• KT(z) = Vertical bending stiffness of that section (front or rear) of the spring. This value is
important since it defines the spring rate of the spring.
Table #2 provides Adams/Chassis with the second stage rate information. The simple 3 link spring
models the second stage as an SFORCE between the body and axle. Adams/Chassis need the second
stage rate (negative integer to specify a SPLINE) and the free length of the spring (longer denotes sooner
engagement):
id (standard ids are between 100 and 199 for front suspensions), a scale multiplier for simulation studies
and DOEs, and the method of attachment. See below for an example shock absorber data block:
SHOCK ATTACHMENT
SCALE (1=LOWER ARM)
SHOCK ABSORBERS SPLINE ID MULTIPLIER (2=UPPER ARM)
Left Front 195 1.00 1
Right Front 195 1.00 1
The sign convention on the shock absorber SPLINEs is jounce is positive velocity and force and rebound
is negative velocity and force. The units on velocity should be mm/sec and force should be expressed in
Newtons.
SPLINES AND ARRAYS (KEEP SHOCKS BETWEEN 100-199, OTHERS BETWEEN 300-
399)
The last section is the SPLINEs and ARRAYs block. All SPLINE and ARRAY statements which pertain
to the front suspension must be entered here. In order to keep from over writing other SPLINEs and
ARRAYs in other sections of the model, it is recommended to keep all ids between 100-199. As in the
body & tire data file, this section of the file is read by Adams/Chassis and printed word-for-word to the
Adams dataset. Therefore, any other data such as new REQUEST statements that are typed in Adams
standard format will be echoed to the dataset:
SPLINES AND ARRAYS (KEEP SHOCKS BETWEEN 100-199, OTHERS BETWEEN 300-
399)
SPLINE/195 FRONT
SHOCK
,X = 678.2, -642.6 -609.6 -579.1 -541.0 -508.0 -475.0
, -442.0 -406.4 -370.8 -337.8 -304.8 -269.2 -236.2
, -203.2 -170.2 -134.6 -101.6 -66.0 -33.0 0.0
, 35.6 68.6 104.1 137.2 170.2 203.2 238.8
, 271.8 307.3 340.4 375.9 408.9 444.5 477.5
, 513.1 546.1 581.7 614.7 647.7 680.7
,Y = -1801.4 -1659.1 -1507.9 -1405.6 -1285.5 -1192.1
, -1089.8 -987.5 -889.6 -805.1 -747.3 -671.6
, -604.9 -538.2 -471.5 -409.2 -329.2 -262.4
, -186.8 62.3 142.3 387.0 404.8 422.6
, 435.9 449.2 471.5 501.6 538.2 569.3
84 Adams/Chassis
Working with Subsystems
SPLINES AND ARRAYS (KEEP SHOCKS BETWEEN 100-199, OTHERS BETWEEN 300-
399)
, 596.0 618.3 649.4 667.2 702.8 725.0
, 756.2 782.8 809.5 836.2 862.9
,
• FRICTION DATA
• STEERING GEAR DATA
• STEERING COLUMN DATA
• STEERING DAMPER DATA
• SPLINES AND ARRAYS (KEEP SHOCKS BETWEEN 100-199, OTHERS BETWEEN 300-399)
The rack and pinion and ball-nut steering gears can be modeled as a simplified compliance for quick and
dirty studies or with all of the parts, hydraulics, and friction terms for more accurate predictions. The
steering column can also be modeled as a full collection of parts and joints or a simple wheel and
rotational spring. The simple model steering template only allows for a simple gear and simple column
models.
There are three steering linkage types supported for the ball-nut steering gear model. The first linkage is
a parallel design which includes two tie rods, a center link, a pitman arm, and a idler arm. This system is
found on all SLA suspensions. The second is the Haltenberger which includes a tie rod, a drag link, and
a pitman arm. This design is found on all Twin I-beam front suspensions released prior to 1998. The last
option is the relay rod which is found on most solid axle front suspensions.
The suspension and steering systems are separated by including the inner tie rod ball as front suspension
while the rack or center link points are considered steering data. As in the case of the body & tire file,
Adams/Chassis reads this steering input data file and looks for major keywords. The software uses these
keywords to identify where blocks of data are to process. This section describe each main data block of
the steering input data followed by an example of the parameters Adams/Chassis requires of the file.
GEOMETRY HARDPOINT
The first major block of data is the geometry point data. The table is set up with the standard set of
required points for both the left and right sides. If the user enters the word "mirror" in the right column,
the right side geometry points will be assumed to be equal to the left side with the Y component negated.
Another field, "(specifiy as left side)", may show up in one column of the geometry point table. This
informs the modeler that the defined point is not symmetric side-to-side in the vehicle and therefore must
be specified only once.
There are several assumptions associated with the definition of the geometry points:
• All bushing and ball joint points are assumed to be located at the center of the bushing or ball.
• All bushings are assumed to be located with the axial component mostly longitudinally located
in the vehicle unless a orientation marker is specified in the list of points.
• Most of the steering geometry tables look similar with only minor differences. The simple model
steering data files require less data.
An example of a simple rack and pinion geometry table is shown below:
POINT LOCATIONS
LEFT (mm) RIGHT (mm)
GEOMETRY HARDPOINT X Y Z X Y Z
Bottom of Pinion 15 1349.68 -304.20 429.54 (not applicable)
Center of Rack 16 1466.16 343.97 467.36 (not applicable)
Top of Pinion 22 1316.50 -304.20 92.60 (not applicable)
POINT LOCATIONS
LEFT (mm) RIGHT (mm)
GEOMETRY HARDPOINT X Y Z X Y Z
Steering Wheel 30 2653.58 -370.00 1013.38 (not applicable)
Tilt U-Joint 31 2109.27 -370.00 802.75 (not applicable)
Upper U-Joint 32 1855.49 -336.00 679.28 (not applicable)
Lower U-Joint 22 1695.25 -318.48 526.93 (not applicable)
Bottom of Pinion 15 1594.06 -253.00 378.16 (not applicable)
Center of Rack 16 1385.46 0.00 540.00 (not applicable)
Steering Gear Mount 41-42 1405.46 -100.00 540.00 (mirror)
Steering Gear Mount 43-44 1365.46 -100.00 540.00 (mirror)
About Steering Subsystems 87
Working with Subsystems
The U-joint orientation markers must reference the upper yoke part. Upper is used here to define a part
farther up the steering column.
An advanced ball-nut gear geometry table is shown below:
POINT LOCATIONS
LEFT (mm) RIGHT (mm)
GEOMETRY HARDPOINT X Y Z X Y Z
Pitman/Idler Arm Ball 13-16 1228.3 -315.11 1558.21 1386.74 390.73 1461.74
Btm Sect (Pitman/Idler) 15-18 1373.93 -315.11 1598.44 1499.61 390.73 1564.66
Top Sec (Pitman/Idler) 22-23 1330.65 -315.11 1680.66 1483.84 390.73 1597.01
Steering Damper on Body 19 1333.90 -465.36 1585.20 (not applicable)
Stearing Damper on Cent 20 1299.33 66.92 1534.52 (not applicable)
(NOTE: Steering Column Parts assume inertial Z-axis is along the spin axis.)
STEERING BUSHINGS
An important part of any advanced steering model is the bushing rates and damping. The advanced ball-
nut and rack and pinion gear models only have bushings at the steering gear mounting. In the case of the
ball-nut gear, this bushing rate would be the stiffness of the bolted mounting to the frame.
The bushing section of any input data file has three required tables of bushing information. The first table
informs Adams/Chassis what type of bushing model to use (refer to the last column of the example table
below)
:
The above options allow a modeler to select from many different kinds of joints including several
nonlinear bushings. The joints are helpful in that a user can take all the compliance out of the gear
mounting by selecting -3 or a fixed joint.
About Steering Subsystems 89
Working with Subsystems
The bushing rates should be specified as the slope of the static load deflection curve. Rate should be
entered as a positive value in N/mm. Adams/Chassis will interpret a negative rate as the SPLINE or
ARRAY statement required by the nonlinear bushing routines. It is important to note that all
Adams/Chassis models assume Z axis as axial and X axis as lateral for steering bushings. Listed below
is an example of both the rate and damping tables for a rack and pinion steering system:
:
FRICTION DATA
The next block of data required by Adams/Chassis for the advanced gear modelsis the friction table. The
friction factors are required to accurately model on center handling, steering performance, and drift. The
friction model used by Adams/Chassis was originally developed by Mark Krueger at Mechanical
Dynamics Inc. This model allows for stiction and dynamic friction and is the most robust model
investigated for the Adams integrator.
The first column in the friction factor table identifies the location of the friction (e.g. lower ball joint) and
the type (ROT for rotational and TRA for translational). The stiction motion limit is the magnitude of
motion in mm or degrees, depending on the friction type, that Adams allows before switching from
stiction to dynamic friction. The smaller this value, the more accurate the static friction response but
unfortunately the integrator may not be able to simulate the event. The friction velocity limit is the
velocity at which dynamic friction switches to sticition. As with the stiction motion limit, the lower
values are more accurate but less robust for Adams. The time delay parameter is the time lag for Adams
to apply the friction. Smaller values are desireable but adjustments must be made to ensure accurate and
solvable simulations. The friction magnitude parameter provides the amount of friction. In suspensions
such as SLAs, the lower ball joint friction should be modeled with some load dependency. The last
90 Adams/Chassis
Working with Subsystems
column of the friction table allows the modeler this option. Shown below is an example of the advanced
rack and pinion friction table:
The gear ratio is specified in mm of rack travel per revolution (360 degrees) at the steering wheel for rack
and pinion steering gears and revolutions of the sector per one revolution at the steering wheel for ball-
nut gears. The overall ratio refers to the total steering ratio and is used in the understeer calculations in
the REQSUB.
The simple ball-nut gear data table is similar to that of the rack and pinion. This model does include the
ability to change to worm lead. The worm lead for SLA front suspensions is right handed whereas all
twin I-beam and monobeam front suspensions are left hand lead. An example of the simple ball-nut gear
table is shown below:
The advanced gear table starts with the same information as the simple table. The user is also required to
enter information on the piston, torsion bar and power assist specifics. This table begins with the same
information found in the simple model steering subsystem file. If the user selected to use the simple gear
model option, Adams/Chassis would only read in this data.
The torsion bar data required by Adams/Chassis for the advanced gear is the diameter, length and stop
angle. Adams/Chassis then builds a BEAM to model the torsion bar. Following the torsion bar
information is the power boost parameters whihc includes the type, scaling, piston area, SPLINE ids, and
pump characteristics. The scale factor is helpful in running DOEs where a user may want to quickly
change the boost curve. A example advanced rack and pinion gear model is shown below:
The ball-nut gear table is similar to the rack and pinion and is shown below:
STEERING KT CT KT
SYSTEM (N-mm/rad) (N-mm-s/rad) (in-lb/deg)
COMPONENT (- for SPLINE) (- for SPLINE) ENGLISH
Rag Joint 3.5797E+5 1.00E+2 55.30
id (standard ids are between 300 and 399 for steering systems), a scale multiplier for simulation studies
and DOEs, and the method of attachment. See below for an example steering damper data block:
STEARING DAMPER
280 = Steering damper spline id
1 = Steering damper multiplication
1 = Damper attachment (1=Frame)
The sign convention on the steering damper SPLINEs is compression is positive velocity and force and
extension is negative velocity and force. The units on velocity should be mm/sec and force should be
expressed in Newtons.
SPLINES AND ARRAYS (KEEP SHOCKS BETWEEN 100-199, OTHERS BETWEEN 300-
399)
The last section is the SPLINEs and ARRAYs block. All SPLINE and ARRAY statements which pertain
to the steering system must be entered here. In order to keep from over writing other SPLINEs and
ARRAYs in other sections of the model, it is recommended to keep all ids between 300-399. As in the
body & tire data file, this section of the file is read by Adams/Chassis and printed word-for-word to the
Adams dataset. Therefore, any other data such as new REQUEST statements that are typed in Adams
standard format will be echoed to the dataset:
Steering Gear
Subsystems Example Datafile Schematic
Haltenberger steering_gear_halt.xml See Haltenberger Advanced 2
Steering System Steering System
Pitman Arm Steering steering_gear_pitman.xml See Pitman Advanced 2 Steering
System System
Rack Based 4 steering_gear_rear_four_steer.xml
Wheel Steering
System
Rack and Pinion steering_gear_rack.xml See Rack Advanced Steering System
Steering System
Relay Rod Steering steering_gear_relay.xml See Relay Rod Advanced 2 Steering
System System
Steering Column
Subsystems Example Datafile
Advanced Pitman Arm examples/vehicles/apre_gs.vdb/subsystems.tbl/apre_gs_steering_column.x
Steering System ml
Swing Link Steering examples/vehicles/decar.vdb/subsystems.tbl/decar_steering_column.xml
Column
Tilt Bracket Steering examples/vehicles/bcar.vdb/subsystems.tbl/bcar_steering_column.xml
Column
Steering Column
The Adams/Chassis steering column model allows you to specify compliance, damping, and lash.
Nonlinear column compliance can be modeled by activating the 'column_compliance_method'
consruction option in your steering column subsystem file. If nonlinear is chosen a spline must be
specified. The spline must have X units of deg, and Y units of N-mm.
96 Adams/Chassis
Working with Subsystems
SteeringBoostSimpleProperties
This system uses a 2-D spline with the following variables:
X - Angle across torsion bar
Y - Boost Torque
Type 1 Power boost statements in the Adams dataset:
**************************
* *
* POWER BOOST *
* *
**************************
The power boost function is:
FORCE = (direct +/-) (conversion factor [0.006895]) (piston
area) (boost pressure)
Boost pressure comes from SPLINE/250, which is tbar windup
vs. boost pressure
VARIABLE/1708, FUNC=USER(1102,20016,21009)
SFORCE/10020, I= 1916, J= 1619 , TRANSLATION, ACTIONONLY
, FUNCTION = +0.006895*4963.910000
, *AKISPL(VARVAL(1708)*57.295800,0,250)
SFORCE/10021, I=1619, J=1619, TRANSLATION, ACTIONONLY
, FUNCTION =-0.006895*4963.910000
, *AKISPL(VARVAL(1708)*57.295800,0,250)
GRA/99993,FOR,ETYPE=SFORCE,EID=10020,EMARKER=1916
REQ/99993,FOR,I=1916,RM=1619,C=BOOST FORCE
JOINT/09,REV,I=1615,J=21011
GEAR HOUSING/INPUT SHAFT PIVOT
Note: If unit option 'deg and N' is selected, a piston area of 1.0
should be entered. With this approach the Spline Y values are boost force.
, FUNCTION=+0.006895*VARVAL(10024)*AKISPL(VARVAL(10023)
, ,VARVAL(10022),750)*1032.260000
!REQ/99994, F2=VARVAL(10020)/
!, F3=VARVAL(10021)/
!, F4=VARVAL(10022)/
!, F6=VARVAL(10023)/
!, F7=VARVAL(10024)/
!, F8=AKISPL(VARVAL(10023),VARVAL(10022),750)/
!, C = VAPS FUNCTIONS
GRA/99993,FOR,ETYPE=SFORCE,EID=10020,EMARKER=20791
REQ/99993,FOR,I=20791,RM=20891,C=BOOST FORCE
JOINT/21017,REV,I=21017,J=208211 INPUT SHAFT TO RACK
HOUSING REV. JOINT
With the TorsionBarGeometricProperties file, the Torsion Bar stiffness is calculated from specified
geometric proeprties of the bar (diameter and length).
The following equation is used to calculate your torsion-bar stiffness with this method:
stiffness = G*(PI*radius^4/2)/length
With the TorsionBarLinearProperties file, the torsion bar stiffness is entered directly.
With both property file types damping can be entered, and an optional nonlinear formulation is offered.
With the nonlinear formulation the stiffness (specified or calculated) is ramped up via a spline over your
specified stop angle.
Review achassis/pre_py/steer/str_tbar.py for more information.
The double cardon joint is activated by using the 'double_cardon' construction option in your steering
column subsystem file.
About Steering Subsystems 101
Working with Subsystems
Spline format
Your nonlinear gear spline must contain pinion rotations (deg) for the X values, and rack displacement
(mm) for the Y values. Positive X values correspond to negative Y values, and vice versa. Positive X
values correspond to a right turn.
102 Adams/Chassis
Working with Subsystems
Understeer Budget
The constant radius event report includes Understeer Budget calculations. With these calculations the
linear contributions to understeer are calculated for the range between .2 and .3 g's. To aid accurate
Undertsteer Budget calculations for the contribution of your steering system, please enter the
approximate linear rate (between .2 and .3 g's) for 'gear_ratio' in your steering gear parameters table.
Note: To model AFS steering with a Control System you must activate the AFS Worm Torque
control output in your controls subsystem.
AFS is modeled in Adams/Chassis by adding a three-way COUPLER to the steering system between
intermediate shaft and torsion bar. The COUPLER incorporates driver input from the intermediate shaft
and rotational input from an external controller. These two inputs are summed within the coupler, and
then fed as output to steering input shaft/torsion bar.
An example of how such a three-way coupler might work is illustrated in Figure 1. In this modified
planetary gearset, driver input is modeled as the red gear, while AFS input is modeled as the green gear.
The two inputs are combined through the purple planetary gears, which rotate both about their own axis,
and about the axis of the green AFS input gear. The end result is rotation of the blue output gear. This
output gear serves as the input to the torsion bar of the steering gear input shaft. In the Adams/Chassis
implementation, the purple planetary gears are not included as their own PART. Rather, the relative
rotations of the system inputs and output are modeled in the three-way COUPLER. It is left to you to
supply the gear set relative rotation relationships. This allows you to model AFS gearset architectures
other than the type shown in Figure 1.
Rotation relationships for the Figure 1 gearset are given by:
where:
e = N 2 N 35 N 32 N 5 (2)
driver - Angular velocity of steering input from driver steering wheel (shown in red)
AFS - Angular velocity of steering input from planet gear carrier (shown in green)
output - Angular velocity of output gear (shown in blue), which in turn serves as input to the pinion on
the rack-and-pinion steering gear.
AFS Friction
Not shown in Figure 1 is that the green AFS input gear is actually a worm gear, driven by a worm. The
relative rotation rate between the worm and worm gear can be easily modeled with a two-way
COUPLER, but it is more difficult to model the self-locking friction characteristic of a worm gear. This
cannot be modeled directly, as friction in Adams/Chassis is intended for individual JOINTs, not
COUPLERs. In addition, the friction characteristics vary depending on the direction of torque flow. To
model this, a torque flow function VARIABLE was created as the product of worm torque and worm
rotational direction. The sign (+/-) of this function determines whether the driving or driven friction
moment is applied to the worm. It is left to the FRICTION statement to actually apply the friction torque,
but the JOINT load that determines friction moment magnitude varies as a function of the torque flow
direction. This JOINT load is artificially induced with an axially-oriented SFORCE statement.
Name Comment
AFS_Input Active Front Steer Driver Input Gear
AFS_Carrier Active Front Steer Spur Gear Carrier
AFS_Worm Active Front Steer Worm (drives AFS_Carrier)
AFS_Worm_Shaft Auxiliary Worm part, allowing "Torque Sensor" between two parts
106 Adams/Chassis
Working with Subsystems
Sign Convention
For the AFS Worm Torque control output, + adds more left steer.
Construction Options
• 2nd Pinion assist - With this option, a 2nd pinion is attached to the
rack, and the boost is applied through this additional pinion. To use
this option, you must add the second_pinion_pivot and
second_pinion_top hardpoints to your steering gear subsystem. See
Hardpoints for more information. If you select this option, then you
must add a second pinion part to parts table.
• Column assist - Steering boost applied to the steering column.
• Pinion assist - Steering boost applied to the pinion.
• Rack assist - Steering boost applied to the rack.
Comment Enter a comment to describe the construction option.
108 Adams/Chassis
Working with Subsystems
Hardpoints
You must add the following hardpoints to use the 2nd pinion assist construction option:
• second_pinion_pivot
• second_pinion_top
Parts
You must add an epas_motor part to the steering gear subsystem for all construction options.
For more information on how to integrate a control subsystem with Adams/Chassis, see Adding Control
Systems in Your Model in Getting Started Using Adams/Chassis.
About Rear Suspension Subsystems 109
Working with Subsystems
The above suspension types also have options which allow the user to model with varying methods. For
example, all suspensions can be build up with a simple link or complex beam element stabilizer bar. Also,
the placement of jounce bumpers and springs can vary as well as the type of bushing model (i.e. linear,
nonlinear, with or without hysteresis). The dependent suspensions have variations which allow for
different lateral axle control such as Panhard rods, Watts linkages, etc..
As in the case of the body & tire and front suspension input data files, Adams/Chassis reads this rear
suspension data file and looks for major keywords. The software uses these keywords to identify where
blocks of data are to process. This section describe each main data block of the front suspension input
data followed by an example of the parameters Adams/Chassis requires of the file.
110 Adams/Chassis
Working with Subsystems
Geometry Offset
The rear suspension input data file provides the modeler with the capability to shift all the geometry
points in the x, y, and z directions. This option is very useful when building models of varying wheelbases
(i.e. short, long, and supercab Ranger pickup trucks) as well as quickly analyzing the performance of a
different suspension type (for example, study a Taurus Quadralink rear into a Winstar). This table is
optional and takes the following form:
Geometry Hardpoint
The first major block of data is the geometry point data. The table is set up with the standard set of
required points for both the left and right sides. If the user enters the word "mirror" in the right column,
the right side geometry points will be assumed to be equal to the left side with the Y component negated.
Another field, "(specifiy as left side)", may show up in one column of the geometry point table. This
informs the modeler that the defined point is not symmetric side-to-side in the vehicle and therefore must
be specified only once.
There are several assumptions associated with the definition of the geometry points:
• All bushing and ball joint points are assumed to be located at the center of the bushing or ball.
• All bushings are assumed to be located with the axial component mostly longitudinally located
in the vehicle unless a orientation marker is specified in the list of points.
• Bushings on control arms are assumed to be lined up with one another axially.
• The tire patch is the point in PDGS that the designer specified as the tire patch. It is only used in
the compliance tester which can be used with a suspension exerciser model.
• The spindle alignment point orients the wheel toe and camber at design height.
• The jounce bumper tip is the location of the point on the bumper that is first contacted.
• The rebound bumper points are typically the upper and lower shock absorber points since most
suspensions have bumpers in the shocks.
• The torsion bar spring points are the center of the hex section of the bar.
About Rear Suspension Subsystems 111
Working with Subsystems
• The center of lower strut point in the McPherson strut must lie on the strut centerline at the
center of the spindle clamp which holds the strut.
• Stab. bar rotational is the point on the center of the stabilizer bar in the center of the rotational
bushing (usually mounted to the body or frame).
• Stab. Bar to Link is the point at the end of the stabilizer bar that attaches to the stabilizer bar link.
• Stab. Bar Link End is the point on the stabilizer bar link which is not connected to the stabilizer
bar.
• If the X,Y,Z coordinates of a control arm bushing orientation point is 0,0,0 then Adams/Chassis
computes the ZP to be perpendicular to the control arm with the YP pointed vertical.
Most of the suspension geometry tables look similar with only minor differences. An example of a coil
spring solid axle geometry table is shown below:
POINT LOCATIONS
LEFT (mm) Right (mm)
GEOMETRY HARDPOINT X Y Z X Y Z
Lower Arm @ Body 1-2 3842.43 -500.74 433.64 (mirror)
LCA @ Body Orientation 3-4 0.00 0.00 0.00 (mirror)
Upper Arm @ Body 5-6 4030.00 -168.00 639.97 (mirror)
UCA @ Body Orientation 7-8 0.00 0.00 0.00 (mirror)
Wheel Center 9 4361.59 -743.30 554.17 (mirror)
Tire Patch 10 4361.59 -743.30 239.21 (mirror)
Wheel Alignment Point 11 4361.59 0.00 554.17 (mirror)
Coil Spring @ Frame 23-24 4345.97 -455.00 787.23 (mirror)
Coil Spring @ Unsprung 25-26 4361.59 -455.00 598.37 (mirror)
Lower Arm @ Axle 31-32 4359.01 -560.74 433.85 (mirror)
LCA @ Axle Orientation 33-34 4359.01 0.00 433.85 (mirror)
Upper Arm @ Axle 35-36 4350.07 -168.00 683.14 (mirror)
UCA @ Axle Orientation 37-38 0.00 0.00 0.00 (mirror)
Stab. Bar to Axle 61-62 4497.54 -450.00 443.60 (mirror)
Stab. Bar to Link 63-64 4110.04 -472.80 516.22 (mirror)
Stab. Link to Frame 65-66 4115.10 -475.51 673.34 (mirror)
Jounce Bumper @ Frame 75-76 4346.01 -455.00 684.32 (mirror)
Jounce Bumper @ Axle 71-72 4362.55 -455.00 645.37 (mirror)
Rebound Bumper @ Frame 77-78 4700.00 -508.00 777.40 (mirror)
Rebound Bumper @ Axle 73-74 4483.55 -555.50 402.50 (mirror)
112 Adams/Chassis
Working with Subsystems
POINT LOCATIONS
Shock Absorber @ Frame 81-82 4700.00 -508.00 777.40 (mirror)
Shock Absorber @ Axle 83-84 4483.55 .555.50 402.50 (mirror)
Panhard Rod @ Body 91 4515.35 500.20 638.15 (not applicable)
Panhard @ Body Orient 92 5515.35 500.20 638.15 (not applicable)
Panhard Rod @ BE Link 93 4519.05 -454.92 628.15 (not applicable)
Panhard @ BE Orientation 94 5519.05 -454.92 628.15 (not applicable)
A special note should be made concerning the required geometry point information for stabilizer bar
modeling. Adams/Chassis allows the user the flexibility of modeling stabilizer bar links with both
bayonnet style and silent block bushings. For bayonnet bushings, Adams/Chassis uses the link centerline
as the axial direction (i.e. the top end point is the ZP for the lower end and visa versa). For this type of
link, only three lines of geometry information is required:
For silent bushings, the user must specify the orientation axis of the bushing at each end of the link. To
properly orient the ZP of the bushing at the stabilizer-to-link connection, a geometry point data line
containing the ZP must be added below the point 63-64 line. It must also have the data points defined as
163-164. The same method holds for the other end of the link. The ZP axis should be entered as a line of
data, defined as points 165-166, and placed below the line containing points 65-66:
Adams/Chassis does allow for a bayonnet bushing at one end and a silent block at the other.
Alignment Information
Adams/Chassis models every rear suspension with alignment joints so a modeler can adjust the toe,
caster, and camber angles. Adams/Chassis provides an automated alignment utility which will adjust
these joints and lock in a requested alignment specification. In order to keep the model aligned at the
correct loading condition, the modeler must put these MOTION specifications into the model (i.e.
About Rear Suspension Subsystems 113
Working with Subsystems
vehicles are aligned at curb load but simulated with at least a driver present). The following chart
provides the format:
Many rear suspensions have no alignment capability in the rearl world design. Adams/Chassis still offers
the flexibility to simplify the running of experiments.
(NOTE: Tire, Wheel, Rotor Part assumes inertias have Z as spin axis)
Suspension Bushings
C.G. Locations
LEFT (mm) RIGHT(mm)
PARTS (CG) X Y Z X Y Z
Axle 4361.00 3.30 554.00 (not applicable)
Lower Control Arm 4160.00 -540.00 435.00 (mirror)
Upper Control Arm 4225.00 -457.00 630.00 (mirror)
Stabilizer Bar 4800.00 -280.00 600.00 (mirror)
Panhard Rod 4520.00 0.00 590.00 (not applicable)
Tire, Wheel,Brake 0.00 0.00 0.00 (mirror)
Suspension Bushings
An important part of any suspension is the bushing rates and damping. The rear suspension input data
file has three required tables of bushing information. The first table informs Adams/Chassis what type of
bushing model to use (refer to the last column of the example coil sprung solid axle with Panhard rod
table below):
The above options allow a modeler to select from many different kinds of joints including several
nonlinear bushings. The joints are helpful in that a user can take all the compliance out of the Panhard
rod by specifying a revolute joint (-1) for point 91 and a spherical joint (-2) for point 93.
The bushing rates should be specified as the slope of the static load deflection curve. Rate should be
entered as a positive value in N/mm. Adams/Chassis will interpret a negative rate as the SPLINE or
ARRAY statement required by the nonlinear bushing routines. It is important to note that most
Adams/Chassis models assume Z axis as axial and X axis as lateral for suspension bushings. When in
About Rear Suspension Subsystems 115
Working with Subsystems
doubt, please build a model and study the Adams *.adm file. Listed below is an example of both the rate
and damping tables for a coil spring solid axle with Panhard rod suspension:
Note: Negative damping values will be converted into percentage of rate for only Adams
bushings [type = 1]
The last information on bushings is optional and pertains to the initial torques. In studies such as load
cases and accurate wheel center rise simulations, it is sometimes necessary to model the situation in
which the suspension bushings are bolted in place at a wheel position different than the one being
simulated. For example, if the suspension bolts are tightened in the plant at design position and the user
is modeling a simulation at curb load, the bushings will have an intial torque due to windup.
116 Adams/Chassis
Working with Subsystems
Adams/Chassis can estimate these torques for Adams standard bushing statements only and put them in
the model as a T0. The estimate is performed by multiplying the torsional rate by a deflected angle. This
angle is computed by reading in the "wheel center rise" (i.e. the vertical distance that the wheel center
changes between bushing bolting in the plant and the current simulated condition) and estimating an
angle based on suspension control arm lengths. The bushing initial torque table looks as follows:
Spring Data
The next block of data required by Adams/Chassis is the spring chart. Rear suspensions typically have
coil or leaf springs. The first coil spring block provides Adams/Chassis with three important pieces of
information prior to the software reading the actual spring lineup chart. The first is the attachment
location of the spring (i.e. upper arm, lower arm, spindle/body, lower/upper strut, etc.) which depends on
the type of suspension. The other information is how many springs are listed in the chart and which one
to put in the model.
The coil spring chart provides the modeler with all information on the spring design specifications
including rates, capacities, and free lengths. Adams/Chassis will echo the entire chart to the Adams
dataset for reference. It is important to note that the only information that Adams/Chassis actually reads
and uses is the spring rate, free length L, and the diameter. The rest of the chart could be left unfilled if
the modeler so desires. The following is an example of a coil spring data block:
SPRINGS (COIL)
4 = SPRING LOCATION (1=LCA 4=AXLE)
1 = NUMBER OF SPRINGS
1 = IS THE SPRING TO BE USED
PART SPRING WHEEL CAPACITY CAPACITY K L DIAMETER
NUMBER RATE RATE @ SPRING @ GROUND (- for SPLINE) (GRAPHICS)
(lb/in) (lb/in) (lbs) (lbs) (N/mm) (mm) (mm)
G0TA-X1 155.00 275.00 2600.00 3000.00 -400.0 376.0 170.00
The last spring chart is the leaf spring. The user must first specify the standard information as to number
of springs in the tables and which one to use. The only portion of the spring tables that contains data not
important for the Adams model is the first five columns (i.e. part numbers, rate, and capacity). The rest
of table #1 includes the three link approximation rotational spring rates to apply at the two spherical
joints:
About Rear Suspension Subsystems 117
Working with Subsystems
• KT(x) = Longitudinal twist stiffness of that section (front or rear) of the spring. This parameter is
important for roll stiffness
• KT(y) = Lateral bending stiffness of that section (front or rear) of the spring. This value is
important for the lateral stiffness of the suspension
• KT(z) = Vertical bending stiffness of that section (front or rear) of the spring. This value is
important since it defines the spring rate of the spring.
Table #2 provides Adams/Chassis with the second stage rate information. The simple 3 link spring
models the second stage as an SFORCE between the body and axle. Adams/Chassis need the second
stage rate (negative integer to specify a SPLINE) and the free length of the spring (longer denotes sooner
engagement):
NUMBER 1ST 2ND PAR GND FRONT REAR FRONT REAR FRONT REAR FRONT REAR
WR 000 000 0000 0000 17.847 23.088 73.33 62.69 8.285 8.000 -2.350 2.713
The sign convention on the shock absorber SPLINEs is jounce is positive velocity and force and rebound
is negative velocity and force. The units on velocity should be mm/sec and force should be expressed in
Newtons.
Splines and Arrays (Keep shocks between 100-199; Others between 300-399)
The last section is the SPLINEs and ARRAYs block. All SPLINE and ARRAY statements which pertain
to the rear suspension must be entered here. In order to keep from over writing other SPLINEs and
ARRAYs in other sections of the model, it is recommended to keep all ids between 200-299. As in the
body & tire data file, this section of the file is read by Adams/Chassis and printed word-for-word to the
Adams dataset. Therefore, any other data such as new REQUEST statements that are typed in Adams
standard format will be echoed to the dataset:
Rear Suspensions
These can be divided into three basic types:
• Independents
• Beam Axles
• Twist Axles
Independents
Independents consist of three basic categories: trailing arms, MacPherson struts, and SLAs.
For more information on tire models, see the online help for Adams/Tire.
122 Adams/Chassis
Working with Subsystems
Tire/Wheel Setup
Tire/Wheel Setup is available for front and rear suspension subsystems. This utility allows you to
calculate point #10 (Tire Patch) and point #11 (Spindle Alignment Point) from point #9 (Wheel Center),
Spindle Align Vector Length, Toe (Each Wheel), Camber (Each Wheel), and Loaded Radius. Once
calculated, the new values for points 10 and 11 can be applied to the hardpoints table.
About Tire Subsystems 123
Working with Subsystems
Tire Measurements
Occupant Modeling
Occupants are included in the loading subsystem of your system. The vehicle occupant table sets up
passengers that can be toggled on and off in the model. For each occupant you specify a name, mass, and
location. You can also add a new occupant.
126 Adams/Chassis
Working with Subsystems
To add an occupant:
1. Near the bottom of the property editor, in the Name text box, enter the name of the new occupant.
2. Select Add.
The occupants appear in the table in alphabetical order.
3. Set the following options:
To modify the setting for this option modify the ay_calculation_method construction option in a
standard Adams/Chassis instrumentation subsystem file.
Standard Channels
To create the standard requests, the following geometry points must be added to the body subsystem file.
If these points are included, Adams/Chassis will create requests corresponding to the standard 11
channels. Point 51 or Point 52 or both must exist. These points are used for lateral and longitudinal
velocity requests. Points 50 and 55-58 must exist to have any information output.
The Front and Rear Deflection points are modeling wheel center stringpots.
Standard Channels
Channel Units Adams/Chassis Request # Column User Request Pt
Routine
swt in-lb 51095 2 1160
swa deg 51095 1 1160
ay g 51050 1 1090 50
ax g 51051 1 1190 50
lfdef in 51056 1 1220 55,56
rfdef in 51056 2 1220 55,56
lrdef in 51056 3 1220 57,58
rrdef in 51056 4 1220 57,58
128 Adams/Chassis
Working with Subsystems
Standard Channels
speed mph 510511 6 1090 51 or 52
qf mph 51052 1 1150 51 or 52
yawrate deg/s 51050 2 1090 50
Height Sensors
Height Sensors can be added to your instrumentation subsystem. For each height sensor, you specify an
XYZ location and Part ID. Height sensors compute the distance above ground to your specified location.
Result sets Height_Sensors and Height_Sensors_Corrected will be included in your simulation results.
These result sets will contain components for each height sensor you include. The component name will
be the name you specify for each height sensor.
The Height_Sensors_Corrected results use reqsub 1139 (See Corrected Height Sensors).
The SVC report will contain the left/right ride height and average of the two values.
Example .adm text
! Adams/Chassis Ride Height Sensors
! Ride Height Sensor 1: lf_ride_height
MARKER/210701,PART=21
, QP=1529.2, -743.02, 517.27
MARKER/510701,PART=51
, QP=1529.2, -743.02, 517.27
REQ/210701,
, F2 = DZ(210701,510701)\
,TITLE = Ride_Height_Sensors
,RESULTS_NAME = Ride_Height_Sensors
,CNAMES = ""
,COMMENT = Height Sensor set 1 (MM)
,CLABELS = "","(MM)","","","","","",""
! Ride Height Sensor 2: rf_ride_height
MARKER/220702,PART=22
, QP=1529.2, 743.02, 517.27
MARKER/510702,PART=51
, QP=1529.2, 743.02, 517.27
REQ/220702,
, F2 = DZ(220702,510702)\
,TITLE = Ride_Height_Sensors
,RESULTS_NAME = Ride_Height_Sensors
,CNAMES = ""
,COMMENT = Height Sensor set 2 (MM)
,CLABELS = "","(MM)","","","","","",""
Acceleration Sensors
Acceleration Sensors can be added to your Adams/Chassis model by adding them to your instrumentation
subsystem. For each sensor, you must specify the Adams part ID of the part the sensor belongs to.
Result sets corresponding to your specified sensor name will be added for each sensor.
130 Adams/Chassis
Working with Subsystems
The acceleration sensor results use reqsub 1121 (See Body Acceleration as Measured by an
Accelerometer).
Stringpots
Stringpots are transducers that measure the displacement between two positions in your vehicle system.
The Normalized Distance Request Subroutine (see Normalized Distance Between MARKERS) is used in
the requests created when stringpots are activated. Each request can contain the data for up to 6
stringpots.
Adding Stringpots
To add a stringpot to your model, use the Add feature in the Instrumentation table. The name is your
choice, but some special stringpots are activated with specific names. Read the Wheel Deflection
Stringpots section below for more information on these.
For each stringpot, you must specify the Adams part IDs of the parts and the stringpot's ends, and the
location of the stringpot endpoints. The displacements will be returned in mm for SI units and inches for
English units.
Plotting
Two plotting templates have been created. One template contains the 11 standard channels vs. lateral
acceleration, the other template plots the same channels vs. time. Combinations of request and test (.asc)
files can be plotted with these templates. Currently these templates are only supported through
UNIX commands.
Example commands
apre -meplot -co divas_ay adams.req
apre -meplot -co divas_time adams.req
apre -meplot -co divas_ay adams.req test1.asc test2.asc
apre -meplot -co divas_time adams1.req adams2.req test1.asc test2.asc
Velocity Sensors
Velocity Sensors measure lateral and longitudinal velocity of the vehicle through Q-head transducers.
You can include velocity sensors in your model by adding them to your instrumentation subsystem. For
each velocity sensor you must specify the front and rear sensor placement.
The velocity sensor results use reqsub 1116 (see Sideslip Calculations using Q-Heads).
About Powertrain
Powertrain Modeling
Adams/Chassis has standard powertrain templates for modeling front-wheel drive, rear-wheel drive, and
all-wheel drive powertrain systems. With these standard templates, you can model engine torque, simple
transmission, differentials, and halfshafts.
View a list of the templates.
Hardpoints
The powertrain model includes the following hardpoints:
About Powertrain 133
Working with Subsystems
Parts
The following parts are included with the powertrain subsystem:
134 Adams/Chassis
Working with Subsystems
To edit parts:
1. In the Parts table, double-click the name of the part you want to edit.
2. Use the editor to change the following options:
• Default
• Euler
• Vector
PSI, THETA, PHI Only available if you selected Euler for the orientation.
Connectors
The powertrain model includes the following connectors:
Engine
The General tab displays the engine file currently used for the powertrain subsystem. You can use the
Find tool to select a different engine file.
The Property File tab allows you to use the Plot/Edit data to see a plot of the curve. Once in the Curve
Editor, you can use the table to change values and redraw the plot.
136 Adams/Chassis
Working with Subsystems
Construction Options
The following construction options are available in the powertrain subsystem:
Viscous Coupling
Viscous coupling can be added to front or rear halfshafts. The necessary data for this is a spline that
relates left-right rotational velocity difference to torque. Below is an example spline:
Parameters
The following parameters are available in the powertrain subsystem:
About Powertrain 137
Working with Subsystems
If the parameters are set to no (0), then Adams/Chassis reverts back to pt11 for the CV location. If you
set parameters to yes (1), the appropriate vector will be computed using the distance parameter values.
To edit parameters:
• Use the table to change the parameter values.
Powertrain Types
The example data files are located in in achassis/shared_chassis_database.vdb/subsystems.tbl
.
Engine Map
Engine torque is modeled in Adams/Chassis via 3-D spline. Engine map property files are stored in the
powertrains.tbl subdirectory of a vehicle database. The following property file type is available:
EngineMapSimpleProperties
The engine map spline relates engine flywheel rotational speed, throttle position, and torque. An example
spline is shown here:
In this spline, the X values are engine flywheel rotation speed, in RPM. The first value in each 'Y =' list
is the throttle position. This must be a number between 0 and 1. The remaining values in the Y lists are
torques, and must have the same number as the X values. With this model, the traction controller operates
on the throttle position. (Without the powertrain model, the traction controller applies torques directly to
the wheels) Another feature of this is that engine braking can be modeled, by having negative torque
values at 0 throttle position. (warning! If the Engine Torque Spline was taken from test data, it may not
necessarily include a "0 torque at 0 throttle" position. In such a case, please DO NOT include "0 torque
at 0 throttle position" (i.e, ,Y=0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) in the spline.))
Reaction Torques
Adams/Chassis models contain force elements for powertrain reaction torques when the actual
powertrain parts are absent.
For an independent suspension, the drive torques are reacted on the subframe part.
For a solid axle two sets of torques are modeled. The first set is a reaction on the axle housing part for
the drive torques. These torques act about the vehicle Y-axis, and are opposite in direction to the drive
torques on the rear wheels. The second torque is applied on the axle housing part about the vehicle X-
About Powertrain 139
Working with Subsystems
axis, and reacted on the front engine mount part. The magnitude of the 2nd torque is the sum of the rear
drive torques divided by the final drive ratio.
Halfshaft Parts
Rear Left Halfshaft Schematic
140 Adams/Chassis
Working with Subsystems
• Input tab
• Output tab
• Control Libraries
User variables
You can add your own control system inputs. To do this, you enter the Adams/Solver Variable ID for the
input. All control system inputs have a corresponding Adams/Solver variable. To add a user input, enter
a name, Variable ID, and scale factor. You will then have to create personal .py files that create this new
variable.
About the Controls Subsystem 143
Working with Subsystems
User variables
You can add your own control system outputs. To do this, you enter the Adams/Solver variable ID for the
output. All control system outputs must have a corresponding Adams/Solver Variable. To add a user
output, enter a name, variable ID, and scale factor. You will then have to create personal .py files that
create this new variable.
144 Adams/Chassis
Working with Subsystems
Control Libraries
If you selected Build Native Library in the General tab, you must list the functions that are part of the
source code in the Control Libraries tab. The source-code control system must contain a main calling
subroutine. This subroutine is the only routine Adams will access directly. The parameter list of this
subroutine must have the following format: (See Controls Glossary for definition of terms)
SUBROUTINE CONTROL_SYSTEM(SFLAG,EFLAG,INPUT,ISIZE,OUTPUT,OSIZE)
SFLAG - state flag from Adams (long)
EFLAG - error flag from Adams (long)
INPUT - array of input values (double precision pointer)
ISIZE - number of inputs (long)
OUTPUT - array of output values (double precision pointer)
OSIZE - number of outputs (long)
During the model build process, Adams/Chassis compiles and links the list of files specified in the
Control Libraries tab along with a wrapper function, and creates a library. The library name will be the
same as the control system name. This library should reside in the working directory for the correct
execution.
Note: You must have the appropriate compilers installed. See hardware and software
requirements under Product Information and Documentation for more information.
Trailer Tow 145
Working with Subsystems
If you selected the Use library option, you must specify the pre-built library in the control library. This
library will be copied to the working directory for correct execution. If the Native Adams library option
is used, you must verify the input and output that is required by the specific control system. If you
selected the Control System Import option, Adams queries the library to make sure that the number of
inputs and outputs you selected matches the specification in the library. If there are any discrepancies, an
error occurs during the build process.
Trailer Tow
Below are two trailer tow models.
146 Adams/Chassis
Working with Subsystems
All of the example trailer databases have system files that reference a full vehicle configuration and both
the advanced models have half vehicle (rear only) configurations that will exercise just the trailer part of
the model.
To add an advanced trailer to your existing model, copy over the appropriate trailer database to your local
directory and reference the trailer rear and wheel subsystems in your vehicle configuration file.
All the properties of the model can be accessed via the visual property editors as shown below:
148 Adams/Chassis
Working with Subsystems
Trailer Tow 149
Components
Components
• Parts - Default C.G.
• Tires
• Reaction Torques
Steering Column
• Steering Column Parameters
Steering Gear
• Steering Torsion Bar
• Steering Boost
• Nonlinear Rack-and-Pinion Gear
Body
• Aerodynamics
Loading
• Cargo
• Occupants
Powertrain
• Engine Map
150 Adams/Chassis
Components
Strut Modeling
Struts are specialized dampers designed to take bending and damping loads in the suspension. The same
two damping definition options are available for a strut that are available for a shock. Struts are modeled
with data stored in strut property files. Strut property files are stored in the dampers.tbl subdirectory of a
vehicle database. The strut poperty files include three options for modeling the bending stiffness:
• Rigid (no bending)
• Simple bending
• Complex bending
As the wheel moves into jounce, the two bushings get further apart, making the strut conically stiff to
bending.
Trailer Tow 151
Components
When the wheel moves into rebound, the two bushings coming together decreases the conical stiffness,
therefore increasing the strut bending.
To provide the radial compliance of each part, the beam stiffness properties are programmed into a
FORTRAN subroutine linked in to the Adams model. The radial compliance of the outer tube, inner tube,
and piston are linked from the Adams data set to the FORTRAN code through several GFORCE
statements. The axial stiffness of the strut is provided by an Adams BEAM statement that connects the
inner tube base with the rod guide. The rod guide lash and piston lash are modeled as piecewise linear
bushings, and the base cup is modeled as a linear bushing.
152 Adams/Chassis
Components
Springs
Adams/Chassis offers four of the most common spring models. All spring property files are stored in the
spring.tbl directory of the vehicle database. The four spring models are:
• Air
• Coil
• Leaf
• Torsion bar
Spring Data
The next block of data required by Adams/Chassis is the spring chart. Front suspensions typically have
coil, torsion bar, or leaf springs. The first coil spring block provides Adams/Chassis with three important
pieces of information prior to the software reading the actual spring lineup chart. The first is the
attachment location of the spring (that is: upper arm, lower arm, spindle/body, lower/upper strut, and so
on) which depends on the type of suspension. The other information is how many springs are listed in the
chart and which one to put in the model.
The coil spring chart provides the modeler with all information on the spring design specifications
including rates, capacities, and free lengths. Adams/Chassis will echo the entire chart to the Adams
Trailer Tow 153
Components
dataset for reference. It is important to note that the only information that Adams/Chassis actually reads
and uses is the spring rate, free length L, and the diameter. The rest of the chart could be left unfilled if
the modeler so desires. The following is an example of a coil spring data block:
SPRINGS (COIL)
1 = SPRING ATTACHMENT (1=LOWER ARM2=UPPER ARM)
1 = NUMBER OF SPRINGS
1 = IS THE SPRING TO BE USED
PART SPRING WHEEL CAPACITY CAPACITY K L DIAMETER
NUMBER RATE RATE @ SPRING @ GROUND (- for SPLINE) (GRAPHICS)
(lb/in) (lb/in) (lbs) (lbs) (N/mm) (mm) (mm)
PART-NO 549.00 164.00 2075.00 2350.00 77.1 378.5 135.00
The torsion bar spring chart slightly resembles the coil chart. Torsion bar springs require material
information such as moduli, damping ratios, and shear areas. A good initial guess of these values can be
found in the example below. The torsion bar chart also requires added parameters such as the torsion bar
radius, finish angles, and active lengths. The finish angles, which is the bar windup required to achieve
the desired ride height, should be determined by adjusting a full vehicle model. The torsion bar active
lengths must be obtained from the spring supplier. Shown below is an example of a torsion bar spring
data block:
The last spring chart is the leaf spring, currently only available with the monobeam front suspension. The
user must first specify the standard information as to number of springs in the tables and which one to
use. The only portion of the spring tables that contains data not important for the Adams model is the first
five columns (i.e. part numbers, rate, and capacity). The rest of table #1 includes the three link
approximation rotational spring rates to apply at the two spherical joints:
• KT(x) = Longitudinal twist stiffness of that section (front or rear) of the spring. This parameter is
important for roll stiffness
• KT(y) = Lateral bending stiffness of that section (front or rear) of the spring. This value is
important for the lateral stiffness of the suspension
• KT(z) = Vertical bending stiffness of that section (front or rear) of the spring. This value is
important since it defines the spring rate of the spring.
Table #2 provides Adams/Chassis with the second stage rate information. The simple 3 link spring
models the second stage as an SFORCE between the body and axle. Adams/Chassis need the second
stage rate (negative integer to specify a SPLINE) and the free length of the spring (longer denotes sooner
engagement):
Air Springs
Air springs are modeled in Adams/Chassis with 3-D Splines. In an air spring spline, X is spring
deflection (X=0 represents the trim position), Y is spring force, and Z is trim load. The 3-D Spline
represents the entire operating range of the air spring.
To model an airspring with Adams/Chassis, you must specify a 3-D Spline, the trim load of the air spring,
and the upper and lower attachment points of the air spring.
The format of the 3D spline is very important, see the following document for an example of taking test
data and creating the spline.
Air Spring Data Collection
Trailer Tow 155
Components
To add air springs to your model, you must select an Air spring property file for your spring property file,
and add hardpoints 'airspring_seat_upper' and 'airspring_seat_lower' to your subsystem file.
Air Spring property files are stored in the springs.tbl subdirectory of a vehicle database.
The Air spring property file contains the 3-D spline information and the trim length of the airspring.
The subsystem file contains the Trim Load, or activates the Auto Trim Load option. With the Trim Load
option, a single trim load is used throughout the simulation. With the Auto Trim Load option, the trim
load is continuously calculated by Adams/Solver.
Trim Load - Load in spring when the suspension is at trim height.
Trim Length - Distance between the upper and lower spring seats when the suspension is at trim height
Note: The air spring spline must be constructed in a certain way, the Z values (trim loads) must
match the Y values corresponding to X = 0. See numbers in bold.
Attachment options for air springs are the same as coil springs, based on suspension type.
SPLINE/300
X= -1.0000e+02 -9.5000e+01 -9.0000e+01 -8.5000e+01 -8.0000e+01
-7.5000e+01 -7.0000e+01 -6.5000e+01 -6.0000e+01 -5.5000e+01
-5.0000e+01 -4.5000e+01 -3.0000e+01 -3.5000e+01 -3.0000e+01
-2.5000e+01 -2.0000e+01 -1.5000e+01 -1.0000e+01 -5.000e+00
0.0000e+00 5.000e+00 1.0000e+01 1.5000e+01 2.0000e+01
2.5000e+01 3.0000e+01 3.5000e+01 4.0000e+01 4.5000e+01
5.0000e+01 5.5000e+01 6.0000e+01 6.5000e+01 7.0000e+01
7.5000e+01 8.0000e+01 8.5000e+01 9.0000e+01 9.5000e+01
1.0000e+02
Y= 4959
2.6640e+03 2.7800e+03 2.8830e+03 2.9770e+03 3.0650e+03
3.1500e+03 3.2350e+03 3.3220e+03 3.4110e+03 3.5060e+03
3.6050e+03 3.7110e+03 3.8240e+03 3.9430e+03 4.0690e+03
4.2010e+03 4.3410e+03 4.4860e+03 4.6380e+03 4.7950e+03
4.9590e+03 5.1270e+03 5.3010e+03 5.4810e+03 5.6670e+03
5.8590e+03 6.0590e+03 6.2670e+03 6.4850e+03 6.7150e+03
6.9590e+03 7.2200e+03 7.5000e+03 7.8040e+03 8.1350e+03
8.5000e+03 8.9020e+03 9.3480e+03 9.8440e+03 1.0399e+04
156 Adams/Chassis
Components
1.1021e+04
Y= 6524
3.6130e+03 3.7630e+03 3.8950e+03 4.0160e+03 4.1290e+03
4.2390e+03 4.3470e+03 4.4570e+03 4.5710e+03 4.6910e+03
4.8160e+03 4.9500e+03 5.0920e+03 5.2420e+03 5.4000e+03
5.5680e+03 5.7430e+03 5.9270e+03 6.1190e+03 6.3180e+03
6.5240e+03 6.7370e+03 6.9580e+03 7.1850e+03 7.4210e+03
7.6640e+03 7.9170e+03 8.1790e+03 8.4550e+03 8.7440e+03
9.0500e+03 9.3760e+03 9.7260e+03 1.0104e+04 1.0515e+04
1.0965e+04 1.1460e+04 1.2007e+04 1.2615e+04 1.3292e+04
1.4048e+04
Y= 8081
4.5550e+03 4.7410e+03 4.9070e+03 5.0570e+03 5.1970e+03
5.3310e+03 5.4640e+03 5.5980e+03 5.7360e+03 5.8800e+03
6.0310e+03 6.1920e+03 6.3620e+03 6.5420e+03 6.7330e+03
6.9340e+03 7.1440e+03 7.3650e+03 7.5940e+03 7.8330e+03
8.0810e+03 8.3360e+03 8.6010e+03 8.8740e+03 9.1560e+03
9.4470e+03 9.7500e+03 1.0064e+04 1.0393e+04 1.0739e+04
1.1105e+04 1.1494e+04 1.1911e+04 1.2361e+04 1.2851e+04
1.3386e+04 1.3974e+04 1.4625e+04 1.5347e+04 1.6152e+04
1.7050e+04
through a blow-off valve. Testing of the air spring continues at various line pressures, up to the rated
pressure of the air spring.
The results from this test demonstrate the air spring properties as the load leveling mechanisms are
engaged, or if the air spring plumbing is equiped with air blow-off valves. Unfortunately, Adams/Chassis
does not currently model air springs with this capability. Data of this variety can not be used directly in
the Adams/Chassis air spring.
The final step is to convert the data into an Adams 3D spline. The ordering of the spline is not by gauge
pressure (Adams/Chassis does not track the internal pressure of the air spring), but rather by the initial
trim load on the air spring. For the air spring example, the trim loads are the loads at the ride height (0
mm), i.e. 6450, 12677, 19082, 25576, 32248, 38475 N. The resulting spline would look like:
SPLINE/300
X= -76 -63 -50 -38 -25 -12
0 12 25 38 50 63 76
Y= 6450
1823 2357 3024 3736 4536 5426
6449 7561 8807 10319 12232 14678
Y= 12677
4403 5470 6672 8006 9429 11031
12676 14456 16502 18859 21795 2544
Y= 19082
7339 8896 10586 12498 14500 16724
19081 21617 24419 27666 31714 36696
Y= 25576
10408 12453 14678 17124 19704 22551
160 Adams/Chassis
Components
Coil Spring
For this method the free length of the spring will be adjusted so that the specified preload is the
force in the spring at design.
4. RideHeight
With this method, the free length will be iteratively varied via a consub to match the specified
target ride height. BOTH front and rear springs must use this install method in order for the
adjustment to be performed.
If a SpringSae3LinkProperties property file is selected the SAE 3 link method will be used to model
the leaf spring.
Leaf spring property files are stored in the springs.tbl subdirectory of a vehicle database.
• KT(x) = Longitudinal twist stiffness of that section (front or rear) of the spring. This parameter is
important for roll stiffness
• KT(y) = Lateral bending stiffness of that section (front or rear) of the spring. This value is
important for the lateral stiffness of the suspension
• KT(z) = Vertical bending stiffness of that section (front or rear) of the spring. This value is
important since it defines the spring rate of the spring.
162 Adams/Chassis
Components
Second stage rate can optionally be specified. The second stage is modeled as an SFORCE between the
body and axle. Either a linear or nonlinear rate can be specified.
Makeleaf
The Makeleaf Program builds a front or rear leafspring model suitable for use with Adams/Chassis.
Trailer Tow 163
Components
Static Funnel
A static solver funnel can often aid convergence of models containing beam element leafsprings. For
more information, see static funnel.
HardPointPair tbar_upper
HardPointPair tbar_lower
HardPointPair tbar_upper_bushing
ConnectorPair torsionbar_crossmember
With torsion springs, the finish angle value is stored in the subsystem file. The property file contains
material properties, inner and outer radius, and active length for the torsion spring. The finish angle,
164 Adams/Chassis
Components
which is the bar windup required to achieve the desired ride height, should be determined by adjusting
the full vehicle model. The torsion bar active lengths must be obtained from the spring supplier.
Screenshots of the subsystem and property file data for torsion springs is shown below.
About Bumpers
Bumpers are included with your standard components.
Learn about:
• Suspension bumpers
• Jounce bumpers
• Rebound bumpers
Trailer Tow 165
Components
Suspension Bumpers
Jounce Bumpers
Rebound Bumpers
The suspension bumpers are defined by BumpStopPair (jounce) and ReboundStopPair (rebound) vfc
objects in your subsystem data file. The subsystem file contains the metal-to-metal rate, suspension
attachment, and property file reference. For rebound bumpers the free length (Clearance) is also included.
The property format is the same for jounce and rebound bumpers. Polynomial or spline stiffness
specification is supported, and linear or nonlinear damping is supported.
166 Adams/Chassis
Components
Jounce Bumpers
Hardpoint Legend
Adams/Chassis allows the user to have the metal to metal bumper stop located at a separate point 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
table), the metal to metal force engages. To define a metal to metal stop that is at a position not on the
Trailer Tow 167
Components
jounce bumper, the HardPointPairs 'bumper_mtl_upper' and 'bumper_mtl_lower' must be added to the
data file. 'bumper_mtl_upper' is the metal to metal engagement point on the body, and point
'bumper_mtl_lower' is the engagement point on the suspension (see figure.) If the user supplies the metal
to metal geometry points in the data file, than the bumper height value is not used.
The user may define an orientation for the jounce bumper. By default, this orientation is parallel to the
global Z direction (pointing up). If the HardPointPair 'jounce_orientation' is present, the jounce bumper
will be oriented in the direction defined by the line between 'bumper_upper' and 'jounce_orientation'.
The equation for the jounce bumper force is as follows:
Rebound Bumpers
Hardpoint Legend
The bumper height value (stored in the bumper property file) is used to determine the metal to metal
engagement point.
The equation for the rebound bumper force is as follows:
where the variable a is the linear rate, b is the quadratic rate, and c is the cubic rate defined in the
bumper table.
Trailer Tow 169
Components
About Dampers
Dampers are modeled as two parts on a slider. The ends are rigidly connected either by a Hooke joint and
a spherical joint, or using bushings, if necessary.
Property files are stored in the dampers.tbl directory of the vehicle database.
Damper property files also contain the damping specification. There are two methods of defining the
force versus velocity profile:
170 Adams/Chassis
Components
Damper nonlinear spline can be either 2D or 3D. The 3D format of the spline is used only in conjunction
with control systems, where the 3D dimension refers to one of the control outputs.
You can also specify preload to damper force calculations.
To specify preload:
1. In Build mode, select the suspension subsystem.
2. Expand the Dampers folder, and then select the damper you want to modify.
3. Select the Property File tab, and then select the Properties tab.
4. Select one:
• None – No preload is added to the damper force calculations.
• Constant – A constant force is added to damper force calculations.
• Nonlinear – Preload is calculated by interrogating a spline. The independent value of the
spline is the relative displacement between the upper and lower dampers in the lower
About Connectors
Connectors describe the interface between two parts in the model. Bushings are the most common type
of connector in Adams/Chassis. Bushings represent a compliance between two parts with stiffness and
damping parameters specified in up to three translational and three rotational directions. Learn more
about bushings. Besides bushings, connectors can be:
• Constraints
• Fixed
• Revolute
• Hooke
• Spherical
• Free (no connection)
Bushings
In Adams/Chassis, you can specify or modify bushings in the Connectors tab in each subsystem file. You
must select a property file to represent a specific bushing. Adams/Chassis stores bushing property files
in the bushings.tbl subdirectory of a vehicle database.
Trailer Tow 171
Components
Scale Factor
There are twelve bushing scale factors for each bushing (six stiffness, six damping). These scale factors
are designed to aid sensitivity studies, and will be multiplied by the nominal stiffness and damping values
to calculate the values used in the model. The scale factors are stored in the subsystem data file.
Preload
Initial loads (force/torque) can be specified as part of preload.
Offset
Initial translational and rotational displacements can be specified as part of offset.
The bushing initial torque feature is available for the following suspension types:
Front Rear
SLA TWIST
MULTI_LINK CENTRAL_LINK
MACPHERSON R_MACPH_LCA
R_QUAD_STR
Trailer Tow 173
Components
Front Rear
R_QUAD_UCA
R_SEMI_TRAIL
SEMI_TRAIL_SHACKL
SLACOIL_PEND
The Initial rotational displacements calculated due to wheel center rise will be overwritten if values are
specified as part of offset.
Shape
Square
No interaxial coupling in force/torque calculations.
Cylindrical
Forces/Torques in x and y directions are coupled. Force/torque in z direction is independent.
Spherical
Forces/torques in and about all three directions are coupled.
Learn about:
• Stiffness Forces Computation
• Damping Forces Computation
• Bushing Specifications in the Adams Dataset (.adm)
Bushings in Series
The bushings in series option allows you to model up to three bushings in a series without modeling the
parts between them. The intent is to aid design studies by representing local part compliance as a bushing.
Currently, only linear bushings can be modeled in a series.
174 Adams/Chassis
Components
Feature Syntax
8. For dynamic properties, you can select one of five types of frequency-dependent elements:
• Static_Low Order Rubbermount Model
• Static_High Order Rubbermount Model
176 Adams/Chassis
Components
None
Friction force/torque will not be calculated during static analysis
Trailer Tow 177
Components
Effect All
Turn on both static and dynamic friction in friction force/torque
calculations
Stiction
Turn on only static friction calculations
Friction
Turn on only sliding friction calculations
Inputs All
Use both preload and reaction forces as input to friction calculations
None
Don't use preload and reaction forces as input in friction force/torque
calculations
Preload
Use only preload in friction force/torque calculations
Reaction Force
Use only reaction forces/torques in friction force/torque calculations
Stabilizer Bars
Stabilizer bars connect the left and right suspension systems at the front or rear of the model. They are
used to stabilize the chassis against sway. Learn to set stabilizer bar properties.
Learn about:
• Simple Stabilizer Bar
• Beam Element Stabilizer Bar
• Swing Link Type Stabilizer Bar
178 Adams/Chassis
Components
Hardpoint Legend
# Adams/Chassis HardPointPair name
61-62 arb_bushing
63-64 droplink_bar
65-66 droplink_external
Trailer Tow 179
Components
Type 1 simple stabilizer bars are modeled using StabilizerBarSimpleProperties property files. The
stabilizer bar links are modeled as springs, and the stabilizer bar is modeled as two parts. Each of these
parts is mounted to the body/subframe with a revolute joint, and a torsional spring connects the two
halves.
All stabilizer bar property files are stored in the stabilizer_bars.tbl subdirectory of a vehicle database.
Type 2 simple stabilizer bars are modeled using StabilizerBarSimpleProperties2 property files. The
links are modeled as parts. A Hooke joint connects the links to the stabilizer bar parts, and spherical joints
connect them to the lower attachment part. The stabilizer bar parts are mounted to the body/subframe
with bushings, and a torsional spring with a revolute joint connects the two bar parts.
Simple Stabilizer Bar property files contain the following hardpoints: 'arb_bushing', 'droplink_bar', and
'droplink_external'.
Hardpoint Legend
# Adams/Chassis HardPointPair name
61-62 arb_bushing
63-64 droplink_bar
65-66 droplink_external
Beam element stabilizer bars are modeled using StabilizerBarBeamProperties property files.
The beam element model is a more physical representation of the system so the model does not have to
be adjusted to get the correct roll rate.
With the beam-element stabar model you specify an array of points for your bar profile. You have the
option to specify only the left-side points for symmetric bars. The endpoint becomes the 'droplink_bar'
point. You specify the 'arb_bushing' location via a connection point.
Beam Stabilizer Bar property files contain the 'droplink_external' hardpoint.
FIELD/70002,I=70004,J=70002
RIGHT STABAR ROTATION
BUSHING
, FUNC=USER(300, 650.0, 650.0, 100.0,
, 2.50000e+05, 2.50000e+05, 2.00000e+02,
, 5.00, 5.00, 2.00,
, 2.00000e+02, 2.00000e+02, 2.00000e+01 )
----- LINK BUSHINGS
M/70005,PA=71009,QP= 1541.04, -561.66, 552.87
, XP = 1641.04, -561.66, 552.87
, ZP = 1536.85, -561.64, 432.95
M/70006,PA=72009,QP= 1541.04, 561.66, 552.87
, XP = 1641.04, 561.66, 552.87
, ZP = 1536.85, 561.64, 432.95
BUSH/70003,I=70005,J=70011
LEFT STABAR TO LINK BUSHING
, K = 10000.0, 10000.0, 1250.0
, C = 5.00, 5.00, 2.00
, KT = 1.70000e+05, 1.70000e+05, 2.00000e+02
, CT = 2.00000e+02, 2.00000e+02, 2.00000e+01
BUSH/70004,I=0263,J=70012
LEFT LINK BUSHING
, K = 10000.0, 10000.0, 1250.0
, C = 5.00, 5.00, 2.00
, KT = 1.70000e+05, 1.70000e+05, 2.00000e+02
, CT = 2.00000e+02, 2.00000e+02, 2.00000e+01
BUSH/70005,I=70006,J=70021
RIGHT STABAR TO LINK
BUSHING
, K = 10000.0, 10000.0, 1250.0
, C = 5.00, 5.00, 2.00
, KT = 1.70000e+05, 1.70000e+05, 2.00000e+02
, CT = 2.00000e+02, 2.00000e+02, 2.00000e+01
BUSH/70006,I=0364,J=70022
RIGHT LINK BUSHING
, K = 10000.0, 10000.0, 1250.0
, C = 5.00, 5.00, 2.00
, KT = 1.70000e+05, 1.70000e+05, 2.00000e+02
, CT = 2.00000e+02, 2.00000e+02, 2.00000e+01
----- STABAR LINK AND BUSHING GRAPHICS
GRAPHICS/70001, CYLINDER, CM=70001, SEG=6, LENGTH= 25.0,
RAD=19.600000
GRAPHICS/700011, CYLINDER, CM=70001, SEG=6, LENGTH= -25.0,
RAD=19.600000
GRAPHICS/70002, CYLINDER, CM=70002, SEG=6, LENGTH= 25.0,
RAD=19.600000
GRAPHICS/700021, CYLINDER, CM=70002, SEG=6, LENGTH= -25.0,
RAD=19.600000
GRAPHICS/70003, CYLINDER, CM=700011, SEG=6, LENGTH=119.993179,
RAD=8.000000GRAPHICS/70004, CYLINDER, CM=700021, SEG=6,
LENGTH=119.993179, RAD=8.000000
*******************************
* *
* STABILIZER BAR PARTS *
Trailer Tow 183
Components
* *
*******************************
----- CENTER PART
PART/71000, CM=71000, MASS=1.406256
, IP = 1000.00, 1000.00, 1000.00
, VX =-2.458720e+04
M/71000,QP= 1345.43, 0.00, 528.54
CM POINT
, XP = 1445.43, 0.00, 528.54
, ZP = 1345.43, 0.00, 628.54
M/71100,QP= 1345.43, 0.00, 528.54
Z TOWARD FIRST LEFT POINT
, XP = 1445.43, 0.00, 528.54
, ZP = 1345.43, -145.28, 528.54
M/72200,QP= 1345.43, 0.00, 528.54
Z TOWARD FIRST RIGHT POINT
, XP = 1445.43, 0.00, 528.54
, ZP = 1345.43, 145.28, 528.54
M/71300,QP= 1345.43, 0.00, 528.54, USEXP,
X AWAY FROM FIRST LEFT POINT
, XP = 1345.43, 145.28, 528.54
, ZP = 1345.43, 0.00, 628.54
M/72300,QP= 1345.43, 0.00, 528.54, USEXP,
X AWAY FROM FIRST POINT
, XP = 1345.43, -145.28, 528.54
, ZP = 1345.43, 0.00, 628.54
GRAPHICS/71100, CYLINDER, CM=71100, SEG=6, LENGTH=72.640000,
RAD=14.000000
GRAPHICS/72200, CYLINDER, CM=72200, SEG=6, LENGTH=72.640000,
RAD=14.000000
----- LEFT PART 1 OF 9
PART/71001, CM=71001, MASS=0.839319
, IP = 1000.00, 1000.00, 1000.00
, VX =-2.458720e+04
M/71001,QP= 1345.43, -145.28, 528.54
CM POINT
, XP = 1445.43, -145.28, 528.54
, ZP = 1345.43, -145.28, 628.54
M/71101,QP= 1345.43, -145.28, 528.54
Z TO NEXT LEFT POINT
, XP = 1445.43, -145.28, 528.54
, ZP = 1320.53, -342.68, 560.78
M/71201,QP= 1345.43, -145.28, 528.54
Z TO PREV LEFT POINT
, XP = 1445.43, -145.28, 528.54
, ZP = 1345.43, 0.00, 528.54
M/71301,QP= 1345.43, -145.28, 528.54, USEXP,
X AWAY FROM NEXT LEFT POINT
, XP = 1370.33, 52.12, 496.30
, ZP = 1345.43, -145.28, 628.54
M/71401,QP= 1345.43, -145.28, 528.54, USEXP,
X TO PREV LEFT POINT
, XP = 1345.43, 0.00, 528.54
, ZP = 1345.43, -145.28, 628.54
184 Adams/Chassis
Components
You must also activate ARC Front Link Force and/or ARC Rear Link Force control system outputs. The
control outputs apply a force to increase/decrease the length of the stabilizer bar links.
Stabar Torsion
For the Stabar Torsion option, you must specify the maximum stabar rotation angle, and the rotational
damping. You must also activate ARC Front Stabar Torque and/or ARC Rear Stabar Torque control
system outputs.
Trailer Tow 187
Components
Sign Convention
For link actuator type, a positive force (positive control output) increases the length of the link.
For rotational actuator type, a positive torque rotates the left stabar half backwards.
188 Adams/Chassis
Components
Adams/Chassis Test Mode
The Adams/Chassis Test mode allows you to build, run, or build and run your model.
188 Adams/Chassis
Working with Fingerprints
The Test mode fingerprint tree allows you to use an unlimited number of fingerprints as well as an
unlimited number of events per fingerprint. Learn how to use multiple fingerprints.
You can use fingerprints to:
• Test one model with several different events
• Compare the performance of several models using the same event
• View any combination of models and events
To create a fingerprint:
• Do one of the following:
• Select the New Fingerprint button.
• Double-click on an event in the event bookshelf.
If there is no existing fingerprint, Adams/Chassis automatically creates a new fingerprint.
• Right-click on a selected event, and then select Add Event to New Fingerprint from the
shortcut menu.
Note: Adams/Chassis adds any new events to the currently selected fingerprint.
To save a fingerprint:
Do one of the following:
• From the Test menu, select Save Selected Fingerprints.
Copying a Fingerprint
To copy a fingerprint:
1. Right-click the fingerprint you want to copy.
The shortcut menu appears.
2. From the shortcut menu, select Copy Selected Fingerprint.
Adams/Chassis makes a copy of the selected fingerprint.
Adams/Chassis Test Mode 191
Working with Events
Adding an Event
You add events to fingerprints to exercise your model.
To add an event:
• Do one of the following:
• In the Event Bookshelf, double-click an event.
Adams/Chassis automatically adds an event to the current fingerprint. If there is no
fingerprint, Adams/Chassis creates a new fingerprint.
• Right-click an event in the bookshelf, and then select Add Event to New Fingerprint or Add
Event to Current Fingerprint.
Copying an Event
You can copy an event in the Test mode.
To copy an event:
1. Select the event you want to copy.
2. Do one of the following:
• From the Test menu, select Copy Selected Events.
• Select the Copy Selected Events button .
• Right-click the event you want to copy, and then select Copy Selected Events from the
shortcut menu.
Adams/Chassis makes a copy of the event and appends _copy to the name of the event.
192 Adams/Chassis
Working with Events
To use auto-alignment:
1. In Test mode's fingerprint tree, select an event.
2. In the property editor, select one of the following:
• Front Auto-Alignment to auto-align your front suspension
• Rear Auto-Alignment to auto-align your rear suspension
3. Enter values for:
Adams/Chassis Test Mode 193
Working with Events
• Total Toe
• Avg Caster
• Caster Split
• Avg Camber
• Camber Split
Note: Values greater than +20 or less than -20 mean that angle will not be aligned. (For
example: enter 9999 for Caster and Caster will not be aligned).
If you choose to perform an alignment, Adams/Chassis uses autoaligner (Consub - See Automated
Suspension Alignment Routine). The autoaligner varies motion settings on joints within the suspension
to achieve the desired settings. Each suspension template has one or more alignment techniques. You can
skip the automatic alignment process and do one the following:
• Leave the suspension in the design position configuration.
• Use previously computed alignment motions, which can be entered in the suspension data files.
If you choose not to use the autoaligner, Adams/Chassis automatically sets a *simple (sim/stat)* for half-
vehicle models and it will set a *dynamic (sim/stat)* for full vehicle models.
The dynamic sim/stat takes into account tire forces to fully balance the vehicle at TIME=0.00 and is the
method used when the autoaligner is called.
194 Adams/Chassis
Simulations
Simulations
In Adams/Chassis, simulations consist of building and running selected events. You can then view the
results from these simulations in the Review mode.
When Adams/Chassis builds a model, it uses the current model in memory to create the output files
necessary for running the simulation. It is not necessary for you to save the model to disk before taking
advantage of changes you made in Build mode.
To build an event:
1. Select the events from the treeview that you want to build.
2. Do one of the following:
• From the Test menu, select Build Selected Events.
• Select the Build Selected Events button from the toolbar.
• Right-click the treeview, and then select Build Selected Events from the shortcut menu.
Adams/Chassis then builds the events you selected in the treeview.
Full-Vehicle Simulations
The full-vehicle simulations utilize not only all the primary vehicle systems supported by Adams/Chassis
(front suspension, rear suspension, body, and steering) but also require the use of tires for driving on the
road.
Many full-vehicle events use the Standard Driver Interface (SDI).For more information on the SDI,
please refer to the online help for Adams/Car.
Learn more about the Adams/Chassis integration with the SDI
.
Durability Analyses
Dynamic Loadcases Using Full-Vehicle Models
Straight Line Drive Durability
Handling Analyses
3D Smooth Road
196 Adams/Chassis
Simulations
Brake In Turn
Constant Radius
Fish Hook 2
Frequency Response
Grist Mill
Hands Free
J-Turn
J-Turn2
Lane Change
On Center Handling
Adams/Chassis Test Mode 197
Simulations
Sinusoidal Steering
Step Steer
Straight-Line Drive
Swept Steer
Throttle On In a Turn
Tire Wear
Ride Analyses
4 Post
Static Analyses
Static Vehicle Characteristics (SVC)
198 Adams/Chassis
Simulations
Half-Vehicle Simulations
The front- and rear half-vehicle simulations are identical. The front half-vehicle simulations require a
body (for holding the suspension), a steering system, and a front suspension. The rear half-vehicle
simulations require a body (for holding the suspension) and a rear suspension. The body can be thought
of as being bolted to a rigid test stand and cannot move. Some of the half-vehicle simulations have a rise-
to-curb parameter, to aid proper vehicle setup.
Frame Compliance
Ride Motion at Wheel Center
Simulation Controllers
Simulation controllers include:
• Road Wheel Velocity Controllers. See Wheel Velocity Controllers for Adams.
• VDO Power Steering Force
• Motion Time History Trace. See Motion Time History Trace Routine.
• Driver Model Steering Controller. See Path-Following Steering Controller.
• Required Adams Statements in Dataset
• Adams GRAPHIC Statements to Show Desired Path
• Steering Controller Debugging Suggestions
• Standard Driver Interface (SDI)
Braking Controllers
Braking controllers are used during braking related full-vehicle events such as Brake Drift, Open Loop
Braking, and Straight Line Deceleration.
where:
id = braking controller time ARRAY id (must equal arybrt in ARRAY/93)
tdel = time it take to turn braking from on to full off (sec)
ont = time at which braking is turned on (sec)
offt = time at which braking is turned completely off (sec)
psid = front-to-rear brake proportioning
if negative = absolute value of "psid" gives fraction
front braking at all longitudinal accel.
levels (must be between 0 and 1)
if positive = the brake proportioning SPLINE id (see below)
fspl = front brake split side-to-side [ 0.5 for no split ]
(this number is the fraction at left wheel)
rspl = rear brake split side-to-side [ 0.5 for no split ]
(this number is the fraction at left wheel)
Refer to chapter on tire models for more information on ARRAY/93. The optimum values of the
proportional and integral gains may depend on the weight of the vehicle. They also depend on the type
of error being monitored by the controller. The controller is designed to work with displacement, velocity,
acceleration, and force error. It may take several iterations to set the gains correctly for a given
simulation.
If the "psid" parameter is positive, then a SPLINE must exist in the dataset with the id equal to the value
of "psid". This SPLINE is called the brake proportioning SPLINE. The SPLINE must contain at least four
X and Y pairs with X values as longitudinal acceleration in g's and the Y values as fraction of braking at
front wheels (i.e. must be between 0 and 1). The SPLINE should start with the first X equal to 0.0 g's and
the last value of at least 1.2 g's. The proportioning SPLINE can be described as follows:
SPLINE/psid X = glev1,glev2,glev3,glev4,Y = bp1, bp2, bp3, bp4, ....
where:
psid = front-to-rear brake proportioning SPLINE id
glevi = longitudinal acceleration points in ascending order (g)
(must have at least 4 points)
bpi = percentage braking at front wheels (between 0 and 1)
In addition to the ARRAY statements, an Adams USER DIF statement must be supplied. The DIF
informs the controller the id of the braking SPLINE and the type of error to simulate. The DIF can be
defined as follows:
DIF/id, IC=0.0, FUN = USER ( 1002,bspid,imot,bm,gm)
where:
202 Adams/Chassis
Simulation Controllers
Steering Controllers
Learn about:
• Standard Driver Interface
• Driver Model Steering Controller
• Adams/Chassis Integration with the SDI
Full-Vehicle Events
Constant Radius
Dynamic Constant Radius
Double Lane Change
Frequency Response
On-Center Handling
Parking Effort
Straight Line Acceleration
Straight Line Deceleration
Step Steer (lateral acceleration)
204 Adams/Chassis
Simulation Controllers
To learn more about the Standard Driver Interface, refer to Running Full-Vehicle Analyses.
PI Traction/Braking Controllers
Most SDI events in Adams/Chassis use non-SDI PI controllers for traction and braking. This is due to
increased performance of these controllers in some situations. To find out which traction/braking
controllers are being used in a particular event, examine the .dcf file. If you see 'VAR(995)' in the traction
or braking function expressions, the PI controllers are being used. The gains for the PI controllers are
stored in the powertrain and braking subsystem parameters tables: 'proportional_gain', and
'integral_gain'.
Adams/Chassis Test Mode 205
Simulation Controllers
If the controller is called from varsub (see Variable Based Traction Controller), then the sat_rate and
sat_value need not be supplied since they are not used in the formulation. Instead a maximum
acceleration value is used.
ARRAY/id, NUMBERS = tdel,ont,offt
where:
Refer to chapter on tire models for more information on ARRAY/93. The optimum values of the
proportional and integral gains depends on the weight of the vehicle as well as other model related
characteristics. They also depend on the type of error being monitored by the controller. The controller
is designed to work with displacement, velocity, acceleration, or force error.
An Adams USER DIF statement must be supplied with the ARRAY statement. The DIF informs the
controller the id of the traction SPLINE and the type of error to simulate. The DIF can be defined as
follows:
DIF/id, IC=0.0, FUNC=USER( 1002,spid,imot,bm,gm)
where:
The traction SPLINE must contain at least four X and Y pairs. The SPLINE can be described as follows:
SPLINE/tspid, X = time1,time2,time3,time4, Y = d1,d2,d3,d4,....
where:
An example Adams file traction call which maintains a constant speed of 55 mph is as follows:
ARRAY/50, NUMBERS = 0.5, 10.0, 50
ARRAY/51, NUMBERS = 0.1, 0.0, 50.0
DIF/50, IC=0.0, FUN = USER ( 1002, 50, 2, 5150, 3)
SPLINE/50
,X = 0.00, 5.00, 10.0, 50.0
,Y = -24587.0, -24587.0, -24587.0, -24587.0
Velocity Controllers
For vehicle using tire model 0, The tractive forces are applied as longitudinal force at the spindle. This
is due to the simplicity of this tire model. To account for gyroscopic effects and proper graphics in the
simulation, it is important to maintain proper wheel rotational velocities. In order to keep the wheel
rotational velocities consistent with the longitudinal velocity of the ground under the wheel, a torque is
applied to the wheel parts. This torque is controlled via a user routine which measures actual and desired
rotational velocity of the wheel parts. The torques are applied by using a custom user written
ACTIONONLY SFORCE:
SFORCE/id, I=toram, J=toram, ROTATION, ACTIONONLY,
, FUN = USER (1100,wnum,trad,maxt,maxve,wcgm )
where:
toram = MARKER located at the wheel center with the z axis pointed along the axis of positive rotation
(right-hand rule)
wnum = tire number
1 = left front
2 = right front
...
n = (up to 42 tires)
trad = tire free rolling radius (mm)
maxt = maximum allowable torque (N-mm)
maxve = maximum velocity error (mph)
wcgm = wheel CG MARKER number
208 Adams/Chassis
Simulation Controllers
The magnitude of the torque is dependent on the velocity error, delta-omega, which is calculated as
follows:
delta_omega = omega_desired - omega_actual
omega_desired = vel_long_ground / load_tire_rad
omega_actual = wheel_rotational_velocity {dot} wheel_axis
load_tire_rad = abs ( wheel_center_displacement {dot} radial_dir)
radial_dir = long_direction {cross} wheel_rotational_axis
long_direction = axis_of_wheel {cross} global_Z_direction
vel_long_ground = wheel_translational_velocity {dot} long_direction
where {cross} and {dot} are the cross and dot products of two vectors respectively.
Adams/Chassis Test Mode 209
Static Solver Funnel for .acf files
For some of the full-vehicle events and all half-vehicle events, the following lines of codes appear in the
.acf files:
! Static Funnel:
equil/maxit=50.00, err=10000, imb=10000, stab=10000
sim/stat
equil/maxit=50.00, err=100, imb=100, stab=10
sim/stat
equil/maxit=50.00, err=0.1, imb=0.1, stab=0.1
sim/stat
equil/maxit=50.00, err=0.001, imb=0.10000, stab=0.01
The values for the last equil/maxit statement are defined by the user in the system parameters. The
maximum number of iterations is always taken from the system parameters.
210 Adams/Chassis
RPC Channel/Hardpoint Specification
Note: Only the force list is saved in the property file. The part and
hardpoint lists and the RPC channel information is generated based
on the current model and specified RPC file.
RPC File Name Use the Load button to open a file.
• Line of Sight
• Multi-Component
The dialog box changes according to your selection.
I Part List Lists the parts in the model. Select a part from the list and its CG
populates the location fields.
Locations X, Y, Z Displays the locations of the part you selected from the part list.
212 Adams/Chassis
RPC Channel/Hardpoint Specification
If you select a point from this list, the point location populates the location fields.
J Part List Lists the parts in the model. Select a part from the list and its CG
populates the location fields.
Specify Force Components Do one of the following:
• If you selected Line of Sight for the force type, only a single
force component is required.
• If you selected Multi-Component, select the check box next
to the component you want to include.
Use the Load button to launch the RPC Channel Finder dialog
box. Select a channel from the list of available channels in the RPC
file.
Orientation Only available if you selected Multi-Component. Use the pull-down
menu to select an orientation.
Add Specified Force to List Select to collect all the data currently selected and add it to the force
list.
RPC Channel/Hardpoint Force Allows you to change the force list.
List
Adams/Chassis Test Mode 213
RPC Channel/Hardpoint Specification
The format of this list is rigid, so be sure to take care to not modify
the format when using the Edit List dialog box.
With the Line-of-Sight and Multi-Component options, you can model any type of
SFORCE/VFORCE/VTORQUE/GFORCE options. Following is an example.
,FY = 0/
,FZ = 0/
,TX = 0/
,TY = 0/
,TZ = INTERP(time,3,10200016)/
REQ/10200001, FORCE, I=10200001, J=14200001, RM=10200001,
, C = Force on left lower_control_arm wrt upper_control_arm in
lower_control_arm Reference Frame
!===================================================================
Adams/Chassis Review Mode
The Adams/Chassis Review mode provides a way for you to visualize analysis results using
Adams/PostProcessor.
You can postprocess the output of standard Adams/Chassis events. Postprocessing has two formats:
reports and plots. You can also create an animation of the event.
216 Adams/Chassis
Review Mode Options
Overlay Animation
This option allows you to overlay any number of animations with specified x, y, and z offset values. This
option is only valid for use with Adams/PostProcessor.
Adams/Chassis Review Mode 217
Plots, Reports, or Animations Options
• Execute Selected Animations - sends all of the simulation results currently selected in the
Fingerprint Tree to the animation postprocessor. If a fingerprint is selected in the tree, all of the
events beneath it will be sent to the postprocessor.
• Execute Selected Plots - Sends all of the simulation results currently selected in the
fingerprint tree to the plotting tool in the postprocessor. If a fingerprint is selected in the tree, all
of the results beneath it will be sent to the postprocessor.
• Execute Selected Reports - Sends all of the simulation results currently selected in the
fingerprint tree to the Adams/Chassis post-processing utilities. If a fingerprint is selected in the
tree, all of the results beneath it will be sent to the postprocessor. If you selected Send Reports to
Adams/PostProcessor, Adams/Chassis displays the report text files in Adams/PostProcessor. If
this option is not selected, Adams/Chassis uses the text editor specified in Preferences.
Reviewing Simulations
Adams/Chassis lets you review your simulations using Adams/PostProcessor. Adams/PostProcessor is
a collection of programs that post-processes the output of standard Adams/Chassis events.
Postprocessing has two formats:
• Plots
• Reports
Plots
You can plot the results of any simulation to interpret the performance of your design. You can plot the
results for any event that you created.
See Acceleration Controlled Stop Standard Plots for an example.
Reports
You can create a report and view it in Adams/PostProcessor.
Animations
Animations replay the frames calculated during a simulation in Adams/Chassis. Animations are helpful
for understanding the behavior of the entire physical system, providing an important context to xy
plotting.
Adams/Chassis Review Mode 219
Durability Load Correlation Postprocessing
2. Complete the Durability Load Correlation Post Processing dialog box as described next.
The analytical data section also includes a list that shows the available
channels of data from either the request file or RPC file depending on
your selection.
Test Data Specify the RPC test data (.rsp) file.
The test data section also includes a list that shows the available
channels of data.
Filter You can filter the data list depending on your selection. The filter is
case-insensitive and you can use multiple wildcards (*).
Scale Allows you to scale the magnitude of the analytical data.
X and Y Offset Shift the data in the X and Y directions respectively.
Create New Plot from Selected Analytical Test Data
X Axis Label Defaults to Time. You can change this by entering a text string for the
plot labels.
Y Axis Label Defaults to either the analytical request comment or analytical RPC
channel comment of the currently selected analytical data channel.
You can change this by entering a text string for the plot labels.
Add Plot to List Select to use currently selected data and add the plot to the plot list for
inclusion in the postprocessor.
Plot List 2 Plots Per Page
Defines which channels you selected to be included in the postprocessing. Plots will be presented in a
two-per-page layout with the number of pages being dynamic, based on the number of plots desired.
Title Defaults to Durability Load Correlation. You can change this by
entering a text string for the Global Plot title.
Delete Selected Allows you to delete the plot you selected.
Clear All Allows you to clear the entire plot list.
Adams/Chassis Review Mode 221
Durability Load Correlation Postprocessing
Example
This example is assumes that you are a returning user.
1. Load an existing state file.
2. (Optional) Modify the plots.
3. Select the Generate Post Processor From Plot List button.
4. Return to Review mode.
5. In the treeview, select Durabilty_Load_Correlation.
6. Select the Execute Selected Plots button in the toolbar.
The Durability Load Correlation Post Processing dialog box can remain open along with the main
Adams/Chassis interface. To iterate plot changes quickly, you need to regenerate the dlcpp_tab.aft file
using the Generate Post Processor From Plot List button and then select the Execute Selected Plots
button to launch Adams/PostProcessor.
For each plot, Adams/PostProcessor reports the following metrics in the plot window:
• Min value for Curve 1 and 2 respectively
• Max value for Curve 1 and 2 respectively
• RMS value for Curve 1 and 2 respectively
• Coefficient of Correlation value for both Curves
The plot metrics are parametric to the common portion of both curves displayed in the plot window.
222 Adams/Chassis
Custom PostProcessing
Custom PostProcessing
Adams/Chassis allows you to create custom postprocessing by using files that are not listed in Event
Name fields in the upper portion of the Post Processing screen.
You must select the type of postprocessor to use with each file since Adams/Chassis does not know the
type of simulation performed.
You can optionally select to use a custom postprocessing filter for the files selected in this area.
You can:
• Create customized reports
• Create customized plots
• Use requests to customize
Custom Plots
This example illustrates how to create custom plotting templates for Adams/Chassis events. Here, you
will customize the front ride motion plot.
The standard plotting process starts with a plotting template .aft file. From this file the .tab file is created,
and finally the .cmd file that Adams/PostProcessor can read is produced. The plotting templates are
written in AFM. By creating personal versions of these files, you can change the standard plots. When
the Adams/Chassis postprocesses plots, it automatically looks for a personal version of the plotting
template .aft file. The SI plotting template files are located in: 'install_dir'/achassis/post/plot/SI
Learn more about Plot .aft.
Custom Reports
You can create custom Adams/Chassis standard reports. Standard report templates (such as sweptsteer.pl,
jturn.pl, and so on) have been created and are located in:
<install_dir>/achassis/post/report
Requests
You use Adams/Chassis requests to obtain displacement, velocity, acceleration, and force data. For more
information on requests, select one:
• View requests by attribute
• View requests by request number
Learn about Suspension Design Modeling.
Postprocessing Requests
The table below lists the postprocessing requests. For more requests, see Optional Requests.
Optional Requests
Request 1137 (Lever Ration Calculation) Note: You must manually add this request to your model.
Loadcase/Bushing Requests. See Optional Convention for loadcase and bushing optional requests
Requests.
Request 15144 Front Air Spring Statistics
Request 15158 Front Coil Spring Statistics
Request 15189 Front Shock Absorber Statistics
Request 17001 Front Left Torsion Bar Constraint
Request 17002 Front Right Torsion Bar Constraint
Request 35144 Rear Air Spring Statistics
226 Adams/Chassis
Requests
When the request subroutines receive a call from a REQUEST statement, the REQSUB uses the first
parameter in the argument list to route the REQUEST to the appropriate routine. Please note that the
descriptions of each column are those of the request file, not the output file.
232 Adams/Chassis
Utilities
Utilities
This section contains a variety of topics such as:
• AFM
• PLT
AFM Utility
AFM (Ascii File Manipulator) is a C program which enables one to parameterize an ASCII data set
through use of variables, logic blocks, and a library of geometric manipulation functions. This
parameterized data set is known as a 'method' file or a 'template file'. AFM interprets this method file,
evaluating all of the specified operations, and writes out a resulting file with all of the variables replaced
with their appropriate values. The macro language which AFM interprets in the logic blocks is similar to
the 'C' language with a number of geometric library functions added to aid in defining points in 3-D
space.
A method file consists of ascii text, logic blocks and variables. The ascii text portion of the method file
is simply echoed to the output file in the same format in which it is found. There are two different classes
of logic blocks which alter variable values. These blocks contain the functional dependencies of the
model. The logic blocks are delimited by curly braces.
{{ }}
Class A logic blocks begin and end with double curly braces. They are read and evaluated by the
interpreter. Within these logic blocks variables may be declared, evaluated, and assigned values.
Conditional statements and looping can also be included. As in 'C' each statement in these logic block
must be terminated by a semicolon (';').
{}
Class B logic blocks begin and end with single curly braces. They are read, evaluated and the result of
the last operation is written to the output file. This type of logic block is embedded in the ascii text portion
of the method file outside any class A logic blocks.
There are several different variable types supported in AFM including: int, double, string, point, and line.
These variables can be read in from a geometry/point data file or be declared and assigned values inside
a class A logic block. These variables can be located in the ascii text portion or inside one of the logic
blocks in the method file. If they are in the ascii text portion they are delimited by a percent sign
preceding the variable name i.e. %pt1. As the method file is evaluated, variables in the ascii text portion
will be substituted with the value of the variable in the output file. An example of a simple method file
is included below.
Example 1
{{
double velo, mass;
int i,j;
mass = 10.0;
Adams/Chassis Review Mode 233
Utilities
j = 2;
if(j == 2)
velo = 1.0;
else
velo = 0.0;
for(i=1;i<j;i=i+1) {
velo = velo + i;}
}}
PART/01,CM=0500,MA={mass/2.0},VX=%velo
The output of the above example would be:
PART/01,CM=0500,MA=5.000,VX=2.000
Program Invocation
Data Types
AFM supports several different data types.
int integer
double double precision number
point A 1-d array of 3 doubles, used to represent the x, y, and z components of a point
Pt1(x,y,z).
The basic mathematical operators can be used on this data type. The operation is
performed on all components of the point i.e. the expression
Would add 100.0 to all components of pt1 and store the results in pt3.
string string is similar to the ANSI C usage of char except no size needs to be specified. String
is very much the same as the ANSI C++ string object.
Variables
Variables MUST begin with an alpha character and can be up to 30 characters long. The default setting
of the interpreter does not discern between upper and lower case. Valid characters are a-z, 0-9, and `_` .
The following are variables that are predefined and are globally available for use:
Comments
Comments can be placed inside the type A logic blocks by using the 'C' convention.The symbols "/*" and
"*/" begin and end a comment. The comment may be one line long or cover several different lines.
Everything inside the /* */ symbols will be ignored by the interpreter.
Operators
AFM supports the operators listed below:
Power ^
Multiplication *
Division /
modulus %
Addition +
Subtraction -
Assignment =
Sign/Unary + and -
Logical &&, ||
Relational ==, !=, >=, >, <=, <
AFM FAQs
Select a question:
1. Who, What, Where, When
2. How do you determine which method files are being used?
3. How do you determine the version of AFM?
4. How do you list all the key/reserved AFM words/functions?
5. How do you list the hardcoded table data variable names?
6. Does AFM support the "++" or "--" operators?
7. Does AFM support the switch() statement?
8. Does AFM support the else if control?
9. Implicit type conversion in AFM
10. Algebraic expression inside array delimiters
11. How do you output curly braces?
12. How do you run AFM in batch if there are multiple prompts?
13. What do I do if the validation expires?
14. How do I verify the resource settings for AFM?
236 Adams/Chassis
Utilities
Note: int fx_1; double dfl_1; fx_1 = 3; dfl_1 = fx_1/2; This yield 1.0 in ANSI C one could cast
the result dfl_1=(double) fx_1/2; This yields 1.5
Adams/Chassis Review Mode 237
Utilities
Note: AFM evaluates expressions from right to left while obeying the standard precedence rules
of the respective operators in a given expression and use of parenthesis. This is the same
as C evaluates expressions. However, since AFM provides operator overloading on (point
to point), (point to double) and (point to int) operations the following should be noted. point
pt1, pt2; pt1 = pt2 * 2.0; /* is a valid statement */ pt1 = 2.0 * pt2; /* is NOT a valid
statement */
Note: use the -s option to determine expiration date and current system time. - Is the message
occurring while the application is being called from inside a script file. If so, then probably
the .cshrc file is not being fired off #!/bin/csh - Use the `which` command to check that the
desired and intended executable is being used - Use the `alias' command to verify the
application definition.
the directory where the specific executable resides. To verify which file is being referenced and to see if
the resources are being set as expected, one can invoke afm or mer with the verbose option. '-v 29'
Q: How do I list my question here?
A: If you feel you have a frequently asked question send it in. We will try and provide an answer.
Key Words
Variables
AFM Functions
The AFM functions are listed below:
Custom Functions
loadapt
Declare and assign 'hardpoint' values to GLOBAL variable stack based on the data file. (see loadtables())
loadapt((string) filename)
filename - name of the file to be loaded.
Program Control
Select one of the following controls:
• if/else
• Loops
• exit
• end
• return
• Subroutines
Custom Routines
• Data Loading
if/else
AFM supports the use of if/else branching statements. The syntax is similar to that of 'C'.
if(condition) statement;
else statement;
if( condition ) {
statement;
.
.
statement;
}
else {
statement;
.
246 Adams/Chassis
Utilities
.
statement;
}
AFM supports the use of the "for", "while" and "do while" loops. The syntax is similar to that of 'C'.
for(initialize; test; update) statement;
for(initialize; test; update) {
statement;
.
.
statement;
}
while (condition) {
statement;
}
do {
statement;
} while(condition);
Note: The use of the "++" or "--" operators is not supported by AFM i.e. for (i=0;i<3;i++) can be
accomplished with for (i=0;i<3;i+1).
exit
If the "exit ;" statement is encountered inside an afm
method block, the entire program interpretation will terminate.
end
This is obsolete and will not be supported in the future.
Use the "EXIT" command instead.
Adams/Chassis Review Mode 247
Utilities
return
Reserved for future use.
Subroutines
AFM does not support the use of subroutines as used in the 'C' language. It is possible to simulate this
ability by using the include function. When a file is included, the interpreter opens that file and interprets
it. Upon completion of the included file, interpretation of the calling file resumes from the statement
following the include statement. Using the include function does not allow for the passing of parameters.
The included file has access to all the variables available to the calling file as well as any new variables
declared in the included file. When an included file is exited, all variables declared in it will be lost. In
order to have a value returned to the calling program, the variable must be declared in the calling program
before the file is included.
PLT
The `plt` program is a X-Y charting and post processing program geared for Dynamics result files, Crash
Results files and column data files.
Program Invocation
Help option for the Nemo plot routines.
chart Request 1 item 2 on X axis,chart Request 1 item 3 on Y axis FILENAME.REQ will be used
chart TIME on X axis chart Request 38 item 3 and Request 1 item 1 on Y axis User will be prompted for
the .REQ file to process.
chart TIME on X axis from first file chart Request 38 item 3 and Request 1 item 1 on Y axis from first
file User will be prompted for the first .REQ file to process. chart Request 1 item 3 from second file User
will be prompted for the second `.req` file to process.
chart TIME on X axis from first file chart Request 38 item 3 from first and second file User will be
prompted for which .REQ files to process.
User will be prompted for the .GFM file to chart. Format of file is as specified in GRAFEM
PLT_FRM_FILE
chart column one and column three of the columnized file FILENAME.POS will be used
chart column one and column three, five and seven of the columnized file FILENAME.POS will be used
chart row count and column one of the columnized file FILENAME.POS will be used
chart column one and three will be plotted from both files FILENAME.POS will be used
Note: When plotting from multiple files both must have same number of entries.
PLT can also be used to create columnized data with the 'fd' option. The following command creates
'test.dat', which has 3 columns representing time, steering wheel angle, and steering wheel torque:
achassis -plt -r “0,1090:1,1095:2” -fd test.req
PLT FAQs
About Investigations
In Improve mode, you create investigations to efficiently vary system parameters and monitor how these
changes effect system performance. You select systems (events) that you want to investigate. An
investigation enables you to learn more about a system and then efficiently communicate this enhanced
understanding with the rest of the design community.
The results of these investigations are then presented to you using Adams/Insight. Once inside
Adams/Insight, you can specify the subset of factors and responses that are identified as Inclusion Factors
or Inclusion Responses. Adams/Insight then allows you to create a workspace or a grid of Trials
identifying how each factor will be set for each trial.
Setting Up Investigation
The property editor in Improve mode allows you to work with investigations. When you set up an
investigation, you are requesting the potential Inputs (Factors) and Outputs (Responses) of the events to
be identified and presented using Adams/Insight.
In the Setup Investigation tab, you can:
• Create a new investigation
• Edit an existing investigation
• Use an existing investigation
Execute Investigation
The Execute Investigation tab in the property editor allows you to efficiently build, run, and postprocess
all the trials (configurations) you created in Adams/Insight and load the results back into Adams/Insight.
This automated process of collecting simulation result data provides valuable insights into the
performance characteristics of the system under investigation. You can learn which factors are important
or significant to a particular performance metric. You can also learn quantifiably how significant that
particular input is to the output of the system, and how significant interactions between factors are to the
respective outputs of the system.
Adams/Chassis Improve Mode 253
About Investigations
When adding user responses, you must begin the name of your response with the prefix corresponding
to the event with which the response is associated.
Example: Following the naming pattern from the example above, the following user response names are
valid:
12.0 2005
min min
max max
absmin absmin
absmax absmax
initial_value initial_value
final_value final_value
range lstrange *(Name change)
average average (or mean)
New types
rms
sqsum
stdev
sum
sumsq
var (variance)
skew (skewness)
kurt (kurtosis)
To create an Adams/Insight response for one of these, create a new response, select Scalar Response
Type, and enter a string with the following syntax in the Variable text box:
plts:<type>:req_<id>:<col_number>[:time_range:<tmin>:<tmax>]
Required arguments
type - One of the types listed above (max, min, and so on)
id - Numerical Adams request ID
col_number - Adams request column number (1 - 6)
Optional Time Range feature (must specify minimum and maximum time)
min - Minimum time for output
258 Adams/Chassis
Using Adams/Insight with Adams/Chassis
Examples
Maximum left front toe:
plts:max:req_1080:1
Minimum lateral acceleration:
plts:min:req_1041:1
Final steering wheel angle:
plts:final_value:req_1090:1
Maximum left front toe between 1 and 3 seconds:
plts:max:req_1080:1:time_range:1:3
Required arguments
time - Simulation time to process request (must correspond to an output step)
id - Numerical Adams request ID
col_number - Adams request column number (1 - 6)
Examples
Left front toe at 2 seconds
time_value:2:req_1080:1
Lateral acceleration at 4 seconds
time_value:4:req_1041:1
Adams request versus another. The number of responses corresponds to (order+1), where order is the
specified polynomial curve order.
To create an AdamsAdams/Insight polynomial response, create a new response, select User Response
Type, enter a string with the following syntax in the Variable text box, and enter (order+1) into the
Columns text box:
poly:<order>:req_<id1>:<col_number1>:req_<id2>:<col_number2>[:time_range:<tmin>:<tmax>]
Required arguments
order - Order of polynomial response
id1 - Adams request ID for polynomial independent values
col_number1 - Adams request column number (1 - 6) for polynomial independent values
id2 - Adams request ID for polynomial dependent values
col_number2 - Adams request column number (1 - 6) for polynomial dependent values
Optional Time Range feature (must specify minimum and maximum time)
tmin - Minimum time for output
tmax - Maximum time for output dependent values
Examples
Polynomial response, quadratic, steering wheel angle as a function of lateral acceleration:
poly:2:req_1041:1:req_1090:1
Polynomial response, cubic, left front toe as a function of left spindle rise:
poly:3:req_5109:3:req_1080:1
Polynomial response, cubic, left front toe as a function of left spindle rise between 3 and 4 seconds of
simulation time:
poly:3:req_5109:3:req_1080:1:time_range:3:4
260 Adams/Chassis
Using Adams/Insight with Adams/Chassis
Advanced Adams/Chassis
This section assumes that you are an advanced Adams/Chassis user.
You can customize several areas of Adams/Chassis including:
• Methods
• Events
• Reports
• Plots
• Solver library
264 Adams/Chassis
Modeling Customization
Modeling Customization
Adams/Chassis Preprocessing
The Adams/Solver models generated with Adams/Chassis are created by referencing a series of python
(.py) files. These files can be thought of as formatted text with 'blanks', where the 'blanks' are filled with
functions of the vehicle data from the system, subsystem, and property .xml files. The template files are
stored in achassis/pre_py
To document which specific python templates are used to create each Adams/Chassis model, the last
section of each .adm is a listing of these files:
Custom PostProcessing
Adams/Chassis allows you to create custom postprocessing by using files that are not listed in Event
Name fields in the upper portion of the Post Processing screen.
You must select the type of postprocessor to use with each file since Adams/Chassis does not know the
type of simulation performed.
You can optionally select to use a custom postprocessing filter for the files selected in this area.
You can:
• Create customized reports
• Create customized plots
• Use requests to customize
To add an event:
1. Do one of the following:
• Double-click on the event in the bookshelf.
• Right-click the event, and then select Add Event to Custom Postprocessing from the
shortcut menu.
• Select Load Custom Postprocessing Event from the Review menu.
• Select Load Custom Postprocessing Event from the toolbar.
2. Choose an associated request file from the Select Request File window
.
Note: If you choose to use the Review menu or the toolbar, you will have to specify an
associated event type after choosing the request file.
Item
Number Item Description Options
1 Title and The title is the name Layout Key
Layout of the event and will
appear on each page • 1 = 1 plot (1 row x 1 plot)
of plots. • 2 = 2 plots (1 row x 2 plots)
Item
Number Item Description Options
4 Ylabel The Y axis label for User choice
each plot.
5 Range The range for the Y User can specify a Low and High value or
axis specify auto for automatic scaling.
Item
Number Item Description Options
6 Header on/off and Individual title for each plot can be turned User choice
Header Label on or off.
7 Legend on/off Turn on/off the plot legend for each plot. on or off
8 Legend location Specify where on each plot the legend Header Location
should appear Options
• TopRight
• TopLeft
• BottomRight
• BottomLeft
270 Adams/Chassis
Custom PostProcessing
CURVE SETUP
Item
Number Item Description Options
9 Datatype Specify the data type Datatype Options
1. displacement
2. velocity
3. acceleration
4. force
5. user defined
6. Tab Results (for column data)
If time is desired, user must specify Time.
10 Filename Specify the filename Should always be {req_file[i]} so multiple files
can be overlayed. User can plot an indexed
portion of the input data y adding
[num1:num2:num3] after {req_file[i]}where
num1 is the first step, num2 is the last step, and
num3 is the step size.
11 Label Specify the label that Should always be {req_file[i]} except where
appears in the legend. plotting 2 curves in one plot window.
12 Datatype Specify the X Axis Refer to Item 9 for options
data type
13 Request ID Specify the Request ID Select the Adams Request ID or Time
or Time
Advanced Adams/Chassis 271
Custom PostProcessing
Item
Number Item Description Options
14 Request Specify which Request Column Options
column component of the
Request ID to plot for • X=1
the X Axis. User can • Y=2
also specify Time. • Z=3
• RX = 4
• RY = 5
• RZ = 6
If time is desired, user must specify Time.
15 Scale Scale factor for X data User choice
16 Offset Offset the data on the X User choice
Axis
17 Datatype Specify the Y Axis Refer to Item 9 for options
data type
18 Request ID Specify the Request ID Specify the Request ID or Time
or Time
19 Request Specify which Request Column Options
column component of the
Request ID to plot for • X=1
the Y Axis. User can • Y=2
also specify Time. • Z=3
• RX = 4
• RY = 5
• RZ = 6
If time is desired, user must specify Time.
20 Scale Scale factor for Y data User choice
21 Offset Offset the data on the Y User choice
Axis
22 Line Type Specify the line type For plotting in PPT:
• 1 = "Solid"
• 2 = "Dash"
• 3 = "Dot"
• 4 = "DotDash"
272 Adams/Chassis
Custom PostProcessing
Item
Number Item Description Options
23 Line Color Specify the line color For plotting in PPT:
• 1 = "Magenta"
• 2 = "Red"
• 3 = "Blue"
• 4 = "Green"
• 5 = "LimeGreen"
• 6 = "Maize"
• 7 = "Peach"
• 8 = "BlueViolet"
24 Symbol on/off Turn on/off the line on or off
symbols
25 Symbol Type Specify the symbol Circles, Triangles, Diamonds, etc.
type
26 Symbol Color Specify the symbol Numerous colors to choose
color
27 Tics Specify the number of User choice
tics
Custom Plots
This example illustrates how to create custom plotting templates for Adams/Chassis events. Here, you
will customize the front ride motion plot.
The standard plotting process starts with a plotting template .aft file. From this file the .tab file is created,
and finally the .cmd file that Adams/PostProcessor can read is produced. The plotting templates are
written in AFM. By creating personal versions of these files, you can change the standard plots. When
the Adams/Chassis postprocesses plots, it automatically looks for a personal version of the plotting
template .aft file. The SI plotting template files are located in: 'install_dir'/achassis/post/plot/SI
Advanced Adams/Chassis 273
Custom PostProcessing
Custom Reports
You can create custom Adams/Chassis standard reports. Standard report templates (such as sweptsteer.pl,
jturn.pl, and so on) have been created and are located in:
<install_dir>/achassis/post/report
The following is the SweptSteer class definition. It is derived from the SDIEvent class that will be
discussed later. This essentially means it inherits all the properties of the standard driver interface event,
so they do not need to be redefined in this class.
class SweptSteer(chassis_event.SDIEvent):
Advanced Adams/Chassis 275
About Custom Events
The register method is where the unique attributes get defined for a particular event.
def register (self):
c = Class (self)
c.addMember("velocity", type=FloatType,
units='vehicle_velocity')
c.addMember("finalLateralAcceleration", type=FloatType, units='g')
c.addMember("turnDirection",
type=chassis_event.TurnDirection)
The __init__ method is the standard Python method that gets called during the object instantiation. This
call only happens during the initialization process, in this case, the setting of the defaults and object
parameters.
def __init__ (self, parent, **params):
chassis_event.SDIEvent.__init__(self,parent)
# Set default values for public member data
self.setDefaults()
self.setParams (params)
The setSIDefaults and setEnglishDefaults are the methods that set the default values for the event for both
SI and English units. Notice that the turnDirection attribute is set to an inherited enumerated type called
TurnDirection. Enumerated types are a very effective way to associate easily understood words (like Left
or Right) with programming values (like 0 and 1).
def setSIDefaults(self):
self.velocity (100.0)
self.finalLateralAcceleration (.6)
self.turnDirection (chassis_event.TurnDirection.Left)
def setEnglishDefaults(self):
self.velocity (55.0)
self.finalLateralAcceleration (.6)
self.turnDirection (chassis_event.TurnDirection.Left)
The reportTemplate and plotTemplate methods simply return the token used by the Perl-based meplot
script for postprocessing.
def reportTemplate(self):
return 'sweptsteer'
def plotTemplate(self):
return 'sweptsteer'
The setGlobals method is used to initialize the "G" variables that depend on event parameters. G variables
are used in the preprocessing templates, such as sla.py and rack.py. This method is called at the beginning
of the .adm build process. This method is an interface between the object-oriented event code and the
procedural preprocessing code.
def setGlobals (self,G):
self.setConstantVelocity(G)
276 Adams/Chassis
About Custom Events
G.do_sdi = 1
if self.useRoadGraphics:
rg = RoadGraphicsGridProperties(None)
rg.centerLocation([-175000,-25000,G.body.tvs[0]])
rg.xLength (500000)
rg.yLength (250000)
rg.xGrids (20)
rg.yGrids (10)
self.roadGraphic = rg
The instructSolver method is used to define the Adams/Solver commands and uses functions to build up
the .acf file.
def instructSolver (self,G):
steer_func = "DTOR*IF(TIME-4: 1.875*(TIME**2), 30, 15*TIME-30)"
if self.turnDirection() == chassis_event.TurnDirection.Right:
steer_func = "-1.0*"+steer_func # DriverControlFile setup
maneuver = self.dcf.maneuver()
maneuver.maneuverName('Swept Steer')
maneuver.static().task(dcf.DcfStaticTask.straight)
maneuver.initialSpeed(G.speed * G.MPH_TO_MMS)
mini = dcf.DcfMini(maneuver) mini.name('SWPT_STEER')
# Beginning of section common to all Chassis SDI events
# Set demand types
steering = mini.steering()
throttle = mini.throttle()
braking = mini.braking()
gear = mini.gear()
clutch = mini.clutch()
# Initialize gear and clutch
gear.set_constant_value(3)
clutch.set_constant_value(0)
steering.actuatorType(dcf.DcfActuatorType.rotation)
steering.set_function(steer_func)
# Use Chassis PI controllers
throttle.set_function('VARVAL(995)')
braking.set_function('VARVAL(996) * -1.0')
mini.abortTime(20.0)
mini.stepSize(.1)
# Set final lateral acceleration
final_ay = self.finalLateralAcceleration() * G.G_TO_MMS2
self.set_function(element='SENSOR',id=2000,function='ABS(ACCY(5100
,0001,5100))/%.2f' % final_ay)
self.instructSolverSDI(G)
The unitTest method is at the end of every event and is used for testing outside of the primary
Adams/Chassis interface framework. This method is optional for custom events.
def unitTest(self,name='SweptSteer_unit_test'):
self.name(name)
self.turnDirection (chassis_event.TurnDirection.Left)
if self.build() :
self.turnDirection (chassis_event.TurnDirection.Right)
Advanced Adams/Chassis 277
About Custom Events
return self.build()
return False
The swept steer event is derived from the SDIEvent class meaning it inherits all of the methods from that
base class. Here are some of the important things to note from that class, which resides in the
pre_py/events/chassis_event.py file.
class SDIEvent(FullVehicleEvent):
'''Base class for all full vehicle SDI-type events,
registers dcf class and dcf write
'''
Here you see the first use of the addTestrig method. In this case, it is used to include the achassis_sdi.py
test rig, which is the base test rig for all standard-driver interface driven events. This file adds the driver
control variables, requests, and all the needed code for the SDI events.
Events can use any number of test rig files as required. Various test rigs used in the standard events can
be found in the pre_py/testrigs directory.
def __init__(self,parent):
FullVehicleEvent.__init__(self,parent)
self.dcf = dcf.Dcf(None)
self.dcfFileName = ''
self.addTestrig('${AFM_AFT}/testrigs/achassis_sdi.py')
The instructSolverSDI method is used to set the various .acf commands used for all of the SDI events.
def instructSolverSDI(self,G,sdi_throttle=0):
'''Method for end of .acf file common to all SDI events
throttle is 1 when using SDI traction/braking control.
Default is PI control
'''
if sdi_throttle:
# Set HMAX for SDI machine control
self.add_acf_com('INTEGRATOR/HMAX=.01')
# Set SDI scale array
self.add_acf_com('!SDI throttle, brake scales')
self.set_array(id=9690,numbers=[G.sdi_throttle_scale,G.sdi_brake
_scale])
# Deactivate PI controllers
self.piTraction.active(0)
self.piBraking.active(0)
# ------------------- PI CONTROLLERS SECTION -------------------
-
self.set_pi_traction()
self.set_pi_braking()
# ------------------- SIM/STAT , Auto-Aligner -------------------
--
# Initialize SDI
self.call_consub(branch=980,params=[1])
acf_align.acf_align(G,self)
# --------------------------- DRIFT SECTION --------------------
-----
278 Adams/Chassis
About Custom Events
self.set_gravity(ig=G.igv,jg=G.jgv, kg=G.kgv)
# ------------------- SDI SECTION ------------------------------
--
bld_sdi.bld_sdi(G,self)
Once the build process is complete for a particular event, the general layout of the .adm file that
Adams/Chassis creates has the following components:
Header
Subsystems
Controls
Front Suspension
Steering Column
Steering Gear
Rear Suspension
Body
Loading
Powertrain
Brakes
Front Wheel and Tires
Rear Wheel and Tires
Instrumentation
Testrig(s)
Road Graphics
Footer
Data file list
Template file list
For more examples, see Knowledge Base Article 12364.
• __init__
• setSIDefaults
• setEnglishDefaults
• setGlobals
• instructSolver
The methods reportTemplate and plotTemplate are optional depending on the postprocessing needs of the
event.
import sys
from types import FloatType,IntType, StringType
from mdi.afc.afckernel import Enum, Class
import chassis_event
import dcff
rom grid import RoadGraphicsGridProperties
class MyStepSteer(StepSteer):
Notice that you’ll need to import the derived class, in this case StepSteer as well as EventGuiInfo, and
several types used when registering additional members.
280 Adams/Chassis
About Custom Events
The register method is where you add any additional variables to be used in your custom event. These
members will correspond to various GUI input fields.
Here is an example register method:
def register (self):
c = Class (self)
c.addMember("myVelocity", type=FloatType,
units='vehicle_velocity')
c.addMember("myLateralAcceleration", type=FloatType, units='g')
c.addMember("mySteerAngle", type=FloatType,
units='angle')
c.addMember("myStringField", type=StringType) # sample
text string
field
c.addMember("radio_button_value", type=IntType) # default
radio button Units are optional for added members. Many different
values can be used to specify the units. Some of the most common are:
• vehicle_velocity • torque
• g • torsional_stiffness
• angle • mass
• stiffness • inertia
• length • force
• pressure • time
• density • inch
• area • meter
• damping
In order to utilize custom parameters that aren’t present in the current testrigs, you may have to use
personal versions of the various testrigs to suit your needs.
There are several GUI design options for custom events. The GUI is implemented in the event class by
a method called guiInfo.
The simplest case is when there are no changes in the GUI from the derived event. Usually one will want
their custom event to have a different name than the base class, so the guiInfo method might look like this:
def guiInfo (self):
guiInfo = EventGuiInfo ()
guiInfo.addTableItem ("Method" , "method")
guiInfo.addTableItem ("Vehicle Velocity", "velocity")
guiInfo.addTableItem ("Turn Direction" , "turnDirection")
guiInfo.editorFile ("step_steer_editor")
guiInfo.editorClass ("StepSteerDialog")
guiInfo.shortName ("derived_step")
guiInfo.niceName
("Derived GUI Based Step Steer")
return guiInfo guiInfo = classmethod (guiInfo)
The items to note are that the editorFile and editorClass, in this case “step_steer_editor” and
“StepSteerDialog” tell the code to use the existing GUI and control file for the Step Steer event. The GUI
event form will be exactly the same as the standard Step Steer event.
The addTableItem method on guiInfo specifies the columns in the table view of the event editor. There
can be up to 4 columns specified and they can attach to any available base or user-defined member
(turnDirection, method, and velocity in this case).
The shortName method is the token used when the Chassis GUI automatically creates the default name
in the Test mode fingerprint. It is best to keep this relatively short and don’t use spaces or any special
characters.
The niceName method is the string used in the Test mode event bookshelf. This name is visible to the
users and can contain spaces if desired.
Most likely, when you create a custom event, the GUI will need to be different than the base class event
to give the user the ability to modify custom attributes.
The easiest way to accomplish this is to use a system that was created from extending the Adams/Chassis
12.0 (and earlier) method of creating custom GUI for custom events. This system involves specifying a
text file that defines what the user will see given a pre-defined set of input parameters.
The guiInfo for specifying an event using this system would look like this:
def guiInfo (self):
guiInfo = EventGuiInfo ()
guiInfo.addTableItem ("My Velocity", "myVelocity")
guiInfo.addTableItem ("My Lateral Acceleration",
"myLateralAcceleration")
282 Adams/Chassis
About Custom Events
LABEL
myVelocity My Vehicle velocity
myLateralAcceleration My Lateral Acceleration
mySteerAngle My Steer Angle
Number_of_string_fields: 999
Number_of_radio_options: 999
Radio_label: "My Radio Button"
If the Number_of_input_field = 999, then the GUI will use everything in the list. If it is specified as a
number less than the number of input fields, it will only use the number specified.
The input fields are specified as:
<registered class member> <text label for GUI field>
You must link up registered members from your custom event to input fields in this manner for the user
to be able to edit them and have them saved to the fingerprint file.
Advanced Adams/Chassis 283
About Custom Events
The string fields work in exactly the same manner with the added optional “Find Filter” text string for
use with the file selection dialog.
To specify a radio button, the Number_of_radio_options must be greater than 0. If it equals 0, no radio
button will appear in your custom event GUI.
If a radio button is desired, you MUST have the member “radio_button_value” registered in your custom
event. For example:
def register (self):
c = Class (self)
c.addMember("radio_button_value", type=IntType) # default
radio button
When the user selects the “My Radio Option 1” button, the first 3 input fields are shown as well as the
string field. If they select “My Radio Option 3” button, only the 3rd input field is shown.
If a radio button is active, this table controls the visibility of the fields.
There is no limit to the number of input fields, string fields, or radio options you can use although there
is a practical limit based on the screen real estate available. Keep in mind that the internal display of the
event form doesn’t scroll, so it is possible to define fields that aren't visible to the user.
The GUI control text files must be in the same custom_events directory as the event Python files
themselves.
For more examples, see Knowledge Base Article 12364.
Note: You must pre-compile the subroutines and generate the object files before you build the
custom solver executable.
To build on UNIX:
• Use the command (without pre-compiling)
achassis -buildcust sub_list.lst
View supported compilers.
Examples
Example Common Block
INTEGER X,Y,Z
COMMON /USER_VALUES/ X,Y,Z
Interface Routine
subroutine req002(id,
time, par, npar, iflag, result) id, npar
logical
iflag
C Function on SGI
void reqsub_f2c_ (int *id, double *time, double *par, int *npar, int
*iflag, double *result )
{
.....
.....
.....
return;
C Function on NT
void __stdcall REQSUB_F2C (int *id, double *time, double *par, int
*npar, int *iflag, double *result )
{ .....
.....
.....
return;
}
Note: • The parameters between the interface routine and the C function should be passed
by address.
• The name of the c function should be "void" and followed by an "_" at the end on
SGI. This convention is platform dependent. On NT the function should be void
__stndcall and the name of the function must be in capitals. Refer to Solver User
Subroutines Written in C for other platform conventions.
Advanced Adams/Chassis 289
Build Process for Routines Written in C
C Function
void reqsub_f2c (int *id, double *time, double *par, int *npar
int *iflag, double *result ) {
.....
.....
.....
c_errmes (errflg, "ERROR CALLING SYSFNC IN REQ002", *id,
"STOP");
.....
.....
return; }
Interface Routine on NT
void c_errmes (int errflg, char *mesage, int id, char *endflg)
{
int mesage_len;
int endflg_len;
mesage_len = strlen(mesage);
endflg_len = strlen(endflg);
errmes_(&errflg, mesage, message_len, &id, endflg, endflg_len);
}
FORTRAN Routine
Subroutine errmes(errflg, mesage, id, endflg)
logical errflg
character*80 message
chracter *80 endflg
integer id
.....
.....
.....
return
290 Adams/Chassis
Build Process for Routines Written in C
end
Note: When a FORTRAN function is called from a C function and if the parameters passed in has
character strings, then the length of the character string has to be passed in as the last
parameter in the calling c function on SGI. On NT, the length of the character string has to
be passed next to the character string. Similarly when a C function is called from a
FORTRAN function, the C function arguments should have the length of character string
immediately after the string argument for NT interface
When writing custom routines that interacts with Adams/Solver, the users can make use of the built in
utility subroutines available in Adams/Solver (refer to Using Adams/Solver Subroutines Guide). If the
user routines are in C, the C equivalents of these utility routines can be used. Refer to Solver User
Subroutines Written in C for the sytax of the call statements.
Adams/Chassis handles the syntaxes for data transfer between FORTRAN and C routines seperately in
include files. Therefore users need not modify these syntaxes when using the files on different platforms.
However users need to follow the following standard when writing their C function that interfaces to the
FORTRAN routines for Adams/Chassis to perform the syntax mapping.
C Function
#define port2sgi
#include "userPortName.h"
#include "utilCcallable.h"
#include "apreCcallable.h"
VOID_FUNCTION REQSUB_F2C (int *id, double *time, double *par, int
*npar,int *iflag, double *result )
{
.....
.....
.....
Note: • port2sgi is a variable defining the platform and is platform dependent. Please refer
to Solver User Subroutines Written in C for other platform variables.
• userPortName.h and utilCcallable.h are platform independent. Please refer to
Solver User Subroutines Written in C for a description of these files. These files
need be copied to the working directory when compiling a mix of C and
FORTRAN routines.
• apreCcallable.h is specific to Adams/Chassis. Users need to create this file and add
the mapping statements of their C functions when using Adams/Chassis to link c
functions. Following is the apreCcallable.h file for the example reqsub_f2c.c
>#endif
#if (defined port2sun)||(defined port2solaris)||(defined
port2sgi)||(defined port2alpha_osf)
/** Start User statements **/
#define REQSUB_F2C reqsub_f2c_
/** End User statements **/
#endif
292 Adams/Chassis
Solver User Subroutines Written in C
Background
C to FORTRAN Rules:
• FORTRAN subroutines are void functions in C.
• FORTRAN is a pass by reference language, meaning that all passed variables are pointer.
• FORTRAN Logical becomes int in C, where False=0, and True is not zero.
• FORTRAN arrays begin (1), the same array in C begins at [0].
• FORTRAN multidimensional arrays are stored column major, C arrays are row major (i.e.
transposed matrices).
• FORTRAN Common blocks become global static structures in C.
• FORTRAN global symbols, subroutine, function and common block names, have equivalent
names in C that are platform specific. The variations range from uppercase name, lower case
name, to lower case with "_" appended.
• FORTRAN passing of strings includes a hidden variable that passes the string length. How the
string length is passed is system dependent.
Platform Issues
To write sunbroutines in C:
1. Define your system and add include files:
#define port2sgi
#include userPortName.h
#include utilCcallable.h
#include userPortName.h
To aid in following the C to FORTRAN interface rules userPortName.h was written to handle the
interface issues. (See adams/solver/samples/userPortName.h.) This header file contains function
prototypes for all USERSUBS, and C preprocessor directives to change names as needed. To use this
header file declare your USERSUB in uppercase as a VOID_FUNCTION. Remember that your
USERSUB follows FORTRAN calling rules; all arguments are passed by reference.
For example:
VOID_FUNCTION VARSUB( int *id, double *time, double *par, int *npar,
int *dflag, int *iflag, double value)
{
}
If you write TIRSUBs, note the three function prototypes found in
userPortnames.h. You may need similar logic in your TIRSUB if it is
intended to run on all platforms.
AKISPL void c_akispl(double xval, double zval, int id, int iord, double *array, int *errflg);
ANALYS void c_analys(char *antype, char *cid, double timbeg, double timend, int init, int
*istat);
BISTOP void c_bistop(double x, double dxdt, double x1, double x2, double k, double e,
double cmax, double d, int iord, double *vector, int *errflg);
CHEBY void c_cheby(double x, double x0, double *par, int npar, int iord, double *value, int
*errflg);
CUBSPL void c_cubspl(double xval, double zval, int id, int iord, double *array, int *errflg);
DATOUT void c_datout(int *istat);
ERRMES void c_errmes(int errflg, char *mesage, int id, char *endflg);
FORCOS void c_forcos(double x, double x0, double w,double *par, int npar, int iord, double
*value, int *errflg);
FORSIN void c_forsin(double x, double x0, double w,double *par, int npar, int iord, double
*value, int *errflg);
GETCPU void c_getcpu(double *value);
GETINM void c_getinm(int *value);
GETINT void c_getint(char *value);
GETMOD void c_getmod(int *mode);
GETSLV void c_getslv(char *value);
GETSTM void c_getstm(double *value);
GETVER void c_getver(char *value);
GTARAY void c_gtaray(int id, double *array, int *number, int *istat);
GTCMAT void c_gtcmat(int nmid, int mid, int ndim, double *c, int *istat);
GTSTRG void c_gtstrg(int id, char *string, int *nchars, int *istat);
HAVSIN void c_havsin(double x, double x0, double h0, double x1, double h1, int iord, double
*value, int *errflg);
IMPACT void c_impact(double x, double dxdt, double x1, double k, double e, double cmax,
double d, int iord, double *vector, int *errflg);
ISTRNG void c_istrng(int number, char *string, int *length, int *istat);
MODIFY void c_modify(char *comand, int *istat);
POLY void c_poly(double x, double x0, double *par, int npar, int iord, double *value, int
*errflg);
RCNVRT void c_rcnvrt(char *sys1, double *coord1, char *sys2, double *coord2, int *istat);
RSTRNG void c_rstrng(double reel, char *string, int *length, int *istat);
296 Adams/Chassis
Solver User Subroutines Written in C
SHF void c_shf(double x, double x0, double a, double w, double phi, double b, int iord,
double *value, int *errflg);
STEP void c_step(double x, double x0, double h0, double x1, double h1, int iord, double
*value, int *errflg);
SYSARY void c_sysary(char *fncnam, int *ipar, int nsize, double *states, int *nstate, int
*errflg);
SYSFNC void c_sysfnc(char *fncnam, int *ipar, int nsize, double *states, int *errflg);
TCNVRT void c_tcnvrt(char *sys1, double *coord1, char *sys2, double *coord2, int *istat);
TIMGET void c_timget(double *time);
TIRARY void c_tirary(int tireid, char *fncnam, double *states, int *nstate, int *errflg);
UCOVAR void c_ucovar(int id, int nparts, int *lparts, int nvars, int *lvars);
USRMES void c_usrmes(int msgflg, char *mesage, int id, char *msgtyp);
Compiling
ID Description
910 Part Velocity Setting
1111 Full-Vehicle Static Vehicle Characteristics (SVC)
1112 Front Suspension Static Vehicle Characteristics (SVC)
1113 Rear Suspension Static Vehicle Characteristics (SVC)
1105 Front Suspension Auto Alignment. See Automated Suspension Alignment Routine.
1106 Rear Suspension Auto Alignment. See Automated Suspension Alignment Routine.
1109 Auto Ground Height Adjustment. See Ground Marker Height Adjustment.
1010 Fixed Body Equilibrium
1020 Static Steady-State Straight Line Equilibrium and Static Steady State
Acceleration/Braking
1021 Quasi-Static Steady-State Straight Line Acceleration/Braking Equilibrium
1030 Static Steady-State Cornering Equilibrium
1031 Quasi-Static Steady-State Cornering Equilibrium
1032 Quasi-Static Steady-State Swept Steer Equilibrium
1140 Half Vehicle Rise to Curb Setting
1105 Auto-Aligner. See Automated Suspension Alignment Routine.
1106 Auto-Aligner. See Automated Suspension Alignment Routine.
1141 Half-Vehicle Predetermined Alignment Value Setting
1142 Determination of Steering Wheel Angle from Steady State Cornering Analysis
1144 On-Center Handling Analysis
298 Adams/Chassis
Adams/Chassis Solver Routines
ID Description
906 Standard Driver Interface
1199 Output of Simulation Specifics
1152 Ride Height Auto-Adjustment (vehicles with coil springs)
ID Description
cou1110 Rotational to Translational Couplers using Splines
cou1120 Rotational to Rotational Couplers
ID Description
dif1101 4 pole filter
dif1102 Calculation of traction/braking controller errors
dif904 Calculation of steady state controller errors
dif1110 Calculation of rise-to-curb controller errors
ID Description
910 This FIESUB reads the bushing specifications directly from the .adm deck, and returns the total
(stiffness plus damping) force, fi + ci, for any six-element bushing displacement and six-element
bushing velocity vector.
ID Description
gfo900 Interface to STI tire models
gfo1106 Interface to Adams 5.2.1 Tire model
gfo1102 Aerodynamic force application. See GFORCE: Aerodynamic Modeling
Advanced Adams/Chassis 299
Adams/Chassis Solver Routines
ID Description
mot1110 Application of Random Steer Input
mot1120 Reading motion time history data from file. See Motion Time History Trace Routine.
ID Description
sfo1100 Wheel velocity controller for tire model 0. See Wheel Velocity Controllers for
Adams.
sfo1103 Viscous Coupling for Powertrain Models
sfo1104 Aerodynamic force application. See SFORCE: Aerodynamic Modeling
(Motorsports Application)
ID Description
var1004 Wheel Rotational Velocity Calculation During Statics
var1100 Path-Following Steering Controller
var1102 Determination of Continuous Angular Displacement
var1103 Variable-Based Traction Controller for powertrain models
var1106 Extracting Request Output Through Variable Statements
var1107 Variable Based Braking Controller
var1108 Variable Based Traction Controller
var1109 Ride Height Marker Location
var1110 Determination of Marker Translational Velocity
var1111 Determination of Steering Wheel Angle from Steady State Cornering Analysis
var1112 Variables required for On-Center Handling Analysis
var1113 Variables required for On-Center Handling Analysis
var1114 Latching a Variable Value at a Given Time
var1117 Automatic Air Spring Trim Load Calculation
ID Description
vto1105 Drive Torque Application
vto1106 Brake Torque Application
vto1120 Drive Torque Application for Powertrain Models
Advanced Adams/Chassis 301
Adams/Chassis Solver Routines
Nonlinear Couplers
The custom FORTRAN subroutines includes the ability to model nonlinear couplers. Currently the
options available are:
• Rotational to Translational Couplers using Splines
• Rotational to Rotational Couplers using Splines
Examples
For tutorials of overall product use, see:
• Getting Started Using Adams/Chassis
• Using Adams/Insight with Adams/Chassis
For the Adams Verification Guide, see Knowledge Base Article 9587.
Examples 303
Introduction to Build Mode
Products: Adams/Chassis
Features: Introduce the new Build Mode in Adams/Chassis
Files: None
Notes:
Procedure
1. Open Adams/Chassis.
2. Select to go to Build mode.
3. Select Load Model in the toolbar.
4. Select Example Vehicles in the file browser (Select File window).
5. Expand achassis_gs.vdb, expand systems.tbl, and then select achassis_gs_full_sys.xml.
6. Select Open.
The treeview shows the loaded model.
7. Select achassis_gs_front_suspension. The subsystem property editor shows tabs for Hardpoints,
Parts, Connectors, and so on.
8. In the treeview, expand achassis_gs_front_suspension and then expand Parts.
9. Select lower_control_arm. The property editor now displays only the Parts tab. The Parts tab in
the property editor displays the setting for lower_control_arm.
10. In the treeview, use the Ctrl key to select both compression_strut and lower_control_arm.
The Parts tab in the property editor now displays the properties for both compression_strut and
lower_control_arm.
11. In the property editor, double-click lower_control_arm to see the Part property editor display the
properties for just lower_control_arm.
12. In the treeview, expand achassis_gs_rear_suspension and then expand Parts.
13. Use the Ctrl key to select lower_control_arm from achassis_gs_front_suspension and
achassis_gs_rear_suspension.
14. The property editor displays the Part tab with two rows that have the name lower_control_arm.
Place your cursor over the names to see the subsystem names in the tool tip text.
15. Change the mass of the part lower_control_arm (achassis_gs_rear_suspension) to 5.
304 Adams/Chassis
Introduction to Build Mode
Exercise 2
This exercise introduces the different sorting methods in Build mode.
Procedure
1. For the current model (achassis_gs_full_sys), select Sort tree by component type located
at the bottom of the treeview.
The treeview now shows Components (instead of subsystems) as branches.
2. Select Hardpoints. This displays only the Hardpoints tab with all the hardpoints included in the
model.
3. In the Hardpoints tab, select column header Left X to sort by X.
4. Select Sort tree by subsystem located at the bottom of the treeview.
The treeview now shows Subsystems as branches.
5. In the Filter field at the bottom of the treeview, enter lower* and press Enter. Expand the tree list
to see that tree includes only those components that have the name prefix lower.
Exercise 3
This exercise demonstrates modifying a subsystem reference file.
Procedure
1. From the tree, select achassis_gs_full_sys to see System Editor.
2. Select the checkbox for Controls.
3. Select Open file for Controls.
4. Select mdids://shared_chassis_database/ in the Registered Databases.
5. Select brakes_abs_example_cst.xml and then select Open.
6. In the System Editor, select Apply.
7. The tree now shows the added subsystem abs_example_cst in the Controls folder.
Exercise 4
This exercise demonstrates loading multiple models.
Procedure
1. Select Load Model in the toolbar.
2. Select Example Vehicles in file browser.
Examples 305
Introduction to Build Mode
3. Expand awd.vdb, expand systems.tbl, select awd_full_sys.xml, and then select Open.
The treeview should now display the model awd_full_sys in addition to achassis_gs_full_sys.
4. Select to sort by component.
5. Use the Ctrl key to select Hardpoints from achassis_gs_full_sys and awd_full_sys.
Subsystem Property Editor shows all the hardpoints from both models.
306 Adams/Chassis
Introduction to Test Mode
Products: Adams/Chassis
Features: Introduce the new Test mode in Adams/Chassis
Procedure
1. Select to go to Test mode.
2. In the upper section of the treeview (bookshelf), expand Full Vehicle and then expand Handling
Analyses.
3. Double-click Swept Steer.
4. If you have two models loaded in the Build mode, the Select Model For New Event window
appears. Select achassis_gs_full_sys and then select OK.
Adams/Chassis adds a new fingerprint, fingerprint_1, to the treeview. The event,
achassis_gs_full_sys_swpt, is added to fingerprint_1.
Exercise 2
This exercise demonstrates some of the features that are available in the fingerprint tree.
Procedure
1. In the fingerprint tree, right-click fingerprint_1.
Examples 307
Introduction to Test Mode
Products: Adams/Chassis
Features: Introduce the new Review Mode in Adams/Chassis
Files: none
Notes:
Procedure
1. Select to go to Review mode.
The fingerprints shown in the treeview are from the Test mode.
2. Select fingerprint_1. Select Execute Selected Reports to see the report using a text editor.
3. Select Send Reports to Adams/PostProcessor at the bottom of the Property Editor, and then
select Execute Selected Reports to see the report using Adams/PostProcessor.
4. Close the report to go back to Review mode.
5. Select Execute Selected Plots to view the plots.
6. Exit Adams/PostProcessor and return to Review mode.
7. Select Overlay Animation. Set the Y value to zero.
8. Select Execute Selected Animations to see the overlaid animation.
Exercise 2
This exercise introduces different methods for creating a custom postprocessing event.
Bushings in Series
Products: Adams/Chassis
Adams/PostProcessor
Feature(s): Modeling bushings in series
File(s):
Special Notes:
Problem Statement
The bushings-in-series option allows you to model up to three bushings in a series without modeling the
parts between them. The intent is to aid design studies by representing local part compliance as a bushing.
Main nominal bushing can possess all possible stiffness types (linear, spline, piecewise, hysteric) and all
possible damping types (linear, kfraction, spline, piecewise). The bushing shape of the main nominal
bushing will determine the shape of the combined bushing.
In this exercise you will compare the effects of adding two bushings in series.
Feature Description
Products: Adams/Chassis
Adams/PostProcessor
Features: Joint Friction
Files: none
Problem Statement
Compare the effects on spherical joint friction.
Feature Description
The Property File tab in connector Type for Spherical Joints allows you to specify features for Spherical
Joint Friction.
• All - Use both preload and reaction forces as input to friction calculations.
• None - Don't use preload or reaction forces as input in friction force/torque
calculations.
• Preload - Use only preload in friction force/torque calculations.
• Reaction Force - Use only reaction forces/torques in friction force/torque
calculations.
Products: Adams/Chassis
Adams/Solver (C++)
Adams/postprocessor
Features: Solver Selection
Files: none
Notes: Details on the C++ version of Adams/Solver can be found at:
http://support.adams.com/kb-files/id_10027/MSC_Ottarson_Solver.pdf
Problem Statement
Adams/Solver (C++) is MSC's next generation Solver for multi-body-systems. As such it offers a number
of enhancements over Adams/Solver (FORTRAN). Notably:
• 3D - vector expressions vs. scalar expression
• Analytical derivatives vs. forward differenced derivatives.
• User extensible function library (e.g. function=my_cos(1)*my_sin()) vs. func=user).
• User defined constraints
• Improved support for flexible bodies.
However, customers transitioning from MSC's Adams/Solver (FORTRAN) to the Adams/Solver (C++)
will want to gain confidence in C++ and may wish to use the C++ and FORTRAN version of
Adams/Solver interchangeably during the transition period. To facilitate this Adams/Chassis supports
setting a Solver Preference.
Feature Description
Solver preferences you can set for Adams/Chassis are:
None Adams/Chassis selects the solver that is best suited for individual events. This remains
the Adams/Solver (FORTRAN) for all events.
C++ Forces Adams/Chassis to use the Adams/Solver (C++) for all events.
FORTRAN Forces Adams/Chassis to use the Adams/Solver (FORTRAN) for all events.
PREFERENCES/SOLVER=CXX
PREFERENCES/SOLVER=F77
Questions:
1. Running the exercise what differences did you notice between the Adams/Solver (FORTRAN)
and Adams/Solver (C++)?
2. What criteria would you use to choose between the Adams/Solver (C++) verses the Adams/Solver
(FORTRAN)?
3. How do you validate your simulation results now?
4. Is it possible for you to provide Adams/Chassis models MSC.SOFTWARE can use to validate
Adams/Solver (C++)?
Dialog Box - F1 Help 1
2. Complete the Durability Load Correlation Post Processing dialog box as described next.
The analytical data section also includes a list that shows the available
channels of data from either the request file or RPC file depending on
your selection.
Test Data Specify the RPC test data (.rsp) file.
The test data section also includes a list that shows the available
channels of data.
Filter You can filter the data list depending on your selection. The filter is
case-insensitive and you can use multiple wildcards (*).
Scale Allows you to scale the magnitude of the analytical data.
X and Y Offset Shift the data in the X and Y directions respectively.
Create New Plot from Selected Analytical Test Data
X Axis Label Defaults to Time. You can change this by entering a text string for the
plot labels.
Y Axis Label Defaults to either the analytical request comment or analytical RPC
channel comment of the currently selected analytical data channel.
You can change this by entering a text string for the plot labels.
Add Plot to List Select to use currently selected data and add the plot to the plot list for
inclusion in the postprocessor.
Plot List 2 Plots Per Page
Defines which channels you selected to be included in the postprocessing. Plots will be presented in a
two-per-page layout with the number of pages being dynamic, based on the number of plots desired.
Title Defaults to Durability Load Correlation. You can change this by
entering a text string for the Global Plot title.
Delete Selected Allows you to delete the plot you selected.
Clear All Allows you to clear the entire plot list.
6 Adams/Chassis
Durability Load Correlation Postprocessing
Example
This example assumes that you are a returning user.
1. Load an existing state file.
2. (Optional) Modify the plots.
3. Select the Generate Post Processor From Plot List button.
4. Return to Review mode.
5. In the treeview, select Durabilty_Load_Correlation.
6. Select the Execute Selected Plots button in the toolbar.
The Durability Load Correlation Post Processing dialog box can remain open along with the main
Adams/Chassis interface. To iterate plot changes quickly, you need to regenerate the dlcpp_tab.aft file
using the Generate Post Processor From Plot List button and then select the Execute Selected Plots
button to launch Adams/PostProcessor.
For each plot, Adams/PostProcessor reports the following metrics in the plot window:
• Min value for Curve 1 and 2 respectively
• Max value for Curve 1 and 2 respectively
• RMS value for Curve 1 and 2 respectively
• Coefficient of Correlation value for both Curves
The plot metrics are parametric to the common portion of both curves displayed in the plot window.
Dialog Box - F1 Help 7
Dynamic Loadcase Fingerprint Generator
Allows you to build a list of dynamic loadcase events with different RPC datafiles. This utility is
available for both full- and half-vehicle simulations.
Note:
• Events will be added for each unique RPC file name.
Specifying the same RPC file multiple times will not generate
multiple events.
• Global parameters are common for all events in a fingerprint.
• After generating the fingerprint, you may need to edit
road/testrig file to specify WFT parameters specific to the
vehicle.
Load Type Select one:
• All
• Component Loads
• Frame Loads
• Steering Loads
• Stabilizer Bar Loads
• For frame and steering loads, select a coordinate system type.
Include Displacement Select to include displacement requests in the model.
Requests
Wheel Force Input Specify the data channel numbers.
Single Input Specify various single-input values.
Controller Gains Specify stiffness and damping gains.
8 Adams/Chassis
Load Case Data File Editor
Parameters
Preferences
You set preferences to define the work environment specific to the machine you are using. Before running
Adams/Chassis, you must either set up the preferences or load an existing preferences file. Incorrect
preference settings can prevent Adams/Chassis from performing even the most basic functions.
You must have the following preferences set for Adams/Chassis to work properly:
• Current working directory - Specifies the directory for all Adams/Chassis output files.
• Temporary file directory - Specifies the directory for all Adams/Chassis temporary files.
To set preferences:
• From the Edit menu, select Preferences.
10 Adams/Chassis
Preferences
Note:
• On Windows - This text box should be left blank.
• On UNIX - Adams/Chassis loads the correct command to
launch an xterm.
Text Editor Command Enter the name of the program to use for viewing and editing ASCII
files and displaying result files. For example, Notepad.
For example:
• SGI/usr/sbin/gdiff
• Windows 3rd party ExamDiff
• WinMerge
These tools are useful in understanding how Adams/Chassis functions
and for troubleshooting, modeling, and customization.
Note:
• To use a graphical differencing tool, enter the path to the
executable in quotation marks. For example,"C:/Program
Files/ExamDiff/ExamDiff.exe".
• Check with your corporate policies before installing/using
third-party software.
Dialog Box - F1 Help 11
Preferences
Backup files are always tagged with a date stamp appended to the xml
file extension. Backup files are created at every save operation.
Use Road Graphics Select if you want to use advanced road graphics (available for some
full-vehicle events, such as the double-lane change) for animation
purposes.
Review Mode Select to set the default toggle setting for all available postprocessor
animate/plot/report Toggle utilities to On for every successful simulation in the Review Mode.
Default On
Database Registration Select to allow the paths to several Vehicle Databases to be identified
using short names. Learn more about Database Registration.
14 Adams/Chassis
Preferences
Appendix
2 Adams/Chassis
Adams/Chassis Rise-to-Curb
Adams/Chassis Rise-to-Curb
Springs are designed to support a vehicle at a certain ride height (design height) at a certain load (design
load).
When the vehicle's payload is reduced (for example removing passengers and/or cargo), the sprung mass
of the body is less than it is at design load, and the result is that the supension "raises" the body.
The increase in suspension height between design load and the current (curb) load is defined as "rise-to-
curb".
Rise-to-curb is 0 when curb loading is equal to design loading.
Adams/Chassis lets the user specify rise-to-curb to facilitate toe/caster/camber alignment in half-vehicle
suspension analysis. If the auto-aligner is used, the suspension is aligned at the specified rise-to-curb
position.
For example, if the user specifies 20mm as the rise-to-curb value and activates the auto-aligner, the half-
suspension model will be aligned after the wheels have been moved 20mm into rebound.
Appendix 3
Adams/PostProcessor
Adams/PostProcessor
Adams/PostProcessor is a powerful post-processing tool that lets you view the results of simulations you
performed using other Adams products. Your Adams product launches it when you select Postprocessing
from the Review menu.
For more information, see the Adams/PostProcessor online help.
4 Adams/Chassis
Adams/Solver
Adams/Solver
MSC’s software program for kinematically and dynamically analyzing mechanical systems. For more
information, see the Adams/Solver online help.
Creating the SVC Dataset 5
All About SVC (Static Vehicle Characteristics)
Note: SVC Event creates all the necessary dataset statements needed for your model, no
additional statements are needed. The following description is provided for informational
purposes only.
Modeling
The following conventions must be employed when building a vehicle or half suspension model. Orient
the vehicle with the global Z axis upward, the global X axis rearward, and the global Y axis pointing out
the right side of the vehicle. The vehicle may be positioned at any X or Z position, but the user must select
the Y position in such a way that the XZ plane falls somewhere inside the vehicle track (between the left
and right wheels).
Full-Vehicles/Half-Suspensions
A full vehicle model should be supported only by tire forces applied to the spindles or wheels. There must
be no other constraints or attachments to ground. If only the front or rear suspension is to be analyzed,
the user must fix the body rigidly to ground. In this case, tire forces are optional. If it is desired not to
model the tire forces, the suspension must be kept at the desired position during static equilibrium, by
adjusting spring free lengths or by applying a constant vertical force to the spindles, for instance.
Steering Systems
SVC was originally designed to analyze ball-nut steering systems via rotary motion of the pitman arm.
Unfortunately, the current version of SVC has not been modified to compute the overall steer ratio for a
rack and pinion steering system based on translation of the rack.
A few of the SVCs rely on the pitman arm or the steering rack to transmit steering motion. For these to
be computed properly, the pitman arm or rack must have some compliance relative to the body. If the
pitman arm or rack is locked to the body (by a MOTION, for instance) there will be no compliance. This
will make it impossible to compute the steer ratio and steering compliance. In addition, the reported
Ackerman error will be incorrect. See the descriptions of these quantities for more details. SVC will issue
a warning if this situation occurs. In a ball-nut steering system, a torsional spring between the pitman arm
and the body is the simplest way of providing this compliance. In a rack and pinion steering system,
compliance between the pinion and body will suffice.
6 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
If there is a desire to control the steering for a transient simulation, a steering wheel can be connected to
the pitman arm or pinion by a torsional spring. The user may then rotate the steering wheel with a
MOTION to control the vehicle, while leaving some compliance in the actual arm. This spring should be
very stiff, since compliance at the pitman arm leads to compliance at the spindle. If the pitman arm were
completely free to turn, for instance, the fore-aft compliance at the spindles would be very large.
idksir identifier of a MARKER statement located at the right front kingpin-spindle intersection on the
steering knuckle. The Z axis of the MARKER must directed upward along the kingpin axis. If the kingpin
axis and spindle axis do not intersect, the MARKER can be located any place along the kingpin axis.
• Front Spring Statements
• Front Shock Absorber Statements
• Front Stabilizer Bar Statements
• Rear Spring Statements
• Rear Shock Absorbers Statements
• Rear Stabilizer Statements
• Optional Array and String Statements
idsfbr identifier of a MARKER statement located at the front right stabilizer-bar attachment point on the
stabilizer-bar. This MARKER is used to compute the front right wheel stabilizer-bar ratio.
idsfer identifier of a MARKER statement located at the right end of the front stabilizer-bar. This
MARKER is used to compute the front right wheel stabilizer-bar ratio.
id-str identifier of a MARKER statement located at the tip of the pitman arm in a Haltenburger steering
system or at the center of steering rack in rack and pinion steering systems. A force in the global Y
direction applied to this MARKER must steer the front wheels (see modeling conventions in the previous
section)
faxlr front axle final drive ratio ( 0.0 if rear-wheel drive )
sratio the steering gear ratio. For a Haltenburger steering system the degrees of steering wheel rotation
per degree of pitman arm rotation. For a rack and pinion steering system, the degrees of steering wheel
rotation per unit of rack travel.
ARRAY/9908 identifies the MARKER statements that describe the rear suspension geometry.
ARRAY/9908 is not required when analyzing a front suspension only.
ARRAY/9908, NUM = idwcrl, idwcrr, id-rlssu, id-rlsby, id-rrssu, id-rrsby,
, id-rlsksu, id-rlskby, id-rrsksu, id-rrskby, idsrbl, idsrel, idsrbr, idsrer,
, raxlr, idaxcm
where:
idwcrl identifier of a MARKER statement located at the left rear wheel center on the spindle part. The Y
axis of the MARKER must lie along the spindle axis and point toward the passenger (right) side of the
vehicle. Further, if the front suspension is supported by tires, the tire forces for the left rear wheel must
be applied to this MARKER.
idwcrr identifier of a MARKER statement located at the right rear rbr identifier of a MARKER statement
located at the rear right stabilizer-bar attachment point on the stabilizer-bar. This MARKER is used to
compute the rear right wheel stabilizer-bar ratio.
idsrer identifier of a MARKER statement located at the right end of the rear stabilizer-bar. This
MARKER is used to compute the rear right wheel stabilizer-bar ratio.
raxlr rear axle final drive ratio (0.0 for front-wheel drive).
idraxcm identifier of a MARKER statement located at the C.G of the rear axle. This MARKER is used
to compute the wheel hop and tramp natural frequencies for a solid axle suspension.
ARRAY/9909 contains information on the overall vehicle. It is not required for a half-vehicle analysis.
ARRAY/9909, NUM = idbcm, idbwfl, idbwfr, idbwrl, idbwrr, fdrat
, fbrat, idhpt
where:
Creating the SVC Dataset 9
All About SVC (Static Vehicle Characteristics)
Executing SVC
The SVC Event issues a CONTROL command in the .acf file to perform the SVC calculations. The
CONTROL command in turn invokes a CONSUB subroutine that drives the SVC calculations.
The form of the CONTROL statement is:
CONTROL/FUNCTION=USER( aopt, jpr_ary, cflag, tflag, vflag, ctime )
where:
Parameter Description
aopt Analysis Option -- The type of model to be analyzed
vehicle must be supported by tire forces. No verbose messages are generated (vflag = 0), and the
simulation time defaults to zero (0).
CONTROL/ FUNCTION=USER(1002,555,0,1)
This CONTROL statement above invokes the SVC calculations for a half vehicle front suspension
analysis (aopt = 1002). The front suspension is not supported by tire forces (tflag = 0). The output is
converted from the data-set units according to the factors supplied in ARRAY/9912 (cflag = 1). Finally,
no verbose message ( vflag defaults to zero) and simulation time defaults to zero (0.0). Note, if the user
employs an optional parameter, all the preceding parameters must be supplied. For instance, if a full-
vehicle, verbose- output run is desired, include cflag and tflag, even though tflag will be ignored:
CONTROL/FUNCTION=USER(1001,555,0,0,1)
SVC Output
SVC produces a text output file which contains an annotated table of all the SVCs. The output file has
the root name chosen by the user for other Adams output files, with the extension .svc. The format of the
annotated .svc file is self explanatory. In a full vehicle analysis, all the values are computed and output.
In a half-vehicle analysis, the characteristics that are not computed are reported as zero. The last page of
output gives the sign convention for the SVCs. Included below is an examples of .svc file generated from
running the SVC event.
==========================================
= S V C =
= =
= STATIC VEHICLE CHARACTERISTICS =
= ADAMS Model Post Processor =
= =
= =
= =
==========================================
ADAMS Model Title:
vehicle_name, OUTPUT UNITS = SI 2009-10-13 17:47:27
GENERAL CHARACTERISTICS
_________________________________________________________________________
S V C SIGN CONVENTION
From this perspective, matrix element C(i,j) is the displacement of system degree of freedom i due to a
unit force or moment at degree of freedom j.
Assuming markers 1 and 2 to represent left wheel and right wheel center markers, in the above figure,
the sign conventions followed in SVC can be explained as follows:
The compliance matrix for the above model is a 12x12 matrix given by C(i,j)
where,
i = 1-6 degrees of freedom of marker 1
i = 7-12 degrees of freedom of marker 2
j = 1-6 forces and moments at marker 1
j = 7-12 forces and moments at marker 2
Therefore:
C(3,3) Vertical displacement of marker 1 due to a unit positive vertical force at marker 1
C(3,9) Vertical displacement of marker 1 due to a unit positive vertical force at marker 2
C(3,3) Vertical displacement of marker 1 due to a unit negative vertical force at marker 1
-C(3,9) Vertical displacement of marker 1 due to a unit negative vertical force at marker 2
-C(9,3) Vertical displacement of marker 2 due to a unit positive vertical force at marker 1
C(9,9) Vertical displacement of marker 2 due to a unit positive vertical force at marker 2
-C(9,3) Vertical displacement of marker 2 due to a unit negative vertical force at marker 1
-C(9,9) Vertical displacement of marker 2 due to a unit negative vertical force at marker 2
Displacements and forces are calculated in global coordinates.
Most of the SVC calculations are based on the compliance matrix for the vehicle's suspension. This
appendix explains how compliance matrix is computed in Adams, and how it is modified before being
used for the SVC computations.
The subroutine GTCMAT is the utility subroutine that computes the compliance matrix for markers in an
Adams model. This is done by inverting the Jacobian matrix from a static equilibrium solution (See
GTCMAT for more information). Depending on the model, the compliance matrix may be useful directly,
or may need to be modified. Two utility subroutines allow you to modify the compliance matrix. The first
removes unwanted freedom from the system; the second, unwanted resistance.
Subroutine SVCRMV constrains a degree of freedom to zero, in effect fixing it to ground. This is
necessary to restrain the vehicle body in a full vehicle model, for instance. The suspension characteristics
are a function of spindle compliance relative to the body. But the body is free to move, so the reported
vertical compliance at the spindle, for example, reflects the fact that the body will rise along with the
suspension when the spindle is lifted. Fixing the kth degree of freedom changes the compliances because
a restraining force is applied at k. The new compliance matrix, [Cm], is computed term by term:
cmij = cij + cikFk
Fk = -ckj/ckk, where Fk is the restraining force at k due to a force at j.
18 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
The kth column and row of [Cm] are, by definition, zeros and can be removed from the matrix, reducing
its order by one, and leaving a new matrix reflecting the behavior of the modified system.
SUBROUTINE SVCRMV(K, C, TEMP, NDIM, N)
INTEGER K - input, the DOF to be removed. K must be greater than zero and less than or equal to N.
DOUBLE PRECISION C(NDIM,N) - input and output, compliance matrix. On input, C is the original
order N compliance matrix. On output, C is the modified order (N-1) matrix. You must dimension C with
exactly NDIM rows and at least N columns.
DOUBLE PRECISION TEMP(N) - output, temporary workspace for SVCRMV
INTEGER NDIM - input, dimensioned number of rows in C
INTEGER N - initial order of C
Subroutine SVCRMK removes the effects of unwanted stiffness. To continue the example above, even
after removing the vehicle body degrees of freedom from a suspension compliance matrix, the spring
forces from the tires would still obscure the true vertical suspension rate.
The stiffness matrix for the spindle has two components, one from its connection to the vehicle through
the suspension, and one from its connection to ground via the tires: [K] = [Ks] + [Kt. In order to examine
the spindle compliances with respect to the body alone, the effects of [Kt] must be removed:
[I] = [C]([Ks] + [Kt])
[I] = [C][Ks] + [C][Kt]
[I] - [C][Kt] = [C][Ks]
([I] - [C][Kt]) [Ks]-1 = [C]
or ([I] - [C][Kt]) [Cs] = [C], where [Cs] = [Ks]-1
The suspension compliance matrix, [Cs], can be calculated one column at a time:
[A]{csj} = {cj}, where [A] = [I] - [C][Kt]
Subroutine SVCRMK performs this modification given the original compliance matrix and the stiffness
matrix to be removed. Since it was intended to remove tire stiffnesses, it assumes the ground stiffness
matrix is diagonal.
SUBROUTINE SVCRMK( C, KG, NDIM, N )
DOUBLE PRECISION C(NDIM,N) - input and output, compliance matrix. On input, C is the original
compliance matrix. On output, it is the modified matrix.
DOUBLE PRECISION KG(N) - input, stiffnesses of ground attachments. This is the diagonal of matrix
[Kt] in the example above.
INTEGER NDIM - input, dimensioned number of rows in C
INTEGER N - input, order of C
SVC Output Parameters 19
All About SVC (Static Vehicle Characteristics)
• Camber Angle, Camber Angle with Respect to • Rotational Inertias of Vehicle Total Mass
Body
• Camber Change • Scrub Radius
• Caster Angle, Caster Angle with Respect to • Side View Instant Center
Body
• Caster Change • Single Bump Wheel Rate
• Caster Trail • Sprung Mass Bounce and Pitch Frequencies
and Node Locations
• Center-of-Gravity Height of Suspension • Sprung Vehicle Mass
Unsprung Mass
• Center-of-Gravity Height of Vehicle Sprung • Static Loaded Tire Radius
Mass
• Front Ground Reactions • Steer Angle
• Front View Instant Center • Tire Rate
• Kingpin Angle, Kingpin Angle with Respect to • Toe Angle
Body
• Overall Steer Ratio • Toe Change
• Percent Anti-lift Under Acceleration • Total Vehicle Center-of-Gravity Height
• Percent Anti-Dive Under Braking • Total Vehicle Weight
• Percent Anti-lift Under Braking • Track Width
• Percent Anti-Squat Under Acceleration • Unsprung Mass Wheel Hop and Tramp Natural
Frequencies
• Percentage Roll Steer • Unsprung Suspension Mass
• Rear Ground Reactions • Vehicle Speed
• Ride Rate • Wheel Center Rise
• Roll Camber • Wheel Rate
20 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
Computed by:
SVCGAN (SVCTCM)
Method:
SVC uses the INFO utility subroutine to retrieve the Euler angles of the wheel center marker with respect
to the global marker (the body marker). SVC assumes the y-axis of the wheel center marker is parallel to
the spindle axis, and the z-axis is vertical.
Left camber = (180/p ) arctan( cos (psi) tan(theta) )
Right camber = -(180/p ) arctan( cos (psi) tan(theta) )
Camber Angle
Camber Change 21
All About SVC (Static Vehicle Characteristics)
Camber Change
Vertical displacement of the wheel center relative to the sprung mass.
Computed by:
SVCRAT
Method:
SVC computes camber change as the ratio of x-axis rotation to z-axis displacement at the wheel center
due to unit vertical forces applied at both wheel centers simultaneously.
Left = (180/p) [C( 4,3 ) + C( 4,9 )] / [C( 3,3 ) + C( 3,9 )]
Right = - (180/p) [C( 10,3 ) + C( 10,9 )] / [C( 9,3 ) + C( 9,9 )]
Camber Change = DØ / DZ
Camber Change
Computed by:
SVCFAN (SVCFAB)
Method:
SVC uses the INFO utility subroutine to retrieve the Euler angles of the kingpin marker with respect to
the global marker. SVC assumes the z-axis of the kingpin marker points up the kingpin axis.
Caster = (180/p ) arctan( sin (psi) tan(theta) )
Caster Angle
Caster Change
Change in caster angle per unit vertical displacement of the wheel center relative to the sprung mass. SVC
computes caster change only for the front suspension.
Computed by:
SVCFAN
Method:
SVC computes caster change as the ratio of y-axis rotation to z-axis displacement at the wheel center due
to vertical forces applied at both wheel centers simultaneously.
Caster Trail 23
All About SVC (Static Vehicle Characteristics)
Caster Trail
The distance in side elevation between the point where the steering axis intersects the ground, and the
center of tire contact. The trail (or offset) is considered positive when the intersection point is forward of
the tire contact center and negative when it is rearward.
Computed by:
SVCCTR
Method:
SVC uses the SYSARY utility subroutine to retrieve the positions of the wheel center and kingpin
markers with respect to the ground plane. SVC next computes the intersection point of the kingpin axis
and the ground plane, and the wheel/ground intersection line. The caster trail is the distance along the
wheel/ground intersection line from the kingpin axis/ground intersection point to the tire contact point to
the ground. SVC assumes the z-axis of the kingpin marker points up the kingpin axis and y-axis of the
24 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
wheel center marker is parallel to the spindle axis. SVC also assumes the global origin marker lies
somewhere inboard of both the wheel/ground and kingpin-axis/ground intersections.
Caster Trail
Computed by:
SVCCGH
Method:
The mass properties and CM marker identifiers of the parts listed in ARRAY statements 9901 and 9903
are extracted from the data set. The mass properties are multiplied by 100 percent minus the
corresponding percentage sprung values and used with displacements from the INFO utility subroutine
to compute the unsprung center of gravity.
Computed by:
SVCCGH
Method
SVC extracts from the data set the mass properties and the center-of-mass marker identifiers of all parts
listed in ARRAY statements 9901, 9903, and 9905. SVC multiplies each mass property by the
corresponding percentage sprung value and uses the result with displacements from the INFO utility
subroutine to compute the sprung center of gravity.
Computed by:
SVCGDR
Method:
SVC uses the INFO utility subroutine to retrieve the force applied to the tire force marker by the global
origin marker. SVC divides the global z component of this force by the gravitational acceleration along
the global z-axis to convert it to mass units.
26 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
Computed by:
SVCICR
Method:
SVC computes the instant center from the DY, DZ, and DTHETA of the wheel center due to opposite
vertical forces on both sides:
left side right sideDY = C( 2,3 ) - C( 2,9 ) = C( 8,9 ) - C( 8,3 )
Kingpin Angle, Kingpin Angle with Respect to Body 27
All About SVC (Static Vehicle Characteristics)
Computed by:
SVCFAN (SVCFAB)
Method:
SVC uses the INFO utility subroutine to retrieve the Euler angles of the kingpin marker with respect to
the global marker. SVC assumes the z-axis of the kingpin marker points up the kingpin axis.
Left kingpin = -(180/p ) arctan( cos (psi) tan(theta) )
Right kingpin = (180/p ) arctan( cos (psi) tan(theta) )
Ø=Kingpin Angle
Computed by:
SVCFST
Method:
SVC computes the steering change due to a Y force at the Pitman arm marker:DSTEER = abs( C( 6,14 )
+ C( 12,14 ) ) / 2
SVC assumes that the Pitman arm is oriented such that a Y force will turn the wheels. In addition, there
must be some compliance at the Pitman arm in order to generate steer. The total Pitman arm angle change
due to a Y force at the Pitman arm marker is:
DPIT = sqrt( C( 6,14 )2 + C( 17,14 ) 2 + C( 18,14 ) 2 )
The overall steer ratio is:
Steer ratio = SRATIO DPIT / DSTEER
Overall Steer Ratio
Computed by:
SVCANA
Method:
SVC computes the longitudinal force due to acceleration:
Fleft = Fright = -fdrat / 2.0
and the vertical force due to weight transfer:
VWleft = VWright = -Total CG height / ( 2 wheelbase )
The driveshaft torque is:
Tdrive = Rl ABS( Fleft + Fright ) / faxlr
where Rl is the average loaded radius of the tire.
If the axle is dependent, the vertical force reaction at the wheel forces due to the driveshaft torque are:
VTleft = -Tdrive / Track
VTright = Tdrive / Track
If the axle is independent, VTleft = VTright = 0. The total vertical forces due to weight transfer and axle
torque are:
Vleft = VWleft + VTleft
Vright = VWright + VTright
These are all forces at each wheel per unit total acceleration force.
Vertical deflections due to the vertical force are:
Zwleft = Vleft C( 3,3 ) + Vright C( 3,9 )
Zwright = Vleft C( 9,3 ) + Vright C( 9,9 )
Vertical deflections due to tractional forces are:
Zfleft = Fleft [C( 3,1 ) - Rl C( 3,5 )] + Fright [C( 3,7 ) - Rl C( 3,11 )]
Zfright = Fleft [C( 9,1 )-Rl C( 9,5 )]+Fright [C( 9,7 ) - Rl C( 9,11 )]
The percent anti-lift is:
Left percent anti-lift = -100. Zfleft / Zwleft
Percent Anti-Dive Under Braking 31
All About SVC (Static Vehicle Characteristics)
Computed by:
SVCANB
Method:
SVC first computes longitudinal force due to braking:
Fleft = Fright = fbrat / 2.0
and the vertical force due to weight transfer:
Wleft = Wright = Total CG height / ( 2 wheelbase )
These are forces at each wheel per unit total braking force.
Vertical deflections due to the vertical force are:
Zwleft = Wleft C( 3,3 ) + Wright C( 3,9 )
Zwright = Wleft C( 9,3 ) + Wright C( 9,9 )
Vertical deflections due to tractional forces are:
Zfleft = Fleft [C( 3,1 ) - Rl C( 3,5 )] + Fright [C( 3,7 ) - Rl C( 3,11 )]
Zfright = Fleft [C( 9,1 )-Rl C( 9,5 )]+ Fright [C( 9,7 ) -Rl C( 9,11 )]
where Rl is the average loaded radius of the tire.
The percent anti-dive is:
Left percent anti-dive = -100. Zfleft / Zwleft
Right percent anti-dive = -100. Zfright / Zwright
32 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
Computed by:
SVCANB
Method:
SVC first computes longitudinal force due to braking:
Fleft = Fright = ( 1 - fbrat ) / 2.0
and the vertical force due to weight transfer:
Wleft = Wright = - Total CG height / ( 2 wheelbase )
These are forces at each wheel per unit total braking force.
The following calculations are identical to those for Percent Anti-Dive Under Braking.
Vertical deflections due to the vertical force are:
Zwleft = Wleft C( 3,3 ) + Wright C( 3,9 )
Zwright = Wleft C( 9,3 ) + Wright C( 9,9 )
Vertical deflections due to tractional forces are:
Zfleft = Fleft [C( 3,1 )-Rl C( 3,5 )] + Fright [C( 3,7 ) - Rl C( 3,11 )]
Zfright = Fleft [C( 9,1 )-Rl C( 9,5 )]+Fright [C( 9,7 )-Rl C( 9,11 )]
where Rl is the average loaded radius of the tire
The percent anti-lift is:
Left percent anti-lift = -100. Zfleft / Zwleft
Right percent anti-lift = -100. Zfright / Zwright
Percent Anti-Squat Under Acceleration 33
All About SVC (Static Vehicle Characteristics)
Computed by:
SVCANA
Method:
SVC computes the longitudinal force due to acceleration:
Fleft = Fright = -( 1 - fdrat ) / 2.0
and the vertical force due to weight transfer:
VWleft = VWright = Total CG height / ( 2 wheelbase )
The following calculations are identical to those for Anti-Lift Under Acceleration.
The driveshaft torque is:
Tdrive = Rl abs( Fleft + Fright ) / raxlr
where Rl is the average loaded radius of the tire.
If the axle is dependent, the vertical force reaction at the wheel forces due to the driveshaft torque are:
VTleft = - Tdrive / Track
VTright = Tdrive / Track
If the axle is independent, VTleft = VTright = 0. The total vertical forces due to weight transfer and axle
torque are:
Vleft = VWleft + VTleft
Vright = VWright + VTright
34 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
These are all forces at each wheel per unit total acceleration force. Vertical deflections due to the vertical
force are:
Zwleft = Vleft C( 3,3 ) + Vright C( 3,9 )
Zwright = Vleft C( 9,3 ) + Vright C( 9,9 )
Vertical deflections due to tractional forces are:
Zfleft = Fleft [C( 3,1 ) - Rl C( 3,5 )] + Fright [C( 3,7 ) - Rl
C( 3,11 )]
Zfright = Fleft [C( 9,1 ) - Rl C( 9,5 )] + Fright [C( 9,7 ) - Rl
C( 9,11 )]
The percent anti-squat is:
Left percent anti-squat = -100. Zfleft / Zwleft
Right percent anti-squat = -100. Zfright / Zwright
Computed by:
SVCROL
Method:
SVC applies opposing unit forces acting vertically at the tire patches. The height difference between the
tire patches is:
Dz = C( 3,3 ) - C( 3,9 ) - C( 9,3 ) + C( 9,9 ) + 2/Kt
where Kt is the tire stiffness.
The vehicle roll angle is the rotation of the line through the tire patches:
Av = Dz / track
The change in steer angle is:
As = [ C( 6,3 ) - C( 6,9 ) + C( 12,3 ) - C( 12,9 ) ] / 2
The roll steer is:
RS = [ As / Av ] * 100
Rear Ground Reactions 35
All About SVC (Static Vehicle Characteristics)
Computed by:
SVCGDR
Method:
SVC uses the INFO utility subroutine to retrieve the force applied to the tire force marker by the global
origin marker. SVC divides the global z component of this force by the gravitational acceleration along
the global z-axis to convert it to mass units.
Rear Ground Reaction, Left and Right
36 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
Ride Rate
Vertical spring rate of the suspension relative to the body, measured at the tire patch.
Computed by:
SVCRAT
Method:
SVC computes ride rate as the equivalent rate of the wheel rate and tire rate in series.
Ks = Suspension ride rate (see description for this SVC).
Kt = Vertical tire rate.Ktotal = Ks Kt / (Ks + Kt)
Roll Camber
The rate of change in wheel inclination angle with respect to change in vehicle roll angle.
Computed by:
SVCROL
Method:
SVC applies opposing unit forces acting vertically at the tire patches. The height difference between the
tire patches is:
Dz = C( 3,3 ) - C( 3,9 ) - C( 9,3 ) + C( 9,9 ) + 2/Kt
where Kt is the tire stiffness.
The vehicle roll angle is the rotation of the line through the tire patches:
Av = Dz / track
The wheel inclination is measured with respect to the line through the tire patches and has two
components. The first is from the vertical movement of the tire patch, and is the same as the vehicle roll
angle. The second is from the rotational compliance at the wheel center due to the vertical force:
Roll Center Height 37
All About SVC (Static Vehicle Characteristics)
Computed by:
SVCROL
Method:
The compliance matrix at the wheel centers are transferred to equivalent compliance matrix at the contact
patch location. Now the left side vertical displacement is
DZ_L = CP(3,3) - CP(3,9)
DY_L = CP(2,3) - CP(2,9)
YL
ZL
Where:
DZ_L - Vertical Displacement at left tire patch due to unit opposing force at left and right tire patch.
DY_L -Lateral Displacement at left tire patch due to unit opposing force at left and right tire patch.
YL - Lateral wheel center position wrt to ground.
ZL - Vertical wheel center position wrt to ground.
Computed by:
SVCROL
Method:
SVC uses opposing unit forces as the applied torque:
T = F track = track
The resulting vertical distance between wheel centers is:
Dz = C( 3,3 ) - C( 3,9 ) - C( 9,3 ) + C( 9,9 ) + 2 / Kt
where Kt is the average tire stiffness.
The rotation of the line through the tire patches is:
40 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
Ø = Dz / track.
The roll rate is:
Rate = T / Ø = ( p /180 ) track2 / Dz
Computed by:
SVCROL
Method:
SVC uses opposing unit forces as the applied torque:
T = F track = track
The resulting vertical distance between wheel centers is:
Dz = C( 3,3 ) - C( 3,9 ) - C( 9,3 ) + C( 9,9 )
The rotation of the line through the wheel centers is:
Ø = Dz / track
The roll rate is:
Rate = T / Ø = ( p /180 ) track2 / Dz
Rotational Inertias of Vehicle Sprung Mass 41
All About SVC (Static Vehicle Characteristics)
Computed by:
SVCMIN
Method:
SVC extracts from the data-set the mass properties and the center-of-mass marker identifiers of all parts
listed in ARRAY statements 9901, 9903, and 9905. SVC multiplies the mass properties by the
corresponding percentage sprung value and uses the result with displacements from the INFO utility
subroutine to compute the various inertias using the parallel axis theorem.
42 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
Computed by:
SVCMI2
Method:
SVC extracts from the data set the mass properties and the center-of-mass marker identifiers of all parts
listed in ARRAY statements 9901, 9903, and 9905, and uses the result with displacements from the INFO
utility subroutine to compute the various inertias. Note the lists of part identifiers in ARRAY statements
9901, 9903, and 9905 must include all parts belonging to the vehicle to correctly compute the total
rotational inertias.
Scrub Radius 43
All About SVC (Static Vehicle Characteristics)
Scrub Radius
The distance from the point at the intersection of the kingpin axis and the ground plane to the line of
intersection of the wheel and ground planes. Scrub radius is positive if the kingpin axis intersects the
ground inboard of the wheel. SVC computes scrub radius for the front suspension only.
Computed by:
SVCCTR
Method:
SVC uses the SYSARY utility subroutine to retrieve the positions of the wheel center and kingpin
markers with respect to the ground plane. SVC next computes the intersection point of the kingpin axis
and the ground plane, and the wheel/ground intersection line. The scrub radius is the difference between
the distance from the ground origin to the line and the distance from the origin to the point. SVC assumes
the z-axis of the kingpin marker points up the kingpin axis and y-axis of the wheel center marker is
parallel to the spindle axis. SVC also assumes the global origin marker lies somewhere inboard of both
the wheel/ground and kingpin-axis/ground intersections.
44 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
Scrub Radius
Computed by:
SVCICR
Method:
SVC computes the instant center from the DX, DY, DZ, and DTHETA of the wheel center due to vertical
forces applied on both sides:
left side right sideDX = C( 1,3 ) + C( 1,9 ) = C( 7,3 ) + C( 7,9 )
DZ = C( 3,3 ) + C( 3,9 ) = C( 9,3 ) + C( 9,9 )
DTHETA = C( 5,3 ) + C( 5,9 ) = C( 11,3 ) + C( 11,9 )
The radius of the circle described is:
R = SQRT( DX2 + DZ2 ) / DTHETA
The angle of the line connecting the wheel center to the instant center is:
ANG = arctan( -DX / DZ )
Single Bump Wheel Rate 45
All About SVC (Static Vehicle Characteristics)
Note: The figure above describes the vertical instant center with respect to wheel center, but the
calculation includes the rolling radius so that the vertical instant center is determined with
respect to tire patch.
Computed by:
SVCRAT
Method:
SVC computes single bump wheel rate as the inverse of the z-axis displacement at the wheel center due
to the vertical force applied at the wheel center.Left = 1 / C( 3,3 )
Right = 1 / C( 9,9 )
Computed by:
SVCNOD
Method:
SVC solves the equation of motion of the bounce and pitch displacements of the sprung mass. It first
determines the total ride rate at the spring center, total ride rate per unit rotation of the sprung mass and
the angular rate of the body. These values are inserted into the equation of motion to determine the bounce
and pitch natural frequencies.
The equation of motion for the bounce and pitch motions are:
zacc + az + bq = 0
qacc + gq + bz/r*r = 0
Where:
a,b,g are the rates defined above and r is the radius of gyration.
a = (Kf + Kr)/M
b = (Kf*fdis - Kr*rdis)/M
g = (Kf*fdis*ldis + Kr*rdis*rdis)/J
Where:
Kf - total front ride rate
Sprung Vehicle Mass 47
All About SVC (Static Vehicle Characteristics)
Computed by:
SVCTMA
48 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
Method:
SVC extracts the mass for each part listed in ARRAY statements 9901, 9903, and 9905 from the data-set
and multiplies the mass by the corresponding percentage sprung value. The results of these calculations
are summed to form the total sprung vehicle mass.
Note: In general, static loaded radius is different from the radius of slowly rolling tire. Static
radius of a tire rolled into position may be different from that of the tire loaded without
being rolled.
Computed by:
SVCHGT
Method:
SVC uses the INFO utility subroutine to retrieve the vertical distance of the wheel center markers with
respect to the global marker. SVC then takes the average values of the data obtained from left and right
side of the vehicle.
Steer Angle 49
All About SVC (Static Vehicle Characteristics)
Steer Angle
The angle between the longitudinal axis of the vehicle and the line of intersection of the wheel plane and
the road surface. It is the average of the right and left angles. Steer angle is reported in degrees, and is
positive if the wheels are steering to the left. Steer angle is only computed for the front suspension.
Computed by:
CONSUB
Method:
Since the steer angle is the same as the toe angle, except for the sign on the left angle, is is computed as
half the difference of right and left toe angles.
average steer angle = ( right toe - left toe ) / 2
Tire Rate
Vertical spring rate of the tires.
Computed by:
CONSUB
50 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
Method:
These values are taken from ARRAY/9911 or approximated in the CONSUB as described in earlier
sections. If SVC must approximate the rates, it uses the compliance matrix entries to compute the
simultaneous vertical forces required to move both front or rear wheel centers one unit vertically. This is
done before the matrix is modified, so the vehicle body is free to move. Since the wheel centers are being
moved the same distance, only the tires are flexing, and the forces computed are approximately the tire
rates. The two simultaneous equations for one pair of front or rear tires are:
C( 3,3 ) Fl + C( 3,9 ) Fr = 1
C( 9,3 ) Fl + C( 9,9 ) Fr = 1
The determinate for this system is:
D = C( 3,3 ) C( 9,9 ) - C( 3,9 ) C( 9,3 )
Using Cramer's rule, the solution is:
Fl = [C( 9,9 ) - C( 3,9 )] / D
Fr = [C( 3,3 ) - C( 9,3 )] / D
Toe Angle
The angle between the longitudinal axis of the vehicle and the line of intersection of the wheel plane and
the road surface. Toe angle is reported in degrees, and is positive if the wheel front is rotated in towards
the vehicle body.
Computed by:
SVCGAN
Method:
SVC uses the INFO utility subroutine to retrieve the Euler angles of the wheel center marker with respect
to the global marker. SVC forms the direction cosine matrix of the wheel center marker with respect to
the global marker from the Euler angles. SVC calculates the toe angle using elements of the direction
cosine matrix. SVC assumes the y-axis of the wheel center marker is parallel to the spindle axis, and the
z-axis is vertical.
Toe Change 51
All About SVC (Static Vehicle Characteristics)
Toe Change
Change in toe angle per unit vertical displacement of the wheel center relative to the sprung mass.
Computed by:
SVCRAT
Method:
SVC computes toe change as the ratio of z-axis rotation to z-axis displacement at the wheel center due
to unit vertical forces applied at both wheel centers simultaneously.Left = - (180/p) [C( 6,3 ) + C( 6,9 )]
/ [C( 3,3 ) + C( 3,9 )]
Right = (180/p) [C( 12,3 ) + C( 12,9 )] / [C( 9,3 ) + C( 9,9 )]
52 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
Toe Change = DØ / DZ
Computed by:
SVCCGH
Method:
SVC extracts from the data set the mass properties and the center-of-mass marker identifiers of all parts
listed in ARRAY statements 9901, 9903, and 9905 and uses them with displacements from the INFO
utility subroutine to compute the center of gravity.
Computed by:
SVCTMA
Method:
SVC calls the INFO subroutine to obtain the vertical tire forces for all four tires. These forces are summed
and then the sum is divided by the acceleration of gravity along the global z-axis thus converting the sum
to mass units.
Track Width
The lateral distance between the centers of tire contact of the inner and outer wheels.
Computed by:
SVCTRW
Method:
Steer uses the INFO utility subroutine to retrieve positions of the inner and outer wheel center markers
with respect to the ground. The wheel centers are projected along the wheel plane onto the ground plane.
The distance between these projected points is the track.
54 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
Track width
Computed by:
SVCNOD1
Input variables:
• Unsprung mass of solid axle suspension
• Solid axle roll rate
• Left and right tire rate
• Left and right wheel rate
• Unsprung mass inertia about roll axis for solid axle
• Left and right unsprung masses for independent suspension
Method:
For independent suspensions the hop natural frequency is
frq = sqrt(1000.0 * lrr/lmass)/(2*pi)
Unsprung Mass Wheel Hop and Tramp Natural Frequencies 55
All About SVC (Static Vehicle Characteristics)
where:
• lrr - left suspension ride rate
• lmass - left unsprung mass
For solid axle suspension, SVC solves the equation of motion of the wheel hop and tramp and
displacements of the unsprung mass. It first determines the distance between the suspension springs by
taking the roll rate into account.
Total distance between both the springs is:
dis = roll rate/ride rate
It then determines the total ride rate at the spring center, total ride rate per unit rotation of the sprung mass,
and the angular rate of the body. These values are inserted into the equation of motion to determine the
wheel hop and tramp natural frequencies.
The equation of motion for the bounce and pitch motions are:
zacc + az + bq = 0
qacc + gq + bz/r*r = 0
where:
a,b,g are the rates defined above and r is the radius of gyration.
a = (Kl + Kr)/M
b = (Kl*ldis - Kr*rdis)/M
g = (Kl*ldis*ldis + Kr*rdis*rdis)/J
Kl - left ride rate
Kr - right ride rate
M - total unsprung mass
J - moment of inertia about roll axis
ldis - location with respect to axle CG at which effective spring rate acts.
rdis - location with respect to axle CG at which effective spring rate acts.
The solutions for the above equations are in the form:
z = Z *coswt
q = Q*coswt
Substituting these in the equations of motion and solving for w gives the natural frequencies for the wheel
hop and tramp motions.
56 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
Computed by:
SVCTMA
Method:
Masses of all parts listed in ARRAY statements 9901 and 9903 are extracted from the data set, multiplied
by 100 percent minus the corresponding percentage sprung values, and summed.
Vehicle Speed
Initial speed of the vehicle center of mass.
Computed by:
SVCSPD
Method:
SVC calls the INFO utility subroutine (prior to the static equilibrium analysis) to compute the center-of-
mass marker velocity with respect to the global origin marker. The reported speed is the magnitude of
this vector.
Computed by:
SVCWCR
Wheel Rate 57
All About SVC (Static Vehicle Characteristics)
Method:
SVC uses the INFO utility subroutine to compute the global z-axis distance between the wheel center
marker and the corresponding marker on the body.
Left Front Wheel Center Rise
Wheel Rate
Vertical spring rate of the suspension relative to the body, measured at the wheel center due to the motion
of a pair of wheels.
Computed by:
SVCRAT
Method:
SVC computes wheel rate as the inverse of the z-axis displacement at the wheel center due to the vertical
forces applied at both wheel centers simultaneously.
Left = 1 / [C( 3,3 ) + C( 3,9 )]
58 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
Computed by:
SVCWSR.
Method:
SVC calculates a temporary compliance matrix to relate the wheel and shock motion. For full-vehicle
models, the body degree of freedom is then removed from the compliance matrix.
Determine the normalized suspension to body vector
LSL = SQRT( LSHOCK(1)**2 + LSHOCK(2)**2 + LSHOCK(3)**2 )
Where:
LSHOCK(1) - Global X displacement of shock attachment on body wrt shock attachement on
suspension
LSHOCK(2) - Global Y displacement of shock attachment on body wrt shock attachement on
suspension
LSHOCK(3) - Global Z displacement of shock attachment on body wrt shock attachement on
suspension
LSHOCK(1) = LSHOCK(1) / LSL
LSHOCK(2) = LSHOCK(2) / LSL
LSHOCK(3) = LSHOCK(3) / LSL
Compute change in shocklength due to vertical force at wheel center (dot product of shock-end
compliance and shock vector).
DS = CTEMP(7,3) * LSHOCK(1) + CTEMP(8,3) * LSHOCK(2) + CTEMP(9,3) * LSHOCK(3)
Shock Ratio = CTEMP(3,3) / DS
Shock Ratio = 1/Shock Ratio
Computed by:
SVCRAT
Method:
SVC calculates a temporary compliance matrix to relate the wheel and spring motion. For full-vehicle
models, the body degree of freedom is then removed from the compliance matrix.
Determine the normalized suspension to body vector
LSL = SQRT( LSPRNG(1)**2 + LSPRNG(2)**2 + LSPRNG(3)**2 )
Where:
LSPRNG(1) - Global X displacement of spring attachment on body wrt spring attachment on
suspension
LSPRNG(2) - Global Y displacement of spring attachment on body wrt spring attachment on
suspension
LSPRNG(3) - Global Z displacement of spring attachment on body wrt spring attachment on
suspension
LSPRNG(1) = LSPRNG(1) / LSL
LSPRNG(2) = LSPRNG(2) / LSL
LSPRNG(3) = LSPRNG(3) / LSL
Compute change in spring length due to vertical force at wheel center (dot product of spring-end
compliance and spring vector).
DS = CTEMP(7,3) * LSPRNG(1) + CTEMP(8,3) * LSPRNG(2) + CTEMP(9,3) * LSPRNG(3)
Spring Ratio = CTEMP(3,3) / DS
Spring Ratio = 1/Spring Ratio
Wheelbase
Fore and aft distance in the side elevation between the front and rear wheels.
Computed by:
SVCWBA
60 Adams/Chassis
All About SVC (Static Vehicle Characteristics)
Method:
SVC uses the INFO utility subroutine to determine the global x-axis distance between wheel center
markers.
Wheelbase
Wheelbase 61
Brake Schematic
Brake Schematic
62 Adams/Chassis
Bookshelf
Bookshelf
The bookshelf is part of the Treeview in the Test, Review, and Improve modes. The library objects in the
bookshelf change according to the work mode:
• Test mode - Contains all available Events
• Review mode - Contains available postprocessors (event classes)
• Improve mode - Contains all the Fingerprints created in Test mode
Construction Options
4Link Suspension Upper Control Arm Option
It is possible to deactivate the left and/or right upper control arms in a front or rear 4link suspension.
The following data needs to exist in your datafile to use this option.
3. LCA_rear – lca rear inner mount is moved along a line perpindicular to line
connecting lca_front and lca_rear hardpoints.
Note: With this option, only camber or caster adjustment is performed. Adjusting both caster and
camber is not possible.
In all cases, toe is aligned via dummy parts connecting the tie rods and spindles.
Body-on-Frame Option
A body-on-frame type vehicle can be modeled with the body-on-frame option.
The following data needs to exist in your body file to use this option.
BUSHINGS
When this option is used, all suspension parts will be mounted to the frame part (#550), and the frame
will connect to the body (#51) via a user-specified number of bushings (picture shows 5 bushings per side
configuration, other configurations are available).
Dual Rear Wheels 65
Construction Options
Activate Dual Rear Wheel Construction Option & Specify lateral offset between inner
and outer rear wheels
66 Adams/Chassis
Construction Options
Halfshaft Compliance
Static Halfshaft compliance can be modeled with front or rear halfshafts. With this option the rotational
compliance of the halfshafts is calculated based on the halfshaft length, inner diameter, and outer
diameter. These parameters are stored in the subsystem parameters table. The halfshaft material is
assumed to be steel.
Hub Compliance
Hub compliance allows you to model wheel bearing play in the Adams model.
For independent suspensions the knuckle/spindle is de-linked from the control arms or strut (at the ball
joints), and a (dummy) 'spindle bending part' attached instead. The knuckle is then attached to the spindle
bending part at Pt. 9 in the figure below through a spherical joint and a gforce nonlinear spline bushing
(Type 4).
68 Adams/Chassis
Construction Options
All spindle markers remain on the spindle to react the forces on the compliant (knuckle) part. All
necessary attachment points are transferred from the spindle to the spindle bending part.
To activate hub compliance:
1. In the Build mode, select a front or rear suspension in the treeview.
2. In the Propety Editor, select the Construction Options tab.
3. Turn hub compliance on/off.
When activated, the connector pair, hub_compliance, must be present in the subsystem file.
Hub Compliance Offset
Hub compliance is located inboard along the spindle axis at a user-specified distance. This distance offset
appears in the construction option dialog box. From this distance, an additional hardpoint, 9h, is
computed by Adams/Chassis during model preprocessing.
• Hub Compliance ON
• Carrot ON and Neck Joint ON
• Carrot OFF and Neck Joint ON
For option 2, a carrot part connects to a wheel with a revolute joint and connects to a spindle with a ball
joint and a bushing. A spindle connects to a spindle top part with either a rev joint or a ball joint. If Neck
lateral is not 0.0 and Neck longitudinal is 0.0, there will be a revolute joint between a spindle and a
spindle top. If Neck lateral is not 0.0 and Neck longitudinal is also not 0.0, it will create a spherical joint
between a spindle and a spindle top. A spindle top connects to an upper control arm.
70 Adams/Chassis
Construction Options
Option 3 is very similar to option 2. The difference is that a carrot part connects to the spindle part by a
fixed joint.
Each option has required hardpoints, parts, and connectors that must be present in the subsystem. Below
describes necessary entires for each option.
Note that the red arrows in the above figure, indicate the default bushing orientations. The orientations
of these bushings can be modified. Please see Bushings.
72 Adams/Chassis
Construction Options
Option 1: 1 part
For option one, a lower control arm is constructed as one part. A lower control arm connects to a spindle
with one ball joints and to body/subframe with bushings.
Certain entries are required in the subsystem data file to execute this option properly.
HardPointPair lca_front (3)
HardPointPair lca_rear (4)
HardPointPair lower_ball_joint (6)
PartPair lower_control_arm
ConnectorPair lca_front
ConnectorPair lca_rear
Certain entries are required in the subsystem data file to execute this option properly.
HardPointPair lca_front (3)
HardPointPair lca_rear (4)
HardPointPair lower_ball_joint (6)
HardPointPair compstrut_lca (5)
PartPair lower_control_arm
PartPair compression_strut
ConnectorPair lca_front
ConnectorPair lca_rear
ConnectorPair compression_strut_lca
Panhard Rod
74 Adams/Chassis
Construction Options
Panhard Rod can be turned on/off in a CONSTRUCTION OPTIONS table. The example of a "Panhard
Rod" option is shown below.
Certain entries are required in the subsystem data file to execute this option properly.
HardPoint panhard_body (92)
HardPoint panhard_axle (94)
Part panhard_rod
Connector panhard_body
Connector panhard_axle
Full
With this option the complete simple powertrain is modeled , with rotating flywheel, engine part,
halfshafts, and (if rear wheel drive) propshaft. This is the most complex option. The traction controller
acts directly on the flywheel, applying torque in conjunction with the engine map component. The engine
is mounted to the body via mounts. A construction option is available to control the number of engine
mounts.
Halfshafts Only
With this option torque is applied to the halfshafts. The engine flywheel is not represented, nor the engine
part itself.
Engine Only
With this option the powertrain template adds no spinning parts to the model, the traction controller acts
on the wheel parts directly. The engine part is included with its mounts. This option is intended to easily
include the inertial effects of the engine in your full vehicle model.
Roll Restrictor 75
Construction Options
Roll Restrictor
A roll restrictor for powertrain systems can be turned on/off in the CONSTRUCTION OPTIONS tab.
To use the other two options, points roll_restrictor_to_engine and roll_restrictor_to_attach must appear
in the geometry and bushing tables.
76 Adams/Chassis
Construction Options
Shock Absorbers
The sign convention for shock absorber splines is extension is positive velocity and force, and
compression is negative velocity and force. The units on velocity should be mm/sec and force should be
expressed in newtons.
When creating joints or bushings for shock/strut parts, Adams/Chassis sets the I-marker as the shock/strut
part and the J-marker as component part.
If shock mounts are not present in the shock property file a hooke joint is used to connect the upper shock
and a spherical joint is used to connect the lower shock.
In the above options, "Torsion Bar" is not included in a CONSTRUCTION OPTIONS table. This section
explains what kind of data are required for a torsion bar.
Subframe
There are two options for Subframe : Subframe ON and subframe OFF.
CONSTRUCTION OPTIONS
---- -------------------------------------------------------------
0 Subframe (0=OFF a dummy part, 1=ON)
If the user selects 0=Subframe OFF, a dummy subframe part is created. For a dummy subframe, it does
not require to have a subframe inertia and cg data. If the use selects 1=Subframe ON, subframe inertia
SLA Front Suspension Options 79
Construction Options
and cg data have to be entered in PARTS table. The following shows the example of the PARTS table
which includes Subframe parts data.
C.G. LOCATIONS
DEFAULT LEFT (mm) RIGHT (mm)
CG?
PARTS (CG) (1=YES) X Y Z X Y Z
(0=NO)
Upper Control Arm 0 1551.00 -480.00 822.00 1551.00 480.00 822.00
Lower Control Arm 0 1545.00 -380.00 465.00 1545.00 380.00 465.00
Spindle and caliper 0 1552.00 -648.00 577.00 1552.00 648.00 577.00
Stabilizer Bar 0 1261.00 -314.00 615.00 1261.00 314.00 615.00
Parts
Tire, Wheel, Rotor 1 0.00 0.00 0.00 0.00 0.00 0.00
Subframe 1 0.00 0.00 0.00 0.00 0.00 0.00
Shock Upper 1 0.00 0.00 0.00 0.00 0.00 0.00
Shock Lower 1 0.00 0.00 0.00 0.00 0.00 0.00
80 Adams/Chassis
Construction Options
This option requires the following data in *front suspension subsystem file.
(1)In GEOMETRY HARDPOINT table, it should have "LSM Bracket @ LCA 35" and "LSMB @ LCA
Orientation 135"
POINT LOCATIONS
LEFT (mm) RIGHT (mm)
GEOMETRY HARDPOINT X Y Z X Y Z
LSM Bracket @ LCA 35 1493.79 -496.09 418.46 1493.79 496.09 418.46
LSMB @ LCA Orientation 135 1593.79 -496.09 418.46 1593.79 496.09 418.46
(2)In BUSHING table, it should have "Shock Lower 35" and "Shock Upper 55"
Torsion Bar
In order to use a torsion bar for a sla front suspension, the following data are required to enter in front
suspension subsystem file.
(1) Torsion bar points should be entered in GEOMETRY HARDPOINT table.
POINT LOCATIONS
LEFT (mm) RIGHT (mm)
GEOMETRY HARDPOINT X Y Z X Y Z
Torsion Bar @ Bracket 23-24 2411.05 -378.10 450.55 2441.67 380.04 453.03
Torsion Bar@ LCA 25-26 1381.49 -333.21 416.77 1398.12 334.86 416.54
T-bar Bracket Bushings 27-28 2411.80 -380.33 452.20 2442.76 381.69 453.27
(2) "T-Bar Crossmember" inertia and c.g. location should be entered in PARTS table.
SLA Front Suspension Options 83
Construction Options
C.G. LOCATIONS
DEFAULT LEFT (mm) RIGHT (mm)
CG?
PARTS (CG) (1=YES) X Y Z X Y Z
(0=NO)
Upper Control Arm 0 1538.17 -480.00 822.00 1551.00 480.00 777.62
Lower Control Arm 0 1549.02 -398.92 420.86 1549.02 398.92 420.86
Spindle and caliper 0 1540.44 -647.66 537.02 1540.44 647.66 577.02
Stabilizer Bar Parts 0 1259.05 -314.41 553.66 1259.05 314.41 553.66
T-Bar Crossmember 0 2426.00 0.00 453.00 1259.00 314.41 553.66
Tire, Wheel, Rotor 1 0.00 0.00 0.00 0.00 0.00 0.00
Subframe 0 0.00 0.00 0.00 0.00 0.00 0.00
Shock Upper 1 0.00 0.00 0.00 0.00 0.00 0.00
Shock Lower 1 0.00 0.00 0.00 0.00 0.00 0.00
(3) "Torsionbar Crossmember 27-28" bushing information should be entered in BUSHING table.
84 Adams/Chassis
Construction Options
By using a CONSTRUCTION OPTION table, users can turn on or off this option.
Trailing Arm = ON: Connects to an Axle
Trailing Arm - HOTCHKISS 87
Construction Options
This option is available only for HOTCHKISS rear suspension. As shown below, a trailing arm is
connected to an axle and a body.
To use this option, first users have to turn on "Trailing Arm" option in CONSTRUCTION OPTION tab.
Second, it should have geometry points for "trailing_arm_body" and "trailing_arm_axle". The example
of these points are shown below:
88 Adams/Chassis
Construction Options
Note that the default cg for the trailing arm is midpoint between "trailing_arm_body" and
"trailing_arm_axle".
Fourth, trailing arm bushing information should be entered in BUSHING table.
To use this option, it is also required to enter a trailing arm rotational spring rate, cross sectional
configuration, tube thickness, height and base.
You can enter the user defined c.g. location in a PART table. If you choose to use "default c.g." option,
the trailing arm c.g. point is assigned as the "trailing_arm_body".
Trailing Arm - SLA_COIL_TRAIL 91
Construction Options
The default c.g. of this option is located in the midpoint of "trailing_arm_spindle" and
"trailing_arm_to_spindle".
The default c.g. of this option is located in the midpoint of "trailing_arm_spindle" and
"trailing_arm_to_spindle".
94 Adams/Chassis
Construction Options
Twist Axle
Adams/Chassis offers several options for twist beam rear suspensions.
Twist Axle, Trailing Arm, Axle Attachment and Spindle Compliance options are explained in this
document.
• Twist Axle Options
• Trailing Arm Options
• Axle Attachment Option
• Spindle Compliance Option
2-piece twist axle has a left and a right twist axle parts. These left and right parts are connected by
"FIELD" statements. These axle parts are conneced to trailing arm parts by "BEAM". The user has to
define BEAM statements in the "CustAdmText" Tab of the subsystem file. The following is the example
of these BEAM statements:
R E A R T W I S T A X L E F I E L D S
FIELD/52,I = 35295,J = 35396, CRATIO = 1.0E-08 FIELD BTW L & R TWIST AXLES
,KMATRIX = 1.154582E+02
, 1.542750E+00,-3.299564E-01,-2.565903E+02,-5.435790E+03, 9.227785E+04
, 1.542750E+00, 9.740945E+03,-2.232566E+00, 9.166660E+05,-6.793570E+01
,-7.803890E+02,-3.299564E-01,-2.232566E+00, 1.134659E+02,-9.083015E+04
,-2.085445E+00, 4.021194E+02,-2.565903E+02, 9.166660E+05,-9.083020E+04
, 1.878283E+08,-8.830405E+02, 4.053620E+05,-5.435790E+03,-6.793570E+01
,-2.085415E+00,-8.830370E+02, 1.080241E+06, 4.342619E+06, 9.227785E+04
,-7.803890E+02, 4.021194E+02, 4.053620E+05, 4.342619E+06, 1.073457E+08
, LEN = 0, -1600, 0, 0D, 0D, 0D
FIELD/53,I = 35396,J = 35295, CRATIO = 1.0E-08 FIELD BTW R & L TWIST AXLES
,KMATRIX = 1.154582E+02
,-1.542750E+00,-3.299564E-01,+2.565903E+02,-5.435790E+03,-9.227785E+04
,-1.542750E+00, 9.740945E+03,+2.232566E+00,-9.166660E+05,-6.793570E+01
,+7.803890E+02,-3.299564E-01,+2.232566E+00, 1.134659E+02,+9.083015E+04
96 Adams/Chassis
Construction Options
,-2.085445E+00,-4.021194E+02,+2.565903E+02,-9.166660E+05,+9.083020E+04
, 1.878283E+08,+8.830405E+02,-4.053620E+05,-5.435790E+03,-6.793570E+01
,-2.085415E+00,+8.830370E+02, 1.080241E+06,-4.342619E+06,-9.227785E+04
,+7.803890E+02,-4.021194E+02,-4.053620E+05,-4.342619E+06, 1.073457E+08
, LEN = 0, 1600, 0, 0D, 0D, 0D
B E A M to A X L E
BEAM/0005,I= 35261,J= 36152 L TWIST AXLE BEAMT to ARM
, LEN = 589.965462, IXX = 3237.5, IYY = 204750, IZZ = 4650, AREA = 45
, EMODULUS = 2.06832E+05, GMODULUS = 79551, CRATIO = 1.0E-08
BEAM/0006,I= 35362,J= 36253 R TWIST AXLE BEAMT to ARM
, LEN = 589.965462, IXX = 3237.5, IYY = 204750, IZZ = 4650, AREA = 45
, EMODULUS = 2.06832E+05, GMODULUS = 79551, CRATIO = 1.0E-08
Note that in the above statements, if spindle compliance is turned on, a spring pod is created. In that case,
BEAM/0005 and BEAM/0006 should connect "TWIST AXLE BEAM" and "SPRING POD" (instead of
"ARM"). Thus, markers have to be changed accordingly.
Option 2: 3-piece Twist Axle
3-piece twist axle has three axle parts: left, right and middle axle parts. Left and right twist axle parts are
connected to trailing arms by "BEAM" and connected to a middle twist axle part by "SPHERICAL" joint
and "BUSHING".
Twist Axle Options 97
Construction Options
For this option, a user can define a number points on a twist axle and a twist beam axle is created. Each
small parts are connected each other by "BEAM". Twist axle and trailing arm are connected by a
"FIXED" joint.
(2) Trailing Arm option "2" (2 piece arm) has to be selected. Other options are not allowed.
98 Adams/Chassis
Construction Options
(4) "twst_axs_angle" and "arm_axs_ang" are properties such that users can change the orientation of Z-
axis for BEAM statements. The following pictures explain these angles. The default of these variables
are 0 deg. which points z-axis to upward (the same as the global z).
Twist Axle Options 99
Construction Options
For this option, the user has to select "2 pc arm" option. If the user wants to use 1 pc arm option, it is
suggested to use "2 pc arm" option with very stiff beam parameters for arms.
100 Adams/Chassis
Construction Options
For this option, a trailing arm and a half of twist axle are constructed as one part. Left and right axle are
connected by a "SPHERICAL" joint and a "BUSHING".
(2) Trailing Arm option "3" (1 peice arm+ half axle) has to be selected. Other options are not allowed.
Twist Axle Options 101
Construction Options
Depending on the twist model selected, various properties and parts will be available via the property
editor to modify the data. Some examples are shown below:
102 Adams/Chassis
Construction Options
When a spindle compliance is off, a twist axle and a camber adjuster are connected by a rev. joint and a
spindle and a camber adjuster are connected by a rev joint. If a model does not have a spindle (for
example, an old twist.aft does not have a spindle part), a toe adjuster is created between a wheel and a
camber adjuster. The user has to be careful for the following things:
1. If using a beam twist axle and there is a panhard rod in the model, a spindle compliance has to be
turned on.
Spindle Compliance Option 105
Construction Options
When a spindle compliance is on, there are a ball joint and a bushing between a camber adjuster and a
spring pod. A spring pod is always created when choosing this option. If a hub compliance is on, a spindle
and a hub compliance are connected by a ball joint and a bushing. If a hub compliance is off, a spindle
and a hub compliance are connected by a fixed joint. A dummy hub compliance is created in *.adm file
whether or not a hub compliance is on or off.
106 Adams/Chassis
Construction Options
To model 2 driveshaft pieces, hardpoints 32 and 33 must be added to your geometry table. Also, points
31, 32, and 35 must exist in the bushing table.
Two-Part Body Option 107
Construction Options
If option "front/rear body" is selected for Body Type, the front suspension and steering system will
connect to the front body part (#552) and the rear suspension will connect to the rear body part (#553).
The two parts will be connected at the CG location of the original unibody part by a joint and a bushing.
Each part is assigned half the mass and inertia of the original unibody. With this approach the overall
mass and inertia properties of the vehicle are maintained.
For Front/Rear Body Compliance option "Torsion" , the two parts are joined with a revolute joint, for
option "Torsion and Bending" the parts are joined with a universal joint. In both cases a bushing with the
torsional stiffness values from table b_flex is used to model the compliance.
Note: Cargo parts and passengers will be connected to either the front or rear body part based on
location.
108 Adams/Chassis
Construction Options
U-Joint Phasing
To simulate the installation of steering column universal joints, Adams/Chassis offers the user optional
specification of U-Joint phase angles. This option is available only for advanced 2 steering systems. The
user can specify 2 phase angles. The first phase angle applies to the upper u-joint, the second phase angle
applies to the lower u-joint. The orientation is such that a positive angle indicates clockwise rotation of
the u-joint looking down the steering column. The second phase angle is defined as being relative to the
first phase angle.
To specify user phase angles some information must be included in the steering subsystem file. The U-
Joint Phasing Construction Option must be set to "user_specified", and the phase data table must be
present in the steering column file:
Other Options
Entering 999 for both angles will have the same effect as not selecting the construction option at all -
Adams/Chassis will calculate optimum angles.
It is possible to enter your value for Phase Angle 1, and 999 for Phase Angle 2. In this case
Adams/Chassis will set Phase Angle 2 equal to Phase Angle 1 + the difference between the 2 optimum
phase angles, for example:
Phase_Angle_2 = Phase_Angle_1 + (Opt_angle_2 - Opt_angle_1)
Upper Control Arm 109
Construction Options
Each option needs to have certain entries in GEOMETRY HARDPOINT, PARTS and BUSHING table.
Below describes necessary entires for each option.
Option 1: 1 part
For option 1, a upper control arm is constructed as one part. The upper control arm connects to the spindle
with a ball joint or bushing and to body/subframe with bushings.
Certain entries are required in the subsystem data file to execute this option properly.
HardPointPair uca_front (1)
110 Adams/Chassis
Construction Options
Option 2: 2 Links
For option 2, there are two upper control links. Each link connects to the spindle with a ball joint or
bushing and to the frame/subframe with a bushing.
Certain entries are required in the subsystem data file to execute this option properly.
HardPointPair uca_front (1)
HardPointPair uca_rear (2)
HardPointPair upper_ball_joint (7)
HardPointPair rear_upper_ball_joint (17)
PartPair front_upper_link
PartPair rear_upper_link
ConnectorPair uca_front
ConnectorPair uca_rear
Viscous Coupling
Viscous coupling can be added to front or rear halfshafts. The necessary data for this is a spline that
relates left-right rotational velocity difference to torque. The spline must have X units (rad/s) and Y units
(N-mm).
Normally the spindle/axle part is connected to the tire/wheel part by a REVOLUTE JOINT in the Adams
dataset (.adm).
If the user choses to add wheel force transducers to the model, the wheel force transducers are parts
connected to the spindle/axle by a REVOLUTE JOINT and they are connected to the wheel part by a
FIXED JOINT.
Certain entries are required in the subsystem data file to execute this option properly.
PartPair wft
112 Adams/Chassis
Construction Options
The CONSTRUCTION OPTIONS tab allows users to toggle the WFTs on and off in their models. The
wft_offset parameter is where users input how far the WFT is offset outboard from the wheel center.
Wheel Force Transducers 113
Controls Glossary
Controls Glossary
Control System Name
Name of the control system. This is used for reference in Adams/Chassis output messages and in output
file names.
Control Libraries
This is a complete list of all the library files from the control system supplier. This includes the control
algorithm and any additional models necessary to interface with Adams/Chassis. The given file name can
be in either source code or pre-compiled form.
Input Packet
List of control inputs. The different inputs must be selected in the same order the main calling routine
expects.
Output Packet
List of control outputs. The different outputs must be selected in the same order the main calling routine
expects.
State Flags
Some systems require Adams to pass a flag to their controller in order to initialize values or deallocate
dynamic memory. If you activate the flags, the following numbers will be passed to the control routine
at different times in the simulation. These flags are passed in via the 'SFLAG' variable. This can be useful
if there is an initialization for the control system, or some other operation that only needs to be performed
one time.
SFLAG = 1 - First time the control system is called
SFLAG = 2 - During simulation after the first call
SFLAG = 3 - Last time the control system is called
1. Number of requests
2. Name of each request- Each request provides data for 3 or 6 channels of the rpc-3 file, depending
on whether only translation/ rotation or all data is to be converted. To obtain the channel names,
the request name (which is the same as the comment in the request stmt. of the Adams deck)is
first truncated to 93 characters (if it is longer) and a suffix is added to identify the component. For
the x component of the translation (first column) the suffix is "_x", for the x component of the
rotation the suffix is "_rx" and so on. Every request MUST have a name or the program will abort.
3. What the data is (displacement, velocity, acceleration, force or other).
4. The size of the time step.
5. Number of data points.
6. Maximum and minimum values for each channel.
7. The header is then written in after determining units, calculating the scaling factors, and so on.
During the second scan, the data values are converted into binary integers after they are scaled using the
scaling factors calculated during the first scan. The data is then written in.
It may be useful to note that the first scan takes much less time than the second scan. Also if the request
file has an error, the conversion program will usually fail during the first scan. Hence even if the *.req
file is very long, the user may find it profitable to try conversion.
Program parameters
• CPUTYPE: This variable controls the manner in which data is written into the rpc-3 file.
Currently the program has been tested for the SGI, VAX & DECALPHA. The HP700 series
should be available shortly.
• MAXREQ: The maximum number of requests permissible in the Adams request file An error
message is received if this is exceeded and the program aborts. This is currently set at 100.
• MAXCHAN: The maximum number of channels allowed. This should be equal to or greater
than 3x MAXREQ if only translation or rotation components are required and be equal to or
greater than 6x MAXREQ if all components are to be converted.
• MAXPAR: The maximum number of partitions in the header of the rpc file. This must be greater
than or equal to MAXCHAN*6+18.
• NPTGRP: The number of points per group. This is fixed at 2048 which is the standard for rpc-3
files. This must not be changed.
• NPTFRAM: The number of points per frame. This is set at 1024. Hence there are two frames per
group.
• NPTREC: The number of points per record. This is set at 256 two byte integers.
& SUN4=7,
& HP3=8,
& HP7=9,
& APOLLO=10)
CHARACTER*96 CHNAME(MAXCHAN), REQNAME(MAXREQ)
CHARACTER*12 UNIT, CHUNIT(MAXCHAN)
CHARACTER*32 NAME(MAXPAR), VALUE(MAXPAR)*96, DATE*96
CHARACTER*4 RCHAR, SUFFIX(6)
CHARACTER*96 ENTRY, READNAME, INFILE, OUTFILE
REAL CHANMAX(MAXCHAN), CHANMIN(MAXCHAN), SCALE(MAXCHAN), RDATA(6)
READ(*,'(A)',ERR=5) ENTRY
IF(ENTRY.EQ.' ') GO TO 5
INFILE=READNAME(ENTRY)
6 WRITE(*,'(//''Enter name of rpc file'',
& /'':'',$)')
READ(*,'(A)',ERR=6) ENTRY
IF(ENTRY.EQ.' ') THEN
I=INDEX(INFILE,'.')
OUTFILE=INFILE(1:I-1)//'.rsp'
ELSEIF(ENTRY.NE.' ') THEN
OUTFILE=ENTRY
ENDIF
WRITE(*,'(''Trans/Rot/All components [T/R/A]? :'',$)')
READ(*,'(A)') ENTRY
ALL=.TRUE.
NCHREQ=6
TFLAG=.FALSE.
RFLAG=.FALSE.
IF((ENTRY.EQ.'T').OR.(ENTRY.EQ.'t')) THEN
ALL=.FALSE.
NCHREQ=3
TFLAG=.TRUE.
ENDIF
IF((ENTRY.EQ.'R').OR.(ENTRY.EQ.'r')) THEN
ALL=.FALSE.
NCHREQ=3
RFLAG=.TRUE.
ENDIF
WRITE(*,'(''Enter todays date (dd-mmm-yyyy)(Note format):'',$)')
118 Adams/Chassis
Converting data in Adams request Files to rpc-3 Format
READ(*,'(A)') DATE
IF(DATE.EQ.' ') THEN
DATE='Not_dated'
ENDIF
NDAT_LEN=LENGTH(DATE)
DO 15 I=1,NDAT_LEN
IF(DATE(I:I).EQ.' ') THEN
DATE(I:I)='_'
ENDIF
15 CONTINUE
SUFFIX(1)='_x'
SUFFIX(2)='_y'
SUFFIX(3)='_z'
SUFFIX(4)='_rx'
SUFFIX(5)='_ry'
SUFFIX(6)='_rz'
OPEN(UNIT=IFILE1,
& FILE=INFILE,
& ACCESS='SEQUENTIAL',
& ERR=751,
& STATUS='OLD')
GO TO 752
751 WRITE(*,'(/''Unable to open request file'')')
STOP
752 CONTINUE
WRITE(*,'(//''Scanning the request file for header data . .'')')
READ (IFILE1,'(//,I5)') NREQ
NCHAN=NREQ*NCHREQ
C Three or Six channels for each request
IF(NREQ.GT.MAXREQ) THEN
WRITE(*,'(//''The number of requests in the file'',
& /,'' exceeds the max limit of '',I5)') MAXREQ
STOP
ENDIF
IF(NCHAN.GT.MAXCHAN) THEN
WRITE(*,'(//''The number of channels '',
& /,'' exceeds the max limit of '',I5)') MAXCHAN
STOP
ENDIF
DO 50 I= 1,NREQ
READ (IFILE1,'(I11,4(I14))') NREQNO, NREQTYP(I), IMARK, JMARK, NOWORD
READ (IFILE1,'(A96)') REQNAME(I)
50 CONTINUE
DO 80 I=1,NREQ
ICH=(I-1)*NCHREQ
NAM_LEN=LENGTH(REQNAME(I))
IF(NAM_LEN.GT.93) THEN
NAM_LEN=93
ENDIF
DO 75 J=1,NAM_LEN
IF(REQNAME(I)(J:J).EQ.' ') THEN
REQNAME(I)(J:J)='_'
ENDIF
75 CONTINUE
C All channels associated with a request are given
C the same units
C The character function UNIT returns the units of a request
IF(ALL.OR.TFLAG) THEN
CHUNIT(ICH+1)=UNIT(NREQTYP(I))
DO 77 JJ=1,NCHREQ
CHNAME(ICH+JJ)=REQNAME(I)(1:NAM_LEN)//SUFFIX(JJ)
IF(JJ.LT.3) THEN
CHUNIT(ICH+JJ)=CHUNIT(ICH+1)
ELSEIF(JJ.GT.3) THEN
CHUNIT(ICH+JJ)=UNIT(NREQTYP(I)+10)
ENDIF
Wheel Force Transducers 119
Converting data in Adams request Files to rpc-3 Format
77 CONTINUE
ENDIF
IF(RFLAG) THEN
CHUNIT(ICH+1)=UNIT(NREQTYP(I)+10)
DO 78 JJ=1,NCHREQ
CHNAME(ICH+JJ)=REQNAME(I)(1:NAM_LEN)//SUFFIX(JJ+3)
CHUNIT(ICH+JJ)=CHUNIT(ICH+1)
78 CONTINUE
ENDIF
80 CONTINUE
ISTEP=0
FTIME=0.
C
C Begin scanning the data section of the request file
C
WRITE(*,'(//''Scanning the data in the request file . .'')')
110 CONTINUE
READ(IFILE1, FMT=*, ERR=800, END=150) STIME
IF(ISTEP.EQ.0) THEN
FTIME=STIME
ENDIF
IF(ISTEP.EQ.1) THEN
DELT=STIME-FTIME
IF(DELT.LT.0.) THEN
WRITE(*,'(//''Time seems to be going backwards in this'',
& /,''request file'')')
STOP
ENDIF
C Calculating the correct value of Delt
TMPDT=DELT*20480.+0.5
ITMPDT=TMPDT
IF((ITMPDT.EQ.20).OR.(ITMPDT.EQ.40).OR.(ITMPDT.EQ.80).OR.
& (ITMPDT.EQ.160))THEN
DELT=ITMPDT/20480.0
ENDIF
WRITE(*,'(/''Calculated Delt'',F14.10)')DELT
ENDIF
GO TO 111
800 WRITE(*,'(/''Error reading the data section of the
& request file'')')
111 CONTINUE
DO 140 I=1,NREQ
C Six or three channels per request
J=(I-1)*NCHREQ
IF(TFLAG) THEN
READ(IFILE1, FMT=*, IOSTAT=EOF) RDATA(1), RDATA(2), RDATA(3)
ELSEIF(RFLAG) THEN
READ(IFILE1, FMT=*, IOSTAT=EOF) ALPHA, BETA, GAMMA,
& RDATA(1), RDATA(2), RDATA(3)
ELSE
READ(IFILE1, FMT=*, IOSTAT=EOF) RDATA(1), RDATA(2), RDATA(3),
& RDATA(4), RDATA(5), RDATA(6)
ENDIF
C
C Setting the initial values of the max and min values for each channel
C For determining the max and min values for each channel the first value
C is not used (value for istep=0). When writing data the value at istep=1
C is substituted for the value at istep =0
IF(ISTEP.EQ.1) THEN
DO 125 IJ=1,NCHREQ
CHANMAX(J+IJ)= RDATA(IJ)
CHANMIN(J+IJ)= RDATA(IJ)
125 CONTINUE
ENDIF
IF(EOF.LT.0) GO TO 150
IF(EOF.GT.0) THEN
ISTEP2=ISTEP+1
WRITE(*,'(//''Unexpected error reading request file'',
120 Adams/Chassis
Converting data in Adams request Files to rpc-3 Format
OPEN (UNIT=IFILE,
& FILE=OUTFILE,
& ACCESS='DIRECT',
& RECL=NRECL,
& ERR=851,
& STATUS='UNKNOWN')
GO TO 852
851 WRITE(*,'(//''I have trouble opening the rpc file'')')
STOP
852 CONTINUE
WRITE(*,'(//''Writing the header . . .'')')
Wheel Force Transducers 121
Converting data in Adams request Files to rpc-3 Format
DO 440 M=1,NCHREQ
C Replacing the first value for all channels by the second value because the
C first value could be corrupted.
IF(NPTREAD.EQ.1)THEN
ICHDAT(L+M,1)=ININT(CHDATA(L+M,2)/SCALE(L+M))
ENDIF
ICHDAT(L+M,J)=ININT(CHDATA(L+M,J)/SCALE(L+M))
440 CONTINUE
460 CONTINUE
NPTREAD=NPTREAD+1
480 CONTINUE
481 CONTINUE
DO 580 J1=1,NCHAN
DO 560 K1=1,NREGRP
NRECNO=NBLOCKS+K1+(J1-1)*NREGRP+(I-1)*NREGRP*NCHAN
DO 540 L1=1,NPTREC
NPT=L1+(K1-1)*NPTREC
NPTWRIT=(I-1)*NPTGRP+(K1-1)*NPTREC+L1
IF(NPTWRIT.EQ.NPTS) THEN
IDATMEM(J1)=ICHDAT(J1,NPT)
ENDIF
IF(NPTWRIT.GT.NPTS) THEN
IDAT(L1)=IDATMEM(J1)
ELSE
IDAT(L1)=ICHDAT(J1,NPT)
ENDIF
540 CONTINUE
CALL DATARITE (IFILE,IFILE3, SWAPYES, NRECNO, NPTREC, IDAT)
560 CONTINUE
580 CONTINUE
600 CONTINUE
WRITE(*,'(//''Done'')')
STOP
END
FUNCTION LENGTH( CHVALUE)
C Given a character string this function returns the length
CHARACTER*(*) CHVALUE
INTEGER LENGTH
N=LEN(CHVALUE)
DO 40 I=1,N
LENGTH=N-I+1
IF(CHVALUE(LENGTH:LENGTH).NE.' ') THEN
GO TO 50
ENDIF
40 CONTINUE
50 RETURN
END
FUNCTION UNIT(N)
C Given an integer this function returns the appropriate units
C for the associated request
LOGICAL UNIT_FLAG
DATA UNIT_FLAG /.TRUE./
SAVE UNIT_FLAG
INTEGER N
CHARACTER*12 UNIT, CHUNIT(14)
IF((N.GT.4).AND.(N.LE.10)) THEN
IF(UNIT_FLAG) THEN
UNIT_FLAG=.FALSE.
WRITE(*,'(//
& ''Some requests in this file have nonstandard units'')')
WRITE(*,'(/
& ''The units for those channels will be marked si_units'')')
ENDIF
ENDIF
CHUNIT(1)='mm'
CHUNIT(2)='mm/s'
CHUNIT(3)='mm/s**2'
CHUNIT(4)='N'
Wheel Force Transducers 123
Converting data in Adams request Files to rpc-3 Format
CHUNIT(11)='rad'
CHUNIT(12)='rad/s'
CHUNIT(13)='rad/s**2'
CHUNIT(14)='N-mm'
UNIT=CHUNIT(N)
IF((N.GT.4).AND.(N.LE.10)) THEN
UNIT='si_units'
ENDIF
RETURN
END
FUNCTION READNAME(NAME)
CHARACTER*(*) READNAME, NAME
I=INDEX(NAME,'.')
IF(I.EQ.0) THEN
K=LENGTH(NAME)
READNAME= NAME(1:K)//'.req'
ELSEIF(I.NE.0) THEN
READNAME=NAME
ENDIF
RETURN
END
C Program to write out the header of an rpc file given the names of the
C header variables and their values.
SUBROUTINE HEADRITE(NBLOCKS, NPARAM, NPT_FRAM, NCHAN, MAXCHAN,
& PT_GRP, HA_FRM, NREPEAT, NFRAME, DELT, MAXPAR, DATE,INFILE,
& RSCALE, RMAXVAL, RMINVAL, CHNAME, CHUNIT, IFILE, NAME, VALUE)
INTEGER NBLOCKS, NPARAM, NPT_FRAM, NCHAN, PT_GRP, HA_FRM,
& NREPEAT, NFRAME
REAL RSCALE(MAXCHAN), RMAXVAL(MAXCHAN), RMINVAL(MAXCHAN)
CHARACTER*96 CHNAME(MAXCHAN), INFILE
CHARACTER*12 CHUNIT(MAXCHAN)
CHARACTER*32 NAME(MAXPAR), VALUE(MAXPAR)*96, KEY, DATE
CHARACTER*32 LEFTRITE*96, REC*512, A_UNITS
CHARACTER*2 RCHAR
CHARACTER*8 LEFTJUST, CHANO, RLJUST, FMT
DOUBLE PRECISION DELT
EXTERNAL LEFTJUST, RLJUST
C Setting the values of the header variables
NAME(1)='FORMAT'
VALUE(1)='BINARY'
NAME(2)='NUM_HEADER_BLOCKS'
VALUE(2)(1:8)=LEFTJUST(NBLOCKS)
NAME(3)='NUM_PARAMS'
VALUE(3)(1:8)=LEFTJUST(NPARAM)
NAME(4)='FILE_TYPE'
VALUE(4)='TIME_HISTORY'
NAME(5)='TIME_TYPE'
VALUE(5)='RESPONSE'
NAME(6)='DELTA_T'
FMT=RLJUST(DELT)
WRITE(VALUE(6),FMT) DELT
NAME(7)='PTS_PER_FRAME'
VALUE(7)=LEFTJUST(NPT_FRAM)
NAME(8)='CHANNELS'
VALUE(8)(1:8)=LEFTJUST(NCHAN)
NAME(9)='PTS_PER_GROUP'
VALUE(9)(1:8)=LEFTJUST(PT_GRP)
NAME(10)='HALF_FRAMES'
VALUE(10)(1:8)=LEFTJUST(HA_FRM)
NAME(11)='REPEATS'
VALUE(11)(1:8)=LEFTJUST(NREPEAT)
NAME(12)='FRAMES'
VALUE(12)(1:8)=LEFTJUST(NFRAME)
IMARK=12
DO 20 I=1,NCHAN
CHANO=LEFTJUST(I)
WRITE(KEY,'(''SCALE.CHAN_'',A8)') CHANO
124 Adams/Chassis
Converting data in Adams request Files to rpc-3 Format
J=IMARK+I
NAME(J)=KEY
FMT=RLJUST(RSCALE(I))
WRITE(VALUE(J),FMT) RSCALE(I)
20 CONTINUE
IMARK=IMARK+NCHAN
RULMT=1.0
DO 40 I=1,NCHAN
CHANO=LEFTJUST(I)
WRITE(KEY,'(''UPPER_LIMIT.CHAN_'',A8)') CHANO
J=IMARK+I
NAME(J)=KEY
FMT=RLJUST(RMAXVAL(I))
WRITE(VALUE(J),FMT) RMAXVAL(I)
40 CONTINUE
IMARK=IMARK+NCHAN
RLLMT=0.0
DO 60 I=1,NCHAN
CHANO=LEFTJUST(I)
WRITE(KEY,'(''LOWER_LIMIT.CHAN_'',A8)') CHANO
J=IMARK+I
NAME(J)=KEY
FMT=RLJUST(RMINVAL(I))
WRITE(VALUE(J),FMT) RMINVAL(I)
60 CONTINUE
IMARK=IMARK+NCHAN
DO 80 I=1,NCHAN
CHANO=LEFTJUST(I)
WRITE(KEY,'(''MAP.CHAN_'',A8)') CHANO
J=IMARK+I
NAME(J)=KEY
VALUE(J)=CHANO
80 CONTINUE
IMARK=IMARK+NCHAN
NAME(IMARK+1)='PARTITIONS'
VALUE(IMARK+1)='0'
NAME(IMARK+2)='PART.CHAN_1'
VALUE(IMARK+2)='1'
NAME(IMARK+3)='PART.NCHAN_1'
VALUE(IMARK+3)=LEFTJUST(NCHAN)
IMARK=IMARK+3
DO 100 I=1,NCHAN
CHANO=LEFTJUST(I)
WRITE(KEY,'(''desc.chan_'',A8)') CHANO
J=IMARK+I
NAME(J)=KEY
C WRITE(VALUE(J),'(''chan_no_'',A8)') CHANO
VALUE(J)=CHNAME(I)
100 CONTINUE
IMARK=IMARK+NCHAN
DO 110 I=1,NCHAN
CHANO=LEFTJUST(I)
WRITE(KEY,'(''units.chan_'',A8)') CHANO
J=IMARK+I
NAME(J)=KEY
VALUE(J)=CHUNIT(I)
110 CONTINUE
IMARK=IMARK+NCHAN
NAME(IMARK+1)='DATE'
VALUE(IMARK+1)=DATE
NAME(IMARK+2)='OPERATION'
VALUE(IMARK+2)='Rpcwrite'
NAME(IMARK+3)='PARENT_1'
VALUE(IMARK+3)=INFILE
DO 140 J=1,NBLOCKS
DO 130 I=1,4
IPOS=(I-1)*128+1
NPRITE=(J-1)*4+I
Wheel Force Transducers 125
Converting data in Adams request Files to rpc-3 Format
IF(NPRITE.LE.NPARAM) THEN
REC(IPOS:IPOS+31)=NAME(NPRITE)
REC(IPOS+32:IPOS+127)=VALUE(NPRITE)
ELSEIF(NPRITE.GT.NPARAM) THEN
REC(IPOS:IPOS+31)=' '
REC(IPOS+32:IPOS+127)=' '
ENDIF
130 CONTINUE
DO 125 I=1,512
IF(REC(I:I).EQ.' ')THEN
REC(I:I)=CHAR(0)
ENDIF
125 CONTINUE
WRITE(IFILE, REC=J,ERR=908)REC
GO TO 140
908 WRITE(*,'(//''Help Im having trouble writing the header'')')
STOP
140 CONTINUE
RETURN
END
FUNCTION LEFTJUST(N)
C Given an integer this function returns it as a left justified
C *8 character
INTEGER N
CHARACTER*8 LEFTJUST, LCH
LEFTJUST=' '
WRITE(LCH,'(I8)') N
DO 10 I=1,8
IF (LCH(I:I).NE.' ')THEN
ICH=I
GO TO 20
ENDIF
10 CONTINUE
RETURN
20 CONTINUE
LEFTJUST(1:9-ICH)=LCH(ICH:8)
RETURN
END
FUNCTION RLJUST(RNO)
C Given a real number this function returns an appropriate format
REAL RNO
CHARACTER*8 RLJUST
IF(RNO.LT.0.0) THEN
RLJUST='(E14.7)'
ELSEIF(RNO.GE.0.0) THEN
RLJUST='(E13.7)'
ENDIF
RETURN
END
SUBROUTINE DATARITE( IFILE, IFILE3, SWAPYES, NRECNO, NPTREC, IDAT)
C Given a set of nptrec *2 integers this subroutine writes the data
C into the file IFILE
Database
In Adams/Chassis, each vehicle model is represented through a database. Databases contain all the data
files for vehicle models. Each data file contains a full set of parameters for the vehicle models.
Adams/Chassis provides you with a library of example vehicle databases. A database has extension vdb.
For example, the achassis_gs vehicle model database is named achassis_gs.vdb. Each database consists
of different directories with extension tbl (springs.tbl, dampers.tbl, subsystem.tbl and so on) that in turn
consists of data files with extensions xml, py, cof, and so on.
128 Adams/Chassis
Default Session File
Adams/Chassis:
• Reads the file achassis_defaultSession.xml
• Sets the current working directory to the directory from which Adams/Chassis is started.
• Adds the Preferences Registered Databases to the session database.
• Loads any custom Events, models, Fingerprints, and/or review settings.
Wheel Force Transducers 129
Event
Event
An event is a discrete analysis or simulation used to investigate various properties of a particular model.
Events are divided into two types: half-vehicle and full-vehicle. Learn more about Working with Events.
130 Adams/Chassis
Event Bookshelf
Event Bookshelf
Only available in Test mode. The bookshelf:
• Organizes all available events in a tree structure.
• Double-clicking an event creates a new event using Smart model selection.
• Adds an event to a new or existing Fingerprint.
Wheel Force Transducers 131
Fingerprint
Fingerprint
A collection of events that can be built, run, and analyzed at one time.
132 Adams/Chassis
Fingerprint Tree
Fingerprint Tree
In Test mode:
• Displays the fingerprints and all the events in a fingerprint.
• Allows unlimited number of events in a fingerprint.
• Allows you to manipulate multiple fingerprints at once.
• Displays different icons for half/full-vehicle events to assist you in identifying what type of
simulation you are running. This is a convenient feature when you have several events in your
fingerprint. (See the Test Mode Event Icons.)
• Offers direct support for 12.0 fingerprint files.
• Displays changed data in treeview with bold text.
• Provides a shortcut menu (using right-mouse click) to display certain features of the work mode
(see Shortcut menu).
In Review mode:
• Presents events automatically from Test mode fingerprints that have results.
• Allows an unlimited number of custom postprocessing.
4 Link Front Suspension 133
Front Suspensions
Front Suspensions
4 Link Front Suspension
Geometry Hardpoints
11 spindle_align 58 spring_seat_upper
59 spring_seat_lower 1 1
31 lowerarm_at_axle (left) 32 lowerarm_at_axle (right)
35 upperarm_at_axle (left) 36 upperarm_at_axle (right)
61 arb_bushing (left) 62 arb_bushing (right)
134 Adams/Chassis
Front Suspensions
Geometry Hardpoints
Geometry Hardpoints
3 lca_front 4 lca_rear
6 lower_ball_joint 7 top_mount
9 wheel_center 10 contact_patch
11 spindle_align 12 tierod_outer
14 tierod_inner 58 spring_seat_upper
59 spring_seat_lower 36 strut_knuckle
40 tensionstrut_lca 1 1
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
65 droplink_external (left) 66 droplink_external (right)
Multilink Front Suspension 137
Front Suspensions
Geometry Hardpoints
1 uca_front 2 uca_rear
3 lca_front 4 lca_rear
40 tensionstrut_lca 6 lower_ball_joint
7 upper_ball_joint 17 rear_upper_ball_joint
9 wheel_center 10 contact_patch
11 spindle_align 12 tierod_outer
14 tierod_inner 58 spring_seat_upper
59 spring_seat_lower
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
65 droplink_external (left) 66 droplink_external (right)
75 bumper_upper (left) 76 bumper_upper (right)
71 bumper_lower (left) 72 bumper_lower (right)
77 rebound_upper (left) 78 rebound_upper (right)
73 rebound_lower (left) 74 rebound_lower (right)
55 damper_upper 56 damper_lower
SLA with Coil Spring Front Suspension 139
Front Suspensions
Geometry Hardpoints
1 uca_front 2 uca_rear
3 lca_front 4 lca_rear
6 lower_ball_joint 7 upper_ball_joint
9 wheel_center 10 contact_patch
11 spindle_align 12 tierod_outer
14 tierod_inner 58 spring_seat_upper
59 spring_seat_lower 1 1
140 Adams/Chassis
Front Suspensions
Geometry Hardpoints
1 uca_front 2 uca_rear
3 lca_front 4 lca_rear
6 lower_ball_joint 7 upper_ball_joint
9 wheel_center 10 contact_patch
11 spindle_align 12 tierod_outer
14 tierod_inner 1 1
23 tbar_upper (left) 24 tbar_upper (right)
25 tbar_lower (left) 26 tbar_lower (right)
27 tbar_upper_bushing (left) 28 tbar_upper_bushing (right)
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
65 droplink_external (left) 66 droplink_external (right)
75 bumper_upper (left) 76 bumper_upper (right)
71 bumper_lower (left) 72 bumper_lower (right)
77 rebound_upper (left) 78 rebound_upper (right)
73 rebound_lower (left) 74 rebound_lower (right)
55 damper_upper 56 damper_lower
91 subframe_front (left) 92 subframe_front (right)
93 subframe_rear (left) 94 subframe_rear (right)
142 Adams/Chassis
Front Suspensions
Geometry Hardpoints
14 tierod_inner 1 1
19 upper_ball_joint (left) 20 upper_ball_joint (right)
29 lower_ball_joint (left) 30 lower_ball_joint (right)
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
65 droplink_external (left) 66 droplink_external (right)
75 bumper_upper (left) 76 bumper_upper (right)
71 bumper_lower (left) 72 bumper_lower (right)
77 rebound_upper (left) 78 rebound_upper (right)
73 rebound_lower (left) 74 rebound_lower (right)
55 damper_upper 56 damper_lower
58 spring_seat_upper 59 spring_seat_lower
144 Adams/Chassis
IO Functions
IO Functions
Select an IO function:
• getdouble • fprintf
• getint • fput
• getstring • fswitch
• getspec • fwrite
• fclose • printf
• format • put
• fopen • puts
getdouble
Prompts for and reads in a double precision number.
double = getdouble(" quoted prompt ",[default], [help_txt])
getint
Prompts for and reads in a integer number.
int = getint(" quoted prompt", [default], [help_txt])
getstring
Prompts for and reads in a string.
string = getstring((string) prompt, [default], [help_txt])
getspec 145
IO Functions
getspec
Prompts for and reads in a string representing a file specification. Environment variables are evaluated
and enterpreted
string = getspec((string) prompt)
format
Defines the format a double precision variable will be printed out in the output file.
format((double) var, (int) form_num)
Example:
format(0.0111,33) ==> 0.011
format(0.0111,133) ==> 1.110E-02
fopen
Opens a file to be read from or written to.
fopen((string) filenm, (int) unit)
146 Adams/Chassis
IO Functions
fclose
Closes the specified output file.
fclose((int) unit [, (String) ini_str] )
unit - unit number of the file to be closed. Unit number zero (0) is reserved for the default output
file.Valid values are one to seven.
ini_str - ini_str**- Optional argument, If this argument is present, the file statistics of any
included file(s) which where used to generate this file will be written to this file, before
it is closed.
The ini_str is the string which is placed preceeding each statistics record. Hence one can
incorporate the appropriate comment delimiter for the input deck afm is currently writing.
Example:
fclose(3)
fclose(3,"! ")
fprintf
Writes text and variable values to the the specified file.
fprintf([ FILE ],"format string",...,)
FILE - The file label to write the information to (unit, nothing, stderr, stdout) format - This is a
quoted string indicating format of the string ,... - Optional number of variables
Example:
fprintf(stderr,"Error occured on line %d./n",line_cnt); (write to stderr)
fprintf(3,"Error occured on line %d./n",line_cnt); (write to the third
file)
fprintf(,"Error occured on line %d./n",line_cnt); (write to current
file)
fput 147
IO Functions
fput
Writes text and variable values to the current output file from within a method block.
fput(text,var,text2,var2...,endln)
text,text2 - text to be written to the output file var,var2 - variables whose values will be written to the
output file
endln - writes a line feed to the output file
Note: Line feeds may also be accomplished by using "/n" inside a text string.
Examples:
where: vel = 55.0, ttt = 3.556
fput("Velocity = ",vel," ttt = ",ttt,endln)
==> Velocity = 55.0 ttt = 3.556
fput("Velocity = ",vel,endln,"/nttt = ",ttt,endln)
==> Velocity = 55.0
ttt = 3.556
fswitch
Switches the output file.
fswitch((int) unit)unit - unit number of new output file.
Note: File must be opened with fopen before it can be switched to.
fwrite
Allows a block of ascii text to be written out from within a logic block.
fwrite() { ... } eow;
eow - ends the fwrite function
148 Adams/Chassis
IO Functions
Note: Everything within the single curly braces in this function is treated as ascii text. Variables
may be included as long as they are preceded by a percent (%) sign or are enclosed by
single curly braces.
Example:
{{
if(vel = 55.0) {
fwrite() {
PART/01,MASS=%mass,VX={vel + 100.0}
}eow;
}
}}
If the variable velocity is not equal to 55.0 nothing would be written. If vel is equal to 55.0 and mass is
5.0 the output would be:
PART/01,MASS=5.0,VX=155.0
printf
Writes text and variable values to the screen (stdout).
printf("format string",...,)
put
Writes text and variable values to the screen (stdout) (see fput).
put(text,var,text2,var2...,endln)
Note: Line feeds may also be accomplished by using "/n" inside a text string. Examples: see fput.
puts
Writes a literal string to the screen (stdout). Includes carriage return.
puts(" ... ")
Graphics file
An Adams/Solver file that contains graphics output from a simulation. Has a .gra extension.
Leaf Spring Preprocessor: Axle Information 151
Leaf Spring Preprocessor
Note: The ground height may or may not correspond to the bottom of the tire. This will depend
on the design layout of your vehicle.
These bushings are used to keep the leaves from moving laterally
or twisting from each other. They should have rather large values
(~1.0E+09 for translational rates and ~1.0E+07 for rotational
rates).
Bushing Damping Rates 155
Leaf Spring Preprocessor
Specify the translational and rotational damping rates for the bushings.
Note: In almost every case, you will not need to keep the bushings in the
leaf model file. This way, Adams/Chassis will always generate the
bushings when creating the full-vehicle or exerciser model. If the
bushings change independent of the rest of the leaf spring, makeleaf
doesn't have to be run again. This also aids Design of Experiment
(DOE) analysis. Please note that bushings are always included in the
leaf model when the leaf is exercised to the design position during
the makeleaf program.
Help A help option is available from the command line with makeleaf:
achassis -makeleaf -h
Note that if the file contains the description of more leaves than this
field indicates, then ONLY THE NUMBER OF LEAVES
SPECIFIED IN THIS FIELD will be read. This can be helpful if
you want to remove the last #X leaves for experimentation.
Frictional Coefficient The frictional coefficient specified pertains to leaf-to-leaf friction.
Leaf Spring Mounting (pick 1- This parameter indicates where the leaf spring being described will
REAR, 2-FRONT, 3-OTHER ) be mounted in the vehicle. (This mainly influences the numbering
scheme start point.)
Fitting Alogarithm (1-2nd Enter a "1" for second-order polynomial fitting of the leaf profile,
poly, 2-3rd poly) or enter a "2" for a third-order polynomial fit. (Generally, second-
order is used.)
Contact Algorithm (1-impact The only option for contact algorithm is "1", impact with friction.
w/frict)
These points indicate where in space the leaf springs will be constructed. Enter the X, Y, and Z positions
for both the front and rear CHASSIS connection points. This must be done for both LEFT and RIGHT
springs.
• Front Leaf Eye Bushing - Corresponds to points 1 and 2 in the rear suspension subsystem file
• Shackle to Frame - Corresponds to points 20 and 21 in the rear suspension subsystem file
Another entry for the chassis contact points is necessary if an auxilliary leaf spring is defined in the
template. * This information is formatted such that it can be pulled directly in from Adams/Chassis
templates.
158 Adams/Chassis
Leaf Spring Preprocessor
If you are copying the profile of another leaf, and you want to also
copy the entire thickness profile as well, you must enter a value
of (-1) for the Seat Thickness. If you want the leaf to have a fixed
thickness, enter the desired thickness value for Seat Thickness. (If
you want to enter a new tabular thickness, you must input the
entire profile section.)
Seat (Leaf Center) Width (mm) Defines the width (Y-direction) of the leaf being defined at the
X=0.0 point.
Material Properties: Emod Defines Young's modulus of elasticity for the material from
which the leaf being defined is constructed. This value will be
used in defining the BEAM statements for the Adams
representation.
Material Properties: Gmod Defines the shear modulus of elasticity for the material from
which the leaf being defined is constructed. This value will be
used in defining the BEAM statements for the Adams
representation.
Material Properties: Density Defines the density of the material from which the leaf being
(kg/mm**3) defined is constructed. This value will be used in defining the
BEAM statements for the Adams representation.
160 Adams/Chassis
Leaf Spring Preprocessor
If a "0" is entered, the first and last points given in the profile
below will be used as the bushing points and will not be used in
the polynomial fitting process.
If a "1" is entered, then all points will be considered during the
fitting points.
Z-offset for leaf profile
This value is ADDED to the Z-values of the entire profile given
for this leaf. This value is especially important if another leaf's
profile is being copied; the offset can be used to place it in the
correct position.
Note: The gap distance and leaf Seat Thickness only are used
to determine the height of the leaf when copying the
profile of another leaf.
Leaf Spring Preprocessor: Leaf 1 161
Leaf Spring Preprocessor
Note:
• If copying another leaf's profile, no data need be entered
in this section. (It will be ignored anyway.)
• The X value at the center LEAF must be 0.0
• The front LEAF must be in negative X-axis.
Note: This value is only used if this spring uses a profile copied from another leaf, in which case
it will be applied as well as the Z-Offset value.
Leaf Spring Preprocessor: Leaf Clips 163
Leaf Spring Preprocessor
Example
164 Adams/Chassis
Leaf Spring Preprocessor
This information is mainly used for identification purposes, since it shows at a glance what version of
LEAFPRE this template is set up for. The TITLE is a descriptor field that generally is used to indicate
the spring being modeled and the vehicle it is intended to be used with. This line will be written to the
resulting dataset for identification purposes.
166 Adams/Chassis
Leaf Spring Preprocessor
Main Toolbar
The main toolbar allows you to change work modes and it contains commonly-used tools to work with
your model. The tools in the toolbars are arranged in the order that you use them in the process of creating
and executing your model. Depending on the work mode, Adams/Chassis enables or disables the tools,
or adds additional tools. This feature alerts you to the correct order of procedures to follow. Learn more
about Adams/Chassis Toolbars.
168 Adams/Chassis
Menu Bar
Menu Bar
The menu bar contains pull-down menus for File, Edit, Build, Utilities, View, and Help. These menus
change according to the work mode.
Leaf Spring Preprocessor: Shackle Information 169
Message Window
Message Window
The message window displays the current function as you move your cursor over different tools. It also
shows the full output mask name of the current event in the fingerprint as you move the cursor moves
over various fingerprint event tools.
170 Adams/Chassis
Page Layout
Page Layout
This allows you to change the layout of your window. Learn more about Toggling Window Elements.
Leaf Spring Preprocessor: Shackle Information 171
Postprocessing Bookshelf
Postprocessing Bookshelf
Only available in Review mode. The postprocessing bookshelf:
• Displays available postprocessors (event classes) in a tree structure.
• Creates a new custom postprocessor by double-clicking a postprocessor, then prompts for
Request file (.req).
172 Adams/Chassis
Powertrain types
Powertrain types
Property Editor
The property editor is the area of the window that displays fields for modifying the objects you select
from the treeview. Learn more about the Property Editor.
3-Link Solid Axle Rear Suspension 177
Rear Suspensions
Rear Suspensions
Geometry Hardpoints
Geometry Hardpoints
Geometry Hardpoints
Geometry Hardpoints
Geometry Hardpoints
41 lower_lateral_link_to_frame 42 upper_lateral_link_to_frame
51 lower_lateral_link_to_spindle 52 upper_lateral_link_to_spindle
3 tension_strut_to_body 46 airspring_seat_lower2
47 tension_strut_to_spindle_ori 9 wheel_center
10 contact_patch 11 spindle_align
58 spring_seat_upper 59 spring_seat_lower
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
65 droplink_external (left) 66 droplink_external (right)
30 subframe_front (left) 31 subframe_front (right)
32 subframe_rear (left) 33 subframe_rear (right)
73 rebound_lower (left) 74 rebound_lower (right)
77 rebound_upper (left) 78 rebound_upper (right)
71 bumper_lower (left) 72 bumper_lower (right)
75 bumper_upper (left) 76 bumper_upper (right)
55 damper_upper 56 damper_lower
Geometry Hardpoints
Geometry Hardpoints
1 uca_front 3 lca_front
4 lca_rear 6 lower_ball_joint
7 upper_ball_joint 9 wheel_center
10 contact_patch 11 spindle_align
12 outer_tierod 14 inner_tierod
13 integral_link_to_knuckle 18 integral_link_to_lca
58 spring_seat_upper 59 spring_seat_lower
30 subframe_front (left) 31 subframe_front (right)
32 subframe_rear (left) 33 subframe_rear (right)
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
65 droplink_external (left) 66 droplink_external (right)
68 bumper_mtl_upper 69 bumper_mtl_lower
71 bumper_lower (left) 72 bumper_lower (right)
75 bumper_upper (left) 76 bumper_upper (right)
73 rebound_lower (left) 74 rebound_lower (right)
77 rebound_upper (left) 78 rebound_upper (right)
55 damper_upper 56 damper_lower
188 Adams/Chassis
Rear Suspensions
Geometry Hardpoints
3 lca_front 4 lca_rear
6 lower_ball_joint 7 upper_strut_mount_pivot
9 wheel_center 10 contact_patch
11 spindle_align 12 tierod_outer
14 tierod_inner 58 spring_seat_upper
59 spring_seat_lower 36 strut_mount_knuckle
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
65 droplink_external (left) 66 droplink_external (right)
75 bumper_upper (left) 76 bumper_upper (right)
71 bumper_lower (left) 72 bumper_lower (right)
77 rebound_upper (left) 78 rebound_upper (right)
73 rebound_lower (left) 74 rebound_lower (right)
30 subframe_front (left) 31 subframe_front (right)
32 subframe_rear (left) 33 subframe_rear (right)
Multilink Rear Suspension 189
Rear Suspensions
Geometry Hardpoints
1 uca_front 2 uca_rear
3 lca_front 4 lca_rear
40 lca_front_ball_joint 6 lower_ball_joint
7 upper_ball_joint 17 rear_upper_ball_joint
9 wheel_center 10 contact_patch
11 spindle_align 58 spring_seat_upper
59 spring_seat_lower
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
65 droplink_external (left) 66 droplink_external (right)
30 subframe_front (left) 31 subframe_front (right)
32 subframe_rear (left) 33 subframe_rear (right)
73 rebound_lower (left) 74 rebound_lower (right)
77 rebound_upper (left) 78 rebound_upper (right)
190 Adams/Chassis
Rear Suspensions
Geometry Hardpoints
7 upper_strut_mount_pivot 36 strut_mount_knuckle
41 front_quad_to_frame 42 rear_quad_to_frame
51 front_quad_to_spindle 52 rear_quad_to_spindle
46 airspring_seat_lower2 3 tension_strut_to_body
9 wheel_center 10 contact_patch
11 spindle_align 58 spring_seat_upper
59 spring_seat_lower
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
65 droplink_external (left) 66 droplink_external (right)
30 subframe_front (left) 31 subframe_front (right)
32 subframe_rear (left) 33 subframe_rear (right)
71 bumper_lower (left) 72 bumper_lower (right)
Quadralink with UCA Rear Suspension 191
Rear Suspensions
Geometry Hardpoints
1 uca_front 2 uca_rear
41 front_quad_to_frame 42 rear_quad_to_frame
51 front_quad_to_spindle 52 rear_quad_to_spindle
46 airspring_seat_lower2 3 tension_strut_to_body
7 upper_balljoint 9 wheel_center
10 contact_patch 11 spindle_align
59 spring_seat_lower 58 spring_seat_upper
56 damper_lower 55 damper_upper
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
65 droplink_external (left) 66 droplink_external (right)
30 subframe_front (left) 31 subframe_front (right)
32 subframe_rear (left) 33 subframe_rear (right)
192 Adams/Chassis
Rear Suspensions
Geometry Hardpoints
3 lca_outer 4 lca_inner
6 lca_to_spindle 9 wheel_center
10 contact_patch 11 spindle_align
58 spring_seat_upper 59 spring_seat_lower
30 outer_shackle_to_body (left) 31 outer_shackle_to_body (right)
32 inner_shackle_to_body (left) 33 inner_shackle_to_body (right)
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
65 droplink_external (left) 66 droplink_external (right)
73 rebound_lower (left) 74 rebound_lower (right)
77 rebound_upper (left) 78 rebound_upper (right)
71 bumper_lower (left) 72 bumper_lower (right)
75 bumper_upper (left) 76 bumper_upper (right)
55 damper_upper 56 damper_lower
SLA Inverse LCA Rear Suspension 193
Rear Suspensions
Geometry Hardpoints
1 uca_front 2 uca_rear
41 front_quad_to_frame 42 rear_quad_to_frame
51 front_quad_to_spindle 52 rear_quad_to_spindle
46 airspring_seat_lower2 47 tension_strut_to_spindle_align
3 tension_strut_to_body 4 tension_strut_to_body_align
7 upper_ball_joint 9 wheel_center
10 contact_patch 11 spindle_align
59 spring_seat_lower 58 spring_seat_upper
56 damper_lower 55 damper_upper
54 quad_shock_to_uca 53 quad_shock_to_frame
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
65 droplink_external (left) 66 droplink_external (right)
30 subframe_front (left) 31 subframe_front (right)
32 subframe_rear (left) 33 subframe_rear (right)
194 Adams/Chassis
Rear Suspensions
Geometry Hardpoints
1 half_shaft_inner 2 half_shaft_outer
3 lca_front 4 lca_rear
6 lca_front_bearing 7 lca_rear_bearing
9 wheel_center 10 contact_patch
11 spindle_align 58 spring_seat_upper
59 spring_seat_lower 12 subframe_tie_to_subframe
14 subframe_tie_to_body
30 front_subframe_to_body (left) 31 front_subframe_to_body (right)
32 pendulum_to_subframe (left) 33 pendulum_to_subframe (right)
SLA Semi-Trailing Arm Rear Suspension 195
Rear Suspensions
Geometry Hardpoints
3 lca_outer 4 lca_inner
9 wheel_center 10 contact_patch
11 spindle_align 58 spring_seat_upper
59 spring_seat_lower
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
65 droplink_external (left) 66 droplink_external (right)
196 Adams/Chassis
Rear Suspensions
Geometry Hardpoints
3 trailing_arm_body 1 uca_inner
7 uca_outer 14 lca_front_inner
12 lca_front_outer 4 lca_rear_inner
6 lca_rear_outer 17 trailing_arm_spindle
17f trailing_arm_beam_front 17r trailing_arm_beam_rear
9 wheel_center 10 contact_patch
11 spindle_align 58 spring_seat_upper
59 spring_seat_lower
SLA with Coil Spring Rear Suspension 197
Rear Suspensions
Geometry Hardpoints
1 uca_front 2 uca_rear
3 lca_front 4 lca_rear
6 lower_ball_joint 7 upper_ball_joint
9 wheel_center 10 contact_patch
11 spindle_align 58 spring_seat_upper
198 Adams/Chassis
Rear Suspensions
59 spring_seat_lower
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
65 droplink_external (left) 66 droplink_external (right)
30 subframe_front (left) 31 subframe_front (right)
32 subframe_rear (left) 33 subframe_rear (right)
73 rebound_lower (left) 74 rebound_lower (right)
77 rebound_upper (left) 78 rebound_upper (right)
71 bumper_lower (left) 72 bumper_lower (right)
75 bumper_upper (left) 76 bumper_upper (right)
55 damper_upper 56 damper_lower
Geometry Hardpoints
3 trailing_arm_to_body 17 trailing_arm_to_axle
9 wheel_center 10 contact_patch
11 spindle_align
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
65 droplink_external (left) 66 droplink_external (right)
75 bumper_upper (left) 76 bumper_upper (right)
71 bumper_lower (left) 72 bumper_lower (right)
77 rebound_upper (left) 78 rebound_upper (right)
73 rebound_lower (left) 74 rebound_lower (right)
55 damper_upper 56 damper_lower
58 spring_seat_upper 59 spring_seat_lower
43 airspring_seat_upper 44 airspring_seat_lower
Geometry Hardpoints
3 lower_arm_at_body 6 lower_arm_at_axle
9 wheel_center 10 contact_patch
11 spindle_align 58 spring_seat_upper
59 spring_seat_lower
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
65 droplink_external (left) 66 droplink_external (right)
73 rebound_lower (left) 74 rebound_lower (right)
77 rebound_upper (left) 78 rebound_upper (right)
71 bumper_lower (left) 72 bumper_lower (right)
75 bumper_upper (left) 76 bumper_upper (right)
55 damper_upper 56 damper_lower
16 pod_at_arm
Twist Axle Rear Suspension 201
Request file
Request file
Contains requests for standard displacement, velocity, acceleration, or force information. You can also
define other quantities (such as pressure, work, energy, momentum, and more) that you want output
during a simulation.
202 Adams/Chassis
Requests
Requests
Jounce Bumper Statistics
Optional Requests
Optional requests are activated through the Optional Requests table in the body subsystem file. An ID
convention exists for the following optional request types:
• Bushing Force Requests
• Bushing Displacement Requests
• Loadcase Force Requests
• Loadcase Displacement Requests
|| | ||
ab c de
a = Request Type
1. Force in Global Body Coordinate System
2. Force in Local Part Coordinate System
3. Displacement in Global Body Coordinate System
4. Force in Axial Coordinate System
5. Bushing Force in Bushing Coordinate System
6. Bushing Displacement in Bushing Coordinate System
(Bushing Coordinate system is the reference system of the J marker)
1. Front Suspension
2. Steering System
Rebound Bumper Statistics 203
Requests
3. Rear Suspension
4. Powertrain System
5. Body System
6. Brake System
c = First 3 digits of Part ID
d = Connection Type
1. Left Force Element (Bushing)
2. Right Force Element (Bushing)
3. Left Constraint (Joint)
4. Right Constraint (Joint)
e = Hardpoint ID
Examples:
REQ/11051191,FOR,I=1051191,J=1149191,RM=5100
,C=LF Force on Frame from P91 Subframe Bushing wrt Frame
REQ/21104306,FOR,I=1104306,J=1102306,RM=10400
,C=LF Force on Spindle from P6 LCA SPH Joint wrt Spindle
REQ/31149103,DIS,I=1102103,J=1149103,RM=5100
,C=LF Displacement of P3 LCA Bushing from Subframe wrt Frame
REQ/71103204,FOR,I=1103204, J=1149204, RM=1149204
,C=RF Force on LCA from P04 Subframe Bushing wrt Bush Coord
REQ/81103204,DIS,I=1103204, J=1149204, RM=1149204
,C=RF Displacement of P04 LCA Bushing from Subframe wrt Bush Coord
Example
REQ/1,FORCE,I=imarker,J=jmarker,RM=rmmarker,C=LEFT FRONT WHEEL SPINDLE FORCE
REQ/2,FORCE,I=imarker,J=jmarker,RM=rmmarker,C=RIGHT FRONT WHEEL SPINDLE FORCE
REQ/31001,FORCE,I=imarker,J=jmarker,RM=rmmarker,C=LEFT REAR WHEEL SPINDLE
FORCE
REQ/31002,FORCE,I=imarker,J=jmarker,RM=rmmarker,C=RIGHT REAR WHEEL SPINDLE
FORCE
Where:
Imarker – I marker of wheel spindle joint on wheel part
Jmarker – J marker of wheel spindle joint on spindle part
Rmmarker – Reference marker on spindle part at the location and orientation of CG
Request 1040
Example
REQ/1040,FUNCTION=USER(1104)/C=WHEEL SLIP ANGLES
Custom Adams Request Subroutine: USER 1104 (see Wheel Slip Angles)
Request 1041 205
Requests
Request 1041
SI Example
REQ/1041,FUNCTION=USER(1090,5199,0100,5100,1)/C=VEHICLE STATISTICS
English Example
REQ/1041,FUNCTION=USER(1090,5199,0100,5100,0)/C=VEHICLE STATISTICS
Sign Convention
Vehicle Lateral Acceleration (REQ/1041 x): right turn POSITIVE
Vehicle Yaw Rate (REQ/1041 y): right turn NEGATIVE
Vehicle Body Roll Angle (REQ/1041 z): right turn NEGATIVE
Vehicle Pitch Angle (REQ/1041 rx): NEGATIVE when the front of vehicle goes down
Custom Adams Request Subroutine: USER 1090 (see Vehicle Dynamics)
Request 1050
SI Example
REQ/1050,FUNCTION=USER(1102,3,1.0000e+00,1.0000e+00)/C=LEFT REAR TIRE
FORCE (NEWTON and N-MM)
English Example
REQ/1050,FUNCTION=USER(1102,3,2.2482e-01,8.8512e-03)/C=LEFT REAR TIRE
FORCE (LBS and IN-LBS)
Custom Adams Request Subroutine: USER 1102 (see Tire Forces and Moments)
Request 1051
SI Example
REQ/1051,FUNCTION=USER(1102,4,1.0000e+00,1.0000e+00)/C=RIGHT REAR
TIRE FORCE (NEWTON and N-MM)
English Example
REQ/1051,FUNCTION=USER(1102,4,4.2482e-01,8.8512e-03)/C=RIGHT REAR
TIRE FORCE (LBS and IN-LBS)
Custom Adams Request Subroutine: USER 1102 (see Tire Forces and Moments)
Request 1052
SI Example
REQ/1052,FUNCTION=USER(1102,1,1.0000e+00,1.0000e+00)/C=LEFT FRONT
TIRE FORCE (NEWTON and N-MM)
English Example
REQ/1052,FUNCTION=USER(1102,1,2.2482e-01,8.8512e-03)/C=LEFT FRONT
TIRE FORCE (LBS and IN-LBS)
Custom Adams Request Subroutine: USER 1102 (see Tire Forces and Moments)
Request 1053
SI Example
REQ/1053,FUNCTION=USER(1102,2,1.0000e+00,1.0000e+00)/C=RIGHT FRONT
TIRE FORCE (NEWTON and N-MM)
English Example
REQ/1053,FUNCTION=USER(1102,2,2.2482e-01,8.8512e-03)/C=RIGHT FRONT
TIRE FORCE (LBS and IN-LBS)
Custom Adams Request Subroutine: USER 1102 (see Tire Forces and Moments)
Request 1060
Example
REQ/1060,FUNCTION=USER(1106,1, 2832.50,
235.00,0421,0424,0523,0524,0915 , ,5115,716,5116,5199,1)/C=TURN
STATISTICS
Custom Adams Request Subroutine: USER 1106 (see Turn Statistics)
Request 1080
Example
REQ/1080,FUNCTION=USER(1101,0,0405,0421,0,0505,0523,5199,0)/ , C=TOE
CASTER CAMBER (FRONT)
Custom Adams Request Subroutine: USER 1101 (see Toe, Caster, and Camber)
Request 1090
Example
REQ/1090,FUNCTION=USER(1103,1,1015,5115, 716,5116,
47.9552,8010)/C=STEERING INPUT
Request 1095 209
Requests
Sign Convention
Steering Wheel Angle (REQ/1090 x): right turn POSITIVE
Custom Adams Request Subroutine: USER 1103 (see Steering Statistics)
Request 1095
SI Example
REQ/1095,FUNCTION=USER(1117,1015,5115,1109,911,5115,1.0000e+00,8010,2
1280)/ , C=STEERING COLUMN STATISTICS (DEG and N-MM)
English Example
REQ/1095,FUNCTION=USER(1117,1015,5115,1109,911,5115,8.8512e-
03,8010,21280)/ , C=STEERING COLUMN STATISTICS (DEG and IN-LBS)
Custom Adams Request Subroutine: USER 1117 (see Steering Column Statistics)
where:
wcm = id of wheel center marker on wheel part
wbm = id of wheel center marker on body or frame
shk1 = id of marker at lower shock/spring connection
shk2 = id of marker at upper shock/spring connection
Request File Output:
210 Adams/Chassis
Requests
where:
• new - displacements at current time step
• old - displacements at previous time step
Example
REQ/1703,FUNCTION=USER(1137,10409,5309,18901,18701)/ , C=LEFT SHOCK MOTION RATIO
REQ/1704,FUNCTION=USER(1137,10509,5409,19001,18801)/ , C=RIGHT SHOCK MOTION RATIO
REQ/1705,FUNCTION=USER(1137,10409,5309,118959,105158)/ , C=LEFT SPRING MOTION RATIO
REQ/1706,FUNCTION=USER(1137,10409,5309,1190059,1051058)/ , C=RIGHT SPRING MOTION RATIO
Custom Adams Request Subroutine: USER 1137 (see Lever Ratio Calculations)
Request 2080 211
Requests
Request 2080
Example
REQ/2080,FUNCTION=USER(1101,0,35223,35267,0,35224,35268,5199,0)/ ,
C=TOE CASTER CAMBER (REAR)
Custom Adams Request Subroutine: USER 1101 (see Toe, Caster, and Camber)
Note: This request will lead to inaccurate results if the model consists of double-ball joint
suspension. In that case it is recommended to use Suspension Design Module (SDM) for
tracking suspension design metrics.
Request 2108
Example
REQ/2108,DIS,I=21009,J=09210,RM=09210, C=TORSION BAR WINDUP ANGLE (mm
& deg)
Request 2109
212 Adams/Chassis
Requests
Example
REQ/2109,FOR,I=21009,J=09210,RM=09210, C=TORSION BAR WINDUP FORCE (N
& Nmm)
Request 3030
Example
REQ/3030,FUNCTION=USER(1121,5199,5100,1.0197e-04,18.1000, ,
10409,10509,35267,35268)/ , C=GYRO ACCELERATION w/ GRAVITY AND
UNDERSTEER VALUES (G's and DEG)
Sign Convention
Lateral Acceleration (REQ/3030 y): right turn NEGATIVE
Request 3032
Request 3034 213
Requests
Example
REQ/3032, FUNCTION=USER(1122, 10404, 10504, 5199, 0)/ , C=FRONT
SUSPENSION TUV TOE AND CAMBER (DEG)
Request 3034
Example
REQ/3034,FUNCTION=USER(1122,35267,35268,5199,0)/ , C=REAR SUSPENSION
TUV TOE AND CAMBER (DEG
Request 3040
Example
REQ/3040,FUNCTION=USER(1115,5146,10409,5147,10509 ,
,5148,35267,5149,35268,1.0000e+00)/C=BODY-ON-CHASSIS ROLL/PITCH (MM)
Sign Convention
Body-on-chassis Roll Angle (REQ/3040 ry): right turn NEGATIVE
Body-on-chassis Pitch Angle (REQ/3040 rz): NEGATIVE when the front of vehicle goes down
Request 5023
Example
REQ/5023,DIS,I=35267,J=5023,C=LEFT REAR SPINDLE RISE
Request 5024
Example
REQ/5024,DIS,I=35268,J=5024,C=RIGHT REAR SPINDLE RISE
Request 5109
Request 5110 215
Requests
Example
REQ/5109,DIS,I=0409, J=5309,C=LEFT FRONT SPINDLE RISE
Request 5110
Example
REQ/5110,DIS,I=0509,J=5409,C=RIGHT FRONT SPINDLE RISE
Example
REQ/5111
, F2 = RTOD*ATAN(DZ(10509,10409,0100)/DY(10509,10409,0100))/
, F3 = .5*DY(10509,10409,0100)*(FZ(10509,9991,0100) - FZ(10409,8881,0100))/
, COMMENT = Front Roll (deg) / Roll Torque (N-mm)
, TITLE=null:Roll:Torque:null:null:null:null:null
REQ/5025
,F2 = RTOD*ATAN(DZ(352681,352671,0100)/DY(352681,352671,0100))/
, F3 = .5*DY(352681,352671,0100)*(FZ(352681,9991,0100)-FZ(352671,8881,0100))/
, COMMENT = Rear Roll (deg) / Roll Torque (N-mm)
,TITLE=null:Roll:Torque:null:null:null:null:null
Request 5150
Example
REQ/5150,DIS,I=5199,J=0100,C=GLOBAL GYRO DISPLACEMENT
Request 5160
Example
REQ/5160,DIS,I=0080,J=5151,C=FRONT LIFT/DIVE DISPLACEMENT
Request 5161 217
Requests
Request 5161
Example
REQ/5161,DIS,I=0081,J=5152,C=REAR LIFT/DIVE DISPLACEMENT
Request 5163
SI Example
REQ/5163,FUNCTION=USER(1114,1,5199,0100,0100,1.0000e-03,57.29578)/ ,
C=BODY CG DISPLACEMENT (METER and DEG)
English Example
REQ/5163,FUNCTION=USER(1114,1,5199,0100,0100,3.2808e-03,57.29578)/ ,
C=BODY CG DISPLACEMENT (FEET and DEG)
Sign Convention
Body Yaw Angle (REQ/5163 rx): right turn NEGATIVE
Body Pitch Angle (REQ/5163 ry): POSITIVE when the front of vehicle goes down
Body Roll Angle (REQ/5163 rz): right turn POSITIVE
Custom Adams Request Subroutine: USER 1114 (see Vector Scaling)
218 Adams/Chassis
Requests
Request 5164
SI Example
REQ/5164,FUNCTION=USER(1114,2,5199,0100,5199,-3.6000e-03,57.29578)/
, C=GYRO VELOCITY (KPH and DEG/SEC)
English Example
REQ/5164,FUNCTION=USER(1114,2,5199,0100,5199,-2.2370e-03,57.29578)/
, C=GYRO VELOCITY (MPH and DEG/SEC)
Custom Adams Request Subroutine: USER 1114 (see Vector Scaling)
Request 5165
Example
REQ/5165,FUNCTION=USER(1114,3,5199,0100,5199,-1.0197e-04,57.29578)/
, C=GYRO ACCELERATION (G's and DEG/S-S)
Custom Adams Request Subroutine: USER 1114 (see Vector Scaling)
Request 5166 219
Requests
Request 5166
Example
REQ/5166,FUNCTION=USER(1140,5100,2,1.0000e-03)/
Custom Adams Request Subroutine: USER 1140 (see Turn Radius)
Request 5170
Example
REQ/5170,FUNCTION=USER(1119,5199,0100,5100,1,1015,5115,1,2,3,4,0409,0
509 , ,35267,35268, 21.7000,20.0)/C=VEHICLE DYNAMICS PARAMETERS
Custom Adams Request Subroutine: USER 1119 (see Vehicle Dynamics Parameters)
Example
REQ/6109,DIS,I=121001,J=5310,C=LEFT FRONT CONTACT PATCH MOTION
REQ/6110,DIS,I=122001,J=5410,C=RIGHT FRONT CONTACT PATCH MOTION
REQ/6209,DIS,I=35233,J=35333,C=LEFT REAR CONTACT PATCH MOTION
REQ/6210,DIS,I=35234,J=35434,C=RIGHT REAR CONTACT PATCH MOTION
Request 6110
Examples
REQ/6110,DIS,I=122001,J=5410,C=RIGHT FRONT CONTACT PATCH MOTION
Example
REQ/6111,FOR,I=10409,J=8881,C=LEFT FRONT JACK FORCE ON SPINDLE
REQ/6112,FOR,I=10509,J=9991,C=RIGHT FRONT JACK FORCE ON SPINDLE
REQ/6211,FOR,I=352671,J=8881,C=LEFT REAR JACK FORCE ON SPINDLE
REQ/6212,FOR,I=352681,J=9991,C=RIGHT REAR JACK FORCE ON SPINDLE
Example
REQ/6661,FOR,I=10409 C=LEFT FRONT FORCE ON SPINDLE
REQ/6662,FOR,I=10509 C=RIGHT FRONT FORCE ON SPINDLE
Example
REQ/6663,FOR,I=121001 C=LEFT FRONT FORCE ON CONTACT PATCH
REQ/6664,FOR,I=122001 C=RIGHT FRONT FORCE ON CONTACT PATCH
222 Adams/Chassis
Requests
Request 9001
Example
REQ/9001,FUN=USER(1131,5309,5409 ,
,5023,5024,1015,5115,19.0000,5100)/ C=SSC VEHICLE STATISTICS
Custom Adams/Request Subroutine: USER 1131 (see Vehicle Dynamics Parameters II)
Request 15144
,""
, "Right_Displacement"
, "Right_Force"
, "Right_TrimLoad"
, CLABELS="","(mm)","(N)","(N)","","(mm)","(N)","(N)"
, RESULTS_NAME = Air_Spring_Statistics_FRONT
Example: User-specified trim load
REQ/15144,
, F2=DM(110244,105143)/ Left Displacement
, F3=SFORCE(1309,0,1,0)/ Left Force
, F4=l_trim_load/ Left Trim Load
, F6=DM(1103044,1051043)/ Right Displacement
, F7=SFORCE(1310,0,1,0)/ Right Force
, F8=r_trim_load/ Right Trim Load
, C=FRONT AIR SPRING STATISTICS/
, TITLE=Air_Spring_Statistics_FRONT
, CNAMES = ""
, "Left_Displacement"
, "Left_Force"
, "Left_TrimLoad"
,""
, "Right_Displacement"
, "Right_Force"
, "Right_TrimLoad"
, CLABELS="","(mm)","(N)","(N)","","(mm)","(N)","(N)"
, RESULTS_NAME = Air_Spring_Statistics_FRONT
Request 15158
Example
REQ/15158
, F2=DM(2425,5123)/ Left Displacement
, F3=FM(2425,5123)/ Left Displacement
, F4=DM(2526,5124)/ Right Displacement
224 Adams/Chassis
Requests
Request 15189
Example
REQ/15189
, F2=-VZ(18701,18901,18985,18985)/ Left Velocity
, F3=FZ(18701,18901,18985)/ Left Force
, F4=DM(18701,18901)/ Left Displacement
, F6=-VZ(18801,19001,19086,19086)/ Right Velocity
, F7=FZ(18801,19001,19086)/ Right Force
, F8=DM(18801,19001)/ Right Displacement
, C=FRONT SHOCK STATISTICS/
, TITLE=null:L_Vel:L_Force:L_Disp:null:R_Vel:R_Force:R_Disp
Request 17001
Example
REQ/17001,FOR,I=17001,J=17301,RM=0100
,C=LEFT FRONT TORSION BAR CONSTRAINT FORCE
Request 17002
Example
REQ/17002,FOR,I=17002,J=17401,RM=0100
,C=RIGHT FRONT TORSION BAR CONSTRAINT FORCE
Request 35144
Request 35158
Example
REQ/35158,
, F2=DM(5225,5025)/ Left Displacement
, F3=FM(5225,5025)/ Left Force
, F4=DM(5226,5026)/ Right Displacement
, F6=FM(5226,5026)/ Right Force
, C=REAR COIL SPRING STATISTICS/
, TITLE=null:L_Disp:L_Force:R_Disp:null:R_Force:null:null
Request 35189
Example
REQ/35189,
, F2=-VZ(38701,38901,38985,38985)/ Left Velocity
, F3=FZ(38701,38901,38985)/ Left Force
, F4=DM(38701,38901)/ Left Displacement
, F6=-VZ(38801,39001,39086,39086)/ Right Velocity
, F7=FZ(38801,39001,39086)/ Right Force
228 Adams/Chassis
Requests
Request 35192
Example
REQ/35192,
, F2=VARVAL(38372)/ Left Rebound Bumper Velocity
, F3=SFORCE(38372,0,1,0)/ Left Rebound Bumper Damping Force
, F4=VARVAL(38382)/ Right Rebound Bumper Velocity
, F6=SFORCE(38382,0,1,0)/ Right Rebound Bumper Damping Force
, C=REAR REBOUND BUMPER DAMPING STATISTICS/
, TITLE=null:L_Vel:L_DampForce:R_Vel:null:R_DampForce:null:null
Request 99993
Example
REQ/99993,FOR,I=0791,RM=0891,C=BOOST FORCE
Scalar Functions
These functions require a double precision argument in radians and return a double precision answer.
double = sin(x) - Returns sin of x
double = cos(x) - Returns cosine of x
double = tan(x) - Returns tangent of x
double = asin(x) - Returns arcsin of x
double = acos(x) - Returns arccosine of x
double = atan(x) - Returns arctangent of x
double = sinh(x) - Returns hyperbolic sin of x
double = cosh(x) - Returns hyperbolic cosine of x
double = tanh(x) - Returns hyperbolic tangent of x
These functions require a double precision argument and return a double precision answer.
double = abs(x) - returns absolute value of x
double = exp(x) - returns e raised to the x power
double = ln(x) - returns the natural log of x
double = log(x) - returns the log base 10 of x
double = pow(x,y) - raises x to the power of y i.e. x^y
Spring and Viscous Damper Model 231
SDM Bushing Models
2 2
K = K + c
• Loss angle is the phase angle between applied displacement and resulting force
() = arctan(c/k)
232 Adams/Chassis
SDM Bushing Models
Comparison of Models
• A typical rubber mount – data shown on previous plots
• 3 type of models are compared
• Spline: a static model represented by a forcedeflection curve – typical Adams
representation
• KC20: a linear spring-damper model represented by the stiffness and damping coefficients
at 20 hz
• SDM: a 6-parameter nonlinear dynamic model generated by SDM
• Static and dynamic responses simulated. Dynamic excitation is a shaped random white-noise,
typical of road induced excitation in bushings
242 Adams/Chassis
SDM Bushing Models
Static Behavior
• SDM model is exact for quasi-static large deflection behavior
• Linear spring-damper model is wrong almost everywhere – but right in a least-square-error
sense.
Small Deflection Dynamic Behavior 243
SDM Bushing Models
Shortcut menu
The shortcut menu is accessed by right-clicking in the Treeview. The shortcut menu contains options that
can be found either in the Main Toolbar, or Menu Bar.
246 Adams/Chassis
Simulation Set Up
Simulation Set Up
Suspension Automated Aligner
The Suspension Automated Aligner is actually a Solver routine that performs an automated alignment on
an Adams model using user-defined alignment specification. For more information, click here.
Solver Routines
Air Spring Trim Load Calculation
This function can be used to determine the Trim Load value of Air Springs based on the loading
conditions. Currently maximum number if Air Springs allowed in a model is limited to 10.
The syntax to access this function is as follows
VARIABLE/id, FUN=USER (1117, sfoid, trmflg, trimload)
where:
id = Variable statement id
sfoid = SFORCE id representing the Airspring force in the model
trmflg = Flag to specify if automatic trim loading is requested
1 = Use automatic trim load adjustment
0 = Use user specified trim load
trimload = User spefified trim load value. Optional if automatic adjustment is selected
id = Motion statement id
248 Adams/Chassis
Solver Routines
where:
aryid2 = rear suspension aligner array id
lkam = left rear kingpin axis MARKER id
lwcm = left rear wheel center MARKER id
rkam = right rear kingpin axis MARKER id
rwcm = right rear wheel center MARKER id
Note that the ARRAY statements should contain the same MARKERs as the toe/caster/camber user
written REQUEST. Also, the alignment angles are all assumed to be in the standard sign convention of:
Positive toe is toe in
Positive caster is kingpin axis slanted rearward at the top
Positive camber is top of tire leaned outboard of the vehicle
To align an Adams model, the user invokes the autoaligner CONSUB from the ENTER COMMAND
prompt. The syntax for the CONSUB call is:
CONTROL/FUNC=USER( altype,jpr_ary ,pid,aryid3,aryid4,aryid5,halt,error,maxit )
where:
halt = (Optional) Flag to stop or continue the simulation if static analysis fails
1 - Terminate the simulation if statics fails
0 - Continue the simulation if static fails
error = (Optional) Maximum allowable error for Newton Raphson routine to converge to user
specified alignment values. Default is 1.0E-02
maxit = (Optional) Maximum allowable iterations for Newton Raphson routine to converge to
user specified alignment values. Default is 25
It is important to note that if the user enters a value greater than +20 degrees or less than -20 degrees for
any of the alignment specifications, the CONSUB will not align that particular angle. For example, a user
may want to align only the toe of a given front suspension to 0.01 degrees but not caster or camber. To
do this, the CONSUB call would be:
CONTROL/FUN = USER ( 1105, 555, 1, 1081, 670,1082)
ARRAY/1081, NUM = 0.010, 30.000, 30.000, 0.010, 30.000, 30.000
ARRAY/1082, NUM = 0.000, 00.000, 00.000, 0.000, 00.000, 00.000
If the user selects "No Auto-Alignment" from the Adams/Chassis GUI, the code will use the saved
alignment settings from the appropriate front or rear datafile. A message will be echoed to the screen
during build to remind the user that these settings are being used.
id = Diff statement id
imrk = Id of marker whose displacement is measured.
jmrk = Id of marker with respect to which imrk's displacement is measured.
gain = Controller gain
target = Target value of displacement. The displacement between imrk and jmrk is adjusted such
that the difference between the displacement and target is zero.
id = Diff statement id
gain = Controller gain
jprid = Id of the jprim whose error is computed.
252 Adams/Chassis
Solver Routines
comp = An integer value that specifies the component of the JPRIM force to be computed.
2 - x component of force
3 - y component of force
4 - z component of force
6 - x component of torque
7 - y component of torque
8 - z component of torque
rmrk = Id of the marker representing the coordinate system in which the force/torque is
measured.
gfoid = (optional) Id of GFORCE representing the Tire if the DIFF is used represent a Tire.
id = Diff statement id
spid = A positve value specifies the id of spline representing the desired quantity with respect to
time. A negative values specifies a constant value.
imot = Type of quatity whose error is to be determined :
1 - Translational displacement
2 - Translational velocity
3 - Translational acceleration
4 - Translational force
bm = I marker whose quatity is measured with respect to base marker.
gm = Base marker
id = Variable statement id
imar = Marker whose rotational displacement is requested
jmar = Marker whose coordinate system is used to determine the displacement of I marker
id = Variable statement id
imrk = Marker id whose velocity is requested
id = Vtorque statement id
imrk = Marker on wheel at which the torque is applied
jmrk = Floating marker at which the reaction torque is applied
rmrk = Reference marker in whose coordinate system the torque is applied
itire = Tire id corresponding to the VTORQUE statement
difid = (Optional) Id of the differential equation balancing the longitudinal reaction force on
the body to ground inline jprim
pwr_lmt = (Optional) Limiting horsepower. The simulation will be terminated if the power
requirement exeeds the user specified value
Adams/Chassis comes with an option to model simple powertrains which consists of only halfshaft parts.
The torque required to drive the vehicle is determined from a torque-speed spline (see Powertrain
Modeling) and is applied at the halfshafts. The VTORQUE statement for such a model should be as
follows:
VTORQUE/id, I = imrk, JFLOAT = jmrk, RM = rmrk
, FUN=USER (1105, itire, difid, thrid, spdid, splid, trarat, sclfac, revlim, gearrat)
Drive Torque Application for Powertrain Models 255
Solver Routines
where:
id = Vtorque statement id
imrk = Marker on wheel at which the torque is applied
jmrk = Floating marker at which the reaction torque is applied
rmrk = Reference marker in whose coordinate system the torque is applied
itire = Tire id corresponding to the VTORQUE statement
difid = Id of the differential equation balancing the longitudinal reaction force on the body to
ground inline jprim
spdid = Variable id to determine engine speed. The engine speed is determined from the average
wheel rotational velocities and trasmission ratio
sclfac = (Optional) Scale factor for unit conversion of torque (default is N-mm)
gearrat = (Optional) Gear ratio variable id. If variable representing gearrat is present then trarat
is overwritten by the value of gearrat
where:
id = Vtorque statement id
imrk = Marker on driveshaft at which the torque is applied
jmrk = Floating marker at which the reaction torque is applied
rmrk = Reference marker in whose coordinate system the torque is applied
thrid = Variable id to determine throttle position
spdid = Variable id to determine engine speed. The engine speed is determined from the average
wheel rotational velocities and trasmission ratio
splid = Torque-speed spline id
sclfac = (Optional) Scale factor for unit conversion of torque (default is N-mm)
revlim = (Optional) Revolution limiter for engine speed
id = REQUEST statement id
par_list = parameter listing required by USER REQUEST statement
A variable can be created in the data set by using the following statement:
VAR/id, FUNC=USER(1106,col,par_list)
where:
id = VARVAL statement id
col = column number of variable to be returned from a given Adams USER REQUEST in
the .out file (Use columns 2, 3, 4, 6, 7, 8).
par_list = parameter listing (must be same as above)
As shown here, if the value of the first parameter passed to the VARSUB routine is 1106, the VARSUB
passes the third through 30th parameter on to the REQSUB. The REQSUB returns an array of values
Fixed Body Equilibrium 257
Solver Routines
corresponding to the columns of the REQUEST statement. The value for the column number given by
the second parameter is then returned by the VARSUB. Be careful to use the OUTPUT column number,
and not the REQUEST file column number:
jpr_ary = Id of array containing the necessary jprims, motions, sforce ids to perform the static
equilibrium
halt = (Optional) parameter to terminate or continue a simulation after a static failure.
1 - terminate a simulation if user(510) fails
0 - continue a simulation if user(510) fails. The default value is 0.
258 Adams/Chassis
Solver Routines
When the user enters this command and runs a fixed body equilibrium, the user code takes the following
steps:
1. The velocity of every single rigid part is assumed to be zero.
2. The velocity of the tires are also assumed to be zero. As a consequence, the tire routines are not
able to generate lateral or longitudinal force so only the JPRIMS make it possible for Adams to
reach static equilibrium.
3. The auxiliary column joint, MOTION/740, is set to zero.
If a dynamic analysis is requested in Adams after a fixed body equilibrium and the vehicle has velocity
initial conditions, an initial transient effect will happen for the same reasons described above.
jpr_ary = Id of array containing the necessary jprims, motions, sforce ids to perform the static
equilibrium
tflag = (Optional) Tire Forces Flag (default = 0). tflag is ignored for Full-Vehicle Analysis,
0 = Suspension is not supported by tire forces
1 = Suspension is supported by tire forces
Full-Vehicle Static Vehicle Characteristics (SVC) 259
Solver Routines
vflag = (Optional) Verbose Flag (default = 0). If the verbose flag is enabled, the 18x18 front
suspension compliance matrix and/or the 12x12 rear suspension compliance matrix
are output to the Adams Message File.
0 = Verbose messages off
1 = Verbose messages enabled
cflag = (Optional) Current Simulation Time. (defaults = 0) SVC calculations are performed
at the beginning of the simulation. If, for some reason the user performs a transient
or quasi-static simulation before issuing the CONTROL command, input the current
simulation time using this parameter.
The Static Vehicle Characteristics (SVC) DOCUMENT discusses in detail the additional arrays and
strings required in a dataset to perform SVC analysis.
jpr_ary = Id of array containing the necessary jprims, motions, sforce ids to perform the static
equilibrium
tflag = (Optional) Tire Forces Flag (default = 0). tflag is ignored for Full-Vehicle Analysis,
0 = Suspension is not supported by tire forces
1 = Suspension is supported by tire forces
260 Adams/Chassis
Solver Routines
vflag = (Optional) Verbose Flag (default = 0). If the verbose flag is enabled, the 18x18 front
suspension compliance matrix and/or the 12x12 rear suspension compliance matrix
are output to the Adams Message File.
0 = Verbose messages off
1 = Verbose messages enabled
cflag = (Optional) Current Simulation Time. (defaults = 0) SVC calculations are performed
at the beginning of the simulation. If, for some reason the user performs a transient
or quasi-static simulation before issuing the CONTROL command, input the current
simulation time using this parameter.
The Static Vehicle Characteristics (SVC) DOCUMENT discusses in detail the additional arrays and
strings required in a dataset to perform SVC analysis.
dscale = scale factor on distance to convert into meters (i.e. if units are in mm, dscale = 0.001)
dragid = SPLINE id of drag coefficients (set to zero for no drag force)
sforid = SPLINE id of sideforce coefficients (set to zero for no side force)
liftid = SPLINE id of lift coefficients (set to zero for no lift force)
rollid = SPLINE id of roll coefficients (set to zero for no roll moment)
pitid = SPLINE id of pitch coefficients (set to zero for no pitch moment)
yawid = SPLINE id of yaw coefficients (set to zero for no yaw moment)
itype = flag indicating the independent variable for the wind velocity and angle SPLINES
if itype < 0 wind velocity and angle are a function of longitudinal distance in global
ground X direction
windv = wind velocity
if windv < 0 absolute value of "windv" is the id of the wind velocity SPLINE (m/s) in
which the X value is time if "itype" > 0 or distance if "itype" < 0
winda = wind angle of attack (sign convention is 0 deg for straight ahead, 90 deg for wind from
the right, -90 for wind from left, etc.)
if winda < 0 absolute value of "winda" is the id of the wind angle SPLINE (deg) in which
the X value is time if "itype" > 0 or distance if "itype" < 0
imark = MARKER id of the point of application of the forces and moments. This marker must be
orientated in SAE coordinates (X out front, Y to right, and Z pointing down)
The force application MARKER, "imark", must be in vehicle SAE orientation. The origin of this
MARKER must coincide with the location at which the coefficients were measured (or be placed at the
location to which the coefficients were resolved). As a general note, the force consistency factor is test
section area of the vehicle and the moment consistency factor is the test area * wheelbase. These factors
must be properly passed to accurately represent the forces and moments.
The following is an example of the aerodynamics GFORCE in a vehicle model:
GFORCE/28,I=5131,JFLOAT=0131,RM=5130,
,FUN=USER(1302,2.687000,3.086,1.220000,0.001,
,106,107,108,109,110,111,-1,-201,20.00,5131)
SPLINE/201 SPLINE FOR WIND VELOCITY
,X = -10000.00, 0.00, 25000.00,
, 26000.00, 50000.00, 100000.00,
, 101000.00, 150000.00, 1000000.00
262 Adams/Chassis
Solver Routines
ftarget = (Optional) desired vertical force on the specified tire(s) (default is 1000)
itire = (Optional) id of tire to use for vertical force calculation (default is 1)
igrnd = (Optional) ground vertical distance marker (default is 3)
ifothers = (Optional) value other than 0 indicates that all tires should be evaluated for ftarget
For certain models such as K&C, in order to accurately represent the graphics when ground height is
adjusted, PART/1 (Virtual ground) is connected to ground with a tranlational joint. The motion
(MOTION/7777) on the joint is adjusted till the vehicle tires are in contact with the K&C posts.
Half Vehicle Rise to Curb Setting 263
Solver Routines
For static tire models where the tire reaction forces act at different markers, the auto ground height
adjuster will adjust all these markers untill the tire is in contact with ground.
Therefore the auto ground height adjuster routine, first searches for the presence of MOTION/7777 and
adjusts the dispalcement of the motion. IF MOTION/7777 is not present, then the tire reaction force
markers are verified. If these markers are other than 3, the vertical location of these markers are modifed.
Else the vertical location of MARKER/3 is modified.
halt = (Optional) flag to stop or continue the simulation if rise to curb analysis fails
0 - stop the simulation if static fails(default)
1 - continue the simulation if static fails
In addition to the above call, following statements are required in the dataset for a successful rise to curb
analysis.
MOTION/motid1, JOINT = joiid1, TRA
, FUNCTION = VARVAL(varid1)
VARIABLE/varid1, FUNCTION = DIF(difid1)
DIF/difid1, IC = 0
FUNCTION = USER(1110, imar1, jmar1, gain1, disp1)
where:
motid1
joiid1
difid1
varid1
imar1
264 Adams/Chassis
Solver Routines
jmar1
gain1
disp1
id = Variable statement id
ltime = Time at which the variable value should be latched
varid = Variable id whose value should be latched
where:
Move Suspension to Initial Position 265
Solver Routines
0 = translational motion
1 = rotational motion
scale = scale factor which will be multiplied to the motion magnitudes read in from the file
offset = DC offset value to be added to the numbers in the file after the scale factor has been
applied
ifile = motion time history filename flag
On-Center Handling
In contrast to other transient events, the On Center Handling is performed through user written control
subroutine. The event is performed in 3 transient run stages. The first stage of the simulation is performed
for 5 seconds with a user specified steering wheel input. The seond stage is performed upto 10 seconds
with a different steering wheel input specified by the user. Based on these two simulations, the necessary
steering wheel angle required to produce the user specified lateral acceleration in determined and the
simulation is performed for 12.5 seconds.
The CONSUB for oncenter handling is invoked by typing the following at the command prompt or
appending it to the acf file.
CONTROL/FUN = USER(1144, lat_acc, aryid, varid1, varid2)
where:
266 Adams/Chassis
Solver Routines
lat_acc
aryid
varid1
varid2
num1
num2
num3
where:
strjnt = Adams id of the REVOLUTE JOINT connecting the steering wheel to the vehicle body.
strrat = overall steering system ratio (steering wheel rotation / spindle rotation).
Four ARRAY statements are also required for use of the steering controller:
npts = number of points in preview interval at which predicted path is computed and
compared to desired path to define error term for controller.
taumin = start time (forward from present) of preview interval.
taumax = end time (forward from present) of preview interval.
rollim = trigger value of roll angle for bail-out mode.
ssllim = trigger value of side slip angle for bail-out mode.
268 Adams/Chassis
Solver Routines
where:
cvid = curve statement id in dataset, default is 1.
For branch = 20 (straight ahead driving) no other parameters required
For branch = 30 (constant radius test) the other parameters are:
ARRAY/1203, NUM = branch,len,rad
where:
len = x coordinate of entry gate to skid pad (m), default is 91.44 (300 ft).
rad = radius of skid pad (m), default is 91.44 (300 ft).
For branch = 40 (lane change event) the other parameters are:
ARRAY/1203, NUM = branch,x0,y0,delx,dely{x1,y1,delx1,dely1, . . . . . . x6,y6,delx6,dely6}
where:
x0 = x coordinate of entry gate to lane change (m), default is 45.72 (150 ft).
y0 = y coordinate of entry gate to lane change (m), default is 0.0.
delx = x direction distance from entry gate to exit gate (m), default is 10.668 (35 ft).
dely = y direction distance from entry gate to exit gate (m), default is 3.6576 (12 ft).
{} = optional
For multiple lane change events, based on the number of lane changes, values for Xi, Yi, DELXi, DELYi
(i=1,6) should be specified.
Two additional statements are required if the desired path is defined using the curve statement. These are
the CURVE and MATRIX statements shown below. When employing the curve statement for the desired
path, the user is allowed two options. One option is to define the path using a series of points stored in a
MATRIX statement in the Adams dataset. The following is an example of this method:
CURVE/id, OPEN, MATRIX=idmatx, CURVE_POINTS, SEG=nseg
MATRIX/idmatx, FULL=RORDER, ROWS=n, COL=3
, VALUES = x1,y1,z1
,x2,y2,z2
,.,.,.
,xn,yn,zn
where:
270 Adams/Chassis
Solver Routines
The other and recommended method of providing Adams the desired curve path is to store the data in a
file. For this option, the CURVE and MATRIX statements take on different formats:
CURVE/id, OPEN, MATRIX=idmatx, CURVE_POINTS, SEG=nseg
MATRIX/idmatx, FILE=fname, NAME=mname
where:
There exists a standard format for the path data file described above. The file has a header followed by
the x,y,z data points. It is important to note that all data in this file is read in using FORTRAN formatted
input. Careful attention should be made as to placement of numbers and characters in the file. The file
format is defined as follows:
ADAMSMAT
1
mname
mname FULL RORDER npts 3 ntot (3F9.4)
x1 y1 z1
x2 y2 z2
x3 y3 z3
...
xn yn zn
Path-Following Steering Controller 271
Solver Routines
where:
where:
where:
pflag = flag indicating which path to generate debugging data point from:
0 - desired,
1 - predicted.
nflag = flag indicating which node of the specified path to generate debugging data for, must be an
integer from 1 to npts (see ARRAY 1200) inclusive.
If the initial attempt to use the steering controller does not result in acceptable behavior, the
following steps are suggested:
Symptom: The vehicle follows the path well in some sections, but has trouble, perhaps even failing, in
others.
Remedy: This is probably the result of a wide variation of radii of curvature in the path. Try to adjust
taumax and the internal vehicle parameters so the vehicle performs well on the sections of the path with
small radii of curvature, you may have to accept "nervous" behavior on the smoother sections, or you
may have to use a slightly larger taumax, and artificially increase cf, or decrease m and/or i. This could
also be caused by "spline buckling" if the path was specified with too few points.
If these suggestions and examining plots of the system response (steering angle, etc.) do not resolve the
problem, it may be useful to use the special requests described above, and run the add_outline program
before animating the results. This will provide graphical representations of the specified and predicted
paths computed by the steering control algorithm within the specified preview interval. Visual
examination of the motion of the vehicle with these paths visible can often provide some insight into the
source of the unacceptable behavior.
values will be stepped up and the static analysis will be performed again until the aligment values are
equal to the user specifications.
Following command specifies the parameters needed to invoke this consub
CONTROL/FUN=USER (1141,jrp_ary,aryid, fac1,fac2)
where:
jrp_ary = Id of array containing the necessary jprims, motions, sforce ids to perform the static
equilibrium
aryid = Array containing the predetermined toe, caster, camber values of left and right
suspension in degrees
fac1 = (Optional) (dafault = 2) Factor by which the alignment values should be stepped
down. If the static analysis is successful for the stepped down values, the values will
be stepped up by the same factor for the next static anlysis
fac2 = (Optional) (default = 3) Number of times the alignment values should be stepped
down. The total number of times alignment values will be stepped down is equal to
fac1 * fac2
jpr_ary = Id of array containing the necessary jprims, motions, sforce ids to perform the static
equilibrium
brk_flg = flag to specify whether deceleration should be applied as braking or throttle of
deceleration. For throttle off deceleration the applied deceleration is balanced by
forces/moments generated at the driven wheels. For braking deceleration the
deceleration is balanced by braking forces/moments at all wheels based on braking
ratios
1 - braking deceleration
0 - throttle off deceleration (default)
glon = Longitudinal acceleration/deceleration. Cornering event is performed at this specified
longitudinal g level.
positive value = acceleration
negative value = deceleration
sta_g = Reserved
end_g = final level of lateral acceleration to impose on the vehicle
positive value = right hand turn
negative value = left hand turn
nsteps = number of steps for the output (i.e. acceleration increment = end_g / nsteps)
radius = radius of turn (mm)
bank = (Optional) bank angle in degrees with default being zero (deg)
positive value = road banks into corner (i.e. outside of turn is higher than inside of turn)
negative value = road is off-cambered and banks out of corner (i.e. inside of turn is
higher than outside of turn)
cg_id = (Optional) body C.G. MARKER id. Default is 5100
ijm = (Optional). I MARKER on steering wheel part of new steering system JOINT 740. If
= 0, CONSUB assumes default value of 1080
jjm = (Optional). J MARKER on auxiliary steering column of new steering system JOINT
740. If = 0, CONSUB assumes default value of 8010
halt = (Optional) parameter to terminate or continue a simulation after a static failure.
1 - terminate a simulation if user(1031) fails
0 - continue a simulation if user(1031) fails. The default value is 0.
origo = (Optional). Marker defining the coordinate system is which model was created.
(Standard Adams/Chassis models have vehicle forward as -X).Default marker id is 3
The first time this CONSUB is invoked, the initial speed level is assumed to be zero. If the user invokes
it a second time, the initial speed level will be the end_s of the last call to this CONSUB.
276 Adams/Chassis
Solver Routines
jpr_ary = Id of array containing the necessary jprims, motions, sforce ids to perform the static
equilibrium
vel = Logitudinal velocity of the vehicle
brk_flg = flag to specify whether deceleration should be applied as braking or throttle of
deceleration. For throttle off deceleration the applied deceleration is balanced by
forces/moments generated at the driven wheels. For braking deceleration the
deceleration is balanced by braking forces/moments at all wheels based on braking
ratios
1 - braking deceleration
0 - throttle off deceleration (default)
end_g = final level of longitudinal acceleration/deceleration to impose on the vehicle
positive value = acceleration
negative value = deceleration
nsteps = number of steps for the output (i.e. acceleration increment = end_g / nsteps)
halt = (Optional) parameter to terminate or continue a simulation after a static failure.
1 - terminate a simulation if user(1021) fails
0 - continue a simulation if user(1021) fails. The default value is 0.
origo = (Optional). Marker defining the coordinate system is which model was created.
(Standard Adams/Chassis models have vehicle forward as -X).Default marker id is 3
The first time this CONSUB is invoked, the initial g level is assumed to be zero. If the user invokes it a
second time, the initial g level will be the end_g of the last call to this CONSUB.
The CONSUB for this event can be invoked by typing the following at the Adams prompt.
CONTROL/FUN=USER (1032,jpr_ary,brk_flg,glon,vel,end_g,nsteps,bank,cg_id,ijm,jjm,halt,origo)
where:
All parameters are same as that of quasi-static steady-state cornering except vehicle longitudinal velocity
is specified instead of turn radius.
jpr_ary = Id of array containing the necessary jprims, motions, sforce ids to perform the static
equilibrium
tflag = (Optional) Tire Forces Flag (default = 0). tflag is ignored for Full-Vehicle Analysis,
0 = Suspension is not supported by tire forces
1 = Suspension is supported by tire forces
278 Adams/Chassis
Solver Routines
vflag = (Optional) Verbose Flag (default = 0). If the verbose flag is enabled, the 18x18 front
suspension compliance matrix and/or the 12x12 rear suspension compliance matrix
are output to the Adams Message File.
0 = Verbose messages off
1 = Verbose messages enabled
cflag = (Optional) Current Simulation Time. (defaults = 0) SVC calculations are performed
at the beginning of the simulation. If, for some reason the user performs a transient or
quasi-static simulation before issuing the CONTROL command, input the current
simulation time using this parameter.
The Static Vehicle Characteristics (SVC) DOCUMENT discusses in detail the additional arrays and
strings required in a dataset to perform SVC analysis.
jpr_ary ID of ARRAY element containing the necessary joint primitives, motions, SFORCE
IDs to perform static equilibrium.
des_f_rh Desired front ride height (mm)
f_array Front ride height adjustment array (see below)
des_r_rh Desired rear ride height (mm)
r_array Rear ride height adjustment array (see below)
tol (optional) Ride height tolerance (mm) Default is .05 mm
maxit (optional) Maximum number of iterations. Default is 50 iterations.
The CONSUB iteratively modifies the front and rear spring lengths to achieve the desired ride heights.
Ride Height Marker Location 279
Solver Routines
Note: • Ride height is calculated by comparing the difference in z height between wheel
center markers attached to the body and wheel carrier.
• The CONSUB is compatible with coil springs only.
• Asymmetric free lengths will be made equal. There is no provision for separate left
and right ride height targets.
• Asymmetric spring rates are not handled. The CONSUB will likely fail in this
situation.
• Since this consub must be used with the front and rear springs simultaneously, it is
only applicable for full-vehicle analysis.
contact point locations. If there are four contact point location, 2 triangular planes are created and the
normal is the average of normals of the 2 planes. The vertical location of the marker is the dot product of
the road normal and the displacement of imrk with respect to rmrk. User needs to make sure that the
reference marker (rmrk) used by the function is same as that used in the tire GFORCE statement.
The syntax to access this function is as follows:
VARIABLE/id, FUN=USER (1109,imrk, rmrk)
where:
id = Variable statement id
imrk = Marker id whose displacement is requested
rmrk = (Optional) Reference marker representing the road frame (default = 3)
id = coupler id.
joi1 = revolute joint of the coupler from which motion is transmitted
joi2 = revolute joint of the coupler to which motion is transmitted
spltype = spline interpolation type
1 - akima spline type interpolation
2 - cubic spline type interpolation
splid = id of the spline specifying the nonlinear relation between the joints
scale = value by which the output to be scaled. Use -1 to reverse sign of the output.
id = coupler id.
joi1 = revolute joint of the coupler
joi2 = translational joint of the coupler
spltype = spline interpolation type
1 - akima spline type interpolation
2 - cubic spline type interpolation
splid = id of the spline specifying the nonlinear relation between the joints
scale = value by which the output to be scaled. Use -1 to reverse sign of the output.
Three ARRAYS are used to define the aerodynamic setup and additional parameters
ARRAY/shiftid, NUM=(currho, fdfscale, fdfshift, rdfscale, rdfshift, dfscale, dfshift)
where: currho = density of air in simulation
fdfscale = front downforce scale factor
fdfshift = front downforce shift factor
rdfscale = rear downforce scale factor
rdfshift = rear downforce shift factor
dfscale = downforce scale factor
dfshift = downforce shift factor
ARRAY/setupid, NUM=(refrho, refvel, fdfid, rdfid, dfid, frhmkr, rrhmkr, gndmkr, cgmkr)
where:
refrho = density of air during wind-tunnel or track test
refvel = airspeed during wind-tunnel or track test
fdfid = SPLINE id of front aerodynamic downforce spline
rdfid = SPLINE id of rear aerodynamic downforce spline
dfid = SPLINE id of aerodynamic dragforce spline
frhmkr = front ride height reference marker
drrhmkr = rear ride height reference marker
fgndmkr = ground reference marker
dcgmkr = body cg reference marker
ARRAY/clipid, NUM=(frhmin, frhmax, rrhmin, rrhmax)
where:
frhmin = front ride height minimum extrapolation limit
frhmax = front ride height maximum extrapolation limit
rrhmin = rear ride height minimum extrapolation limit
rrhmax = rear ride height maximum extrapolation limit
The following is an example of the front downforce SPLINE where the first row (X) is the matrix of front
ride height values. The additional rows of Y represent the rear heights and the associated front
downforce value at the corresponding front and rear ride height value.
Set Part Velocity 283
Solver Routines
Simulation Specifics
This function writes out simulation specifics such as Adams/Chassis version used, success of the
simulation, size of memory used for the run to the screen and message file
This function can be invoked by typing the following:
CONTROL/FUN=USER (1199)
str1
ary1
ary2
ary3
ary4
ary5
origo
The Standard Driver Interface DOCUMENT discusses in detail the use of Standard Driver Interface
required in a dataset to perform SVC analysis.
The JPRIM statements must be defined as above. The CONSUB will automatically turn off the JPRIMS
after a static solution has been found so the user can run a dynamic simulation. It is important to
remember that the standard Adams SIM/STAT command will not turn off the JPRIMS. Therefore, a
SIM/DYNAMIC command, entered after a SIM/STAT will result in the vehicle, pinned to ground, trying
to move forward at a given speed.
One new steering part is required to allow the CONSUB to turn the steering wheels for a zero lateral force
balance (see section 2.4.2). An example of these statements is as follows:
----- AUXILIARY STEERING COLUMN PART
PART/scpid, CM=nscp, MASS=pm, IP=ipx,ipy,ipz, WZ=0.0
M/nscp, QP= x,y,z, ZP= zpx,zpy,zpz
*****************
STEERING JOINTS
*****************
JOINT/lid, I=nscp, J=ism,
!FIXED NO LASH IN SHAFT
286 Adams/Chassis
Solver Routines
The steering wheel joint about which all steering inputs are made must be numbered 735.
The final statements which must be in the dataset include the differential equations and the steering
column joint force statement. The CONSUB uses the DIF statements to apply the tire forces to the vehicle
during the static solution. The SFORCE statement calculates the steering wheel angle required for a zero
lateral force balance and then fixes the steering column joint at that angle. The magnitude of this angle
can be accessed in a standard or Adams user REQUEST.
The DIF and SFORCE statements should be defined as follows:
! Longitudinal Force
DIF/difid1, IC=0, FUNC=USER ( 1010,xgain,jprid1,2,bid1,whl_ary )
! Lateral Force
DIF/difid2, IC=0, FUNC=USER ( 1010,ygain,jprid1,3,bid1,whl_ary )
! Steering control force to bring lateral forces to zero
SFORCE/sfoid1, ROT, I=iswm, J=nscp, FUN=1.0*DIF(difid2)
where:
Statements Required in the Adams Dataset 287
Solver Routines
jprid1 = Inline jprim holding the vehicle to ground constraining longitudinal and lateral
translational degreee of freedom
jprid2 = Perpendicular jprim holding the vehicle to ground constraining yaw degreee of
freedom
sfoid1 = Steering control sforce to bring lateral force at jprid1 to zero
motid1 = Motion at auxiliary steering column joint
whl_ary = Array id containing wheel id and jprim ids constraining the wheel to spindle
array/whl_ary , num = jprid3, jprid4, jprid5, jprid6, whlid1, whlid2, whlid3, whlid4, gfoid1, gfoid2,
gfoid3, gfoid4
where:
288 Adams/Chassis
Solver Routines
! Lateral Force
DIF/992, IC=0, FUNC=USER ( 1010, 10000.0, 991, 3, 5100,556 )
! Steering control force to bring lateral forces to zero
SFORCE/740, ROT, I=1080, J=8010, FUN=1.0*DIF(992)
!----- WHEEL PARTS
----- LEFT FRONT TIRE/WHEEL/BRAKE
PART/21,CM=2100,MASS= 17.00,IP=2.2250e+05,2.2250e+05,3.9900e+05
, 0.0000e+00,0.0000e+00,0.0000e+00
----- RIGHT FRONT TIRE/WHEEL/BRAKE
PART/22,CM=2200,MASS= 17.00,IP= 2.2250e+05,2.2250e+05,3.9900e+05
, 0.0000e+00,0.0000e+00,0.0000e+00
----- LEFT REAR TIRE/WHEEL/BRAKE
PART/67,CM=6700,MASS= 13.50,IP=2.2500e+05,3.9900e+05,2.2500e+05
, 0.0000e+00,0.0000e+00,0.0000e+00
----- RIGHT REAR TIRE/WHEEL/BRAKE
PART/68,CM=6800,MASS= 13.50,IP=2.2500e+05,3.9900e+05,2.2500e+05
, 0.0000e+00,0.0000e+00,0.0000e+00
!----- GFORCE STATEMENTS
GFORCE/1,I=10404,JFLOAT=4,RM=3 LEFT FRONT
, FUN = USER(909,1,5101,90,91,92,93,541,94)
GFORCE/2,I=10504,JFLOAT=5,RM=3 RIGHT FRONT
, FUN = USER(909,2,5102,90,91,92,93,542,94)
----- REAR TIRES
GFORCE/3,I=5223,JFLOAT=6,RM=3 LEFT REAR
, FUN = USER(909,3,5103,90,91,92,93,543,95)
GFORCE/4,I=5224,JFLOAT=7,RM=3 RIGHT REAR
, FUN = USER(909,4,5104,90,91,92,93,544,95)
!----- JPR_ARY PARAMETERS
ARRAY/555, NUM = 991, 992, 740, 740, 556
!----- WHL_ARY PARAMETERS
ARRAY/556
, NUM = 1, 2, 3, 4, 21, 22, 67, 68, 1, 2, 3, 4
jpr_ary = Id of array containing the necessary jprims, motions, sforce ids to perform the static
equilibrium
brk_flg = flag to specify whether deceleration should be applied as braking or throttle of
deceleration. For throttle off deceleration the applied deceleration is balanced by
forces/moments generated at the driven wheels. For braking deceleration the
deceleration is balanced by braking forces/moments at all wheels based on braking
ratios
1 - braking deceleration
0 - throttle off deceleration (default)
glon = Longitudinal acceleration/deceleration. Cornering event is performed at this specified
longitudinal g level.
positive value = acceleration
negative value = deceleration
glat = lateral acceleration applied to vehicle
positive value = right hand turn
negative value = left hand turn
radius = radius of turn (mm)
itrans = (Optional) flag indicating if user wants to begin a transient simulation after applying
the steady-state cornering equilibrium. The CONSUB will automatically update the
velocity initial conditions on all parts.
0 = FALSE : do not update part velocity initial conditions (default)
1 = TRUE : update part velocities so a transient solution can be run
bank = (Optional) bank angle in degrees with default being zero (deg)
positive value = road banks into corner (i.e. outside of turn is higher than inside of turn)
negative value = road is off-cambered and banks out of corner (i.e. inside of turn is
higher than outside of turn)
cg_id = (Optional) body C.G. MARKER id. Default is 5100
ijm = (Optional). I MARKER on steering wheel part of new steering system JOINT 740. If
= 0, CONSUB assumes default value of 1080
jjm = (Optional). J MARKER on auxiliary steering column of new steering system JOINT
740. If = 0, CONSUB assumes default value of 8010
halt = (Optional) parameter to terminate or continue a simulation after a static failure.
1 - terminate a simulation if user(1030) fails
0 - continue a simulation if user(1030) fails. The default value is 0.
origo = (Optional). Marker defining the coordinate system is which model was created.
(Standard Adams/Chassis models have vehicle forward as -X).Default marker id is 3
For modelers using the standards established in Adams/Chassis, this routine can be invoked by tying:
CONTROL/FUN=USER (1030,jpr_ary,brk_flg,glon,glat,radius)
Static Steady-State Straight Line Equilibrium 291
Solver Routines
When the user enters this command to run a constant cornering solution, the user code takes the following
steps:
1. A longitudinal and lateral gravity component is added to the gravity statement.
2. A force is applied to the auxiliary steering column joint, until the lateral forces at the C.G. JPRIM
are zero. For standard Adams/Chassis models, the joint, motion and force are numbered 740.
jpr_ary = Id of array containing the necessary jprims, motions, sforce ids to perform the static
equilibrium
vel = Logitudinal velocity of the vehicle. All part velocities will be set to this values after
statics in preparation of transient analysis
brk_flg = flag to specify whether deceleration should be applied as braking or throttle of
deceleration. For throttle off deceleration the applied deceleration is balanced by
forces/moments generated at the driven wheels. For braking deceleration the
deceleration is balanced by braking forces/moments at all wheels based on braking
ratios
1 - braking deceleration
0 - throttle off deceleration (default)
glev = longitudinal acceleration in g's (default is zero)
positive value = acceleration
negative value = deceleration
292 Adams/Chassis
Solver Routines
ijm = (Optional). I MARKER on steering wheel part of new steering system JOINT. If = 0,
CONSUB assumes default value of 1080
jjm = (Optional). J MARKER on auxiliary steering column of new steering system JOINT.
If = 0, CONSUB assumes default value of 8010
halt = (Optional) parameter to terminate or continue a simulation after a static failure.
1 - terminate a simulation if user(520) fails
0 - continue a simulation if user(520) fails. The default value is 0.
origo = (Optional). Marker defining the coordinate system is which model was created.
(Standard Adams/Chassis models have vehicle forward as -X).Default marker id is 3
sav_acc = (Optional). Flag to specify whether the applied acceleration/deceleration is to be
saved after statics in preparation of another analysis.
1 - Save the acceleration/deceleration
0 - Donot save the acceleration/deceleration (dafault)
For modelers using the standards established in Adams/Chassis, this routine can be invoked by typing:
CONTROL/FUN=USER (1020,555,vel)
When the user enters this command and runs a straight line equilibrium, the user code takes the following
steps:
1. The velocity specified is accessed and used in the tire forces calculation. A longitudinal tire
force/moment is applied to the tires in order to maintain the longitudinal reaction force at the
vehicle C.G. JPRIM is zero.
2. A force is applied to the auxiliary steering column joint until the lateral forces at the C.G JPRIM
are zero. For standard Adams/Chassis models these joint, motion and force are numbered 740.
Once a static solution has been found, a dynamic analysis can be requested in Adams without the
problems associated with initial tire transients and yaw angles.
2. A force is applied to the auxiliary steering column joint until the lateral forces at the C.G JPRIM
are zero. For standard Adams/Chassis models these joint, motion and force are numbered 740.
Once a static solution has been found, it is not recommended to follow the static equilibrium with a
dynamic analysis in Adams. This option is not yet coded.
id = Variable statement id
gain_ary = Array id specifying the propotional and integral gain for the controller
time_ary = Array id specifying the on/off time values for the braking controller
jprid = Body to ground stake jprim id
decel = (optional) Maximum deceleration allowed for the vehicle (G). Default value = 1.5 G
cg_mar = (optional)Vehicle body cm marker. default value = 5100
grd_mar = (optional)Ground origin marker. default value = 3
id = Variable statement id
gain_ary = Array id specifying the propotional and integral gain for the controller
time_ary = Array id specifying the on/off time values for the controller
294 Adams/Chassis
Solver Routines
id = Variable statement id
idsp = Drive torque-Engine speed-Throttle position Spline id
eng_spd = Variable id of engine speed Equation (calculated from wheel rotational velocities, drive
ratio etc)
1112, 1113
3
1114
itype ... rsc
id = Sforce statement id
imrk = Marker at which the torque is applied
jmrk = Marker at which the reaction torque is applied
splid = Id of spline representing the velocity difference and torque data
ilft = I marker of left halfshaft joint
jlft = J marker of left halfshaft joint
irgt = I marker of right halfshaft joint
jrgt = J marker of right halfshaft joint
sclfac = force/moment scale factor to convert from spline units to model units
where:
During transient simulation the variable determines the wheel velocity using standard Adams functions.
During statics it accesses the velocity from common block based on whlno.
where:
toram = MARKER located at the wheel center with the z axis pointed along the axis of positive
rotation (right-hand rule)
wnum = tire number
1 = left front
2 = right front
...
n = (up to 40 tires)
trad = tire free rolling radius (mm)
maxt = maximum allowable torque (N-mm)
maxve = maximum velocity error (mph)
wcgm = wheel CG MARKER number
Wheel Velocity Controllers for Adams 297
Solver Routines
Special Requests
Adams Request Four Pole Filter Model
This special REQUEST allows a user to model a four pole filter within Adams. The filter operates on
standard Adams output information to simulate the actual filtering of experimental test data. The filter is
modeled by a set of four DIFF statements, which reduce the filter's transfer function to four first order
differential equations. Therefore, four DIFF statements are required for each Adams output variable that
needs to be filtered. The fourth DIFF statement for each filter model utilizes the user written DIFSUB.
Input:
DIFF/id1, IC=0, FUNC=DIF(id2)
DIFF/id2, IC=0, FUNC=DIF(id3)
DIFF/id3, IC=0, FUNC=DIF(id4)
DIFF/id4, IC=0 , FUNCTION = USER (1101,r1,r2,icd,idi,idj,idr,id1,id2,id3,id4)
REQ/id, FUNCTION = USER (1120,id1)
where:
Description
id1 = identifier of the first DIFF statement
id2 = identifier of the second DIFF statement
id3 = identifier of the third DIFF statement
id4 = identifier of the fourth DIFF statement
r1 = the cutoff frequency of the filter to be modeled in ertz (see Notes section)
r2 = the capacitance of the filter to be modeled in Farads (see Notes section)
icd = a two digit digital code used to identify the desired information, which is obtained from
Adams and passed through the four pole filter. The first digit of the code identifies the type of
information to be filtered (i.e. displacement, velocity, acceleration, or force). The second digit
identifies the component (i.e. X, Y, Z, Ax, Ay, or Az).
23 velocity Z 43 force Z
24 velocity ang. about X 44 force ang. about X
25 velocity ang. about Y 45 force ang. about Y
26 velocity ang. about Z 46 force ang. about Z
Description
idi = identifier of the I MARKER used for requesting information, which passed through the filter
idj = identifier of the J MARKER used for requesting information, which passed through the filter
idr = identifier of the Reference MARKER used for requesting information, which passed through
the filter
id = identifier of the Adams REQUEST statement
r1 r2
Frequency (Hz) Capacitance (Farads)
8000 0.0010 E-6
6800 0.0012 E-6
4500 0.0018 E-6
3600 0.0022 E-6
2500 0.0033 E-6
1400 0.0056 E-6
800 0.0100 E-6
300 Adams/Chassis
Special Requests
The REQUEST statement shown above contains only one parameter in its call list (aside from the routine
number). It is possible to enter up to six DIFF statement id numbers. The first DIFF id entered would
cause the output of the DIFF statement to be stored in column 1 of the request file. The second id entered
would place the output of the DIFF statement in the second column and so on. This allows a user to write
separate filter DIFF statements for say roll angle, yaw rate, etc. but place all (up to six) in one REQUEST
statement. In doing so, the size of the request output file is reduced.
Description
m9lid = id of MARKER at point 9 (wheel center) on left side
m9rid = id of MARKER at point 9 (wheel center) on right side
m11lid = id of MARKER at point 11 (spindle alignment) on left side
m11rid = id of MARKER at point 11 (spindle alignment) on right side
xaxle = X coordinate of rear axle rear center
Description
m5id = id of MARKER at point 5 (upper spring mounting point)
m6id = id of MARKER at point 6 (lower ball joint)
m7id = id of MARKER at point 7 (upper ball joint)
m8id = id of MARKER at point 8 (lower spring mounting point)
m9id = id of MARKER at point 9 (wheel center)
mw10id = id of MARKER at point 10 (tire contact patch) on wheel
ms10id = id of MARKER at point 10 (tire contact patch) on spindle
m11id = id of MARKER at point 11 (spindle alignment point)
twid = suspension tread width at design (mm)
Description
accm = accelerometer MARKER id
ibdy = body cm MARKER id
scale = scale factor to be multiplied to the longitudinal and lateral accelerations (i.e. scale = 1.0
implies mm/sec**2 and scale = 1.0197E-4 provides g)
strat = steering ratio
lfwc = left front wheel center MARKER id
rfwc = right front wheel center MARKER id
lrwc = left rear wheel center MARKER id
rrwc = right rear wheel center MARKER id
Description
istop = simulation stop flag
0 = creates the "xfltire.doc" file and echo's each time the tire tested data is extrapolated.
1 = prints the extrapolation data to the screen and stops the simulation
Description
itire1 = number of first tire of which data is to be outputted
itire2 = number of second tire of which data is to be outputted
Description
lwcm = left wheel center MARKER id
rwcm = right wheel center MARKER id
brm = body reference MARKER id
Corrected Height Sensors 305
Special Requests
Description
imkr1 = i MARKER of MARKER pair 1
jmkr1 = j MARKER of MARKER pair 1
imkr2 = i MARKER of MARKER pair 2 (optional)
jmkr2 = j MARKER of MARKER pair 2 (optional)
306 Adams/Chassis
Special Requests
Description
imkr6 = i MARKER of MARKER pair 6 (optional)
jmkr6 = j MARKER of MARKER pair 6 (optional)
scale = scale factor to be multiplied to the answers (e.g. scale = 1.0 for millimeters and for inches
scale = 0.03937)
Note: The answers returned in this routine are normalized to be zero at TIME=0.
The calculated distance simulates a real height sensor on a vehicle, and takes into account roll and pitch
of vehicle. This is done by computing the combined roll-pitch angle for the marker, and dividing the
distance in the ground reference plane by cosine of this angle:
theta = asin(sqrt(sin(roll)**2+sin(pitch)**2))distance =
distance_in_ground_reference/cos(theta)
Input:
REQ/id, FUNCTION = USER (1141,imkr1,jmkr1,imkr2,jmkr2,...,imkr6,jmkr6,scale,rnum )
where:
Description
imkr1 = i MARKER of MARKER pair 1
jmkr1 = j MARKER of MARKER pair 1
imkr2 = i MARKER of MARKER pair 2 (optional)
Dual Ball Joint Geometry 307
Special Requests
Description
jmkr2 = j MARKER of MARKER pair 2 (optional)
imkr6 = i MARKER of MARKER pair 6 (optional)
jmkr6 = j MARKER of MARKER pair 6 (optional)
scale = scale factor to be multiplied to the answers (e.g. scale = 1.0 for millimeters and for inches
scale = 0.03937)
rnum = numbering parameter for the REQUEST. Each time this USER REQUEST is used in the
data set it must be numbered sequentially.
Description
m3id = id of MARKER at point 3 (front LCA pivot)
m4id = id of MARKER at point 4 (rear LCA pivot)
m6aid = id of MARKER at point 40 (front lower ball joint)
m6bid = id of MARKER at point 6 (rear lower ball joint)
mw7id = id of MARKER at point 7 (upper ball joint) on wheel
m10id = id of MARKER at point 10 (tire contact patch)
m9id = id of MARKER at point 9 (wheel center)
ms11id = id of MARKER at point 11 (spindle alignment point) on spindle
308 Adams/Chassis
Special Requests
Description
m3id = id of MARKER at point 3 (front LCA pivot)
m4id = id of MARKER at point 4 (rear LCA pivot)
m6aid = id of MARKER at point 40 (front lower ball joint)
m6bid = id of MARKER at point 6 (rear lower ball joint)
mw7id = id of MARKER at point 7 (upper ball joint) on spindle
ms10id = id of MARKER at point 10 (tire contact patch) on spindle
m9id = id of MARKER at point 09 (wheel center) on spindle
m11id = id of MARKER at point 11 (spindle alignment point)
m12id = id of MARKER at point 12 (outer tie rod ball)
m14id = id of MARKER at point 14 (inner tie rod ball) on vehicle
mg14id = id of MARKER at point 14 (inner tie rod ball) on the ground
Front Suspension Anti-lift and Anti-squat 309
Special Requests
Description
m9id = MARKER id for point 9 (wheel center)
mw10id = id of a MARKER at point 10 (tire contact patch) attached to body
mb10id = id of a MARKER at point 10 (tire contact patch) attached to wheel
wb = vehicle wheel base (mm)
pbrk = percentage of braking at front axle (between 0 and 100)
cgh = height of vehicle center of gravity (mm)
Description
spn_mar = wheel center marker on spindle
bdy_mar = marker on body at the location of wheel center
low_shk_mar = lower shock or spring marker id
up_shk_mar = upper shock or spring marker id
Description
imkr1 = i MARKER of MARKER pair 1
jmkr1 = j MARKER of MARKER pair 1
imkr2 = i MARKER of MARKER pair 2 (optional)
jmkr2 = j MARKER of MARKER pair 2 (optional)
imkr6 = i MARKER of MARKER pair 6 (optional)
jmkr6 = j MARKER of MARKER pair 6 (optional)
scale = scale factor to be multiplied to the answers (e.g. scale = 1.0 for millimeters and for inches
scale = 0.03937)
rnum = numbering parameter for the REQUEST. Each time this USER REQUEST is used in the
data set, it must be numbered.
Description
qhm = Q-Head MARKER id on body
lhm = L-Head MARKER id on body
bcgm = Body C.G. MARKER id on body
lfwcm = Left front wheel center MARKER id
rfwcm = Right front wheel center MARKER id
lrwcm = Left rear wheel center MARKER id
rrwcm = Right rear wheel center MARKER id
grm = Ground reference MARKER id
Description
m9id = MARKER id for point 9
mw10id = id of a MARKER at point 10 attached to wheel
mb10id = id of a MARKER at point 10 attached to body
wb = vehicle wheel base (mm)
pbrk = percentage of braking at front axle (between 0 and 100)
cgh = height of vehicle center of gravity (mm)
where:
Description
m6id = id of MARKER at point 6 (lower ball joint)
m7id = id of MARKER at point 7 (upper ball joint)
m9id = id of MARKER at point 9 (wheel center)
m10id = id of MARKER at point 10 (tire contact patch)
m11id = id of MARKER at point 11 (spindle alignment point)
where:
Description
fhm = MARKER id of front Q-head (fixed to the sprung mass)
rhm = MARKER id of rear Q-head (fixed to the sprung mass)
grnd = MARKER id of a point on the ground in global reference frame orientation
cgm = MARKER id of a point on the sprung mass where the sideslip angle is to be calculated.
scale = scale factor to be multiplied to the front and rear Q-head lateral velocities (i.e. scale = 1.0
implies mm/sec and scale = 2.237E-3 provides mph)
Spindle Statistics
Computes kingpin inclination, kingpin rotation, and wheel center elevations for the left and right spindles
Input:
REQ/id, FUNCTION = USER (1107,lkm,lkrm,lwcm,rkm,rkrm,rwcm )
316 Adams/Chassis
Special Requests
where:
Description
lkm = left kingpin MARKER id
lkrm = left kingpin reference MARKER id
lwcm = left wheel center MARKER id
rkm = right kingpin MARKER id
rkrm = right kingpin reference MARKER id
rwcm = right wheel center MARKER id
where:
Description
swm = steering wheel MARKER id used in steering wheel MOTION statement
swrm = steering wheel reference MARKER id on body used in steering wheel MOTION statement
ism = intermediate shaft MARKER id at the upper end of the rag joint
gism = steering gear input shaft MARKER id
gisrm = steering gear input shaft reference MARKER id on steering gear
tsc = scale factor used to change units on the torque values
if tsc = 1.00 then steering torque is in N-mm
if tsc = 0.0088512 then steering torque is in in-lbs
swrm2 = secondary steering wheel reference MARKER id
isrm = intermediate shaft reference MARKER id at the upper end of the rag joint
Description
swmid = steering wheel motion id
swm = steering wheel MARKER id used in steering wheel MOTION statement
swrm = steering wheel reference MARKER id on body used in steering wheel MOTION
statement
ism = intermediate shaft MARKER id at the upper end of the rag joint
gism = steering gear input shaft MARKER id
gisrm = steering gear input shaft reference MARKER id on steering gear
tsc = scale factor used to change units on the torque values
if tsc = 1.00 then steering torque is in N-mm
if tsc = 0.0088512 then steering torque is in in-lbs
swrm2 = secondary steering wheel reference MARKER id
isrm = intermediate shaft reference MARKER id at the upper end of the rag joint
Note: Branch 1118 uses steering wheel motion id as an additional parameter. This parameter is
necessary if the user is interested in the frictional moments that acts at the steering wheel
joint and is using Adams 9.0 or higher.
318 Adams/Chassis
Special Requests
Steering Statistics
Computes steering wheel rotation, pitman arm rotation or rack translation, and (for steering gear w/
pitman only) rotation difference between steering wheel and pitman arm. Information about the actual
steering wheel joint rotation, joint 735, is also presented as is the angle in the SIM/STAT joint.
Input:
REQ/id, FUNCTION = USER (1103,type,swm,swrm,prm,prrm,ratio,swrm2 )
where:
Description
type = Steering type
0 =Steering gear with pitman arm
1 = Rack and pinion steering
swm = Steering wheel MARKER id
swrm = Steering wheel reference MARKER id
prm = Pitman or rack MARKER id
prrm = Pitman or rack reference MARKER id
ratio = Steering gear ratio
swrm2 = secondary steering wheel reference marker
involves string pot measurements at all four wheels. All string pot deflections, roll angle, and pitch angle
are normalized to zero at TIME = 0.
Input:
REQ/id, FUNCTION = USER
(1115,lfbm,lfwm,rfbm,rfwm,lrbm,lrwm,rrbm,rrwm,scale)
where:
Description
lfbm = left front string pot body MARKER id
lfwm = left front string pot wheel MARKER id
rfbm = right front string pot body MARKER id
rfwm = right front string pot wheel MARKER id
lrbm = left rear string pot body MARKER id
lrwm = left rear string pot wheel MARKER id
rrbm = right rear string pot body MARKER id
rrwm = right rear string pot wheel MARKER id
scale = scale factor to by multiplied to string pot displacements (e.g. scale = 1.0 for millimeters and
for inches scale = .03937)
where:
Description
rfspd = right front string pot deflection
lfspd = left front string pot deflection
rrspd = right rear string pot deflection
lrspd = left rear string pot deflection
fdy = lateral distance between front string pots
rdy = lateral distance between rear string pots
wbase = vehicle wheelbase
Description
fscale = scale factor to be multiplied to the translational forces (1.0 = Newton's)
mscale = scale factor to be multiplied to the rotational moments (1.0 = N-mm)
tire(1)...tire(n) = tire number as specified in GFORCE statements
where:
Description
lkim = left kingpin intersection MARKER id
lkam = left kingpin axis MARKER id
lwcm = left wheel center MARKER id
rkim = right kingpin intersection MARKER id
rkam = right kingpin axis MARKER id
rwcm = right wheel center MARKER
brm = body reference MARKER (body center-of-mass MARKER)
stflg = flag = 0 steered axle so caster is computed
flag = 1 non-steered axle so caster is not computed
Option B:
REQ/id, FUNCTION = USER (1101,0.0,lkam,lwcm,0.0,rkam,rwcm,brm,stflg)
where:
Description
lkam = left kingpin axis MARKER id
lwcm = left wheel center MARKER id
rkam = right kingpin axis MARKER id
rwcm = right wheel center MARKER id
brm = body reference MARKER id
stflg = flag = 0 steered axle so caster is computed
flag = 1 non-steered axle so caster is not computed
Two options are available for input. Output is the same regardless of which input option is used. Input
option A uses three MARKERs per side to determine the kingpin axis and the spindle axis. Option B uses
two MARKERs per side to determine the kingpin and spindle axis.
For option A the spindle axis is defined by a line from the kingpin intersection MARKER to the wheel
center MARKER. Similarly, the kingpin axis is defined by a line from the kingpin intersection MARKER
to the kingpin axis MARKER. The kingpin axis MARKER must be above the kingpin intersection
MARKER. All three MARKERs are on the knuckle. Orientation of the MARKERs does not affect the
output.
For option B the spindle axis and kingpin axis are defined by the Z axes of the wheel center MARKER
and kingpin axis MARKER respectfully. The Z axis of the wheel center MARKER must be perpendicular
to the wheel plane and must point away from the body centerline. The Z axis of kingpin axis MARKERs
must be parallel to the kingpin axis and point upward away from ground. Both MARKERs are on the
knuckle. The body reference MARKER is on the body and has the same initial orientation as the global
reference frame.
The sign convention is:
Positive toe: Toe in
Positive Camber: Top of tire out
Turn Radius
This function calculates the turn radius of the vehicle
Input
REQ/id, FUNCTION = USER (1140,imrkr,jmrkr,scale)
where:
Description
imrkr = I MARKER id
jmrkr = J MARKER id
scale = scale factor for turn radius
Turn Statistics
Computes the ideal steer radius, average steer angle, outside turn diameter, either linkage ratio or rack-
and-pinion ratio, Ackerman angle, and percent Ackerman
Input:
REQ/id, FUNCTION =
USER(1106,type,wb,width,lwcm,lkm,rwcm,rkm,pm,prm,rm,rrm,brm,iack)
where:
Description
type = steering type
0 = steering gear with pitman arm
1 = rack-and-pinion steering
wb = wheel base (mm)
width = wheel width (mm)
lwcm = left wheel center MARKER id
lkm = left kingpin MARKER id
rwcm = right wheel center MARKER id
rkm = right kingpin MARKER id
pm = pitman or pinion MARKER id
prm = pitman or pinion reference MARKER id
rm = rack MARKER id (only for rack-and-pinion steering)
Turn Statistics 327
Special Requests
Description
rrm = rack reference MARKER id (only for rack-and-pinion)
brm = body reference MARKER id (usually body center of mass)
iack = Ackerman formula selection flag (1 for Truck method)
if iack = 0 % Ackerman = ( ai - ao ) / ( aic - aoc )
if iack = 1 % Ackerman = ( ai - ao ) / ( ai - aob )
where:
If the vehicle has rack-and-pinion steering, the pinion MARKER is on the pinion at the body-to-pinion
joint with its ZP at the pinion axis point. The pinion reference MARKER has the same location and
orientation as the pinion MARKER, but the pinion reference MARKER is located on the body rather than
on the pinion. For rack-and-pinion steering, the rack MARKER is on the rack at the rack-to-body joint
with its Z axis pointing in the global negative Y direction. The rack reference MARKER has the same
location and orientation as the rack MARKER, but the rack reference MARKER is on the body rather
than on the rack. The body reference MARKER is on the body and has the same initial orientation as the
global reference frame.
Vector Scaling
Scales the translational and/or rotational vectors for any displacement, velocity, acceleration, or force
request.
Input:
REQ/id, FUNCTION = USER (1114,itype,imrkr,jmrkr,rmrkr,tsc,rsc)
Vehicle Dynamics 329
Special Requests
where:
Description
itype = type of request
1 = displacement
2 = velocity
3 = acceleration
4 = force
imrkr = I MARKER id
jmrkr = J MARKER id
rmrkr = reference MARKER id
tsc = scale factor to be multiplied to the translational vectors
rsc = scale factor to be multiplied to the rotational vectors
Vehicle Dynamics
Computes vehicle handling statistics such as lateral acceleration, yaw rate, roll angle, pitch angle, body
sideslip angle, and longitudinal velocity in standard testing units. Lateral acceleration can be determined
for vehicle roll (with/without correction to gravity due to roll and pitch) and for chasis roll (with/without
correction to gravity due to roll and pitch).
Input:
REQ/id, FUNCTION =
USER(1090,bcgm,ignd,ibdy,scale,int_branch,lfbwc,lfwc,rfbwc,rfwc,lrbwc
,lrwc,rrbwc,rrwc,scale)
330 Adams/Chassis
Special Requests
where:
1 - Ay in body frame, corrected with respect to roll and pitch (Ay as Adams measures)
2 - Ay in body frame, uncorrected (Ay as an accelerometer would measure)
3 - Ay in body frame, corrected with respect to suspension roll and pitch
4 - Ay in body frame, uncorrected with respect to suspension roll and pitch
lfbwc = (optional) marker on body at left front wheel center MARKER id
lfwc = (optional) left front wheel center MARKER id
rfbwc = (optional) marker on body at right front wheel center MARKER id
rfwc = (optional) right front wheel center MARKER id
lrbwc = (optional) marker on body at left rear wheel center MARKER id
lrwc = (optional) left rear wheel center MARKER id
rrbwc = (optional) marker on body at right rear wheel center MARKER id
rrwc = (optional) right rear wheel center MARKER id
scale = (optional) scale factor (e.g. scale = 1.0 for millimeters and for inches scale = .03937)
When running with the extra correlation requests, both request 1041 and request 51050 will be affected
by this option. Request 51050 is used for the test accelerometer lateral acceleration.
Request File Output
Column Number Output:
1. Lateral acceleration (g's)
2. Yaw rate (deg/sec)
3. Vehicle body roll angle (deg)
4. Pitch angle (deg)
5. Vehicle sideslip angle (deg)
6. Longitudinal velocity (mph or kph)
Notes on Input and Output
This routine is very useful in model correlation studies where model results are compared to actual
vehicle test data for a given maneuver. For this type of comparison, it is important to place the
instrumentation MARKER at the exact location where the lateral acceleration transducer was located in
the test vehicle. Parameters 7-15 are necessary only when int_branch is set to 3 or 4. In this case, the
function calls string potentiometer function (user1115) to determine the suspension roll and pitch.
Description
bcg = test equipment MARKER id
grnd = ground reference MARKER id. For models created in a coordinate system other than
Standard ADAMs/Chassis, the origo MARKER id should be passed as grnd (origo
marker represents a marker on ground in whose coordinate system the vehicle is built)
ibdy = body cm MARKER id
332 Adams/Chassis
Special Requests
Description
int_branch = internal branch id to specify correction to lateral acceleration. For standard
Adams/Chassis models the interal branch id used for vehicle statics request (ID =
1090) will be used for this request also.
1 - As original, uncorrected to gravity, vehicle roll and pitch
2 - Lateral acceleration corrected gravity, vehicle roll and pitch
swm = steering wheel MARKER id
swrm = steering wheel reference MARKER id on body
lfw = wheel number of left front wheel
rfw = wheel number of right front wheel
lrw = wheel number of left rear wheel
rrw = wheel number of right rear wheel
lfwc = left front wheel center MARKER id
rfwc = right front wheel center MARKER id
lrwc = left rear wheel center MARKER id
rrwc = right rear wheel center MARKER id
oratio = overall steering system ratio. This is computed by dividing the steering wheel angle
by the average front toe angle for a 90 degree steering wheel angle input at zero
vehicle velocity
proll = maximum allowable body roll angle in a simulation in degrees
Description
lfid = id of a MARKER on the sprung mass at the left front wheel center
rfid = id of a MARKER on the sprung mass at the right front wheel center
lrid = id of a MARKER on the sprung mass at the left rear wheel center
rrid = id of a MARKER on the sprung mass at the right rear wheel center
swid = steering wheel MARKER id used in revolute JOINT to body
stbid = body MARKER id used in revolute JOINT with steering wheel
ratio = overall steering system ratio (steering wheel turns per unit average toe angle)
bcgid = id of any MARKER on the body (i.e. 5100 is recommended)
where:
Description
Vy = lateral velocity at point on the body centerline at axle
Vx = longitudinal velocity at point on body centerline at axle
SWA = steering wheel angle
ratio = overall steering system ratio
Description The Steer (King Pin) Axis - Road Plane Intersection is the location where the
steer axis and the road plane intersect.
Units Length
Request Names • steer_axis_road_intersection.x_left
• steer_axis_road_intersection.y_left
• steer_axis_road_intersection.z_left
• steer_axis_road_intersection.x_right
• steer_axis_road_intersection.y_right
• steer_axis_road_intersection.z_right
Inputs • King Pin (steer) axis location (KPP) left and right
• King Pin (steer) axis unit vector (kpv) left and right
• Road plane location (RPL) left and right
• Road normal unit vector (rnv)
Wheel Slip Angles 337
Steer (King Pin) Axis - Road Plane Intersection
Method The distance from the king pin (steer) axis location to the road plane in the
direction of the road normal is:
(RPL-KPP) o rnv
Then the scalar distance from the king pin location along the king pin axis to
the road is given by:
Note that for many suspensions, for example a MacPherson Strut or Double
Wishbone Suspension, the location of the king pin (steer) axis is given at the
center of the ball joint connecting the lower control arm to the suspension
upright. Therefore the distance (D) from this point to the road plane along the
road normal is negative.
The location of the steer axis road plane intersection point is given by:
Finally the vector position SRI of the steer axis road plane intersection is
decomposed into its x, y, z components.
Request Statements Steer Axis Road Plane Intersection
REQUST/id,
FUNCTION=USER(900,48,characteristics_input_array_id)/
Nomeclature • Bold text in uppercase letters, such as R, shows vectors.
• Bold text in lowercase letters, such as u_lon, shows unit vectors.
• X is the vector cross product operator.
• o is the vector dot product operator.
• * is the scalar multiplication operator.
• | R | is the length (norm) of the vector R.
338 Adams/Chassis
Steering Arm Length
Description The steering arm length is the shortest distance between the King Pin (steer)
Axis and the connection of the tie rod to the suspension upright.
Units Length
Request Names • steering_arm.length_left
• steering_arm.length_right
Inputs • King Pin (steer) axis location (KPP) left and right
• King Pin (steer) axis unit vector (kpv) left and right
• Tie rod to suspension upright location (TR0) left and right
Wheel Slip Angles 339
Steering Arm Length
Method The vector R from the connection of the tie rod to the suspension upright
location (TRO) to the King Pin (steer) axis location (KPP) is difference
between the two locations:
R = KPP - TRO
This vector R may be decomposed into two vectors: One vector parallel to the
King Pin Axis and one vector perpendicular to the King Pin Axis. The length
of the vector perpendicular to the King Pin (Steer) Axis is the steering arm
length. The portion of R parallel to the steer axis SP is given by the dot product
of R with the King Pin Axis unit vector (kpv):
SP = (R o kpv) kpv
The portion of R perpendicular to the steer axis, the steering arm vector (SA),
then is:
SA = R - (R o kpv) kpv
Note the steering arm vector (SA) is used as an input to calculate the steering
arm tie rod toggle angle. The magnitude of the steering arm vector is the
steering arm length.
steering_arm.length = | SA |
REQUST/id,
FUNCTION=USER(900,49,characteristics_input_array_id, ,
left_tie_rod_outer_id, , left_tie_rod_inner_id, ,
right_tie_rod_outer_id, , right_tie_rod_inner_id)/
340 Adams/Chassis
Steering Arm Length
Description The steering arm tie rod toggle angle is the angle measured from the tie rod
to the steering arm in plane formed by steering arm and tie rod.
Units Angle
Request Names • steering_arm.toggle_angle_left
• steering_arm.toggle_angle_right
Inputs • Kingpin (steer) axis location (KPP) left and right
• Kingpin (steer) axis unit vector (kpv) left and right
• Tie rod to suspension upright location (TR0) left and right
• Tie rod to steering location (TRI) left and right
342 Adams/Chassis
Steering Arm Toggle Angle
Method The vector T from the tie rod to the suspension upright location or tie rod
outer (TRO) to the tie rod to steering system or tie rod inner (TRI) is given
by the difference between the two locations:
T = TRI - TRO
For suspensions having a relay rod to transmit steering motion from one
suspension upright to the other, the right side tie rod outer location is used as
the left side tie rod inner. Likewise the left side tie rod outer is used for the
tie rod inner for the right side. The cross product of T with the steering arm
vector SA gives a vector N perpendicular to the plane containing T and SA
N = T x SA
And the cross product of N with T gives a vector B that lies in the plane
formed by T and SA that is perpendicular to T
B=NxT
The unit vectors t and b in the directions of T and B are given respectfully by:
b = B/|B|
t = T/|T|
Finally, the steering arm toggle angle is given by the arc tangent of ratio of
component of the steering arm vector in direction b to the component of SA
in the direction of T:
REQUST/id,
FUNCTION=USER(900,49,characteristics_input_array_id,
, left_tie_rod_outer_id,
, left_tie_rod_inner_id,
, right_tie_rod_outer_id,
, right_tie_rod_inner_id)/
Nomeclature • Bold text in uppercase letters, such as R, shows vectors.
• Bold text in lowercase letters, such as u_lon, shows unit vectors.
• X is the vector cross product operator.
• o is the vector dot product operator.· * is the scalar multiplication
operator.
• | R | is the length (norm) of the vector R
Wheel Slip Angles 343
Steering Subsystems
Steering Subsystems
344 Adams/Chassis
Steering Subsystems
Geometry Hardpoints
30 steering_wheel_center 31 tilt_ujoint
32 upper_ujoint 34 lower_ujoint
36 steering_gear_input_shaft 15 sector_shaft_bottom
22 sector_shaft_top 93 pitman_ball_alignment
41 gear_mount1 42 gear_mount2
43 gear_mount3
346 Adams/Chassis
Steering Subsystems
Geometry Hardpoints
30 steering_wheel_center 31 tilt_ujoint
32 upper_ujoint 34 lower_ujoint
36 steering_gear_input_shaft
13 pitman_idler_arm_ball 16 pitman_idler_arm_ball
(left) (right)
15 sector_bottom_idler (left) 18 sector_bottom_idler (right)
22 sector_top_idler (left) 23 sector_top_idler (right)
41 gear_mount1 42 gear_mount2
43 gear_mount3
348 Adams/Chassis
Steering Subsystems
Geometry Hardpoints
30 steering_wheel_center 31 tilt_ujoint
32 upper_ujoint 34 lower_ujoint
15 pinion_pivot 16 center_of_rack
41 rack_house_mount (left) 42 rack_house_mount (right)
43 rack_house_mount3 (left) 44 rack_house_mount3 (right)
Rack Based 4 Wheel Steering System 351
Steering Subsystems
Geometry Points
15 pinion_pivot 16 center_of_rack
22 pinion_top
41 rack_house_mount (left) 42 rack_house_mount (right)
315 rearsteer_pinion_pivot 316 rearsteer_center_of_rack
322 rearsteer_pinion_top
51 rack_to_axle (left) 52 rack_to_axle (right)
343 rearsteer_rack_spring_stop
352 Adams/Chassis
Steering Subsystems
Geometry Hardpoints
30 steering_wheel_center 31 tilt_ujoint
32 upper_ujoint 34 lower_ujoint
36 piston_worm_gear 15 sector_shaft_bottom
22 sector_shaft_top 93 pitman_ball_alignment
41 gear_mount1 42 gear_mount2
43 gear_mount3
354 Adams/Chassis
Steering Subsystems
Geometry Hardpoints
30 steering_wheel_center 31 tilt_ujoint
32 upper_ujoint 34 lower_ujoint
45 swinglink_1_to_link2 46 lower_ishaft_to_swinglink
47 bottom_of_swinglink (left)
Tilt Bracket Steering Column 355
Steering Subsystems
Geometry Hardpoints
30 steering_wheel_center 32 upper_ujoint
34 lower_ujoint 28 tilt_bracket_to_body
29 tilt_bracket_to_column (only for graphics)
356 Adams/Chassis
String Functions
String Functions
Select a string function:
• sprintf
• strcat
• strcmp
• strncmp
• strcpy
• strlen
• strstr
• strsubstr
• strtrim
• strsplit
• strtolower
• strtoupper
sprintf
Writes text and variable values to a string.
sprintf((String) str1,"format string",...)
strcat
Concatenates a string onto another.
strcat((String) str1, (String) str2)
str1 - Is string variable which will be added to. Returns with the concatenation of both strings.
str2 - Contains string to concatenate to str1.
strcmp 357
String Functions
Note: The addition operator may be used with strings to simulate strcat() i.e. strvar = "file" +
".dat".
strcmp
Compares two strings.
(int) same = strcmp((string) str1, (string) str2)
same - Returned as 0 if the strings are the same, positive if the 2nd string precedes the first
alphabetically, and negative if the 1st string precedes the 2nd string alphabetically.
str1 - 1st of the two strings to be compared
str2 - 2nd of the two strings to be compared
strncmp
Compares the first n characters of two strings.
(int) same = strncmp((string) str1, (string) str2, (int) n)
same - Returned as 0 if the first n characters of the strings are the same, positive if the 2nd string
precedes the first alphabetically, and negative if the 1st string precedes the 2nd string
alphabetically.
str1 - 1st of the two strings to be compared
str2 - 2nd of the two strings to be compared
strcpy
Copies one string into a variable.
strcpy((string) str1, (string) str2)
str1 - Variable into which the string will be copied
str2 - String to copy into str1
strlen
Returns the length of the string
358 Adams/Chassis
String Functions
strsubstr
Returns the substring of a string specified by the start and len arguments
(string) str2 = strsubstr((string) str1, (int) start, (int) len)
strtrim
Remove leading and trailing spaces of a string if they exist
(string) str2 = strtrim((string) str1)
strsplit
Splits a string at a specified character.
(int) pos = strsplit((string) str1, (string) str2, (string) str3)
pos - returned as the position where the string str3 was found. If the substring is not found a -
1 is returned and the string is not split.
str1 - Contains the 1st Half of the split string if the string is split otherwise it will contain str2.
str2 - The string to be split
str3 - Contains the substring to split str2
strstr
Search one string for the other string
(int) position = strstr((string) str1, (string) str2)
postion - Returned as -1 if the str2 does not exist in str1 otherwise return first position at which str2
occurs in str1.
str1 - string to be searched
str2 - string to search for
strtolower
Converts text to all lower case.
strtoupper 359
String Functions
strtolower((string) str1)
str1 - string to be converted to lowercase, converted string is returned in str1
strtoupper
Converts text to all upper case.
strtoupper((string) str1)
str1 - string to be converted to uppercase, converted string is returned in str1
360 Adams/Chassis
SVC-Iterate J-Turn Cargo Loading Process
Treeview
The treeview is a hierarchical listing of objects in your current session. It appears along the left side of
the Adams/Chassis window. The tree is especially useful in selecting and identifying objects when you
are creating/modifying a model. Learn more about Using the Treeview.
assign 363
Utility Functions
Utility Functions
Select a utility function:
• assign • include
• atof • info
• atoi • itoa
• dime • loadtables
• ftoa • listfile
• getindex • system
• ifdef • transpec
• Table Format Keywords
assign
Assign a series of values to a variable. Either the x, y, and z components to a point variable or numerous
values to int or double array. A description of the variable is an optional argument and must occur as the
last argument in the list.
point pt
assign((point) pt,(double) x,(double) y,(double) z,
[(string) description])
double val[4]
assign((double) val,(double) a,(double) b,(double) c,
(double) d, [(string) description])
atof
Converts a String to a double numeric value
(double) val = atof((String) txt)
Note: If the String is NULL (zero length) a warning message is generated and 0.0 is returned.
If a quoted String is the input a warning message is generated indicating misuses of this
function.
364 Adams/Chassis
Utility Functions
atoi
Converts a String to an init numeric value
(int) val = atoi((String) txt)
Note: If the String is NULL (zero length) a warning message is generated and zero is returned.
If a quoted String is the input a warning message is generated indicating misuses of this
function.
dime
Determines the dimension of a variable
(int) size = dime(var,(int) dim)
size dimensioned size of the variable. If the variable does not exist a negative number will be
returned, otherwise the dimensioned size of the variable will be returned.
var variable being checked
dim which dimension to check
(0 -> number of rows, 1-> number of columns) If dim is greater than 100, the dime()
function returns a numeric representation of that variables data type.
(int = 101, double = 102, point = 103, String = 104, line = 105)
ftoa
Converts a number to a double string value
(string) txt = ftoa((double) number)
ifdef
Processes a list of variables and returns the value of the first declared variable. Applicable to int, double
and point data types.
(int) inum = ifdef((int) inum1, (int) inum2, ...)
(double) dnum = ifdef((double) dnum1, (double) dnum2, ...)
(point) pt = ifdef((point) pt1, (point) pt2, ...)
Note: Could be used for alignment, if first point is declared use it, otherwise use the next point or
the following.
getindex
Returns the index of an array member if the member value matches the sought_value, otherwise returns
-1.
int = getindex(array, sought_value,[pattern match type])
int - The index of the array member if the sought value is found in the array, -1 if not
found
array - A previously defined single dimension array of type int, double or string
sought_value - The value sought in each array member.
match_type - Optional int value is only used when using getindex() in conjuction wiht String
arrays. A value of [1] implies a straight strcmp() type comparision (exact pattern
match) A value of 2 implies a straight strstr() type comparision (exact pattern exists
in array member) A value of 11 implies a shift tolower and strip white space then do
strcmp() A value of 12 implies a shift tolower and strip white space then do strstr().
include
Opens another file to be interpreted and included in the output file.
include((String) file)
file name of the file to be included. Environment variables may be used i.e.
include("$HOME/usr/file.aft")
Note: 1. Normally the filename being included is not echoed to the screen.
However, adding "-v 571" to the argument list of afm will invoke the verbose mode
for the include function and echo the included filenames. (OBSOLETE in version
7.xx and greater).
2. Under afm versions greater than 6.0910, use the '-vs1' command line option.
3. Any file to be included must end in either .aft or .cft.
info
Prints a listing of the variables and their values to standard io or to a file depending on the argument
passed.
366 Adams/Chassis
Utility Functions
info((int) i)
If 100 is added to the above numbers the output will be written to a file called "rdp_info.tmp" in the
current directory, otherwise output will go to standard io. Be cautious when using info() and writing to
"rdp_info.tmp". This file can become quite large because information is appended to this file with each
invocation of info(). It is best to delete this file as soon as possible.
If 200 is added to the above numbers the output will be written to a file called "rdp_info.aft" in the current
directory. This file is formated to be used as a declaration .aft file. Be cautious when using info() and
writing to "rdp_info.aft". This file can become quite large because information is appended to this file
with each invocation of info(). It is best to delete this file as soon as possible.
If 300 is added to the above numbers the output will be written to the current afm output file. 5. 46 - output
all the data file data segment KEYWORDS 6. 60 - output all the rdp internal function names
itoa
Converts a number to an integer string value
(string) txt = itoa((int/double) number)
loadtables
Declare and assign GLOBAL variables via a data file using TABLE or SCALAR formats.
loadtables((string) filename)
filename - name of the file to be loaded.
The SCALAR function is especially useful when you require several "one-off" variables where the use
of any array would be confusing. For example, putting unrelated options under a single array (via a
TABLE) makes the data sequence dependent and renders naming conventions difficult to follow.
General Rules
The data sections begin with the keyword TABLE or SCALAR.
The data sections follow the same general rules as used by all AFM data file parsing. A couple worth
restating are:
1. The end of a section is defined by a blank/empty line. That means no spaces or anything. Just ain
col zero.!!
2. All data must reside entirely within "data-columns" as defined by the dashed lines. (Dashes, not
underscores.) Data lying entirely outside of, and to the right of the last "data-column" is ignored.
3. Any of the keywords defining the beginning of a data section like "TABLE" and "SCALAR" must
me uppercase.
Variable Names
It should be noted that the variable names are NOT prefixed based on the data table in which they reside.
For example, in a rear suspension data file, most variables are preceded with "r_". In general,
automatically named and declared variables are prefixed with the first character of the datafile name's
extension. Thus variables from a front suspension subsystem file are "f_var..." and ones from a steering
subsystem file are "s_var...". Examples are points (f_pt9) and bushing stiffnesses (r_bus_kcr).
Variables created by TABLE or SCALAR sections are not prefixed. If you want a prefix, you must add
it yourself.
TABLE
There are six variations of the TABLE option:
INT - Declares an array of integers
DOUBLE - Declares an array of doubles
STRING - Declares an array of strings
GEOMETRY - Declares a set of individual points
INT_COMMENT - Same as INT, but includes a string array of
comments
DOUBLE_COMMENT - Same as DOUBLE, but includes a string array of
comments
General format is:
TABLE INT varname
-- -- ----- -----
1 11 1111 1111
2 22 2222 2222
or
368 Adams/Chassis
Utility Functions
TABLE Examples
TABLE INT integer_vars
-- -- --
0 00 11
22 33 44
Results:
integer_vars_row_cnt = 2
integer_vars[0][0] = 0
integer_vars[0][1] = 0
integer_vars[0][2] = 11
integer_vars[1][0] = 22
integer_vars[1][1] = 33
integer_vars[1][2] = 44
TABLE DOUBLE double_vars
---------
0.0
0.
0
1
1.
1.234
0.123e+02
6.02e+24
Results:
double_vars_row_cnt = 8
double_vars_[0] = 0
double_vars_[1] = 0
double_vars_[2] = 0
double_vars_[3] = 1
double_vars_[4] = 1
double_vars_[5] = 1.234
double_vars_[6] = 12.34
double_vars_[7] = 6.02e+24
Note:
1) Notice the decimal is not required.
The explicit ".0" ending is recommended for clarity
TABLE and SCALAR Data File Keywords 369
Utility Functions
extra_points[0][2] = 333.33
extra_points[1][0] = 444.44
extra_points[1][1] = -555.55
extra_points[1][2] = 666.66
extra_points_com[0] = "A pivot point"
extra_points_com[0] = "Another point"
Note
1) As mentioned in a previous example, both the row and
column pointers must be used. For example, a
reference
of "extra_points[1]" returns a zero.
2) The "comments" however, only require a row
reference,
since there can only be one comment per row.
SCALAR
There are three variations of the SCALAR option:
SCALAR INT
------------------ -------- ----
Description text varname 123
SCALAR Examples
SCALAR INT
--------------------------------- ----------- --
INCLUDE OPTION XYZ 1=YES 2=NO opt_xyz 1
DO WANT GRAPHICS 1=YES 2=NO gra_inc 2
NUMBER OF PASSENGERS num_pas 8
Results
opt_xyz = 1
gra_inc = 2
num_pas = 8
SCALAR DOUBLE
--------------------------------------- ---------- -----------
Length of the part r_prt_len 5
Shoe size (to the nearest 1/2 size) shoe_size 9.5
Weight of payload (in pounds) payload 5.2000e+2
Results
r_prt_len = 5.0
SCALAR 371
Utility Functions
shoe_size = 9.5
payload = 520.0
SCALAR TYPE
--------------------------------------- ---------- -------------
------
Length of the part r_prt_len 5
int
Shoe size (to the nearest 1/2 size) shoe_size 9.5
double
H point H_POINT 0.0 0.0 20.0
point
Vehicle name vname VW
string
Special Cases
The parsing of the TABLE and SCALAR data is quite robust, but the data format must follow fairly
explicit rules. See the document on data files.
TABLE INT ok
------ -------
1.99 4
5 6
Results
ok_row_cnt = 2
ok[0][0] = 1
ok[0][1] = 4
ok[1][0] = 5
ok[1][1] = 6
Note
1) The non-integer value is truncated, not rounded.
TABLE INT strange
----------- --------------
XYZ 111
222 777 333 777
444 555 This is a note about the table
Results
strange_row_cnt = 3
strange[0][0] = 111
strange[0][1] = 222
strange[1][0] = 333
strange[1][1] = 444
strange[2][0] = 0
strange[2][1] = 555
Note
1) Characters like "XYZ" equal zero.
2) All "777" values are ignored.
3) In the first case (222 777) the presence of a space
following "222" indicates the end of a number, and
AFM proceeds to the next data-column as defined by
the
dashed lines, skipping over the "777" and reading
"333".
372 Adams/Chassis
Utility Functions
listfile
Gives a numbered directory listing of a directory and prompts the user to select a specific file.
(string) txt = listfile((string) dir)
txt - Contains the name of the specific file selected by the user
dir - The directory to be listed.
system 373
Utility Functions
system
Performs a system command passed to it.
[(int) num] = system((string) command)
EXAMPLE:
{{
int fx_1;
fx_1 = system("ls *.acf > rdp_tmp.tmp");
put("%EXA-i-val, fx_1 after shell call ",fx_1,endln);
}}
One can use this return status value to check success or failure
of the command.
EXAMPLE: check if file "foo.txt" exists and is readable
{{
int fx_1;
string command, filename;
filename = "foo.txt";
command = "test -r " + filename ;
fx_1 = system(command);
if (fx_1 == 0)
put("%EXA-i-val, File ",filename," does exist", endln);
else
put("%EXA-i-val, File ",filename," does NOT exist", endln);
}}
transpec
Translates the filespec and returns the translated string.
(string) txt = transpec((string) file)
Vector Functions
• along
• angle
• cross
• distance
• dot
• magnitude
• midpoint
• normalize
along
Calculates a point at a given distance from point 1 along the vector defined by the points 1 to 2.
(point) pt1 = along((point) pt2, (point) pt3, (double) dis)
pt1 - Returned as the point a given distance from pt2 along the vector defined by points pt2 to pt3.
pt2 - First Point defining the direction vector
pt3 - Second Point defining the direction vector
dis - Distance from pt2 along vector defined by points pt2 and pt3 to locate pt1.
Note: dis can be a negative value or greater than the direction vector magnitude.
angle
Calculate the angle in radians between two vectors
(double) ang angle((point) v1, (point) v2)
cross
Calculates the cross product of two vectors.
(point) vec1 = cross((point) vec2, (point) vec3)
vec1 - Returned as the cross product of vec2 into vec3
vec2 - 1st vector to use in cross product
vec3 - 2nd vector to use in cross product
distance 375
Vector Functions
distance
Calculates distance between two points.
(double) dis = distance((point) pt1, (point) pt2)
dis - Distance between the two points
pt1 - One of the two points to use in calculating the distance.
pt2 - One of the two points to use in calculating the distance.
dot
Calculates the dot product of two vectors.
(double) num = dot((point) vec2, (point) vec3)
num - Returned as the dot product of vec2 and vec3
vec2 - 1st vector to use in dot product
vec3 - 2nd vector to use in dot product
magnitude
Calculates the magnitude of a vector
(double) mag = magnitude((point) vec1)mag - scalar value of magnitude
vec1 - vector/point data type defining vector
midpoint
Calculates the midpoint between two points
(point) mid = midpoint((point) pt1, (point) pt2)
mid - Midpoint of the two points
pt1 - One of the two points to use in calculating the midpoint.
pt2 - One of the two points to use in calculating the midpoint.
normalize
Normalizes a vector so its magnitude is 1.
(point) vec1 = normalize((point) vec2)
vec1 - Returned as the normalized vector of vec2
vec2 - Vector to normalize
376 Adams/Chassis
Vehicle Configuration File
Vehicle Database
The vehicle database (.vdb) contains all the data required to build a given model including vehicle
subsystem, property files, roads, tire files, and so on. You register vehicle databases in the Preferences.
Learn more about registering vehicle databases with Preferences dialogbox.
378 Adams/Chassis
Vehicle Simulations
Vehicle Simulations
3D Smooth Road
A 3D road full-vehicle event simulates your vehicle assembly using a three-dimensional road
representation. The road file (.rdf) is used by both the tire subsystems to compute contact patch
forces/moments, and by the lateral controller. The standard driver interface (SDI) uses path information
contained in the 3D road file to drive the vehicle along the specified course. An example 3D road file is
distributed in the shared car database (mdi_3d_smooth_road).
For more information, see Using Adams/3D Spline Road.
Learn about Using the Road Builder.
Select a Steering Control Option:
• Driver
• Machine
Driver
• Vehicle Limits
• Dynamic Response
• Limit and Dynamic Response
• Maximum Speed
• No Learning
Start Time Enter a real value that specifies the time at which the speed controller is
to start.
End Time Specify the time, in seconds, at which the analysis ends.
Number of Steps Specify the number of output steps.
Initial Velocity Enter the initial speed of the vehicle.
Learned Results ID (Not available for No Learning.) Specify a unique identifier for the
knowledge file.
Driver 379
Vehicle Simulations
• Total Toe
• Average Caster
• Caster Split
• Average Camber
• Camber Split
For more information, see Adams/Chassis Alignment Options.
380 Adams/Chassis
Vehicle Simulations
• Total Toe
• Average Caster
• Caster Split
• Average Camber
• Camber Split
For more information, see Adams/Chassis Alignment Options.
Current Field Unit Displays the current units setting for a text box you select in the dialog
box.
Use Personal Files Select if you want to use customized files to define the simulation rather
than the standard simulation that Adams/Chassis generates.
Machine
• Total Toe
• Average Caster
• Caster Split
• Average Camber
• Camber Split
For more information, see Adams/Chassis Alignment Options.
Rear Auto-Alignment Select if you want to specify the front suspension alignment settings.
You then specify:
• Total Toe
• Average Caster
• Caster Split
• Average Camber
• Camber Split
For more information, see Adams/Chassis Alignment Options.
Current Field Unit This displays the current units setting for a text box you select in the
dialog box.
Use Personal Files Select if you want to use customized files to define the simulation
rather than the standard simulation that Adams/Chassis generates.
If you select Longitudinal Accel, Adams/Chassis displays the following options:
Start Time Enter a real value that specifies the time at which the speed controller
is to start.
End Time Specify the time, in seconds, at which the analysis ends.
Number of Steps Specify the number of output steps.
Initial Velocity Enter the initial speed of the vehicle.
Learned Results ID (Not available for No Learning.)
382 Adams/Chassis
Vehicle Simulations
• Total Toe
• Average Caster
• Caster Split
• Average Camber
• Camber Split
For more information, see Adams/Chassis Alignment Options.
Rear Auto-Alignment Select if you want to specify the front suspension alignment settings.
You then specify:
• Total Toe
• Average Caster
• Caster Split
• Average Camber
• Camber Split
For more information, see Adams/Chassis Alignment Options.
Current Field Unit This displays the current units setting for a text box you select in the
dialog box.
Use Personal Files Select if you want to use customized files to define the simulation
rather than the standard simulation that Adams/Chassis generated.
4 Post
The 4 Post event attaches your vehicle model to a 4-Post test rig and provides a variety of options for
exercising the vehicle. The vehicle is attached to the 4 jacks/posts using bushings and sforces.
Bushings are used between the wheel centers and the ground for longitudinal and lateral
stiffness/damping. Sforces are used between the vertical jack parts for vertical stiffness/damping. Inplane
4 Post 383
Vehicle Simulations
jprims fix the wheel center to the top jack part and this allows the wheels to move laterally and
longitudinally. Two jack parts are used at each corner of the vehicle and the stiffness/damping is applied
between these two parts. The displacement input is applied to the bottom jack part.
Choose one of the following 4 Post Methods:
• Sinusoidal Displacement
• Sinusoidal Velocity
• Track.dat File
• Solver Expressions -Allows flexibility in creating Adams Solver expressions for each of the
wheels which are then used as inputs to define the jack motions.
• RPC Data - uses 4-Post Adams/Durability event. This attaches your vehicle model to a 4-post
test rig and drives the jack motion using RPC test data. For each jack you specify a RPC file
name, channel ID, and scale factor. The scale factor must be such that the resulting displacement
used in the model is mm (For example if the RPC file contains data in meters, use a scale factor
of .001).
Simulation Specifics
The vertical static tire stiffness for this event is obtained from the front and rear tire property file and the
vertical static tire damping is computed as a percentage by the following parameter in the front and rear
Wheel/Tires subsystem files:
The lateral and longitudinal static tire stiffnesses are contained within the modeling template and require
a personal version of (install_dir)/pre_py/tire/static_tire.py for modification.
Peak Ram Velocity and Frequency Range (applicable only to Constant Velocity Swept Sine type 4 Post
simulation) - Inputs to the jack motion statements.
4 Post Types:
Constant velocity swept sine:
This type of 4 Post event uses a constant velocity swept sine forcing function as the input motion to the
4 jacks. The different modes available are:
LF_Phase RF_Phase LR_Phase RR_Phase
Heave 1 1 1 1
Pitch 1 1 -1 -1
Roll 1 -1 1 -1
Warp 1 -1 -1 1
Front Axle 1 1 0 0
Rear Axle 0 0 1 1
Left Side 1 0 1 0
Right Side 0 1 0 1
Left Front 1 0 0 0
Right Front 0 1 0 0
Left Rear 0 0 1 0
Right Rear 0 0 0 1
Where 1 implies in-phase, -1 implies out-of-phase and 0 implies no motion is applied.
Adams Solver Expressions: With this feature, the user has the flexibility in creating Adams Solver
expressions for each of the wheels which will then be used as inputs to define the jack motions.
RPC Data
The RPC Data option is the 4-Post Adams/Durability event. This attaches your vehicle model to a 4-Post
test rig and drives the jack motion via RPC test data. For each jack you specify a RPC file name, channel
ID, and scale factor. The scale factor must be such that the resulting displacement used in the model is
mm (For example if the RPC file contains data in meters, use a scale factor of .001).
Input Fields:
Simulation Time and Output Frequency - They determine the end time and number of steps for the
transient simulation.
Channel Number (for all 4 jacks) - Channel ID (integer) to use in specified RPC file
Scale (for all 4 jacks) - Factor so resulting displacement is mm
RPC File (for all 4 jacks) - RPC file specification (.rsp)
Simulation Specifics
The user specifies initial velocity, acceleration profile, left/right mu, initial brake time and final brake
time. For acceleration profile, the user can use either "step" input or "spline" input.
The user must use a brake datafile (*.bst file) to use this simulation.
Adams/Chassis displays the results in the run window, and writes them to a report file (mask.dat).
Brake Drift
Vehicle Dynamics CAE Standard Test Procedure
The brake drift maneuver was first implemented to address brake pull and drift pull issues. The
simulation allowed the modeler to vary side to side brake split, road crown, and various alignment
settings to investigate the issue. As the vehicle dynamic process became more of an up-front tool for
vehicle design, the simulation has been used to not only address the drift issues, but also to evaluate other
braking performance characteristics.
386 Adams/Chassis
Vehicle Simulations
The brake drift maneuver is a full-vehicle simulation which begins with the vehicle traveling straight
ahead at 55 mph (or a user specified speed). At time 0.2 seconds, the traction controller is turned off,
which is quickly followed by brake controller activation. The vehicle is then slowed at a constant 0.5g
deceleration to five mph when a flag indicates the simulation should be stopped. Throughout the
maneuver, the steering wheel is held fixed.
This event allows you to determine:
• Camber, caster, and toe change for insight into the tire wear performance of the vehicle.
• Front and rear dive/lift to identify antidive/antisquat performance during braking.
• Brake drift (vehicle lateral displacement) from the time the brakes are applied to the completion
of the simulation.
Simulation Specifics
When Adams/Chassis is called to build a brake drift simulation, the user must define several variables
specific to this type of simulation. A listing of the Adams/Chassis requested variables are as follows, with
the default values in parentheses:
Brake Drift Simulation Default settings: Steering wheel motion fixed at 0.00 Traction controller off time
is 0.2 sec Braking controller on time is 0.2 sec
Traction Control Options Enter initial vehicle velocity (mph) [55.0]: 55 [55.00] selected.
Braking Control Options Enter braking deceleration (g's) [0.500000]: .5 [ 0.50] selected. Enter brake
proportioning (% front) [0.700000]: .7 [ 0.70] selected. Enter front brake split (% left) [0.500000]: .5 [
0.50] selected.
Event Options Enter road crown (deg.) [0.000000]: 0 [ 0.00] selected.
Once you select these variables, Adams/Chassis modifies the generic model in three ways, SPLINE/61,
SPLINE/71 and DIF/60. SPLINE/61 is the brake deceleration spline which specifies the decelerations g's
at specific times during the simulation. SPLINE/71 specifies the brake proportioning front to rear and
DIF/60 identifies the id of the brake deceleration spline, in this case, 61.
View an example of Brake Drift Simulation output
Brake In Turn
Vehicle Dynamics CAE Standard Test Procedure
Use to determine a vehicle's directional control response characteristics when the brakes are applied in a
turn. In the physical test, the vehicle drives around a circle (usually 200 or 750 foot radius) at a constant
speed corresponding to a predetermined lateral acceleration level. When the vehicle has maintained a
constant lateral acceleration and constant speed (stead state condition), then the brakes are applied to
sustain a particular longitudinal deceleration.
Constant Radius 387
Vehicle Simulations
In the Adams simulation, you specify the turning radius, turn direction, initial lateral acceleration, and
longitudinal acceleration. From this input, a user-written control subroutine (consub 530) calculates the
longitudinal, lateral, and yawing velocities necessary to negotiate the turn, and then resets the part
velocities to these new values. The dynamic portion of the simulation comes next, when the braking
controller begins to decelerate the vehicle at time 0.2 seconds (brakes applied at 0.2 seconds). The
simulation terminates after 10 seconds.
Simulation Specifics
You enter lateral acceleration, turning radius, longitudinal deceleration, and turn direction.
View an example of Brake In a Turn Simulation output
Constant Radius
Vehicle Dynamics CAE Standard Test Procedure
The constant radius test is the primary method by which vehicle understeer/oversteer characteristics are
measured. In the physical test, the driver maintains a steady speed and steering wheel angle around a
constant radius circle (usually 200' radius) in order to attain a specified lateral acceleration level. The
driver will conduct a series of runs with lateral acceleration levels ranging from 0.1 g's to the maximum
lateral acceleration that the vehicle can handle at increments of 0.05 g's.
In the Adams simulation, the user specifies the maximum lateral acceleration and the number of output
steps (increment = max lateral acceleration / number of steps.) A user written subroutine will perform the
constant radius test in a quasi-static simulation. Each time step in the output file will increment with
lateral acceleration. Since the simulation is quasi-static, all the values represent the steady-state condition
of the vehicle at each lateral acceleration. No transient information will be present.
Simulation Specifics
You enter turn radius, final lateral acceleration, number of output steps, and turn direction.
View an example of Constant Radius Simulation output
Cross Wind
Vehicle Dynamics CAE Standard Test Procedure
With the proper aerodynamic coefficients set, this event will simulate the effects of crosswind during a
straight line drive.
Important information gathered from this simulation are peak values and time histories of:
• Yaw rate
• Lateral acceleration
• Roll angle
388 Adams/Chassis
Vehicle Simulations
Simulation Specifics
When Adams/Chassis is called to build a crosswind simulation, the user must define several variables
specific to this type of simulation and provide the appropriate information in an aerodynamic table
residing the body subsystem file. The following are the required input along with their default values:
Vehicle Velocity [mph]: 55.0
Wind speed [mph]: 35.0
Wind angle [deg]: 20.0
Also required is the following aerodynamic table in your body subsystem file:
AERODYNAMICS DATA
-------------------------------------------------------------------
1 = Comment out Aerodynamic Forces (1=Yes 2=No)
1 = Number of Aerodynamic Markers (1 or 2)
2.687 = Vehicle front section area (m^2)
1.220 = Air density (kg/m^3)
0 = Drag coefficient spline
0 = Sideforce coefficient spline
0 = Lift coefficient spline
0 = Roll coefficient spline
0 = Pitch coefficient spline
0 = Yaw coefficient spline
0.00 0.00 0.00 = Location of front aero force (mm) [use 0 0 0
if unknown]
0.00 0.00 0.00 = Location of rear aero force (mm) [use 0 0 0 if
unknown]
The spline values need to be specified according to the data acquired by wind-tunnel testing.
With these variables, Adams/Chassis modifies the generic model in the following ways:
• The aero forces (GFORCE/28 and GFORCE/29) are activated.
• SPLINE/201 is set to the user specified wind velocity.
• All
• Component Loads
• Frame Loads
• Steering Loads
• Stabilizer Bar Loads
If you selected Component or Frame Loads, you must select a coordinate
system type.
Include Displacement Select to include displacement requests in your model.
Requests
RPC File Browse for the RPC file you want to use. Learn to set RPC Channel/Hardpoint
Specification.
Set RPC End Time Select to have Adams/Chassis read the RPC files to determine end time of data
and automatically set the End Time.
Change Event Mask Select to change the name of the event in the treeview using the RPC file name
to generate the new event name.
Channel Information Select to have Adams/Chassis read the RPC file and display all channel names
and numbers.
Start Time Enter the start time of the RPC data.
End Time Enter the end time of the RPC data.
Dynamic Loadcases Using Half-Vehicle Models 391
Vehicle Simulations
• front_left_vertical_displacement
• front_right_vertical_displacement
• rear_left_vertical_displacement
• rear_right_vertical_displacement
Controller gains Specifies the K and C values for all four wheels. These values are
used as inputs to the feed-forward controller system.
In addition to the above specifications, WFT mass, WFT offset, scale factors and static loads contained
in the road/test rig data file should be specified for both front and rear suspensions.
Learn about Dynamic Loadcase Fingerprint Generator.
• All
• Component Loads
• Frame Loads
• Steering Loads
• Stabilizer Bar Loads
If you selected Component or Frame Loads, you must select a
coordinate system type.
Include Displacement Select if you want to include displacement requests in your output
Requests file.
RPC File Browse for the RPC file you want to use. The RPC file contains the
forces, moments and displacement inputs.
Set RPC End Time Select to extract the end time of active data in the RPC file and resets
the end time of the simulation.
Change Event Mask Allows you to rename the output files to contain the RPC data file
name as part of the mask. The RPC file name will be appended to the
model name. For example, using rpc_example.rpc with the model test
will cause the output files to be named as
test_rpc_example.[msg,out,req,res]
Active
Channel- Specifies the channel number from RPC file for this input.
Note: For steering input: if Active flag is set to no, the steering motion will be locked.
In addition to the above specifications, the dynamic loadcase event requires data for WFT mass, WFT
offset, scale factors and static loads. These data are contained in the Road/Testrig data file.
394 Adams/Chassis
Vehicle Simulations
Final notes:
1. A valid channel number must be provided for each force, moment and displacement input. This
is true even if no input is to be provided along a particular axis. If no input is required in a
particular direction, the corresponding factor in the calling statement should be set equal to 0.
2. The coordinate system used for the RPC-3 data file must be checked to determine the signs of the
offsets and factors. Generally, the z-axis at each spindle points upward and the y-axis points
outboard.
3. Factors and offsets not given in the table have default values set by Adams/Chassis. The Adams
file may be edited to change that if necessary.
4. In the z-direction, the offset should generally equal the static load at that spindle since the RPC-
3 file only contains dynamic data.
5. The WFT offset is the distance between the Wheel center and the plane of the transducer.
Eigen Vector
The Eigen Vector event is a utility event that can be used to linearize the model after either a static or
dynamic solution. The event invokes Adams/Linear to perform the linear analysis.
Select a simulation type:
• Statics - Perform a linear analysis after the static solution.
Extended Fish Hook 395
Vehicle Simulations
• Dynamics - Perform a linear analysis after a dynamic solution. Note that the linear solution is
performed only at the end of the dynamic solution. Therefore multiple linear solutions during a
single simulation is not possible, unless the event .acf and .dcf files are manually modified to
include multiple mini-maneuvers and call to Linear analysis.
• Damping
• Vector
For more information, see Adams/Linear.
If you selected Vector for your Eigensol option, the following options are available:
Vector Options Select the vector options you want to include:
• Coordinates
• Energy
• Dissipative
• Kinetic
• Strain
Then, enter the lower mode number and upper mode range if
necessary.
Simulation Specifics
You specify the initial vehicle speed, the steering angles and directions of the first, second, and third
turns, the steer scale factor, and steer frequency.
Fish Hook
Standard Test Procedure
The Fish Hook measures the transient handling properties of a vehicle at limit handling conditions. The
test is conducted by driving at a constant speed, putting the vehicle in neutral and turning one direction
in a preselected steering wheel angle and then turning the opposite direction in another preselected
steering wheel angle. The steering input approximates a step input at 512 degrees per second of rotational
velocity to the steering wheel.
Simulation Specifics
You specify the initial vehicle speed, the steering angles and the directions of the first and the second
turns, and the duration of the time. The duration of the time is how long the driver holds the first steering
wheel angle before moving to the opposite direction for the second wheel angle.
View an example of Fishhook Simulation output
Fish Hook 2
Standard Test Procedure
The Fish Hook 2 test measures the transient handling properties of a vehicle at limit handling conditions.
The test is conducted by driving at a constant speed, putting the vehicle in neutral, and turning one
direction in a pre-selected steering wheel angle at 0.3 g’s of lateral acceleration.
Simulation Specifics
You specify the initial vehicle speed, steering wheel angle at 0.3 g’s of lateral acceleration, and left or
right turn direction.
Frame Compliance
The frame compliance event is a half-vehicle event that calculates the displacement/rotation of the wheel
centers during body attachment displacement. The event moves each body attachment (one at a time) 1
mm in xyz directions. You can use the result of this analysis to construct a compliance matrix (see
Definition of Compliance Matrix) for the suspension to help determine where local body compliance most
affects system performance.
You will have to construct the compliance matrix manually by looking at the wheel center
displacements/rotations at each time step. You can determine which body attachments are being moved
at each frame from the dataset.
Frequency Response 397
Vehicle Simulations
Frequency Response
Vehicle Dynamics CAE Standard Test Procedures
Linear range handling is often evaluated by looking at a vehicle's frequency response to driver input. In
actual tests, the typical procedure is a "random steer" or "swept sine steer." The goal of a frequency
response test is to provide steering input that spans the entire frequency range of a human driver, roughly
0 to 3 Hz. For a random steer test, the driver first determines the steering wheel angle (SWA) required to
attain a certain lateral acceleration (typically 0.3 g) at a given speed. The driver then inputs a sinusoidal
SWA with the previously determined amplitude and varies the frequency from zero to the maximum
attainable (approximately 3.0 Hz). Lateral acceleration, yaw rate, roll angle, steering wheel torque
(SWT), and SWA are all recorded. The data are postprocessed to determine transfer functions between
each output and the input SWA. Typical runs will record about 50 seconds worth of data. An Adams
simulation of a swept sine would, unfortunately, generate an excessive amount of output and be quite
time consuming. An alternative is the pulse steer simulation. A pulse steering input is applied, typically
with a duration of 0.3 seconds and an amplitude of 60 to 120 degrees. The SWA amplitude is determined
such that the pulse steer produces a 0.3 g lateral acceleration. This is typically done by finding the SWA
required to attain a specific steady state lateral acceleration. Experience has shown that a steady state
lateral acceleration of 0.5 gs closely corresponds to a 0.3 g peak acceleration from a pulse steer. Pulse
steering inputs have excellent frequency content in the range of interest. If the vehicle response is kept
within the linear handling range, the pulsesteer simulation is a very efficient method of evaluating a
vehicle's frequency response.
Simulation Specifics
The standard Adams pulsesteer simulation runs for 6.0 seconds and has 150 steps, such that results are
output at the same 25 Hz sampling rate as test-track data. The model should be set up to run at the desired
forward velocity and must include requests for the output data mentioned in the "Postprocessing" section
below. In general, the simulation includes the following steps, which are explained in greater detail in the
subsequent section:
1. Align the vehicle at curb loading, as needed.
2. Run a steady-state cornering simulation (SSC) at Ay = 0.5 g to find SWA. (or use the specified
SWA if the user has this option selected)
3. Bring the model to static equilibrium, ready for a transient maneuver.
4. Set the SWA function as a 0.3 second pulse with the peak value from step 2.
5. Run a transient simulation for 6 seconds, recording 150 steps of output.
Postprocessing
The results of a frequency response simulation are postprocessed to produce frequency response
functions (FRFs) between the SWA input and the several outputs: lateral acceleration, yaw rate, roll
angle, and sometimes steering wheel torque. In calculating the FRFs, the original signals are padded to
over 100 seconds so that the frequency resolution of the FRFs is equal to or better than 0.01 Hz. Since
the Adams output is sampled at 25 Hz, the frequency range of interest, 0 to 3.0 Hz, is well below the
Nyquist frequency.
398 Adams/Chassis
Vehicle Simulations
In addition to producing the FRF plots, the postprocessor also generates a list of standard values which
are typically used to characterize a vehicle's frequency response. A typical frequency response output file
is included in the last section of this test procedure. There are two perspectives from which the post-
processing can be done. Often, a modeler wants to compare his Adams simulation results with full-
vehicle test data. It's important to note, however, that the test data are often calculated much differently
than the Adams responses are. Consider roll angles. On a test vehicle, the roll angle is typically calculated
by using four string pot signals and their relative positions to determine a "body- on-chassis" roll angle.
This roll angle differs from the Adams roll angle (Request/1041, Z) in several ways. First, the test values
do not include the roll component due to tire deflections. Second, the test values do include a component
of roll due to body-on-frame deflection which is not present in a typical Adams model. When possible,
the body-on- frame deflection can be bypassed by mounting the string pots directly between the wheel
or axle and the frame. Additionally, the mounting locations of the string pots play a significant role in roll
angle calculations. If the string is relatively short or at an angle, then the pot does not measure a purely
vertical displacement, as the roll calculations assume.
To perform a direct comparison, a different Adams request should be used for roll angle calculations. For
this purpose, an additional request (Request/3040) has been added to all standard vehicle models
produced with the Adams/Chassis model-building software. This request mimcs the string pot roll
calculation by putting in artificial string pots between the wheel centers and the body. If the actual string
pot locations are known, then these should be used instead of Request/3040. In addition to roll angle, the
lateral acceleration signal, Ay, from test data also differs from Adams values in some significant ways.
Standard practice for the Vehicle Dynamics test groups is to provide the test requester with Ay values that
have been corrected for roll. The roll of a vehicle produces an inflated Ay value because of the roll
acceleration and an added acceleration component due to gravity. The corrected Ay values have the
gravity component removed. Unfortunately, when the roll angle correction is made, it's done with the roll
signal calculated from string pot displacements, which, as stated above, do not necessarily represent the
actual roll angle of the vehicle with respect to the ground. The best solution for this inconsistency is to
get the un-corrected Ay signal and compare this directly to the value from Request/3030 Y. This request
is a custom request which calculates the acceleration as seen by an accelerometer. The second perspective
which a modeler may want is the more intuitive one, using the standard roll and Ay signals as calculated
by Adams requests. Roll angle is calculated as roll with respect to the ground, and Ay is calculated as
acceleration parallel to the ground plane and along the chassis Y-axis. This is the default perspective for
frequency response post-processing.
The default requests are as follows: steering wheel angle (SWA) Request/1090, X lateral acceleration
(Ay) Request/1041, X yaw rate Request/1041, Y roll angle Request/1041, Z
When comparing results directly to test data, the following requests should be used: steering wheel angle
(SWA) Request/1090, X lateral acceleration (Ay) Request/3030, Y yaw rate Request/1041, Y roll angle
Request/3040, RY
Currently, the standard post-processor uses only the default requests. Custom versions have been created
to handle the alternate requests. In a future version, this post-processor will allow the option of specifying
each request used.
View an example of Frequency Response Simulation output
Full-Vehicle Simulation: Adams/Driver 399
Vehicle Simulations
Note: This event is no longer supported. Please use Adams/SmartDriver event instead.
This document describes the integration of Adams/Driver into Adams/Chassis. Adams/Driver is the
result of research and development by the IPG of Germany. A cooperative agreement between IPG and
MSC.Software has made Driver available for use with Adams.
The advantages of using Adams/Driver are you can virtually simulate your vehicle in any desired
maneuver, and add the control actions of a 'human' driver to your full vehicle simulations. These actions
include the steering, braking, throttle, gear shifting and clutch operation.
The course data file (.drd) specifies the actual track on which you want to run the simulation. Its ASCII
format is described in the Adams/Driver user's guide. It defines the centerline coordinates and a lane
width for every point. The course data file can be created digitalizing a real course.
The user can edit the .drd file in the Adams/Chassis GUI. The GUI will read the .drd file and plot the X-
Y data so the user can visualize the course. The user can then edit any XYZ location and replot those
changes. The user has the option to save those changes to the .drd file or to another file name. The red
arrow on the track indicates the direction the vehicle will travel on the course.
Note: If the arrow on the track points to the right, select "Forward" for Course Marker
Orientation. If the arrow points to the left, select "Rearward".
The Adams/Chassis GUI will copy the .drd file during the building of the model to the local directory in
which the Adams/Chassis model will be built and run. This is a requirement to run Adams/Driver. The
Full-Vehicle Simulation: Adams/Driver 401
Vehicle Simulations
.drd file will be named by the output mask the user has chosen for the .adm file and it will have the suffix:
.driver.road . An example would be if your .adm file is called vehicle_event.adm, the .drd file that is
copied to your local directory will be called vehicle_event.driver.road .
GUI Interface
The Adams/Chassis GUI allows you to enter the set of parameters for the Driver simulation. There are 5
'logical' sections within the Adams/Chassis GUI they are described below:
• Basic Vehicle Dynamics
• Longitudinal Dynamics
• Lateral Dynamics
• Limit Handling Behavior
• No Learning
For a detailed explanation of of the parameters you can refer to the Adams/Driver user's guide.
The values you enter must be physically meaningful and must be expressed in model units, unless where
there is the possibility to select a different unit (for example in the velocity and acceleration terms).
In case your vehicle has gear shifting capabilities, you can decide to turn on the gear activity and to
supply the information required, together with the gear ratios.
404 Adams/Chassis
Vehicle Simulations
Grist Mill
Vehicle Dynamics CAE Standard Test Procedures
Use this test to evaluate the wheel loads and tire characteristics in a large steering angle steady-state
condition. The test starts by driving straight, and the steering is ramped from zero to a specified value.
The user has 2 modes for steering. The first mode is to enter a max steering wheel angle. The second
mode (rack steering gears only) utilizes the 'max_rack_travel' parameter in the steering gear subsystem
file. The steering motion is controlled via the rack travel, and rack motion is ramped until the
max_rack_travel value is reached. The standard plots and report for this event display steady state wheel
loads, wheel moments, rolling radius, slip angle, and inclination angle.
Simulation Specifics
You specify the vehicle speed, maximum lateral acceleration, steering angle method, and turn direction.
View an example of Grist Mill Simulation output
Background
The half-vehicle SVC maneuver is a static suspension analysis event for half vehicle models. The
suspension compliance values, as well as wheel rates, anti-dive, etc. are computed from the Jacobian
matrix within Adams. For the half-vehicle simulation a simple tire model is used.
Important information gathered from this simulation are: ground reactions, suspension rise, anti-lift/dive,
vehicle mass and inertia, wheel rates, and suspension compliance.
Learn more about Half-Vehicle Simulations.
Hands Free 405
Vehicle Simulations
Simulation Specifics
When Adams/Chassis is called to build a half-vehicle SVC simulation, the user must define several
variables specific to this type of simulation. A listing of the Adams/Chassis requested variables with the
default values are as follows:
With these variables, Adams/Chassis allows Adams to calculate several static characteristics such as: toe,
caster, and camber change, wheel rates, and anti lift/dive percentage.
The Static Vehicle Characteristics (SVC) DOCUMENT discusses in detail the additional arrays and
strings required in a dataset to perform SVC analysis.
Hands Free
Standard Test Procedure
This event measures the transient handling properties of a vehicle at limit handling conditions. The test
is conducted by driving the vehicle at a constant speed, with a sinusoidal steering input and deactivating
steering input at a specified input angle. The time at which to start the free hand event is based on the
angle at which the steering input needs to be deactivated and the frequency of the steering input.
Simulation Specifics
You specify the initial vehicle speed, steering wheel amplitude, steering wheel frequency, steering wheel
angle at which to start the free hand maneuver, initial turn direction, presence of traction controller during
the free hand maneuver and the duration of the event.
The time to let the steering wheel go is calculated by the following:
freehand_time = 2.0/(Steering frequency) + asin(Angle/Steering Amplitude)/(2*PI)
The total simulation time is calculated by:
total_simulation_time = (Simulation Time) + freehand_time
406 Adams/Chassis
Vehicle Simulations
J-Turn
Vehicle Dynamics CAE Standard Test Procedures
The J-Turn test measures the transient handling properties of a vehicle at limit handling conditions. The
test is conducted by driving at a constant speed, putting the vehicle in neutral and inputting a preselected
steering wheel angle (90, 180, 270, or 360 degrees). The steering input approximates a step input at 512
degrees per second of rotational velocity to the steering wheel. This test is often used to correlate physical
vehicle properties to the Adams model, particularly in roll stability. The standard vehicle velocity is 55
mph.
Simulation Specifics
You specify the initial vehicle speed, steering wheel angle (90, 180, 270, or 360), and left or right turn
direction.
View an example of J-Turn Simulation output
J-Turn2
Vehicle Dynamics CAE Standard Test Procedure
The J-Turn 2 test measures the transient handling properties of a vehicle at limit handling conditions. The
test is conducted by driving the vehicle at a constant speed while applying a pre-selected steering wheel
angle to held at 0.3 g's of lateral acceleration. This test is often used to correlate physical vehicle
properties to the Adams model, particularly in roll stability.
The SWA is determined by:
1. Running a left swept steer event. Get swa at 0.3g.
2. Running a right swept steer event. Get swa at 0.3g.
3. Average SWA from events 1 and 2.
4. This SWA should be the input for JTurn2.
Simulation Specifics
You specify the initial vehicle speed, steering wheel angle at 0.3 g's of lateral acceleration, and left or
right turn direction.
Lane Change
Vehicle Dynamics CAE Standard Test Procedure
Model Auditor 407
Vehicle Simulations
The lane change simulation is used to evaluate ease of control and stability of a vehicle in a single lane
change maneuver. Objective parameters measured from this simulation are yaw rate overshoot and
steering wheel torque to steering wheel angle distortion.
The physical test is conducted by setting up a pylon course with 10 foot wide lanes. Two cones are placed
at the entrance and two cones are placed at the exit. The vehicle drives in a straight line through the
entrance cones, changes into the adjacent lane, then drives straight through the exit cones. The throttle is
controlled by the driver to maintain constant speed during the event. This test can be run at any speed and
any lateral acceleration level, but the lateral acceleration should be kept below a level where the car is
"sliding" around.
In the driver controlled lane change simulation, a driver model is used to drive the vehicle through the
lane change. The user specifies the width of the lane change course (default is twelve feet), the length of
the lane change course (default is 35 feet), and the vehicle velocity.
Model Auditor
This event checks that part inertias are realistic, part CG locations are reasonable, and bushing damping
is between 0.01 % and 10% of stiffness. The results are written in *.dat file.
Note that this event should be run with "Build Model" only.
View an example of Model Auditor output (*.dat) file.
Moderate Braking
Vehicle Dynamics CAE Standard Test Procedure
Determines the pedal force necessary to achieve a few level of steady state acceleration.
This simulation allows you to find:
• Pedal force versus acceleration
• Pedal force at 0.35 g and at 0.70 g
• Hip point rise gradient
• Pitch gradient
Simulation Specifics
You specify the final acceleration, number of simulation steps and left/right mu. You must use a brake
datafile (*.bst file) to use this simulation.
View an example of Moderate Braking - Steady State Simulation output
408 Adams/Chassis
Vehicle Simulations
On Center
Vehicle Dynamics CAE Standard Test Procedure
The on center test is used as the primary method to measure steering feel properties. When performing
the physical test, the test driver will drive a vehicle at a constant velocity, and turn the steering wheel in
a slow (approximately 0.2Hz) sinusoidal oscillation. The driver will spend some time adjusting the
magnitude of the steering wheel input so as to attain 0.2g lateral acceleration in each direction (left and
right). Once the driver has found the steering wheel motion necessary to get +0.2g and -0.2g lateral
acceleration, data acquisition begins. At least three full cycles of the steering wheel motion are recorded
where the vehicle attains the required lateral acceleration, so as to allow some degree of statistical
confidence in the test.
In the Adams simulation, the vehicle drives with a constant longitudinal speed, and a 0.2Hz sinusoidal
steering input accelerates the vehicle laterally between +0.2g and -0.2g. The steering wheel angle is
controlled through a user-written subroutine, which calculates the necessary steering wheel angle to
attain lateral accelerations of 0.2g (right) and -0.2g (left). The steering controller routine runs one cycle
with a 15 degree amplitude, and then a second cycle with an amplitude of 20 degrees. The routine then
calculates the steering amplitude necessary to accelerate the vehicle to 0.2g right and -0.2g left.
Simulation Specifications
1. Align the vehicle at curb loading, as needed.
2. Bring the model to static equilibrium, ready for a transient maneuver.
3. Run the simulation by calling the on center subroutine (610).
View an example of On Center Simulation output
Simulation Specifics
You specify initial velocity, brake pedal force profile, left/right mu. For brake pedal force profile, the user
can use either "step" input or "spline" input.
You must use a brake datafile (*.bst file) to use this simulation. If you select to use a step brake pedal
force input, you must also enter brake pedal force, step initial, and step final time.
Parking Effort
Vehicle Dynamics CAE Standard Test Procedure
A zero speed parking effort simulation is available in Adams/Chassis. This event simulates a slow speed
parking maneuver to measure the steering effort required. Important information gathered from this
simulation is a plot of steering wheel torque vs steering wheel angle. The user has the option of running
a low speed test or zero speed test. In order to support this simulation, the user has to make sure that the
tire model being used works for zero and low speed maneuver (<5 miles/hr).
Once you enter the values in the property editor, Adams/Chassis inputs modified triangular wave to the
steering wheel. The steering input was designed to correlate with the steering wheel input used in
physical testing for parking efforts.
Background
The ride motion maneuver is a half-vehicle simulation used for an in phase vertical wheel displacement
analysis.
Important information gathered from this simulation are: camber, caster, and toe change for insight into
the tire wear performance of the vehicle. Another key response is the wheel rate. Learn more on Half-
Vehicle Simulations.
Simulation Specifics
When Adams/Chassis is called to build a ride motion simulation, the user must define several variables
specific to this type of simulation. A listing of the Adams/Chassis requested variables with their default
values are as follows:
410 Adams/Chassis
Vehicle Simulations
With these variables, Adams/Chassis builds a model that will allow Adams to calculate the toe, caster,
and camber for the specified rise-to-curb, jounce, and rebound travel.
At time zero the suspension is optionally aligned and will begin at the specified rise-to-curb position (see
Adams/Chassis Rise-to-Curb). The jounce and rebound travel is measured from design.
Background
The roll motion maneuver is a half-vehicle simulation which will calculate roll rate based on the given
axle load and left/right force difference. Learn more information on Half-Vehicle Simulations.
Simulation Specifics
When Adams/Chassis is called to build a roll motion simulation, the user must define several variables
specific to this type of simulation. A listing of the Adams/Chassis requested variables with their default
values are as follows:
Background
The roll motion maneuver is a half-vehicle simulation which will calculate roll rate based on a given
wheel displacement. Learn more information on Half-Vehicle Simulations.
Single Wheel Motion 411
Vehicle Simulations
Simulation Specifics
When Adams/Chassis is called to build a displacement-based roll motion simulation, the user must define
a few event parameters specific to this simulation. These input parameters are listed below:
• Rise-to-curb (mm)
• Wheel Travel (mm)
At time zero the suspension is optionally aligned and will begin at the specified rise-to-curb position. The
wheel travel is measured from the rise-to-curb position.
Background
The single wheel motion maneuver is a half-vehicle simulation used for a single vertical wheel
displacement analysis.
Important information gathered from this simulation are: camber, caster, and toe change for insight into
the tire wear performance of the vehicle. Another key response is the wheel rate.Learn more information
on Half-Vehicle Simulations.
Simulation Specifics
When Adams/Chassis is called to build a single wheel motion simulation, the user must define several
variables specific to this type of simulation. A listing of the Adams/Chassis requested variables with their
default values are as follows:
Sinusoidal Steering
This event simulates the vehicle driving at constant speed with harmonic steering motion.
412 Adams/Chassis
Vehicle Simulations
Background
The Standard Driver Interface (SDI) event allows you to run a variety of full-vehicle simulations in a
standard way. The event is controlled via a Driver Control File (.dcf) that defines the behavior of the 5
driver controls: Steering, Throttle, Braking, Gear, and Clutch.
The only event parameter for the SDI event is the name of the .dcf file.
For more information on SDI and the format of the .dcf file, see Working with Driver Control Data Files
(.dcd).
Background
The static loadcase event is a half-vehicle simulation that allows you to analyze vehicle characteristics
that result from loads applied at the wheel centers, tire patches, shocks, half shafts, and drive shaft. This
event supports two types of loading conditions:
• G_Loads
• Analytical G_Loads
G_Loads
You can specify load magnitudes that are applied at certain locations. The load specifications should be
in G's for forces and in Nmm for torques.
Wheel loads Loads can be applied at the contact patch, wheel center, or at both the contact
patch and wheel centers. Applied loads are in G's.
Shock loads Shock loads are applied along the axial direction of shocks. Applied loads are in
G's.
Powertrain loads Loads can be applied at the halfshafts and driveshaft locations about the spin
axis. Applied loads are in Nmm.
Analytical G_Loads
The following analytical loadcases are supported:
• Panic Braking
• Wide-open Throttle
• Braking
• Cornering
Static Loadcase Event 413
Vehicle Simulations
Panic Braking
Panic braking can be performed with and without weight transfer. The formulation used are as follows:
Forward braking long.accel = +ve
Reverse braking long.accel = -ve
With weight transfer:
front suspension = Max fz = (GAWR + GVW * long.accel * CG Height/Wheel Base)/GAWR
rear suspension = Max fz = (GAWR - GVW * long.accel * CG Height/Wheel Base)/GAWR
Max fx = accel * Max Fz
Without weight transfer:
Max fz = 1.0 G
Max fx = accel
Wide-open Throttle
Forward Wide Open Throttle long.accel = +ve
Reverse Wide Open Throttle long.accel = -ve
Where:
L_to_CG = distance from rear axle to CG for front wheels and distance from
front axle to CG for rear wheels
Max fx = -mu * Max fz * sign(long.accel)
For non-driven wheels, Max fx = 0
414 Adams/Chassis
Vehicle Simulations
Braking
Forward braking long.accel = +ve
Reverse braking long.accel = -ve
Front suspension = Max fz = GVW/(2*Wheel base) * (L_to_CG + long.accel * CG Height)
Rear suspension = Max fz = GVW/(2*Wheel base) * (L_to_CG - long.accel * CG Height)
Max fx = mu * Max fz * sign(accel)
Cornering
Left Turn Direction = -ve weight transfer to the right (outside of turn)
Right Turn Direction = +ve weight transfer to the left (outside of turn)
Lateral Load transfer = ((front/rear)roll_rate * roll_angle +
((front/rear)GAWR * roll_center_height * lat.accel))/track_width
Left Wheel Max fz = max(sign(turn direction)*delta_load + (GAWR/2),0)
Right Wheel Max fz = max(-1.0 * sign(turn direction)*delta_load + (GAWR/2),0)
Max fy = mu * Max fz
Important information gathered from this simulation is the forces and displacements located at the
suspension attachment points.
Learn more information on Half-Vehicle Simulations.
Simulation Specifics
When you request Adams/Chassis to build a loadcase simulation, you can choose the type of loads to be
reported and the coordinate system in which the loads are to be reported. Available options are:
1. All
2. Component loads only
• Loads reported in local part coordinate system - design conditions and moves with the part
when loads are applied.
• Loads reported in both local part and global body coordinate system.
Static Loadcase Event 415
Vehicle Simulations
The various load cases are specified under the Static Loadcase Properties tab. There is one tab for the
Front and another for the Rear suspension type. Adams/Chassis will only use the data from the relevant
416 Adams/Chassis
Vehicle Simulations
suspension type. The "Active" column allows you to select which loadcases should be run for the current
simulation. Double-click on the load case of interest to modify the input data for that particular load case.
An example for an "Analytical G Loads" is shown below:
such as ground reactions and mass properties. For a half-vehicle, SVC computes only suspension
characteristics.
The characteristics computed by SVC are generally based upon the compliance matrix for a vehicle
suspension. Loosely, this matrix is defined as the wheel center deflections relative to the body due to unit
forces and moments applied at the wheel centers. The compliance matrix is computed by inverting the
Jacobian matrix formed by Adams and then manipulating the resultant matrix to remove the body's six
degrees of freedom and the effects of the tires.
The compliance matrix is a linear representation of a vehicle suspension at a particular ride height and
steer angle. Since vehicle suspensions are inherently nonlinear, the characteristics computed by SVC are
accurate only at the ride height and steer angle for which they were computed. See Definition of the SVC
Compliance Matrix for more information.
Within this topic, there is a description of how to use SVC. This description includes a list of statements
that must be added to an Adams data-set before using SVC and the commands for invoking SVC during
an Adams simulation. In addition, all the static vehicle characteristics output by SVC are defined. Finally,
see the output parameters SVC computes for a vehicle or half-vehicle in SVC Output Parameters section.
• Creating the SVC Dataset
• Executing SVC
• SVC Output
• Definition of the SVC Compliance Matrix
• SVC Output Parameters
• SVC Iterate
Steady State Drift
Vehicle Dynamics CAE Standard Test Procedure
This event computes vehicle drift and suspension geometry changes during a straight line drive
maneuver.
Important information gathered from this simulation are left and right toe/caster/camber changes, lateral
vehicle drift, steering wheel torque and angle, and left and right front lateral force change.
Simulation Specifics
When Adams/Chassis is called to build a steady state drift simulation, the user must define several
variables specific to this type of simulation. The following are the required input along with their default
values:
Vehicle velocity [mph]: 55.0
Road crown [deg]: 0.0
Front Axle Conicity [lbs]: 0.0
Rear Axle Conicity [lbs]: 0.0
Front Axle Plysteer [lbs]: 0.0
Rear Axle Plysteer [lbs]: 0.0
418 Adams/Chassis
Vehicle Simulations
Background
The steering maneuver is a half vehicle simulation used to evaluate steering kinematics. Important
information gathered from this simulation are: Ackerman (front steer only), overall steering ratio and
maximum and minimum steering ratio. For rear steer event the steering ratio are with respect to front rack
travel or pitman arm rotation. Rear steer events can be performed on four wheel steer models only.
Simulation Specifics
When Adams/Chassis is called to build a steering simulation, the user must define several variables
specific to this type of simulation. A listing of the Adams/Chassis requested variables with their default
values are as follows:
Step Steer
Vehicle Dynamics CAE Standard Test Procedure
Background
This test is used to evaluate the transient handling and steady state directional control response
characteristics of a vehicle when a step input is given to the steering wheel. The test starts by driving the
Straight Line Acceleration 419
Vehicle Simulations
vehicle in a straight line at a constant speed and abruptly inputting a steering angle to a predetermined
level. The steering wheel input is that which gives the desired steady state lateral acceleration.
The step steer event has three methods:
• Lateral Acceleration
You specify a lateral acceleration. A quasi-static analysis is performed to determine the steady-
state steering angle at the lateral acceleration. This setter angle determines the magnitude of the
step function.
• Steering Wheel Angle
You enter the magnitude of the step.
• Spline ID
You specify a file containing an .adm-formatted spline, and the ID of the particular spline to use.
This spline is then used to determine the steering behavior.
There are three throttle options provided for the Steering Wheel Angle and Spline methods:
• Off
For the Off condition, the throttle is turned off at time=0.0 (vehicle is coasting).
• Constant
For the Constant condition, the throttle is held throughout the simulation. The intent is to
simulate the driver holding a constant gas pedal position.
• Cruise control
For the Cruise control condition, the controller maintains a constant longitudinal speed
throughout the simulation.
Simulation Specifics
The user specifies the vehicle speed, left or right turn direction, and steering wheel input method.
View an example of Step Steer Simulation output
Simulation Specifics
When Adams/Chassis is called to build a ride motion simulation, the user must define several variables
specific to this type of simulation. The following are the required input along with their default values:
420 Adams/Chassis
Vehicle Simulations
With these variables, Adams/Chassis modifies the generic model in the following ways:
• imot is set to 3 in DIF/50 which set the error in the traction SPLINE to acceleration error.
• SPLINE/50 is set to the user specified deceleration value.
Simulation Specifics
When Adams/Chassis is called to build a ride motion simulation, the user must define several variables
specific to this type of simulation. The following are the required input along with their default values:
Final acceleration [g's]: 0.4
Number of simulation steps: 40
Left tire mu: 1.0
Right tire mu: 1.0
With these variables, Adams/Chassis modifies the generic model in the following ways:
• imot is set to 3 in DIF/50 which set the error in the traction SPLINE to acceleration error.
• SPLINE/50 is set to the user specified deceleration value.
To support this event, the Analytical Road Loads (ARL) Tire Model has been added as a new Tire Model
option. If this option is selected in the tire subsystem files, tire related statements will not be written to
the dataset.
Straight-Line Drive
Vehicle Dynamics CAE Standard Test Procedure
Background
This event is a model verification tool which will test the model in the simplest dynamic maneuver.
Important information gathered from this simulation is that the model will run dynamically with the tire
options and other default parameters chosen.
Simulation Specifics
Adams/Chassis only requires one user input for this simulation.
Vehicle velocity [mph]: 55.0
With these variables, Adams/Chassis modifies the generic model in the following ways:
- None
The remainder of the variables are designated in the .acf file.
Suspension Compliance
Vehicle Dynamics CAE Standard Test Procedure
Background
The suspension compliance maneuver is a half-vehicle simulation used to evaluate suspension
compliance under various loading conditions.
422 Adams/Chassis
Vehicle Simulations
Important information gathered from this simulation are: Lateral compliance steer,lateral camber
compliance, wheel recession, and longitudinal compliance steer.
learn more about Half-Vehicle Simulations.
Simulation Specifics
When Adams/Chassis is called to build the suspension compliance simulation, the user must define
several variables specific to this type of simulation. A listing of the Adams/Chassis requested variables
with the default values are as follows:
Typical values for the various forces range from 800-1000 lbs. With these variables, Adams/Chassis will
allow Adams to calculate converging lateral compliance, parallel lateral compliance, and longitudinal
compliance at both the wheel center and the contact patch
View an example of Front Suspension Compliance Simulation output
SVC Iterate
Vehicle Dynamics CAE Standard Test Procedure
The SVC Iterate event helps analysts achieve specific vehicle targets with their Adams model. For the
full-vehicle version, any combination of the following targets can be selected:
• Tire Loads, CG Height, and Overall Inertia
• Front and Rear Ride Height (Rise-to-Curb)
• Front and Rear Wheel Rate
The last 2 targets can also be selected in the half-vehicle version of SVC Iterate.
This event will modify the vehicle's sprung mass and spring information as necessary to attempt to
achieve desired values for the listed targets. It will accomplish this by iteratively running the Static
Vehicle Characteristics (SVC) Event.
Tire Loads, CG Height, and Overall Inertia
Swept Steer 423
Vehicle Simulations
The first property group within SVC Iterate involves mass and inertia properties. Data in the body
subsystem file will be varied to try and achieve targets for Corner Loads, Overall Vehicle CG Height, and
Overall Vehicle Inertia.
Three mass options are available: body, cargo, and J-turn cargo. For the body option, the sprung mass
part is varied to try and match the desired vehicle properties. For the cargo option, a new cargo part is
added and adjusted to match the properties. The J-turn cargo option adds a specific loading box type used
in truck testing. This loading box has a fixed density of 2745 kg/m3 and a height of 8 in. For this option
additional input parameters are required: loading width, loading floor height, front X loading limit, and
rear X loading limit.
See SVC-Iterate J-Turn Cargo Loading Process
For both cargo options, a cargo part is added to the model. Any other cargo parts that were originally
included in the model will remain in the model. Part numbers 528 and 529 are assigned to the cargo and
J-turn cargo parts, respectively. If your model has parts with these ID's, please renumber them.
Adams/Chassis will attempt to match 8 outputs (4 tire forces + CG height + 3 inertias) while varying 7
parameters (CG XYZ, mass, and 3 inertias). CG Height and Vehicle Inertia targets will almost always be
achieved, but sometimes not all 4 tire forces can be achieved. 3 parameters (CG X, CG Y, and mass) will
be varied to try and match the 4 loads, and sometimes it is impossible to match them exactly. SVC-Iterate
will get as close as possible, and it should match your desired overall front-rear and left-right force
balances.
Here are some reasons why load and inertia targets would not be achieved:
• Desired inertia value(s) too low (can't have negative inertia)
• Difference between front and rear left-right force balances too great
• Difference between nominal and desired characteristics too great
• Tolerances too small
Swept Steer
424 Adams/Chassis
Vehicle Simulations
The swept steer test objectively determines a vehicle's directional control response characteristics under
quasi-steady state turning conditions. In the limit this test can be thought of as a constant speed understeer
test.
The test begins by driving the vehicle in a straight line at a constant speed with the vehicle going straight
down the road. A steering wheel angle is slowly applied until a predetermined lateral acceleration level
is attained. The steering must be applied at a slow enough rate so that no transient effects of response lag
are evident.
Simulation Specifics
The user specifies the vehicle speed, final lateral acceleration, and left or right turn direction.
View an example of Swept Steer Simulation output
Simulation Specifics
You enter lateral acceleration, turning radius, longitudinal deceleration, and turn direction.
View an example of Throttle Off In a Turn simulation output.
Throttle On In a Turn
Vehicle Dynamics CAE Standard Test Procedure
Background
This test is used to determine a vehicle's directional control response characteristics during a power on
(wide open throttle) in a turn. In the physical test, the driver begins by steering around a circle (usually
200 or 750 foot radius) at a constant speed corresponding to a predetermined lateral acceleration. Once
Tire Wear 425
Vehicle Simulations
the driver has reached a steady-state condition driving around the circle, she abruptly opens the throttle
and the vehicle accelerates. The driver maintains a constant steering wheel angle (open loop) during the
test.
In the Adams simulation, the user specifies the turning radius, turn direction, initial lateral acceleration,
and longitudinal acceleration. From this input, a user written control subroutine (consub 530) calculates
the longitudinal, lateral, and yawing velocities necessary to negotiate the turn, and then resets the part
velocities to these calculated values. The dynamic portion of the simulation comes next, when the
traction controller begins to accelerate the vehicle at time 0.2 seconds (throttle on at 0.2 seconds). The
simulation terminates after 10 seconds.
Simulation Specifics
User inputs lateral acceleration, turning radius, longitudinal acceleration, and turn direction.
View an example of Throttle On In a Turn Simulation output
Tire Wear
Vehicle Dynamics CAE Standard Test Procedure
Background
The tire wear simulation is used in conjunction with physical testing to estimate the amount of tire wear
that comes from a particular suspension design. The simulation takes as an input a tire wear course, which
defines the path the vehicle will follow. As the vehicle follows the path defined by the tire course, the
camber, slip angle, and vertical weight on the tire are recorded for each step of the simulation. The data
gathered from the Adams simulation is then taken to a tire-testing machine and used as an input (or "drive
file") to the tire controller mechanism. The tire is loaded and steered in the same way as the tire in the
Adams simulation, and the testing machine may run the input file many times on a tire so as to test the
tire durability. An engineer may then be able to compare the wear properties of a variety of tires on a
given suspension.
Within Adams/Chassis, two different tire wear courses may be selected: Accuna and VTS. The tire
courses are curved paths that the vehicle follows using the driver model steering controller. The vehicle
maintains a constant longitudinal speed (usually 15 mph) for the duration of the simulation.
Simulation Specifics
The user specifies the vehicle speed and the course to be used, either Accuna or VTS.
The constant radius standard report now has the following table:
*** UNDERSTEER BUDGET ***
Front Weight and Tires = 5.72 deg/g
Rear Weight and Tires = -5.05 deg/g
Steering System Compliance = 1.66 deg/g
Front Roll Steer = 0.33 deg/g
Rear Roll Steer = 0.20 deg/g
Front Suspension Compliance = 0.57 deg/g
Rear Suspension Compliance = 0.00 deg/g
-------------------------------------------------
Total Understeer = 3.42 deg/g
The different numbers in this table are calculated from system outputs in the request file. To accurately
calculate roll steer, the Adams/Chassis constant radius event has been modified. Before the USER(531)
call in the event, the SVC routine will be called. The steering system will be locked at the gear before
this SVC call, and unlocked after SVC is executed. Locking the steering system allows the calculation of
true kinematic roll steer. The postprocessor extracts the roll steer outputs from the .svc file, and uses these
numbers with the rest of the system parameters from the request file to formulate the table.
Note: If the SVC run is not successful, the postprocessor will not calculate the understeer budget
table.
To aid in the understeer calculations, Adams/Chassis has added an overall steering ratio calculation. If
you specify '0.0' for the OVERALL STEERING SYSTEM RATIO Adams/Chassis calculates the ratio.
Please note that Adams/Chassis will calculate the kinematic steering ratio.
See Understeer Budget Calculations.
• Toe Angles
• Gradient Calculations
• Weight Distribution and Tires
• Roll Steer
• Steering System Compliance Steer and Front Suspension Compliance Steer
• Rack-and-Pinion Steering System
• Pitman, Haltenberger, and Relay Steering Systems
• Rear Suspension Compliance Steer
• Appendix A: Variable Sources
• Appendix B: Overall Steering Ratio Calculations
• Rack
• Pitman and Haltenberger
• Relay
List of Symbols
428 Adams/Chassis
Vehicle Simulations
Toe Angles
The four toe angles of the vehicle play an important role in calculating the understeer budget gradients.
It is only through the toe angles that we can calculate suspension compliance steer. It is important to
understand the various components of these toe angles.
When dealing with front toe angles, the assumption is made that the signs of the toe angles won't change
during a constant radius maneuver (In a left turn, the right front tire will always be toed in, the left front
tire will always be toed out). Because of this, we can calculate average front toe by averaging the absolute
values of the front toe angles. This average toe is then used to help calculate the front suspension
compliance steer. Figure 1 shows the components of front toe.
Figure 1. Front Toe Angle Components
As we can see from Figure 1, if roll steer and lateral compliance are understeer effects, they will act to
reduce the average toe angle. Notice that the figure does not include toe angles due to alignment. This is
430 Adams/Chassis
Vehicle Simulations
because the understeer budget numbers are gradients, which are the change in various quantities as lateral
acceleration changes. An alignment value for toe has no effect on these gradients.
Using Figure 1, we arrive at the following expression for front toe.
Eqn.(2) is set up so that when the individual quantities are positive, they indicate understeer. This is why
the absolute value of roll angle is used, RSF is a signed quantity that indicates roll understeer when
positive.
For rear toe, we can not make the assumption that the signs of the toe angles won't change. Because of
this we need a different way to represent rear average toe. Figure 2 shows the components of rear toe.
Understeer Budget Calculations 431
Vehicle Simulations
Rear toe angles are a function of roll steer and suspension compliance. Since these can be either
understeer or oversteer effects, we can not use absolute values to calculate average rear toe: we must use
actual toe values and account for the direction of turn. The sign convention for all toe angles is toe-in is
positive, toe-out negative. In a left hand turn something that makes the right rear tire toe-in and left rear
tire toe-out has an understeer effect. Using this and the fact that
roll angle is negative in a left turn, we derive the expression for rear average toe.
This expression will give a positive value when the rear suspension has overall understeer. Eqns. (3) and
(4) are written such that a positive value for dRear Suspension Compliance indicates rear compliance
understeer. The roll steer term is signed differently than the front roll steer because a positive value for
RSR indicates oversteer.
432 Adams/Chassis
Vehicle Simulations
Gradient Calculations
All of the understeer budget gradients are calculated so that a positive value indicates an understeer effect
on the vehicle. The following sections list the individual gradients, all with units (deg/g), that make up
the understeer gradient. The gradients are calculated across .25g by taking the difference between the
values at .3g and .2g, and dividing by .1g.
Weight Distribution and Tires
Roll Steer
Relay
The draglink steering arm length is the distance from the draglink to spindle connection to the kingpin
axis. The other steering arm lengths are the distances from the tie rod ends to the kingpin axes.
The above calculations pertain to the draglink attached to the right spindle. For draglink attachment to
left spindle, reverse LSR and LSL.
436 Adams/Chassis
Vehicle Simulations - Inputs
Brake Drift
Brake in a Turn
Constant Radius
Crosswind
Fishhook
Frequency Response
J-Turn
Lane Change
438 Adams/Chassis
Vehicle Simulations - Inputs
On Center
Sinusoidal Steering
Step Steer
Swept Steer
Throttle On In Turn
Tire Wear 441
Vehicle Simulations - Inputs
Tire Wear
================================================
= ADAMS/Chassis CONSTANT RADIUS TEST RESULTS =
================================================
Title: Vehicle Name
Requester: user
Date: 2000-02-22, adamspost_Windows_NT(10.1)
Filename: vehicle.req
*** INITIAL CONDITIONS ***
Left Front Tire Load = 5040.16 N
Right Front Tire Load = 5086.20 N
Left Rear Tire Load = 4025.91 N
Right Rear Tire Load = 4055.06 N
Front Axle Load = 10126.36 N
Rear Axle Load = 8080.97 N
Total Vehicle Weight = 18207.33 N
Weight Distribution = 55.62 % Front
Initial Vehicle Velocity = 0.00 kph
Initial radius of turn = 31072.15 mm
*** LINEAR PERFORMANCE GAINS ***
Crosswind Simulation 507
Vehicle Simulations - Reports
Crosswind Simulation
==========================================
= ADAMS CROSS WIND TEST RESULTS =
==========================================
Title: Vehicle1
Requester: user
Date: Tue Feb 6 10:29:17 1996, adamspost_IRIX(v1.5a)
Filename: vehicle1_crsw.req
*** INITIAL CONDITIONS ***
Left Front Tire Load = 1172.59 lbs
508 Adams/Chassis
Vehicle Simulations - Reports
Fishhook Simulation
=====================================
= ADAMS FISHHOOK TEST RESULTS =
=====================================
Title: Vehicle Name : vehicle_name
Requester: user
Date: 1999-07-28, adamspost_IRIX(10.0)
Filename: car.req
*** INITIAL CONDITIONS ***
Left Front Tire Load = 5604.87 N
Right Front Tire Load = 5612.84 N
Left Rear Tire Load = 3916.24 N
Right Rear Tire Load = 3919.68 N
Front Axle Load = 11217.71 N
Rear Axle Load = 7835.92 N
Total Vehicle Weight = 19053.63 N
Initial Vehicle Velocity = 50.00 kph
Final Velocity(time = 5 sec) = 49.10 kph
*** SIMULATION SPECIFICS ***
Peak Yaw Rate = 11.12 deg/sec
Peak Lateral Acceleration = 0.30 G's
Peak Roll Angle = 2.47 degrees
Peak Sideslip Angle = 0.55 degrees
Maximum Front Outside Tire Load = 7715.99 N
Maximum Rear Outside Tire Load = 4770.14 N
Minimum Front Inside Tire Load = 3123.59 N
Minimum Rear Inside Tire Load = 2953.99 N
===================================================
= ADAMS/PRE FREQUENCY RESPONSE TEST RESULTS =
===================================================
Title: Vehicle Name
Requester: user
Date: 2000-02-22, adamspost_IRIX64(10.1)
Filename: vehicle.req
================================================
= ADAMS FRONT SUSPENSION COMPLIANCE TEST =
================================================
Title: vehicle3
Requester: user
Date: Wed Jan 31 15:56:33 1996, adamspost_IRIX(v1.5a)
Filename: vehicle3.req
---------------------------------------------------------------------------------
LEFT RIGHT LEFT RIGHT
COMPLIANCE TEST PARAMETERS WHEEL WHEEL WHEEL WHEEL
---------------------------------------------------------------------------------
INITIAL CONDITIONS
Spindle Rise (- for rebound) = 0.00 0.00 mm
CONVERGING LATERAL COMPLIANCE TEST (Applied at Contact Patch)
Lateral Force Aligning Moment
------------------ -------------------
Toe change = -0.429 -0.429 deg -7.433 -7.433 deg
Lateral compliance steer = -0.120 -0.120 deg/kN -6.579 -6.579 deg/kN-m
Camber change = 0.315 0.315 deg 0.509 0.509 deg
Lateral camber compliance = 0.088 0.088 deg/kN 0.451 0.451 deg/kN-m
Lateral tire patch displ. = 1.896 1.896 mm 2.386 2.386 mm
Force and moment applied = 3558 3558 N 1130 1130 N-m
PARALLEL LATERAL COMPLIANCE TEST (Applied at Contact Patch)
Lateral Force Aligning Moment
------------------- -------------------
Toe change = 0.517 -0.502 deg -8.382 7.959 deg
Lateral compliance steer = 0.145 -0.141 deg/kN -7.419 7.045 deg/kN-m
Camber change = -0.328 0.338 deg 0.558 -0.312 deg
Lateral camber compliance = -0.092 0.095 deg/kN 0.494 -0.276 deg/kN-m
Lateral tire patch displ. = -2.169 2.250 mm 2.785 -2.885 mm
Force and moment applied = 3558 3558 N 1130 1130 N-m
LONGITUDINAL COMPLIANCE TEST (Applied at Wheel Center)
Reaward Force Forward Force
------------------- -------------------
Toe change = -1.226 -1.226 deg 0.124 0.124 deg
Long. compliance steer = -0.344 -0.344 deg/kN 0.349 0.349 deg/kN
Wheel center recession = 15.047 15.047 mm 1.511 1.511 mm
Wheel center recession rate = 4.23 4.23 mm/kN 4.25 4.25 mm/kN
Wheel center force applied = 3558 3558 N 356 356 N
LONGITUDINAL COMPLIANCE TEST (Applied at Contact Patch)
Reaward Force Forward Force
------------------- -------------------
Toe change = 0.226 0.226 deg -0.215 -0.215 deg
Long. compliance steer = 0.064 0.064 deg/kN -0.060 -0.060 deg/kN
Caster change = 2.942 2.943 deg 2.974 2.974 deg
Long. caster compliance = 0.827 0.827 deg/kN 0.836 0.836 deg/kN
Contact Patch force applied = 3558 3558 N 3558 3558 N
Positive Sign Convention : toe-in, top of tire cambered out, tire patch moving inboard
==========================================
= =
= S V C =
= =
= STATIC VEHICLE CHARACTERISTICS =
= ADAMS Model postprocessor =
= =
= written by Mechanical Dynamics Inc. =
= =
==========================================
ADAMS Model Title:
vehicle1, OUTPUT UNITS = ENGLISH
GENERAL CHARACTERISTICS
_________________________________________________________________________
(PARAMETER) (UNITS) (TOTAL) (LEFT) (RIGHT)
_________________________________________________________________________
Total weight Lbs 4244.38
Front ground reaction Lbs 2286.18 1172.87 1113.31
Rear ground reaction Lbs 1958.20 987.37 970.84
Total roll inertia Ft*Lb*S**2 456.66
Total pitch inertia Ft*Lb*S**2 2374.40
Total yaw inertia Ft*Lb*S**2 2375.75
Total product Ixy Ft*Lb*S**2 8.03
Total product Ixz Ft*Lb*S**2 -35.01
Total product Iyz Ft*Lb*S**2 0.45
Sprung mass Lbs 3534.08
Sprung roll inertia Ft*Lb*S**2 338.32
Sprung pitch inertia Ft*Lb*S**2 1874.19
Sprung yaw inertia Ft*Lb*S**2 1814.47
Sprung product Ixy Ft*Lb*S**2 4.72
Sprung product Ixz Ft*Lb*S**2 9.92
Sprung product Iyz Ft*Lb*S**2 1.23
Total c.g. height In 26.10
Sprung c.g. height In 28.36
Body yaw angle DEG 0.00
Body pitch angle DEG -0.07
Body roll angle DEG 0.10
Speed MPH 55.00
Wheelbase In 111.59 111.60 111.58
ADAMS Model Title:
vehicle1, OUTPUT UNITS = ENGLISH
FRONT SUSPENSION CHARACTERISTICS
Suspension Description = Short_Long_Arm_Strut_Perch
_________________________________________________________________________
(PARAMETER) (UNITS) (AVERAGE) (LEFT) (RIGHT)
_________________________________________________________________________
Unsprung mass (total) Lbs 225.07
Unsprung c.g. height In 14.15
Roll center height In 1.96
Wheel center rise In 1.23 1.20 1.26
Static loaded tire radius In 13.47 13.45 13.49
Track width In 58.67
Axle distance from body cg In 48.66
steer angle DEG 0.03
Toe Angle DEG 0.22 0.19 0.25
Caster Angle DEG 4.73 4.73 4.73
Camber Angle DEG -0.46 -0.36 -0.57
Kingpin Angle DEG 11.84 11.74 11.94
Caster Angle wrt body DEG 4.66 4.66 4.65
Camber Angle wrt body DEG -0.46 -0.46 -0.46
Kingpin Angle wrt body DEG 11.84 11.84 11.84
Scrub radius In 1.71 1.71 1.70
Caster trail In 1.09 1.09 1.09
Toe change DEG/In -0.10 -0.10 -0.10
Caster change DEG/In 0.25 0.25 0.25
512 Adams/Chassis
Vehicle Simulations - Reports
=======================================
= ADAMS GRIST MILL TEST RESULTS =
=======================================
Title: Vehicle Name : vehicle_name
Requester: user
Date: 2002-01-01, adamspost_Windows_NT(12.0)
Filename: gristmill_example.req
*** INITIAL CONDITIONS ***
==========================================
= =
= S V C =
= =
= STATIC VEHICLE CHARACTERISTICS =
= ADAMS Model postprocessor =
= =
= written by Mechanical Dynamics Inc. =
= =
==========================================
ADAMS Model Title:
vehicle3, OUTPUT UNITS = ENGLISH
GENERAL CHARACTERISTICS
_________________________________________________________________________
(PARAMETER) (UNITS) (TOTAL) (LEFT) (RIGHT)
_________________________________________________________________________
Total weight Lbs 0.00
Front ground reaction Lbs 0.00 0.00 0.00
Rear ground reaction Lbs 0.00 0.00 0.00
Total roll inertia Ft*Lb*S**2 0.00
Total pitch inertia Ft*Lb*S**2 0.00
Total yaw inertia Ft*Lb*S**2 0.00
Total product Ixy Ft*Lb*S**2 0.00
Total product Ixz Ft*Lb*S**2 0.00
Total product Iyz Ft*Lb*S**2 0.00
Sprung mass Lbs 0.00
Sprung roll inertia Ft*Lb*S**2 0.00
Sprung pitch inertia Ft*Lb*S**2 0.00
Sprung yaw inertia Ft*Lb*S**2 0.00
Sprung product Ixy Ft*Lb*S**2 0.00
Sprung product Ixz Ft*Lb*S**2 0.00
Sprung product Iyz Ft*Lb*S**2 0.00
Total c.g. height In 0.00
Sprung c.g. height In 0.00
Body yaw angle DEG 0.00
Half Vehicle SVC (Front) 515
Vehicle Simulations - Reports
==========================================
= =
= S V C =
= =
= STATIC VEHICLE CHARACTERISTICS =
= ADAMS Model postprocessor =
= =
Half Vehicle SVC (Rear) 517
Vehicle Simulations - Reports
J-Turn Simulation
======================================
= ADAMS J-TURN TEST RESULTS =
======================================
ADAMS Model Title: Vehicle
Requester: user
Date: Mon Feb 19 16:11:25 1996, adamspost_IRIX(v1.5a)
Adams results file: u_jtrn.req
*** INITIAL CONDITIONS ***
Left Front Tire Load = 1552.89 lbs
Right Front Tire Load = 1525.92 lbs
Left Rear Tire Load = 2024.77 lbs
Right Rear Tire Load = 2016.23 lbs
Front Axle Load = 3078.81 lbs
Rear Axle Load = 4041.00 lbs
Total Vehicle Weight = 7119.81 lbs
Initial Vehicle Velocity = 55.00 mph
Final Velocity(time = 5 sec) = 46.93 mph
*** SIMULATION SPECIFICS ***
Steering Wheel Angle = 90.00 deg Left
Peak Yaw Rate = 20.40 deg/sec
Peak Lateral Acceleration = 0.62 G's
Peak Roll Angle = 6.25 degrees
Peak Sideslip Angle = 6.09 degrees
Maximum Front Outside Tire Load = 2979.88 lbs
Maximum Rear Outside Tire Load = 3259.14 lbs
Minimum Front Inside Tire Load = 220.64 lbs
Minimum Rear Inside Tire Load = 750.83 lbs
Loadcase Simulation
Title: Vehicle4
520 Adams/Chassis
Vehicle Simulations - Reports
Model Auditor
%pre_bus-w-war
_bus-w-war Damping rate for Rear Sta Bar Rotational 61 bushing
_bus-w-war in the Torsional direction is greater than 10%
_bus-w-war of the stiffness rate.
%pre_bus-w-war
_bus-w-war Damping rate for Rear Hub Compliance 9 bushing
_bus-w-war in the Radial X direction is greater than 10%
_bus-w-war of the stiffness rate.
%pre_bus-w-war
_bus-w-war Damping rate for Rear Hub Compliance 9 bushing
_bus-w-war in the Radial Y direction is greater than 10%
_bus-w-war of the stiffness rate.
%pre_bus-w-war
_bus-w-war Damping rate for Rear Hub Compliance 9 bushing
_bus-w-war in the Axial direction is greater than 10%
_bus-w-war of the stiffness rate.
%pre_bus-w-war
_bus-w-war Damping rate for Rear Hub Compliance 9 bushing
_bus-w-war in the Conical X direction is greater than 10%
_bus-w-war of the stiffness rate.
%pre_bus-w-war
_bus-w-war Damping rate for Rear Hub Compliance 9 bushing
_bus-w-war in the Conical Y direction is greater than 10%
_bus-w-war of the stiffness rate.
%pre_bus-w-war
_bus-w-war Damping rate for Rear Hub Compliance 9 bushing
_bus-w-war in the Torsional direction is greater than 10%
_bus-w-war of the stiffness rate.
Steering Suspension Data Auditing
%pre_cg-w-war
_cg-w-war Specified CG for Steering Steering Wheel
_cg-w-war is greater than 100 mm away from the default location
_cg-w-war Your location: 2676.19 -345.00 1095.14
_cg-w-war Default location: 2140.13 -345.00 1195.14
_cg-w-war Distance: 545.3 mm
%pre_cg-w-war
_cg-w-war Specified CG for Steering Gear Housing
_cg-w-war is greater than 100 mm away from the default location
_cg-w-war Your location: 1912.00 0.00 439.10
_cg-w-war Default location: 1460.67 -181.60 725.18
_cg-w-war Distance: 564.4 mm
%pre_cg-w-war
_cg-w-war Specified CG for Steering Rack
_cg-w-war is greater than 100 mm away from the default location
_cg-w-war Your location: 1912.00 0.00 439.10
_cg-w-war Default location: 1360.00 -132.00 547.52
_cg-w-war Distance: 577.8 mm
==================================================
= MODERATE BRAKING - STEADY STATE RESULTS =
==================================================
524 Adams/Chassis
Vehicle Simulations - Reports
On Center Simulation
===================================================
= ADAMS/Chassis ON-CENTER HANDLING TEST RESULTS =
===================================================
Title: Vehicle Name: Example vehicle
Requester: user
Date: 2001-03-20, adamspost_IRIX(12.0)
Filename: example_onc.req
*** INITIAL CONDITIONS ***
Left Front Tire Load = 4800.00 N
Right Front Tire Load = 4800.00 N
Left Rear Tire Load = 4200.00 N
Right Rear Tire Load = 4200.00 N
Front Axle Load = 9600.00 N
Rear Axle Load = 8400.00 N
Total Vehicle Weight = 18000.00 N
Path-Corrected Lanechange Simulation 525
Vehicle Simulations - Reports
=======================================================
= ADAMS PATH CORRECTED LANE CHANGE RESULTS =
=======================================================
Title: vehicle
Requester: user
Date: Fri Apr 18 16:10:31 1997, adamspost_IRIX64( v1.7)
Filename: vehicle.req
*** INITIAL CONDITIONS ***
Left Front Tire Load = 7700.23 N
Right Front Tire Load = 7588.82 N
Left Rear Tire Load = 9567.99 N
Right Rear Tire Load = 9459.72 N
Front Axle Load = 15289.05 N
Rear Axle Load = 19027.71 N
Total Vehicle Weight = 34316.76 N
Weight Distribution = 44.55 % Front
Vehicle Velocity = 100.00 kph
*** LANE CHANGE METRICS ***
Yaw Rate Overshoot = -1.853 deg/sec
Steering Wheel Distortion = 42.602
===============================================
= ADAMS REAR SUSPENSION COMPLIANCE TEST =
===============================================
Title: Vehicle1
Requester: user
526 Adams/Chassis
Vehicle Simulations - Reports
RideMotion Simulation
=============================================
= ADAMS FRONT RIDEMOTION TEST RESULTS =
=============================================
Title: vehicle_name
Requester: user
Date: 1999-11-22, adamspost_IRIX(10.1)
Filename: vehicle.req
*** FRONT TIRE ORIENTATION ANGLES ***
Maximum Left Toe Angle = 0.083 (deg)
Minimum Left Toe Angle = 0.075 (deg)
Maximum Left Caster Angle = 4.964 (deg)
Minimum Left Caster Angle = 4.945 (deg)
Maximum Left Camber Angle = -0.589 (deg)
Minimum Left Camber Angle = -0.605 (deg)
Maximum Right Toe Angle = 0.087 (deg)
Sinusoidal Steer Simulation 527
Vehicle Simulations - Reports
=============================================
= ADAMS SINUSOIDAL STEER TEST RESULTS =
=============================================
Title: vehicle
Requester: user
Date: 2000-01-04, adamspost_IRIX(10.1)
Filename: vehicle_sinstr_1.req
*** INITIAL CONDITIONS ***
Left Front Tire Load = 1382.59 N
Right Front Tire Load = 1332.34 N
Left Rear Tire Load = 2795.14 N
Right Rear Tire Load = 2757.86 N
Front Axle Load = 6714.93 N
Rear Axle Load = 5553.00 N
Total Vehicle Weight = 12267.93 N
Initial Vehicle Velocity = 69.99 kph
Final Velocity(time = 3 sec) = 70.10 kph
*** SIMULATION SPECIFICS ***
Steering Wheel Angle = 90.00 deg
Peak Yaw Rate = 22.655 deg/sec
Peak Lateral Acceleration = 0.743 G's
Peak Roll Angle = 2.989 degrees
Peak Sideslip Angle = 2.459 degrees
Maximum Front Tire Load = 6883.17 N
Maximum Rear Tire Load = 3504.37 N
Minimum Front Tire Load = 2535.93 N
Minimum Rear Tire Load = 2366.20 N
Minimum Left Tire Load = 2969.58 N
Minimum Right Tire Load = 2911.12 N
==================================================
= ADAMS STEADY-STATE DRIFT TEST RESULTS =
==================================================
Title: Vehicle1
Requester: user
Date: Tue Feb 6 10:50:28 1996, adamspost_IRIX(v1.5a)
Filename: vehicle1_ssd.req
*** INITIAL CONDITIONS ***
Left Front Tire Load = 1173.98 lbs
Right Front Tire Load = 1114.35 lbs
Left Rear Tire Load = 988.40 lbs
Right Rear Tire Load = 971.77 lbs
Front Axle Load = 2288.33 lbs
Rear Axle Load = 1960.17 lbs
Total Vehicle Weight = 4248.50 lbs
Weight Distribution = 53.86 % Front
528 Adams/Chassis
Vehicle Simulations - Reports
===========================================
= ADAMS FRONT STEERING TEST RESULTS =
===========================================
Title: vehicle_name
Requester: pkumar
Date: 2003-05-16 15:47, adamspost.exe
Filename: achassis_gs_front_sys_str.req
*** VEHICLE PERFORMANCE ***
Characteristics Left Right Average
------------------------ -------- ------- -------
Max Steering Ratio = 19.86 -17.73 18.80 (deg/deg)
Min Steering Ratio = 17.73 -19.85 18.79 (deg/deg)
Overall Steering Ratio = 19.24 -18.79 19.01 (deg/deg)
On Center Steering Ratio = 19.44 -19.39 19.41 (deg/deg)
Ackerman Angle = 0.00 0.00 0.00 (deg)
Percent Ackerman = 0.00 0.00 0.00 (%)
Overall Steering Ratio is averaged over all time steps
On Center Steering Ratio is taken about 0 steering wheel angle
~
==========================================
= ADAMS REAR STEERING TEST RESULTS =
==========================================
Title: Example Vehicle 1 w/4 Wheel Steering
Requester: pkumar
Date: 2003-05-16 15:46, adamspost.exe
Filename: vehicle1_4WS_rear_sys_rstr.req
*** VEHICLE PERFORMANCE ***
Characteristics Left Right Average
------------------------ -------- ------- -------
Max Steering Ratio = -3.44 3.89 -3.67 (mm/deg)
Min Steering Ratio = -3.89 3.44 -3.66 (mm/deg)
Overall Steering Ratio = -3.79 3.70 -3.74 (mm/deg)
Steering Simulation 529
Vehicle Simulations - Reports
Steering Simulation
=====================================
= ADAMS STEERING TEST RESULTS =
=====================================
Title: vehicle3
Requester: user
Date: Thu Mar 20 09:59:53 1997, adamspost_IRIX( v1.7)
Filename: vehicle3.req
*** VEHICLE PERFORMANCE ***
Characteristics Left Right Average
------------------------ -------- ------- -------
Max Steering Ratio = 17.91 -15.60 16.76 (deg/deg)
Min Steering Ratio = 15.65 -17.93 16.79 (deg/deg)
Overall Steering Ratio = 17.32 -16.83 17.07 (deg/deg)
Ackerman Angle = 1.42 1.40 1.41 (deg)
Percent Ackerman = 50.77 50.27 50.52 (%)
=======================================
= ADAMS STEP STEER TEST RESULTS =
=======================================
Adams Model Title: Vehicle
Requester: user
Date: Mon Feb 19 15:53:37 1996, adamspost_IRIX(v1.5a)
Adams results file: u_step.req
*** INITIAL CONDITIONS ***
Left Front Tire Load = 1554.26 lbs
Right Front Tire Load = 1527.56 lbs
Left Rear Tire Load = 2023.49 lbs
Right Rear Tire Load = 2014.50 lbs
Front Axle Load = 3081.82 lbs
Rear Axle Load = 4037.99 lbs
Total Vehicle Weight = 7119.81 lbs
Vehicle Velocity = 55.00 mph
*** TRANSIENT NUMBERS ***
Peak Yaw Rate = 17.61 deg/sec
Peak Lateral Acceleration = 0.54 G's
Peak Roll Angle = 5.35 degrees
Peak Sideslip Angle = 4.42 degrees
Yaw Rate Overshoot = 53.41 %
Lateral Acceleration Overshoot = 6.87 %
Roll Angle Overshoot = 14.10 %
Sideslip Angle Overshoot = 36.12 %
Maximum Front Outside Tire Load = 2673.72 lbs
Maximum Rear Outside Tire Load = 3201.09 lbs
Minimum Front Inside Tire Load = 279.52 lbs
Minimum Rear Inside Tire Load = 983.29 lbs
*** STEADY STATE VALUES ***
530 Adams/Chassis
Vehicle Simulations - Reports
==================================================
= STRAIGHT LINE ACCELERATION TEST RESULTS =
==================================================
Title: Vehicle1
Requester: user
Date: Tue Feb 6 10:21:41 1996, adamspost_IRIX(v1.5a)
Filename: vehicle1_sla.req
*** INITIAL CONDITIONS ***
Left Front Tire Load = 1172.59 lbs
Right Front Tire Load = 1113.78 lbs
Left Rear Tire Load = 987.13 lbs
Right Rear Tire Load = 971.26 lbs
Front Axle Load = 2286.37 lbs
Rear Axle Load = 1958.40 lbs
Total Vehicle Weight = 4244.77 lbs
Weight Distribution = 53.86 % Front
Initial Vehicle Velocity = 0.00 mph
*** VEHICLE PERFORMANCE ***
Vehicle Pitch Gradient = 2.438 (deg/g)
Front Suspension Dive Gradient = -74.080 (mm/g)
Rear Suspension Lift Gradient = 46.450 (mm/g)
Front Toe Change Gradient = 0.194 (deg/g)
Front Caster Change Gradient = 1.846 (deg/g)
Front Camber Change Gradient = -0.070 (deg/g)
*** VEHICLE STATISTICS DURING TEST ***
Steering Average Average Average
Wheel Angle Front Rear Front Front Front
Long. to go Pitch Suspension Suspension Toe Caster Camber
Accel Straight angle Lift Dive Change Change Change
(g) (deg) (deg) (mm) (mm) (deg) (deg) (deg)
-------------------------------------------------------------------------
0.00g -0.60 0.000 0.000 0.000 0.000 0.000 0.000
0.20g -0.26 0.488 -14.806 9.314 0.039 0.369 -0.011
0.40g 0.17 0.973 -29.650 18.451 0.070 0.739 -0.068
* The gradients are calculated at 0.1g
=============================================
= STRAIGHT LINE BRAKING TEST RESULTS =
=============================================
Title: Vehicle1
Requester: user
Date: Fri Apr 18 16:39:41 1997, adamspost_IRIX64( v1.7)
Filename: vehicle1_slb.req
*** INITIAL CONDITIONS ***
Left Front Tire Load = 7700.23 N
Right Front Tire Load = 7588.82 N
Left Rear Tire Load = 9567.99 N
Right Rear Tire Load = 9459.72 N
Front Axle Load = 15289.05 N
Rear Axle Load = 19027.71 N
Total Vehicle Weight = 34316.76 N
Weight Distribution = 44.55 % Front
Initial Vehicle Velocity = 88.51 kph
*** VEHICLE PERFORMANCE ***
Vehicle Pitch Gradient = -1.447 (deg/g)
Front Suspension Dive Gradient = 51.285 (mm/g)
Rear Suspension Lift Gradient = 43.445 (mm/g)
Front Toe Change Gradient = 0.236 (deg/g)
Front Caster Change Gradient = -3.995 (deg/g)
Front Camber Change Gradient = -0.711 (deg/g)
*** VEHICLE STATISTICS DURING TEST ***
Steering Average Average Average
Wheel Angle Front Rear Front Front Front
Long. to go Pitch Suspension Suspension Toe Caster Camber
Accel Straight angle Dive Lift Change Change Change
(g) (deg) (deg) (mm) (mm) (deg) (deg) (deg)
--------------------------------------------------------------------------
0.00g 0.20 0.000 0.000 0.000 0.000 0.000 0.000
0.20g 0.06 -0.295 10.440 8.847 0.037 -0.768 -0.144
0.40g -0.12 -0.584 20.703 17.518 0.068 -1.641 -0.279
* The gradients are calculated at 0.1g
===========================================================
= ADAMS CONSTANT SPEED UNDERSTEER TEST RESULTS =
===========================================================
ADAMS Model Title: Vehicle
Requester: user
Date: Fri Feb 16 13:18:33 1996, adamspost_IRIX(v1.5a)
Adams results file: u_swpt.req
*** INITIAL CONDITIONS ***
Left Front Tire Load = 1552.89 lbs
Right Front Tire Load = 1525.92 lbs
Left Rear Tire Load = 2024.77 lbs
Right Rear Tire Load = 2016.23 lbs
Front Axle Load = 3078.81 lbs
Rear Axle Load = 4041.00 lbs
Total Vehicle Weight = 7119.81 lbs
Weight Distribution = 43.24 % Front
Vehicle Velocity = 55.00 mph
*** LINEAR PERFORMANCE GAINS ***
532 Adams/Chassis
Vehicle Simulations - Reports
=================================================
= ADAMS THROTTLE OFF IN TURN TEST RESULTS =
=================================================
Title: Vehicle
Requester: user
Date: Thu Feb 8 15:32:39 1996, adamspost_IRIX(v1.5a)
Filename: u_toff.req
*** INITIAL CONDITIONS ***
Left Front Tire Load = 764.71 lbs
Right Front Tire Load = 2332.79 lbs
Left Rear Tire Load = 1292.01 lbs
Right Rear Tire Load = 2738.48 lbs
Front Axle Load = 3097.50 lbs
Rear Axle Load = 4030.49 lbs
Total Vehicle Weight = 7127.99 lbs
Initial radius of turn = 2320.45 in
longitudinal decel. = 0.006 g's
*** VEHICLE PERFORMANCE ***
Vehicle Peak Yaw Rate = 15.252 (deg/sec)
Vehicle Yaw Rate Steady State = 14.514 (deg/sec)
Vehicle Yaw Rate Ratio = 1.051
Vehicle Peak Lateral Acc. = -0.404 (G's)
Vehicle Lateral Acc. Steady State = -0.399 (G's)
Vehicle Lateral Acc. Ratio = 1.012
Vehicle Peak Side Slip Angle = -1.289 (deg)
Vehicle Side Slip Angle Steady State = -1.173 (deg)
Vehicle Side Slip Angle Ratio = 1.099
*** VEHICLE STATISTICS DURING TEST ***
Throttle On In a Turn Simulation 533
Vehicle Simulations - Reports
================================================
= ADAMS THROTTLE ON IN TURN TEST RESULTS =
================================================
Title: Vehicle
Requester: user
Date: Wed Jan 31 13:59:55 1996, adamspost_IRIX(v1.5a)
Filename: u_ton.req
*** INITIAL CONDITIONS ***
Left Front Tire Load = 764.71 lbs
Right Front Tire Load = 2332.79 lbs
Left Rear Tire Load = 1292.01 lbs
Right Rear Tire Load = 2738.48 lbs
Front Axle Load = 3097.50 lbs
Rear Axle Load = 4030.49 lbs
Total Vehicle Weight = 7127.99 lbs
Initial radius of turn = 2320.45 in
longitudinal decel. = 0.006 g's
*** VEHICLE PERFORMANCE ***
Vehicle Peak Yaw Rate = 14.539 (deg/sec)
Vehicle Yaw Rate Steady State = 14.510 (deg/sec)
Vehicle Yaw Rate Ratio = 1.002
Vehicle Peak Lateral Acc. = -0.486 (G's)
Vehicle Lateral Acc. Steady State = -0.399 (G's)
Vehicle Lateral Acc. Ratio = 1.220
Vehicle Peak Side Slip Angle = -3.585 (deg)
Vehicle Side Slip Angle Steady State = -1.173 (deg)
Vehicle Side Slip Angle Ratio = 3.057
*** VEHICLE STATISTICS DURING TEST ***
Long. Accel. Yaw Rate Lat. Accel. SideSlip
(g's) (deg/sec) (g's) (deg)
--------------------------------------------------------------------
0.00g 14.501 -0.402 -1.186
0.10g 14.530 -0.395 -1.181
534 Adams/Chassis
Vehicle Simulations - Reports