Sunteți pe pagina 1din 864

Welcome to Adams/Chassis

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

Adams/Chassis Work Modes


Adams/Chassis is divided into four work modes:
• Build
• Test
• Review
• Improve

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

Adams/Chassis Data Structure


Learn about:
• Vehicle Databases
• Systems
• Subsystems
• Property Object
• XML Data Format

See a diagram of the Adams/Chassis data structure.

Adams/Chassis Process Flowchart


Adams/Chassis Preprocessing and Simulation Flowchart
4 Adams/Chassis
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

Python .py Method Files

Adams Input Files


.adm .cmd
.acf .dcf

Adams/Solver w/ Custom Subroutines

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

Adams/Chassis Postprocessing Flowchart


Adams/Chassis
GUI

Animation Plotting Reports


.gra .req .req
.res

ppt_fragment.txt .pl Report


.aft Plot Template
Templates
ppt.cmd
meplot
meplot

ppt.cmd <event output>.dat


Adams/PPT

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

There are three major classes of files in the database:


• System (store in system.tbl)
• Subsystem (store in subsystems.tbl)
• Property (several tables are possible)

The following diagram shows the file relationship:

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 Data Format


Three files classes (system, subsystems, and property files) are stored using the XML (Extensible
Markup Language) data format. Therefore, all of the files have an .xml extension.

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

Vehicle Coordinate System


Below is the Adams/Chassis coordinate system for vehicle dynamics.
In North America:
• Positive X goes from the front of the vehicle to the rear
• Positive Y goes from centerline of vehicle to right
• Positive Z goes up

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

Adams/Solver (C++) in Adams/Chassis


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:
• Three-dimensional vector expressions versus scalar expression
• Analytical derivatives versus forward differenced derivatives.
• User-extensible function library (for example, function=my_cos(1)*my_sin()) versus
func=user).
• User-defined constraints
• Improved support for flexible bodies.

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/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.

To start Adams/Chassis in the UNIX environment:


1. At the command prompt, enter the command to start the Adams Toolbar, and then select Enter.
The standard command that MSC provides is mdadamsx, where x is the version number, for
example mdadams2010.
The Adams Toolbar appears.
2. Select the Adams/Chassis tool .
The Adams/Chassis window appears. The default mode is Build.

To start Adams/Chassis in the Windows environment:


• From the Start menu, point to
All Programs, point to
MSC.Software, point to
MD Adams 2010, point to
AChassis, and then select
Adams - Chassis.
The Adams/Chassis window appears.

To start Adams/Chassis from the command line:


• On Windows, enter achassis.
• On UNIX, enter mdadams2010 -c achassis.

View more Adams/Chassis Commands.

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
.

The command: Does the following:


achassis Launches the Adams/Chassis interface.
achassis -adams Runs Adams/Solver with Adams/Chassis solver executable.
achassis -aft2py Launches an Aft to Python converter.
achassis -ainsight Launches Adams/Insight.
achassis -apost Displays reports.
achassis -aview Launches Adams/View.
achassis -buildcust Builds the Custom Adams/Chassis solver executable.
achassis -custadams Runs Adams/Solver with the Custom Adams/Chassis solver executable.
achassis -makeflex Launches the flexible body preprocessor.
achassis -makeleaf Launches the Makeleaf preprocessor.
achassis -meplot -c Displays standard plots.
achassis -perl Launches the Perl interpreter.
achassis -ppt Launches Adams/PostProcessor.
achassis -python Launches the Python interpreter.
achassis -translate Launches the utility to convert Adams/Pre data to Adams/Chassis data.
achassis -visedit Launches an XML data file visual editor.
achasssis -flxpre Launches the FEA Node Finder (.flx file preprocessor).

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

Shared Chassis Database


This database can be found at <topdir>/shared_chassis_database.vdb. This database is always accessible
and no registration is required. It includes examples of subsystems, components and property files.

Adding and Deleting Database(s)


You can add as many Databases as needed.

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.

To clear all the registered databases:


• Select the Clear All button.

Using Multiple Databases


You can use multiple Databases only in Build mode. It is possible to have multiple vehicles available at
one time that reference the same or different databases.

To use multiple databases:


1. Select Load Model from the toolbar.
Learning Basics 15
Starting/Preferences, Commands and Database

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

To work with sessions:


• From the File menu, select one of the options explained in the table below to indicate how you'd
like to use Adams/Chassis.

The option: Does the following:


New Session Starts a new session of Adams/Chassis that does not have any vehicles
loaded. If you start a new session, Adams/Chassis:

• Prompts you to save your changes.


• Deletes the models, fingerprints, and any simulations after you
make your selection.
Open Session Opens a saved session. Adams/Chassis:

• Prompts you for the saved session file.


• Reads session file.
• Sets the current working directory to the directory specified in the
Preferences Panel.
• Adds the Preferences Registered Databases to the session
database.
• Loads any custom events, models, fingerprints, and/or review
settings.
Save Session Saves the current session file.
Save Session As Saves the current session file to a unique name.
Exit Session Closes the session you are working on. Adams/Chassis:

• 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

Below is the basic toolbar that is available in all work modes.

Build mode toolbar


Learning Basics 21
Adams/Chassis Window

Test mode toolbar

Review mode toolbar

Improve mode toolbar

Toggling Window Elements


You can change your window layout in Adams/Chassis by toggling the window elements on and off.

To change your window layout:


• Do one of the following:
22 Adams/Chassis
Adams/Chassis Window

• Select a layout from the Page Layout toolbar .


• From the View menu, select the element to toggle on or off.

Toggles the bookshelf on or off. (This is not available in Build mode).


Toggles the treeview on or off.
Toggles the property editor on or off.

To change toolbar layout:

• Select to toggle toolbars on or off.

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.

To use a shortcut menu:


1. Select an object in the bookshelf or treeview.
2. Rick-click in the bookshelf or treeview.
The shortcut menu appears.
3. Select the desired action from the shortcut menu.

Treeview
The Adams/Chassis treeview changes according to the work mode. The treeview has different features
in each work mode.

Using the Treeview


Select a work mode to learn how to use its treeview:
• Build
• Test
• Review
• Improve
Learning Basics 23
Adams/Chassis Window

Build

To use the Build mode treeview:


• Select a folder to display all the attributes (hardpoints, parts, construction options, and so on) in
the Property Editor.
• Expand a folder to select a specific attribute to be displayed in the property editor.
• Use the text box to filter the treeview.
• Use the sorting tools to sort the treeview.

Test
The treeview in Test mode is divided into two sections:
• Event Bookshelf
• Fingerprint Tree
24 Adams/Chassis
Adams/Chassis Window

To use the Test mode treeview:


• Double-click an event in the event bookshelf.
Adams/Chassis adds an event to a new or existing Fingerprint.
• From the fingerprint tree, select the fingerprint to view the first four input parameters and
attributes for every event from the fingerprint in a table.
• From the fingerprint tree, select an event you want to edit.

Review
The Review mode treeview is divided into two sections:
• Postprocessing Bookshelf
• Fingerprint Tree

To use Review mode treeview:


• To create a new custom postprocessor, double-click an event class in the postprocessing
bookshelf.
• Double-click a fingerprint to postprocess.
Learning Basics 25
Adams/Chassis Window

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.

To use Improve mode treeview:


• Double-click a fingerprint in the bookshelf.
Adams/Chassis adds the event to investigation events tree.
• Select a fingerprint from the investigation events tree to set up the investigation.

Filtering the Treeview


You can filter the Treeview in all work modes. The filter in the Adams/Chassis treeview performs some
basic pattern matching using a UNIX shell-style wildcard string.

To filter the treeview:


• Enter the character pattern you want to match in the Filter field.

Wildcards
* - matches an arbitrary sequence of characters
? - matches one character
[chars] - matches any of chars
26 Adams/Chassis
Adams/Chassis Window

Examples:

f* Matches anything starting with f such as:


• frog
• flap
• f234
f*d Matches anything starting with f and ending with d such as:
• fd
• frd
• fled
• fried
• flyed
f?d Matches anything starting with f and having d as the third character such as:
• fad
• fbd
• f1d
• f2d
f[xyz]d Matches anything starting with f followed by an x, y, or z followed by d, such
as:
• fxd
• fyd
• fzd

Sorting the Treeview

Note: You can only sort data in the Build mode.

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

To sort the treeview:

• Select the Sort tree by component type button to view all the components in the
subsystem.

• Select the Sort by subsystem button to view the subsystems.

Selecting Work Modes


Adams/Chassis has four work modes: Build, Test, Review, and Improve.

To select a work mode:


• From the Main Toolbar, select one of the following:

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.

Ways to select data:


• Select the subsystem file to view all the components.
• Select multiple components to view by using the Shift + click to select the individual
components.
28 Adams/Chassis
Adams/Chassis Data Translation

Adams/Chassis Data Translation


Adams/Chassis 2003 or newer version can read Adams/Chassis 12.0 files. You can use a 12.0 database
or fingerprint file, and no update procedure is necessary. However, if you save a 12.0 database or
fingerprint using version 2003 or newer, Adams/Chassis automatically updates the file.
To use any files from Adams/Pre 9.2 to 11.0, you must convert the files to Adams/Chasssis version 12.0
first.
Learn about:
• Understanding the Data Structure
• Converting Adams/Pre Data to Adams/Chassis 12.0
• Individual File Update
• Fingerprint Update

For more information, see Knowledge Base article 12350.

Understanding the Data Structure


The data structure for Adams/Chassis is different from that of Adams/Pre.
Adams/Pre used a series of data files (.btt, .fst, .rst, .sst, and so on) to represent all the user-specified data
in a given model. The user selects a group of these files in conjunction with selecting a model type in
the interface to define the vehicle for a given event.
In Adams/Chassis, all the data is represented in XML format in various property and subsystem files that
are all contained in a vehicle database. The user specifies a top-level vehicle configuration file in the
main interface to define the vehicle for a given event. The model type is determined from the vehicle
configuration file.

Converting Adams/Pre Data to Adams/Chassis 12.0


Adams/Chassis has several methods for updating Adams/Pre 9.2 to 11.0 datafiles into the new XML
database format and automatically creating vehicle configuration files. All of the data translation utilities
are accessed by launching the Update window in the main Adams/Chassis interface.
• Individual Data File Update
• Fingerprint update

To launch the update window:


• In any mode, from the Utilities menu, select Update 11.0 Adams/Pre files.
Learning Basics 29
Adams/Chassis Data Translation

Individual Data File Update


One method of converting Adams/Pre data to Adams/Chassis data is by specifying the individual
datafiles, the destination vehicle database, and which (if any) vehicle configuration files to create. Learn
how to update an individual file.

The options for individually selecting datafiles to update are shown below.

The following explains the options available for updating individual files.

The option: Does the following:


Update Directory Directory where all of the Adams/Pre data files should reside.
Destination .vdb Allows you to select an Adams/Chassis vehicle database where the newly
translated data will be placed. This specification must have a suffix of .vdb. If you
specify a database that doesn't exist, the translation process creates it
automatically.
30 Adams/Chassis
Adams/Chassis Data Translation

The option: Does the following:


Select Datafiles(s) Here you can select which data files you want to update. If you are planning to
create a vehicle configuration with the selected data, it is important to select data
that corresponds to the vehicle type you want to create. For example, if you want
to create a full vehicle configuration file, you must specify at least (and only one)
a .btt, .fst, .rst, and .sst file. If you only want to build a rear vehicle configuration
file, select only a .btt and .rst file.
Current Selection Displays the data files currently selected. The list updates according to the items
you select in the data file list.
Create Vehicle Allows you to choose if you want to automatically create vehicle configuration
Configuration File files during the translation process. If you clear this selection, Adams/Chassis
translates the datafiles into the selected database, but there is no vehicle
automatically associated with that data.
Create Vehicle Allows you the option to create Full, Front, Rear, or All vehicle configuration
Configuration File files. When converting a standard vehicle, we recommend that you select all the
required datafiles for that vehicle and select the All option. This ensures the
correct data files specified and create vehicle configurations for Full, Front, and
Rear automatically.
Convert Selection Launches the selected data translation.

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.

The option: Does the following:


Update Directory Directory where all of the Adams/Pre fingerprints should reside.
Destination .vdb Allows you to select an Adams/Chassis vehicle database where the
newly translated data will be placed. This specification must have a
suffix of .vdb. If you specify a database that doesn't exist, the
translation process creates it automatically.
Old Fingerprint Files (.fp) Lists the Adams/Pre fingerprints to select from.
32 Adams/Chassis
Adams/Chassis Data Translation

The option: Does the following:


Unique Vehicle Configuration Displays all of the unique vehicle configurations when you select a
fingerprint.

The update utility determines how many different model


configurations are in the specified fingerprint. For example, if your
fingerprint has 10 events, but they all use the same vehicle, you'll see
only one item in this list. If you have 10 events and each one has a
different .fst file (for example), you will see 10 different
configurations in the list. A default naming scheme is used based on
the .btt file name and the model type. You can rename any of the
vehicle configurations by selecting it, entering a new name in the text
box below the list and pressing Enter.
Create 12.0 fp File Creates a new Adams/Chassis fingerprint that references all the listed
vehicle configuration files. You can rename the default 12.0
fingerprint file by typing a new name in the text box below the Old
Fingerprint Files (.fp) list. This process is very quick and should
complete in under a second.
Datafiles Used in Vehicle Lists the data files when you select a configuration from the list. Use
Configuration this to verify that all the datafiles required actually exist. It is possible
to have fingerprints point to invalid or nonexistent datafiles but the the
translation process needs all the files to be available to create a
working vehicle.
Create Vehicle Config File Translates and creates the selected vehicle configuration file.
Create All Config Files Translates the entire fingerprint at once.

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

You can translate Adams/Pre data in any work mode.


Learn more about data translation.

To update an individual data file:


1. From the Utilities menu, select Update 11.0 Adams/Pre files.
The Update window appears.
2. Select the Individual Datafiles to Vehicle Configuration or Database tab.
3. Select the Find tool next to Update Directory to choose the directory you want to update.
Learning Basics 33
Adams/Chassis Data Translation

The Selection Dialog window appears.


4. In the Selection Dialog window, double-click the directory you want to update, and then select
OK.
5. In the Select Datafile(s) section, select the datafiles you want to update. It is important to select
data that corrresponds to the vehicle type you want to create.
6. If you want to create vehicle configuration files during translation, select Create Vehicle
Configuration File.
7. If you selected Create Vehicle Configuration File, you can choose which vehicle configuration
files to create.
8. Select one of the following:
• Full
• Front
• Rear
• All
9. Select Convert Selection to translate the selected data.

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

12. Do one of the following:


• Select configuration file from the list, and then select Create Vehicle Config File to translate
and create only the selected file.
• Select configuration file from the list, and then select Create All Config Files to translate the
entire fingerprint.
Adams/Chassis Build Mode
The Adams/Chassis Build mode lets you edit model data and change system configuration.
This topic is divided into the following sections:
• Subsystems
• Components
• Construction options
• Modeling
36 Adams/Chassis
Overview

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.

Subsystem Definition Tab

To change model setup:


1. Select highest level node in the Build mode treeview.
The Property editor populates with the system file editor.
2. Select the Subsystem Definition tab.
Adams/Chassis Build Mode 37
Overview

3. Review or change the following subsystems as desired.

For the option: Do the following:


Vehicle Configuration Displays the loaded system file name. If you make changes, select one of the
following:

• Save All- Saves the changes to the loaded system file.


• Save - Saves the current system file.
• Save As -Saves the current system file with a new name.
Model Type Displays the model type of the system file. Select the model type:

• 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

For the option: Do the following:


Optional Subsystems Displays the list of optional subsystem files. This list changes according to
the model type selected.
Model
type Required subsystem files
Full • Loading
• Instrumentation
• Brakes
• Powertrain
• Controls
• Additional Rear Suspensions
Front • Powertrain
Rear • Powertrain
Allows you to browse for a different subsystem file.

Apply Applies the subsystem changes to your current model.

If you made a change to the subsytem configuration, select Apply or Cancel to continue.

Properties Tab

To change system-level properties:


1. Select the Properties tab in the system editor to change system level properties such as solver
parameters.
2. Select the property you want to edit.

For the option: Do the following:


Parameter List View Displays the hierarchy of Parameter Tree, Parameter Pair and Parameter
included in the system file.
Parameter Table Displays the list of parameters highlighted in the parameter list view. The
value and comment for each parameter can be edited directly in the table.
Current Field Units Displays the unit for the current cell attribute in the parameter table.

Bushing Displacement Request


You have the option to select the method in which bushing angular displacements are reported.
Adams/Chassis Build Mode 39
Overview

To access bushing displacement request:


1. In the Build mode treeview, select the vehicle model.
2. In the Property Editor, select the Properties tab.
3. In the Properties treeview, expand system_parameters, and then select output.
4. In the table, select bushing_angle_output.
5. Enter an option for angular displacement:
• 1 - psi, theta, phi
• 2- ax, ay, az
• 3 - yaw, pitch, roll
• If 0 is selected, the old bushing displacement request is shown.
6. Select Apply.

Example

Old Format:
REQ/81181112,DIS,I=1181112, J=1104112, RM=1104112
,C=LF Displacement of P12 TieRod Bushing from Spindle wrt Bush Coord

New Format(bushing_angle_output = 3):


REQ/81181112
,C=LF Displacement of P12 TieRod Bushing from Spindle wrt Bush Coord
, F2 = DX(1181112,1104112,1104112)/
, F3 = DY(1181112,1104112,1104112)/
, F4 = DZ(1181112,1104112,1104112)/
, F6 = YAW(1181112,1104112)/
, F7 = PITCH(1181112,1104112)/
, F8 = ROLL(1181112,1104112)
REQ/91181112
,C=LF Displacement of P12 Spindle Bushing from TieRod wrt Bush Coord
, F2 = DX(1104112,1181112,1181112)/
, F3 = DY(1104112,1181112,1181112)/
, F4 = DZ(1104112,1181112,1181112)/
, F6 = YAW(1104112,1181112)/
, F7 = PITCH(1104112,1181112)/
, F8 = ROLL(1104112,1181112)

Request Reference Marker Orientation


For connector force, bushing displacement and dynamic loadcase requests, the following information is
written at the bottom of the .adm file:
• Request ID
• Comments for the request (spaces are replaced by underscores)
40 Adams/Chassis
Overview

• 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)

To access the request reference marker orientation:


1. In the Build mode treeview, select the vehicle model.
2. In the Property Editor, select the Properties tab.
3. In the Properties treeview, expand system_parameters, and then select output.
4. In the table, select request_orientation_info.
5. Enter 1 if you want orientation information.
6. Select Apply.

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

• Different modeling methods for subsystems and components


• Variation without customization
• Most construction options available in your subsystem files
• Option to add other construction options

Front and Rear Suspension


• Hub Compliance
• Lower Control Arm
• Panhard Rod
• Trailing Arm - HOTCHKISS
• Trailing Arm - SLA_COIL_TRAIL
• Twist Axle
• Upper Control Arm
• Wheel Force Transducers
• Dual Rear Wheels
• SLA Front Suspension Options
• 4Link Suspension Upper Control Arm Option
• Subframe Inclusion
• Dual-Path Strut Mount
• Shock Absorbers
• Flexible Parts
• Auto Alignment (SLA Front and Rear)
• Auto Alignment (Macpherson Front)

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

Aerodynamic Modeling in Adams/Chassis


Adams/Chassis currently supports two methods for modeling aerodynamics. The different types are
represented by different property file classes. Aerodynamic property files are stored in the
aero_forces.tbl subdirectory of a vehicle database. The following property file types are supported:
• AeroDynamicForcesOnePointForceProperties
• AeroDynamicForcesTwoPointForceProperties

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:

tarea = vehicle section frontal area value used in testing (m**2)


twb = vehicle wheelbase used in testing (m)
rho = density of air = 1.22kg/mm**3
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 time

if itype < 0 wind velocity and angle are a function of longitudinal distance in global
ground X direction
windv = wind velocity

if windv > 0 value of "windv" denotes constant wind speed (m/s)

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 value of "winda" denotes constant wind angle (deg).

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

The following is an example of the aerodynamics GFORCE in a vehicle model:


GFORCE/28,I=5131,JFLOAT=0131,RM=5130,
,FUN=USER(1102,2.687000,3.086,1.220000,0.001,
,106,107,108,109,110,111,-1,-201,20.00,5131)
SPLINE/201SPLINE FOR WIND VELOCITY
,X = -10000.00, 0.00, 25000.00,
, 26000.00, 50000.00, 100000.00,
, 101000.00, 150000.00, 1000000.00
,Y = 0.00, 0.00, 0.00
, 15645.00, 15645.00, 15645.00
, 0.00, 0.00, 0.00

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

Suspension Design Module (SDM)


The Suspension Design Module (SDM) allows you to add requests to your half-vehicle model to track
several suspension design metrics, such as roll center height, anti-dive, and kingpin inclination. These
metrics are calculated at every time step of the static simulation. A compliance matrix approach similar
to that used in the SVC event performs the calculations.

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.

1642.38 = Sprung Mass for SDM (kg)


529.38 = Vehicle CG Height for SDM (mm)
2909.00 = Vehicle Wheelbase for SDM (mm)
300.00 = Front Loaded Tire Radius for SDM (mm)
300.00 = Rear Loaded Tire Radius for SDM (mm)
200.00 = Front Vertical Tire Stiffness for SDM (N/mm)
200.00 = Rear Vertical Tire Stiffness for SDM (N/mm)

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

Description Front Request ID Rear Request ID


Anti-Dive(anti-lift) Braking 10001 30001
Dive(Lift) Braking 10002 30002
Anti-Lift(anti-squat) Acceleration 10003 30003
Lift(Squat) Acceleration 10004 30004
Aligning torque camber compliance 10005 30005
Aligning torque steer compliance 10006 30006
Fore-aft wheel center stiffness 10007 30007
Front view swing arm angle 10008 30008
Front view swing arm length 10009 30009
Caster angle 10010 30010
Kingpin inclination angle 10011 30011
Lateral force deflection compliance 10012 30012
Lateral force steer compliance 10013 30013
Lateral force camber compliance 10014 30014
Roll camber coefficient 10015 30015
Adams/Chassis Build Mode 47
Modeling

Description Front Request ID Rear Request ID


Roll caster coefficient 10016 30016
Roll steer 10017 30017
Roll center position 10018 30018
Wheel Rate 10019 30019
Ride rate 10020 30020
Suspension roll rate 10021 30021
Total roll rate 10022 30022
Ride steer 10023 30023
Scrub radius 10024 30024
Caster moment arm 10025 30025
Side view swing arm angle 10027 30027
Side view swing arm length 10028 30028
Toe angle 10029 30029
Camber Angle 10030 30030
Steer Angle 10031 30031
Ackerman angle 10032 30032
Ackerman 10033 30033
Percent Ackerman 10034 30034
Ideal Steer Angle 10035 30035
Ackerman Error 10036 30036
Outside Turn Diameter 10037 30037
Turn Radius 10038 30038
Roll Center Lateral Position Relative 10043 30043
To Contact Patches
Steer Axis Offset 10044 30044
Steer Axis Offset - Longitudinal 10045 30045
Steer Axis Offset - Lateral 10046 30046
Steering Arm Length 10048
Steer (King Pin) Axis - Road Plane 10047
Intersection
Steering Arm Toggle Angle 10048
48 Adams/Chassis
Modeling

SDM Request Convention


For each SDM request, the first and the second columns are left and right output values of the request.
The third column is the SDM request branch ID.

column 1: left
column 2: right
column 3: branch id
column 4 - column 6: not used

For example, for REQUEST/10029 (toe angle), the columns are:

column 1: left toe angle


column 2: right toe angle
column 3: branch id (29)

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.

column 1: roll center location lateral from half track


column 2: roll center location vertical
column 3: branch id (18)

SDM versus SVC


The user can use either SDM or SVC to calculate vehicle characteristics. The difference between these
two features are:
1. SDM can be used only for suspension analysis (half vehicle), while SVC can be used for both
half- and full-vehicle analysis.
2. SDM can be used to determine vehicle characteristics in quasi-static mode, while SVC can be
used only in static mode. Therefore, SDM results can be plotted over a range of time. The SVC
results are given in tabular form since the results can be calculated only in static model.
3. Currently SDM cannot be used with SVC since they both are used to calculate similar parameters.
4. The roll center height calculation in SDM is more accurate than SVC results. Therefore, we advise
you to use SDM for this calculation.
Adams/Chassis Build Mode 49
Flexible Parts

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.

FEA Node Finder


The node finder utility processes a list of locations and searches for the interface node closest to each.
This avoids tedious manual searching using the FEA input file or a visual preprocessor. The node finder
makes it easy to find the relevant FEA nodes for connecting a flexible body to an Adams/Chassis model.

Running the FEA Node Finder


You can invoke the node finder from the command-line: achassis -flxpre

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

Replacing a rigid body with a flexible body in Adams/Chassis

To replace a rigid body with a flexible body:


1. Generate the MNF of the flexible body.
2. Run a Body Attachment Finder event (this creates an attachment data file).
3. Run the Adams/Chassis Node Finder utility with input from previous two steps.
4. Edit the .flx file, add inactive modes, and set other options as necessary.
5. Run the Adams/Chassis Makeflex utility (this creates a flexible part property file (.py)).
6. Edit the Subsystem data, activate the flexible part, and reference the flexible part property file
from previous step.

Note: If you modify modeling options so the flexible part has a different set of attachments,
repeat Steps 2 through 6.

Command Line Options


-mnf <mnf_file> -dat <attachment_file> [-flx <flx_file>]
[-log <log_file>] [-part <part id>]
[-qg <x y z>] [-euler <ang1 ang2 ang3>]

mnf mnf_file Modal Neutral File MNF)


dat attachment_file Dat file containing attachment names and locations. Output from
Chassis Body Attachment Finder event is in required format.
flx flx_file Output file name. Suffix of .flx will be enforced. Default prefix
will be same as attachment file.
log log_file Log file name. Suffix of .log will be enforced. Default prefix will
be same as flx file.
part part_id Numerical ID of Adams/Chassis part. Default is 51 (body
subsystem chassis part ID).
qg x y z LPRF origin for MNF file. Default is 0 0 0.
euler ang1 ang2 ang3 LPRF euler angles for MNF file. Default is 0 0 0.

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.

Modeling a flexible body with a steering system


Flexible Steering System information

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

Adams/Chassis Flex Setup File (.flx)


Makeflex has 2 input files, the NASTRAN results (.mnf) and a setup file (.flx). The .flx file must be set
up by the user before Makeflex can be run.
Setup Table

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

Part Name Part ID


Front Subframe 149
Rear Subframe 349
Body 51
Frame 550
Twist Beam 352
Front left LCA 102
Rear right LCA 103
Rear left LCA 302
Front right LCA 303
Front left UCA 142
Rear right UCA 143
Rear left UCA 342
Front fight UCA 343
Adams/Chassis Build Mode 53
Flexible Parts

Nastran File - FEA results file


MNF filename - Name of .mnf file, should have same prefix as FEA results file
MTX filename - Name of .mtx file, should have same prefix as FEA results file
Flex part origin - Location of the origin of the flex body (Default: 0,0,0)
Dynamic Limit - Optional dynamic limit frequency expressed in Hz. This feature is only available in the
C++ version of Adams/Solver. (Default: none)
Stability - Optionally specifies the stability factor for quasi-static modes when the dynamic limit feature
is enabled. This feature is only available in the C++ version of Adams/Solver. (Default: none)

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.

TABLE STRING node hard points


937 1
15311 01
987 2
15678 02
345 3
346 03
347 4
384 04
120 14
9876 014
7505 30
7507 31
54 Adams/Chassis
Flexible Parts

TABLE STRING node hard points


7504 32
7506 33
34 61
38 62

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

TABLE STRING node hard points


937 r1
15311 r01
987 r2
15678 r02
345 r3
346 r03
347 r4
384 r04
120 r14
9876 r014
7505 r30
7507 r31
7504 r32
7506 r33
34 r61
38 r62

Inertia Coupling Mode

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.

Mode Exclusion Table

TABLE STRING modes_off


1
2
3
4
5
6

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.

Flexible Body Damping Table (Optional)

TABLE DOUBLE_COMMENT flx_damp


1 Use Default Damping Values (0=Yes, 1=No)
.01 Damping Ratio from 0 to 1st Frequency
40 1st Frequency (Hz)
.1 Damping Ratio from 1st Frequency to 2nd Frequency
50 2nd Frequency (Hz)
1.0 Final Damping Ratio

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.

Error Checking - Building your model in Adams/Chassis


When you run your Adams/Chassis model, Adams/Chassis will check to make sure you have specified
the required node ID's. An error will occur if you are missing any, and you will have to add the missing
hardpoint to your .flx file, and rerun Makeflex.
Warning messages are also used to alert you distances between your FEA nodes and your hardpoint
geometry. If the distance between the two is more than 1 mm, a warning message will be echoed to the
screen as you build your Adams/Chassis model.
56 Adams/Chassis
Flexible Parts

Flexible Body with Advanced 2 Steering


Steering Column (Flexible body)
When connecting a flexible body to an advanced steering column (Steering Column Type 2), 1 node on
the flexible body must be specified, corresponding to hardpoint 30. A dummy part will be created at this
location, and will be used as the attachment part for the outer steering column. This node does not have
to be exactly at the location of PT30, but should be the closest node to that location. This node will act
as the interface between the upper steering column and the body.

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.

Steering System Node list


The following list contains the hardpoint ID's that could be required in your .flx file for a flexible front
subframe, frame rail, or body. The mounting part for each hardpoint is listed.
RACK
30 - Body
41-43 - Front subframe or Frame Rail or Body
PITMAN
30 - Body
41-43 - Front subframe or Frame Rail or Body
18 - Front subframe or Frame Rail or Body
19 - Body (if steering damper present)
HALT
30 - Body
41-43 - Front subframe or Frame Rail or Body
19 - Body (if steering damper present)
RELAY
30 - Body
41-43 - Front subframe or Frame Rail or Body
19 - Body (if steering damper present)
Adams/Chassis Build Mode 57
Leaf Spring Preprocessor

Leaf Spring Preprocessor


Allows you to create a beam-element leaf spring model suitable for use with Adams/Chassis. The Leaf
Spring Preprocessor uses the Makeleaf Program to create these models.

To access the Leaf Spring Preprocessor:


• In any mode, from the Utilities menu, select Leaf Spring Editor.

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

Beam Element Leaf Spring Model Flowchart

Data Gathering Model Generation

Measure the leaf Run leat preprocessor.


spring geometry Leaf model is exercised
in free position. to design position.

Measure the mass


of the shackle. Enter the data in the leaf A leaf .aft file is created
spring .ltf file. that contains all parts
markers, beams, etc.
Measure the bushing
rates of the 3 leaf
spring bushing Turn off the 3 link spring
and turn on the beam
Measure the height element leaf spring in the
of the leaf spring flexable part table
pack at design load.

Using Leaf Springs


To use a leaf spring in your model:
1. In Build mode treeview, select the front or rear suspension subsystem.
2. Select the Springs tab.
3. In the General tab, use the Find tool to select the beam-element leaf spring property file (.py
extension).

Changing Leaf Spring .py Files


Adams/Chassis stores leafspring property files in Python (.py) format. In order for Adams/Chassis to use
the correct python file and avoid errors, the method name and file name have to match.
For example, you have a leaf spring property file in you Adams/Chassis database. If you made a copy of
that leaf spring .py file, changed some parameters, and then updated the reference in the subsystem file
to this new leaf spring property file. There are errors during the build process. To avoid this error, you
must change the method name to match the file name.
The method name is resident around line 6 of your leaf spring property file (.py file) as defined by the
word def.
Adams/Chassis Build Mode 59
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.

To run Makeleaf from the command shell:


1. Create the leaf template file.
2. In the command shell, enter: achassis -makeleaf sample_rear.ltf
This produces sample_rear.py.
See Leaf Spring Preprocessor: Command Shell to learn more about using the command shell to
change leaf spring options.

To run Makeleaf from the interface:


• In any mode, from the Utilities menu, select Leaf Spring Editor.

Learn more about the Leaf Spring Preprocessor


60 Adams/Chassis
Leaf Spring Preprocessor

How Makeleaf Works


Makeleaf builds the leaf .py file through a series of steps. During these steps, some auxiliary files will be
created.
1. LeafPre is run to build a leaf in a free state. An Adams model file and Adams control file are
created.

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.

An Example Leaf template File


================================================================================
LEAF_SPRING_TEMPLATE_NEW TEMPLATE FOR THE LEAF SPRING PREPROCESSOR
--------------------------------------------------------------------------------
(Note: All input information must be in Left-Justified format.)

================================================================================
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)

SUSPENSION BRACKET ATTACHMENT POINT (ADAMS Coordinate)


--------------------------------------------------------------------------------
POINT LOCATIONS

LEFT (mm) RIGHT (mm)


GEOMETRY HARDPOINT X Y Z X Y Z
------------------------------ ------------------------ ------------------------
Front Leaf Eye Bushing 1-2 3722.70 -497.06 404.10 3722.70 497.06 404.10
Shackle to Frame 20-21 5070.30 -497.06 675.43 5070.30 497.06 675.43

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

541.43 = Reference Marker Height at Design Load


UNDERSLUNG = Axle Mount Type (UNDERSLUG OR OVERSLUG)

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))

LEAF EYEHOOK INFORMATION


--------------------------------------------------------------------------------
47.30 = Front Eyehook Inner Diameter (mm)
31.35 = Rear Eyehook Inner Diameter (mm)
BERLIN = Front Eyehook Shape (BERLIN, UPTURNED, OR DOWNTURNED)
BERLIN = Rear Eyehook Shape (BERLIN, UPTURNED, OR DOWNTURNED)

BUSHING INFORMATION
--------------------------------------------------------------------------------
SPRING RATES (TRANSLATIONAL AND ROTATIONAL)

RATE (N/mm) RATE (N-mm/rad)


RADIAL RADIAL AXIAL CONICAL CONICAL
TORSIONAL
BUSHINGS (RATES) PT (X) (Y) (Z) (X) (Y)
(Z)
---------------------------- -------------------------------- --------------------
------------
Front Leaf Eye Bushing 1-2 6500.0 6500.0 630.0 3.00E+06 3.00E+06
8.14E+04
Leaf Spring to Shackle 7-8 7000.0 7000.0 1000.0 3.00E+06 3.00E+06
8.14E+04
Shackle to Frame 20-21 7000.0 7000.0 1000.0 1.0E+07 1.0E+07
8.14E+04
Leaf-to-Leaf Bushing 1-1 1.0E+09 1.0E+09 1.0E+09 1.0E+07 1.0E+07
1.0E+07

DAMPING RATES (TRANSLATIONAL AND ROTATIONAL)

DAMPING (N-s/mm) DAMPING (N-s/rad)


RADIAL RADIAL AXIAL CONICAL CONICAL
TORSIONAL
BUSHINGS (DAMPING) PT (X) (Y) (Z) (X) (Y) (Z)
---------------------------- -------------------------------- --------------------
------------
Front Leaf Eye Bushing 1-2 60.0 60.0 6.0 1000.0 1000.0
100.0
Leaf Spring to Shackle 7-8 60.0 60.0 6.0 1000.0 1000.0
100.0
Shackle to Frame 20-21 60.0 60.0 6.0 10000.0 10000.0
100.0
Leaf-to-Leaf Bushing 1-1 60.0 60.0 6.0 1.1E+05 1.1E+05
1500.0

================================================================================
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

7 = No. of Elements per Front Leaf (<= 45)


8 = 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
7.86E-6 = Material Properties: Density (kg/mm**3)
0.1 = Material Properties: Damping
1.2 = ASY
1.2 = ASZ
1 = 1, if every point is to be used for fitting,
0, if First and Last points are the bushing points
(If " 1 " is chosen, the shackle bushing point is to be estimated.)
0.0 = Z-offset leaf

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

(Note: The X value at the Center LEAF must be 0.0)


(Note: The Front LEAF must be in negative X-axis.)

================================================================================
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

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)
-10.74 = Z-offset leaf

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

-21.58 = Z-offset leaf

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

(Note: The X value at the Center LEAF must be 0.0)


(Note: The Front LEAF must be in negative X-axis.)

================================================================================
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

-108.784 1.0534 14.38


-85.5226 0.5575 14.81
-57.3923 0.099 15.02
0.0000 0.000 15.02
57.3989 -0.097 15.02
84.2265 0.3865 14.61
116.3068 1.079 14.01
144.5213 1.7155 13.81
169.5381 1.3476 12.64
202.0697 1.7619 11.99
230.4132 2.1584 11.19
264.2446 2.5961 10.58
302.4333 2.2705 9.46
335.4665 1.8588 8.44

(Note: The X value at the Center LEAF must be 0.0)


(Note: The Front LEAF must be in negative X-axis.)

Static Solver Funnel for .acf files


The static solver funnel option is a tool to help analysts achieve convergence with their Adams/Chassis
models that contain beam element leaf springs or other large modeling elements. The funnel gradually
tightens error, imbalance, and stability tolerances after achieving static equilibrium.
The static funnel option is activated if the funnel parameter in the System File is set to 1:
system_parameters->solver->static->funnel_flag
The following lines of code appear in the .acf files for Full-Vehicle models:
! Static Funnel:
equil/maxit=50.00, err=10000, imb=10000, stab=10000
con/fun=user(1010,555)
equil/maxit=50.00, err=100, imb=100, stab=10
con/fun=user(1010,555)
equil/maxit=50.00, err=0.1, imb=0.1, stab=0.1
con/fun=user(1010,555)
equil/maxit=50.00, err=0.001, imb=0.10000, stab=0.01
After each equil/maxit statement, the equilibrium CONSUB (con/fun=user(1010)) is invoked.
The following lines of codes appear in the acf files for Half-Vehicle models:
! 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.
About Body Subsystems 67
Working with Subsystems

Working with 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). The primary contents of subsystem files include:
• Hardpoints
• Parts
• Connectors (bushings)
• Property file references
• Construction options
• Subsystem parameters (if applicable)

Adams/Chassis includes the following vehicle subsystems:


• Front suspensions
• Rear suspensions
• Steering
• Powertrain
• Brakes
• Control systems
• Instrumentation

About Body Subsystems


Learn about:
• Default CG
• Subframe
• Subframe Mid-Mounts

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

(3) Control Arms


For control arms, the default c.g. is calculated first by taking the midpoint of the front and the rear arm
points (at frame/body) and then taking the 1/3 height of this midpoint and a ball joint location (at spindle).
This method is applied to LCA, UCA and all parts which are defined by three points.

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.

To use the subframe:


1. In Build mode treeview, select the system, and then select the suspension subsystem.
2. Select the Construction Options tab.
3. In the property editor, double-click subframe.
4. Select On, and then save the subsystem.

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.

To set the associated connectors:


1. Select the Connectors tab.
2. Double-click the subframe_mid_1 or subframe_mid_2 connector (based on the selection you
made in the construction options for subframe mid-mounts).
3. Change the Connector Type to Bushing.
4. Follow steps 2 and 3 for each subframe_mid connector listed in the table.

To set the hardpoint values:


1. Select the Hardpoints tab.
2. In the hardpoints table, double-click the subframe_mid_1 or subframe_mid_2 hardpoint (based
on the selection you made in the construction options for subframe mid-mounts).
3. If necessary, repeat step 2 for additional subframe hardpoints.
4. Select Save As to save these changes, and then enter a new name for the subsystem.

About Brake System


By default, Adams/Chassis models braking in your model by controlling torques at each of the four
wheels. The brake poportioning spline in the body subsystem file controls front/rear split. The brake
controller will apply torques as necessary to achieve desired longitudinal deceleration.
With the brake model, the brake controller will control brake pedal force instead of brake torques. The
parameters of the brake model will calculate the torques based on the pedal force.
See the example .bst file for the brake system parameters. The example file has all the parameters for all
the construction options. Not all parameters will always be used.

Type Schematic
BRAKE_SIMPLE See Brake Schematic
About Brake System 71
Working with Subsystems

Brake System Construction Options


The simple brake system has 2 types of Construction Options: Pressure Gain Type, and Pad Location
Method.

CONSTRUCTION OPTIONS
---- -------------------------------------------------------

1 Vacuum Booster Force Gain Type (1=Bilinear, 2=spline)


2 Proportioning Valve Gain Type (1=Bilinear, 2=spline)
2 Front Pad Location Method (1=radius,2=XYZ location - Point 10)
1 Rear Pad Location Method (1=radius,2=XYZ location - Point 30)

Valve Gain Type


The simple brake system has 2 pressure valves, the vacuum booster and the proportioning valve. For
each of these valves you can relate the input pressure to the output pressure with either a spline or
a bilinear function.
For the spline method, you will need to specify the spline ID(s) in the main brake system parameter
table. Note that units for this spline are bar.

Vacuum Booster Spline ID (X=bar, Y=bar) vac_spline 1001 int


Propor. Valve Spline ID (X=bar, Y=bar) pro_spline 1002 int

For the bilinear method, you need to specify initial gain, final gain, and pressure break point. The
following parameters are used for this method:

Vacuum Booster Initial Gain vac_ini_gain vac_ini_gain 1 double


Vacuum Booster Pressure Break Point (bar) vac_ro_press 2 double
Vacuum Booster Final Gain vac_fin_gain 1 double
Proportioning Valve Initial Gain pro_ini_gain 1 double
Proportioning Valve Pressure Break Pt (bar) pro_ro_force 200 double
Proportioning Valve Final Gain pro_fin_gain 1 double

Pad Location Method


Two location methods are provided: radius or XYZ.
72 Adams/Chassis
Working with Subsystems

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:

Front Pad Radius (from wheel center) (mm) f_pad_radius 71 double


Rear Pad Radius (from wheel center) (mm) r_pad_radius 71 double

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.

About Front Suspension Subsystems


• GEOMETRY HARDPOINT
• ALIGNMENT INFORMATION
• SUSPENSION PART C.G. AND INERTIA DATA
• SUSPENSION BUSHINGS
• SPRING DATA
• SHOCK ABSORBER DATA
• SPLINES AND ARRAYS (KEEP SHOCKS BETWEEN 100-199, OTHERS BETWEEN 300-399)
About Front Suspension Subsystems 73
Working with Subsystems

The Front Suspension Input Datafile


The front suspension input data file contains all data required to build a vehicle front suspension Adams
model. Adams/Chassis currently supports the following front suspension types:
• Short-long arm with coil spring
• Short-long arm with torsion bar spring
• Short-long arm with coil spring & shock mounted to perch on lower control arm
• Twin I-Beam with coil spring
• McPherson Strut with two piece lower control arm
• McPherson Strut with one piece lower control arm
• Monobeam with leaf spring

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.

SUSPENSION TYPE KEYWORD


The first line of the file contains a field which tells Adams/Chassis that the file is a front suspension input
data file. For example, the keyword for a torsion bar spring short-long arm suspension is
SLATORSION_1B.FST. As with all input data files, this field is followed by a header section in which
a user can list comments to be echoed to the Adams dataset. All comments must be typed in between the
two rows of double lines "==============". Following this header is the descriptive title of the
Adams suspension model. This title is not echoed to the dataset.

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:

ALIGNMENT (ADJUSTER MOTION STATEMENTS


0.000 = LEFT TOE ADJUSTER MOTION (mm)
0.000 = RIGHT TOE ADJUSTER MOTION (mm)
0.000 = LEFT CASTER ADJUSTER MOTION (rad)
0.000 = RIGHT CASTER ADJUSTER MOTION (rad)
0.000 = LEFT CASTER ADJUSTER MOTION (mm)
0.000 = RIGHT CASTER ADJUSTER MOTION (mm)

SUSPENSION PART C.G. AND INERTIA DATA


The next section contains the mass and rotational inertias of the important modeled suspension
components. The rotational inertias of all parts are assumed to be in design coordinates except for the
tire/wheel/rotor part. This part is referenced with the Z axis as the spin axis to simplify model building.
The product of inertia terms are given for only the left side components. The masses and inertias can be
measured with a swing test or calculated using a solid modeling program (except for the tire/wheel/rotor).
The mass and inertia table is followed by the C.G. location data block. Once again the "mirror" command
can be used to model symmetry from right to left. Also, by specifying a coordinate of 0,0,0 for the
tire/wheel/rotor part, Adams/Chassis will place the C.G. directly at the wheel center (note that the
tire/wheel/rotor part has its ZP along the spin axis of the assembly so this must be taken into account
when specifying the rotational inertia values). This option is only available for that part and is
About Front Suspension Subsystems 77
Working with Subsystems

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:

ROTATIONAL INERTIAS (kg-mm-mm)


MAS MOMENTS OF INERTIA PRODUCTS OF INERTIA
S
PARTS (IN) (KG) X Y Z XY XZ YZ
Upper Control Arm 1.59 9.754E+03 2.216E+04 3.121E+04 1.073E+03 -1.415E+03 -5.101E+02
Lower Control Arm 12.59 1.122E+05 5.095E+05 6.059E+05 .339E+03 1.345E+03 3.737E+03
Spindle and Caliper 11.17 9.473E+04 1.261E+05 4.371E+04 -6.896E+02 -4.665E+03 1.361E+04
Stabalizer Bar Parts 3.60 1.000E+04 1.000E+04 1.000E+04 0.000E+00 0.000E+00 0.000E+00
T-Bar Crossmember 6.29 4.144E+02 3.199E+05 3.196E+05 2.781E+03 1.117E+03 9.718E+01
Tire, Wheel, Rotor 34.28 1.010E+06 1.010E+06 1.750E+06 0.000E+00 0.000E+00 0.000E+00
Subframe 0.10 1.000E-02 1.000E-02 1.000E-02 0.000E+00 0.000E+00 0.000E+00

(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):

BUSHINGS (TYPE) PT BUSHIN LEGEND OF MODEL TYPES


G
MODEL
TYPE
UCA Front Bushing 1 1 -3 = FIXED JOINT
UCA Rear Bushing 2 1 -2 = SPHERICAL JOINT
LCA Front Bushing 3 1 -1 = REVOLUTE JOINT
LCA Rear Bushing 4 1 0 = FREE (NO JOINT)
Tie Rod Ball Stud 12 1 1 = STANDARD Adams BUSHING
Torsion Bar Crossmember 27-28 1 2 = NONLINEAR PIECEWISE
Sta Bar Rotational 61-62 -2 RATE BUSHING MODEL
Sta Bar Link 63-66 -2 3 = NONLINEAR SPLINE
MODEL
Front Subframe Mount 91-92 -3 WITH HYSTERESIS
Rear Subframe Mount 93-94 0 4 = GFORCE NONLINEAR
SPLINE BUSHING

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:

SPRING RATES (TRANSLATIONAL AND ROTATIONAL)


RATE (N/mm) RATE (N-mm/rad)
RADIAL RADIAL AXIAL CONICAL CONICAL TORSIONAL
BUSHINGS (RATES) PT (X) (Y) (Z) (X) (Y) (Z)
UCA Front Bushing 1 2.434E+03 2.434E+03 1.669E+03 5.671E+05 5.671E+05 8.842E+04
UCA Rear Bushing 2 2.434E+03 2.434E+03 1.669E+03 5.671E+05 5.671E+05 8.842E+04
LCA Front Bushing 3 5.465E+03 5.465E+03 9.330E+02 1.392E+06 1.392E+06 1.748E+05
LCA Rear Bushing 4 1.696E+03 1.696E+03 8.440E+02 6.201E+05 6.201E+05 4.143E+04
Tie Rod Ball Stud 12 5.256E+03 5.256E+03 5.256E+03 0.000E+00 0.000E+00 0.000E+00
Torsion Bar 27-28 5.254E+03 5.254E+03 3.850E+02 1.487E+06 1.487E+06 9.053E+04
Crossmember
Sta Bar Rotational 61-62 9.990E+01 9.990E+01 9.990E+01 9.990E+01 9.990E+01 9.990E+01
Sta Bar Link 63-66 9.990E+01 9.990E+01 9.990E+01 9.990E+01 9.990E+01 9.990E+01
Front Subframe Mount 91-92 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00
Rear Subframe Mount 93-94 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00

(NOTE: Torsion bar crossmember is located with Axial toward rear of vehicle)

DAMPING RATES (TRANSLATIONAL AND ROTATIONAL)


DAMPING (N-s/mm) DAMPING (N-s/rad)
RADIAL RADIAL AXIAL CONICAL CONICAL TORSIONAL
BUSHINGS PT (X) (Y) (Z) (X) (Y) (Z)
(DAMPING)
UCA Front Bushing 1 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.000E+02
UCA Rear Bushing 2 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.000E+02
LCA Front Bushing 3 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.000E+02
LCA Rear Bushing 4 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.000E+02
Tie Rod Ball Stud 12 5.000E+01 5.000E+01 2.500E+01 0.000E+00 0.000E+00 0.000E+00
Torsion Bar 27-28 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.000E+02
Crossmember
Sta Bar Rotational 61-62 9.990E+01 9.990E+01 9.990E+01 9.990E+01 9.990E+01 9.990E+01
Sta Bar Link 63-66 9.990E+01 9.990E+01 9.990E+01 9.990E+01 9.990E+01 9.990E+01
80 Adams/Chassis
Working with Subsystems

DAMPING RATES (TRANSLATIONAL AND ROTATIONAL)


DAMPING (N-s/mm) DAMPING (N-s/rad)
RADIAL RADIAL AXIAL CONICAL CONICAL TORSIONAL
BUSHINGS PT (X) (Y) (Z) (X) (Y) (Z)
(DAMPING)
Front Subframe Mount 91-92 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00
Rear Subframe Mount 93-94 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00

(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:

BUSHINGS (INITIAL TORQUES)


20.00 = WHEEL CENTER RISE FOR BUSHING INSTALLATION + for rebound]
(mm)

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:

SPRINGS (TORSION BAR)


1 = SPRING ATTACHMENT 1=LOWER ARM 2=UPPER ARM)
2.032E+05 = YOUNG'S MODULUS OF TORSION BAR (emod)
7.600E+04 = SHEAR MODULUS OF TORSION BAR (gmod)
0.01 = DAMPING RATIO OF TORSION BAR (cratio)
1.11 = SHEAR AREA RATIO IN Y DIRECTION OF TORSION BAR (asy)
1.11 = SHEAR AREA RATIO IN Z DIRECTION OF TORSION BAR (asy)
3 = NUMBER OF SPRINGS IN TABLE
2 = IS THE NUMBER OF THE SPRING TO BE USED
WHEEL CAPACITY RADIUS FINISH ANGLES ACTIVE LENGTHS
PART RATE @ GROUND left right left right left right
NUMBER (lb/in) (lbs) (mm) (mm) (deg) (deg) (mm) (mm)
CA2 215.00 2800.00 13.900 13.900 25.30 -22.80 993.89 1024.89
BA2 195.00 2620.00 13.465 13.465 28.24 -25.34 991.58 1022.58
AA2 175.00 2540.00 12.895 12.895 32.80 -29.52 988.48 1019.48
82 Adams/Chassis
Working with Subsystems

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):

SPRING (SAE 3 LINK APPROXIMATION MODEL)


1 = NUMBER OF SPRINGS IN TABLE
1 = IS THE SPRING TO BE USED
RATE CAPACITY KT(X)xE6 KT(Y)xE6 KT(Z)xE6 TO(Z)xE6
lbs/in # N-mm/rad N-mm/rad N-mm/rad N-mm
PART
NUMBER 1ST 2ND PAD 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
RATE CAPACITY
lbs/in # 2nd STAGE
PART N/mm mm
NUMBER 1ST 2ND PAD GND K (- for SPLINE) L
FA3 600 60 0000 3000 0.007 580

SHOCK ABSORBER DATA


All shock absorbers are modelled as force versus velocity SPLINEs in Adams/Chassis. No parts or
bushings are included (except in the case of struts). The shock absorber table includes the shock SPLINE
About Front Suspension Subsystems 83
Working with Subsystems

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
,

Front Suspension Design


Recently, front suspension are based on either the MacPherson or the SLA design.
SLA's can have a short or a long knuckle. The short knuckle has the upper ball joint placed within the
diameter of the wheel. The kingpin angle (SAI) can be kept small with the use of short knuckles. The use
of tall knuckles helps reduce reaction loads on the control arms and other suspension components. The
tall knuckle is also less sensitive to build errors.
The MacPherson can be viewed as a special case of an SLA. A strut replaces the UCA which is a slider
or an infinitely long upper control arm. The main advantage is that all suspension and wheel control parts
can be combined into one assembly. This permits a wide engine compartment.
The example files are located in achassis/shared_chassis_database.vdb/subsystems.tbl.
Learn more about Adams/Chassis suspension attachment options.

Types of Front Suspensions


The following table lists the types of front suspensions available. For more information on a front
suspension, click the Links.

Front Suspensions Example Datafile Graphic


Front 4 Link front_4link.xml See 4 Link Front Suspension
Hotchkiss front_hotch_3link.xml See Hotchkiss Front Suspension
Macpherson front_macpherson.xml See MacPherson Front Suspension
Multilink front_multi_link.xml See Multilink Front Suspension
SLA front_sla_coil_lca1.xml See SLA with Coil Spring Front Suspension
SLA (with Torsion Bar) front_sla_torsion.xml See SLA with Torsion Bar Front Suspension
Twin I-Beam front_twin_i_beam.xml See Twin I Beam Front Suspension

About Steering Subsystems


• GEOMETRY HARDPOINT
• SUSPENSION PART C.G. AND INERTIA DATA
• STEERING BUSHINGS
About Steering Subsystems 85
Working with Subsystems

• FRICTION DATA
• STEERING GEAR DATA
• STEERING COLUMN DATA
• STEERING DAMPER DATA
• SPLINES AND ARRAYS (KEEP SHOCKS BETWEEN 100-199, OTHERS BETWEEN 300-399)

The Steering Input Datafile


The steering input data file contains all data required to build the steering system for a full vehicle or front
suspension exerciser Adams model (see Appendix D for example input data files for all currently
supported steering systems). Adams/Chassis currently supports the following steering types:
• Simple rack and pinion
• Advanced rack and pinion model
• Simple ball-nut gear with parallel, Haltenberger, or relay rod linkage
• Advanced ball-nut gear model with parallel, Haltenberger, or relay rod linkage

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.

STEERING TYPE KEYWORD


The first line of the file contains a field which tells Adams/Chassis that the file is a steering input data
file. For example, the keyword for a simple rack and pinion steering system is RACK_SIMPLE.SST. As
with all input data files, this field is followed by a header section in which a user can list comments to be
echoed to the Adams dataset. All comments must be typed in between the two rows of double lines
"==============". Following this header is the descriptive title of the Adams steering model. This
title is not echoed to the dataset.
86 Adams/Chassis
Working with Subsystems

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)

A complex rack and pinion model geometry table is shown below:

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)

SUSPENSION PART C.G. AND INERTIA DATA


The next section contains the mass and rotational inertias of the important modeled steering components.
The rotational inertias of all parts are assumed to be in design coordinates except for some internal gear
and column parts. These parts are referenced with the Z axis as the spin axis to simplify model building.
The product of inertia terms are given for only the left side components. The masses and inertias can be
measured with a swing test or calculated using a solid modeling program.
The mass and inertia table is followed by the C.G. location data block. An example of each table is shown
below for an advanced rack and pinion steering system:

ROTATIONAL INERTIAS (kg-mm-mm)


MASS MOMENTS OF INERTIA PRODUCTS OF INERTIA
PARTS (IN) (KG) X Y Z XY XZ YZ
Tie Rod 2.00 3.000E+04 3.000E+04 3.000E+02 0.000E+00 0.000E+00 0.000E+00
Gear Housing 1.50 4.500E+04 2.000E+03 4.500E+04 0.000E+00 0.000E+00 0.000E+00
Rack 3.50 1.750E+05 5.000E+02 1.750E+05 0.000E+00 0.000E+00 0.000E+00
Pinion 0.20 4.000E+01 4.000E+01 2.000E+01 0.000E+00 0.000E+00 0.000E+00
Steering Input Shaft 0.10 3.000E+01 3.000E+01 1.000E+01 0.000E+00 0.000E+00 0.000E+00
Lower I Shaft 0.65 3.500E+02 3.500E+02 4.000E+02 0.000E+00 0.000E+00 0.000E+00
Upper I Shaft 0.50 9.000E+02 9.000E+02 2.500E+02 0.000E+00 0.000E+00 0.000E+00
Steering Column 0.50 9.000E+02 9.000E+02 2.500E+02 0.000E+00 0.000E+00 0.000E+00
Steering Wheel 5.00 2.000E+04 2.000E+04 3.500E+04 0.000E+00 0.000E+00 0.000E+00
88 Adams/Chassis
Working with Subsystems

(NOTE: Steering Column Parts assume inertial Z-axis is along the spin axis.)

C.G. LOCATIONS (mm)


LEFT RIGHT
PARTS (IN) X Y Z X Y Z
Gear Housing 1385.46 0.00 540.00 (not applicable)
Steering Wheel 2653.58 -370.00 1013.29 (not applicable)

(NOTE: Most C.G. locations are computed)

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)
:

STEERING GEAR MOUNT BUSHING


BUSHINGS (TYPE) PT BUSHING MODEL LEGEND OF MODEL TYPES
TYPE
Steering Mount 41-44 1 -3 = FIXED JOINT
-2 = SPHERICAL JOINT
-1 = REVOLUTE JOINT
0 = FREE (NO JOINT)
1 = STANDARD Adams BUSHING
2 = NONLINEAR PIECEWISE
RATE BUSHING MODEL
3 = NONLINEAR SPLINE MODEL
WITH HYSTERESIS
4 = GFORCE NONLINEAR
SPLINE BUSHING

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:
:

SPRING RATES (TRANSLATIONAL AND ROTATIONAL)


RATE (N/mm) RATE (N-mm/rad
RADIAL RADIAL AXIAL CONICAL CONICAL TORSIONAL
BUSHINGS (RATES) PT (X) (Y) (Z) (X) (Y) (Z)
Steering Mount 41-43 2.434E+03 2.434E+03 1.669E+03 5.671E+05 5.671E+05 8.842E+04

DAMPING RATES (TRANSLATIONAL AND ROTATIONAL)


RATE (N/mm) RATE (N-mm/rad
RADIAL RADIAL AXIAL CONICAL CONICAL TORSIONAL
BUSHINGS (DAMPING) PT (X) (Y) (Z) (X) (Y) (Z)
Steering Mount 41-43 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.000E+02

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:

RACK FRICTION FACTORS


12.00 = Rack/rack housing friction (lbs)
2.00 = Steering Gear input shaft friction(in-lbs)
0.90 = Steering Column friction (in-lbs)

STEERING GEAR DATA


The next block of data required by Adams/Chassis is the steering gear data chart. These charts differ
between both ball-nut and rack and pinion as well as between simple and complex gear models. The
simple gear charts contain only the basics. The rack and pinion simple gear data table is shown below:

RACK AND PINION GEAR


47.9552 = GEAR RATIO (Degrees of pitman arm rotation per degrees SWA)
17.00 = OVERALL STEERING SYSTEM RATIO (degrees of average toe/degrees at SWA)
0.00 = VISCOUS DAMPING BETWEEN SECTOR SHAFT AND GEAR HOUSING (N/mm/s)
200.00 = VISCOUS DAMPING BETWEEN GEAR INPUT SHAFT AND HOUSING (N-mm/rad/s)

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:

RECIRCULATING BALL-NUT GEAR


14.0000 = GEAR RATIO (Degrees of pitman arm rotation per degrees SWA)
1 = WORM LEAD ON GEAR (1= Right Hand Lead -1= Left Hand Lead)
15.90 = OVERALL STEERING SYSTEM RATIO (degrees of average toe/degrees at SWA)
50.00 = VISCOUS DAMPING BETWEEN SECTOR SHAFT AND GEAR HOUSING (N/rad)
50.00 = VISCOUS DAMPING BETWEEN IDLER ARM AND BODY (N/rad)
200.00 = VISCOUS DAMPING BETWEEN GEAR INPUT SHAFT AND GEAR HOUSING (N/rad)
About Steering Subsystems 91
Working with Subsystems

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:

RACK STEARING GEAR DATA


42.7706 = GEAR RATIO (Degrees of pitman arm rotation per degrees SWA)
17.00 = OVERALL STEERING SYSTEM RATIO (degrees of average toe/degrees at SWA)
0.00 = VISCOUS DAMPING BETWEEN SECTOR SHAFT AND GEAR HOUSING (N/mm/s)
0.00 = VISCOUS DAMPING BETWEEN GEAR INPUT SHAFT AND GEAR HOUSING (N-mm/rad/s)
0.21 = TORSION BAR DIAMETER (mm)
97.51 =TORSION BAR LENGTH (mm)
8.00 = TORSION BAR STOP ANGLE (deg)
100.00 = TORSION BAR DAMPING RATE (N-mm-s/rad)
3 = POWER BOOST TYPE (1=Standard Power 2=EVO )
6300.30 = PISTON AREA (mm^2) [1.0 if boost spline is force and not pressure]
-250.00 = POWER BOOST SPLINE id (Only used for standard power steering model)
1 = POWER BOOST SPLINE UNITS (1=psi vs deg 2=bar vs deg 3=psi vs rad)
-100.00 = PUMP FLOW RATE (gpm) [-100 for SPLINE]
0.78 = VDO POWER BOOST ORIFICE COEFFICIENT
-100.00 = VAPS ACTUATOR AREA (mm**2) [-100 for SPLINE]
-700.00 = ARRAY ID WHICH LABELS VDO BOOST FORCE SPLINES

The ball-nut gear table is similar to the rack and pinion and is shown below:

BALL-NUT STEERING GEAR DATA


17.0000 = Gear ratio (Degrees of pitman arm rotation per degrees SWA)
-1 = Worm lead on gear (1= Right Hand Lead -1= Left Hand Lead)
19.50 = Overall steering system ratio (degrees of average toe/degrees at SWA)
490000.00 = Viscous damping between sector shaft and gear housing (N/rad)
50.00 = Viscous damping between idler arm and body (N/rad)
5.00 = Viscous damping between gear input shaft and gear housing (N/rad)
92 Adams/Chassis
Working with Subsystems

BALL-NUT STEERING GEAR DATA


10000000.00 = Sector shaft compliance sector shaft kt/(spline id,default 240)
0.21 = Torsion bar diameter (in inches)
112.33 = Torsion bar length (in mm)
0.00 = Torsion bar stop angle (deg)
0.00 = Torsion bar damping rate (N-mm-s/rad)
1 = Power boost type (1=Standard Power 2=EVO )
6300.30 = Piston area (mm^2) [1.0 if boost spline is force and not pressure]
-250.00 = Power boost spline id (Only used for standard power steering model)
1 = Power boost spline units (1=psi vs deg 2=bar vs deg 3=psi vs rad)
0.00 = Power boost base flow rate (gpm)
0.00 = Power boost scaling factor

STEERING COLUMN DATA


The steering column information is entered in a simple table. This table is similar for all models, whether
they are complex or simple. The slip joint in the column is free to have lash on center. A spring, shown
as the "Rate in slip joint:", is required by Adams in order to reach equilibrium. The "Total system
complinace for simple model" is the combined complinace of the entire steering system for the simple
gear model. An example is shown below.

STEARING COLUMN DATA


0.00 = LASH IN THE INTERMEDIATE SHAFT SLIP JOINT (degrees)
1000000.00 = RATE IN SLIP JOINT [NOT USED IF LASH=0] (N/mm)
1 = NUMBER OF STEERING COMPLIANCES IN TABLE
1 = IS THE COMPLIANCE VALUE TO BE USED
0.00 = VISCOUS DAMPING IN STEERING COLUMN

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

STEERING DAMPER DATA


All shock absorbers are modelled as force versus velocity SPLINEs in Adams/Chassis. No parts or
bushings are included (except in the case of struts). The steering damper table includes the shock SPLINE
About Steering Subsystems 93
Working with Subsystems

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:

SPLINES AND ARRAYS


SPLINE/250 POWER BOOST
X= -45.0 -3.96 -3.86 -3.76
-3.66 -3.56 -3.46 -3.36 -3.26
-3.16 -3.06 -2.96 -2.86 -2.76
-2.66 -2.56 -2.46 -2.36 -2.26
-2.16 -2.06 -1.96 -1.86 -1.76
-1.66 -1.56 -1.46 -1.36 -1.26
-1.16 -1.06 -0.96 -0.86 -0.76
-0.66 -0.56 -0.46 -0.36 -0.26
-0.16 -0.06 0.04 0.14 0.24
0.34 0.44 0.54 0.64 0.74
0.84 0.94 1.04 1.14 1.24
1.34 1.44 1.54 1.64 1.74
1.84 1.94 2.04 2.14 2.24
2.34 2.44 2.54 2.64 2.74
94 Adams/Chassis
Working with Subsystems

SPLINES AND ARRAYS


2.84 2.94 3.04 3.14 3.24
3.34 3.44 45.0
Y= -4e4 -40010.0 -5895.75 -2175.62 -1142.36 -707.469
-472.774 -343.162 -257.2 -205.261 -160.54
-115..077 -108.629 -102.981 -97.7632 -92.9334
-87.3882 -82.3263 -76.8166 -97.8433 -66.6327
-61.2239 -56.3401 -51.163 -44.7709 -37.1537
-39.799 -22.695 -17.8791 -11.6719 -8.2555
-6.14756 -4.73829 -3.72919 -2.96133 -2.339
-1.80464 -1.31793 -0.84429 -0.37065 0.116061
0.650422 1.272751 2.040608 3.049711 4.458984
6.566919 9.982209 16.19057 21.0064 28.11041
35.4651 43.08235 49.47437 54.65153 59.5353
64.94407 70.15475 75.12798 80.63767 85.6996
91.24486 96.07464 101.2921 106.9404 113.3881
158.8511 203.5722 255.5111 341.4735 471.0851
705.7808 1140.674 2173.931 5894.066 40008.27
4e4
SPLINE/280 STEERING DAMPER
X= -9999 -871.22 -828.04 -787.4 -749.3 -713.74 -673.1
-629.92 -591.82 -553.72 -515.62 -472.44 -434.34 -396.24
-355.60 -335.28 -314.96 -276.86 -236.22 -195.58 -157.48
-116.84 -78.74 -38.1 0 40.64 78.74 119.38 157.48
198.12 236.22 276.86 314.96 335.28 355.60 398.78 434.34
480.06 518.16 553.72 601.98 650.24 690.88 718.82 751.84
787.40 828.04 871.22 9999
Y= -23482.9 -2046.08 -1948.22 -1850.37 -1774.75 -1685.79 -1596.83
-1512.32 -1441.15 -1361.09 -1294.37 -1209.86 -1134.24 -1071.97
-1009.70 -978.56 -947.42 -894.05 -827.33 -760.61 -684.99
-449.25 -240.19 -97.86 0 84.51 155.68 244.64 355.84
484.83 622.72 765.06 894.05 951.87 1014.14 1138.69 1254.34
1369.98 1445.6 1521.22 1601.28 1694.69 1743.62 1805.89 1877.06
1948.22 2032.74 2108.35 24197.58
About Steering Subsystems 95
Working with Subsystems

Types of Steering Subsystems


The example data files are located in achassis/shared_chassis_database.vdb/subsystems.tbl except
where noted.
For more information on the steering subsystems, click on the respective links.

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

The example of the steering parameters table is shown below.

Steering Power Boost


Adams/Chassis currently supports 3 types of power boost. The different types are represented by
different property file classes. Steering boost property files are stored in the steering_assists.tbl
subdirectory of a vehicle database.
• SteeringBoostSimpleProperties
• SteeringBoostVelDepProperties
• SteeringBoostVelElecProperties
About Steering Subsystems 97
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.

SteeringBoostVelDepProperties: Speed dependent (3D spline)


This system uses a 3-D spline with the following variables:
X - Angle across torsion bar
Z (2nd independent value) - Vehicle Velocity (mm/s)
Y - Boost Pressure
Type 3 Power boost statements in the Adams dataset:
***************************
* *
* POWER BOOST *
* *
***************************
VELOCITY DEPENDENT BOOST -- 3D SPLINE METHOD
VARIABLE/1708, FUNC=USER(1102,21009,20921)
VARIABLE/1709, FUNC=USER(1110,5100)
98 Adams/Chassis
Working with Subsystems

SFORCE/20, I=20791,J=20891,TRA, ACTIONONLY


, FUNC= -0.006895*975.000000
, *AKISPL(VARVAL(1708)*57.295800,-VARVAL(1709),754)
SFORCE/21, I=20891,J=20891, TRA, ACTIONONLY,
, FUNC= +0.006895*975.000000
, *AKISPL(VARVAL(1708)*57.295800,-VARVAL(1709),754)
GRA/99993,FOR,ETYPE=SFORCE,EID=20,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

SteeringBoostVelElecProperties: Electrical Speed Dependent (2 splines)

Spline 1 (2D): Current vs. Velocity


X - Vehicle Velocity (mph)
Y - Electrical Current (your choice of units, must be same as in next
spline)
Spline 2 (3D): Boost Map
X - Angle across torsion bar (deg)
Z - Electrical Current
Y - Boost Pressure
Type 4 Power boost statements in the Adams dataset:
***************************
* *
* POWER BOOST *
* *
***************************
VELOCITY DEPENDENT BOOST -- 3D SPLINE METHOD
Use two splines:
Current vs. Velocity and Boost vs. Current 3d Spline
!VEHICLE SPEED IN MPH
VARIABLE/10020, FUNC = USER(1110,5199)
! Convert from mm/sec to MPH as needed in the electrical spline for
VAPS inputs
VARIABLE/10021, FUNC = ABS(VARVAL(10020))*3.6/1609.34
!MILLI AMPS OF CURRENT INTO VALVE CURVE BOOST FORCE.
!The electrical input spline is defined as the Boost Spline - 1:
SPLINE/749
VARIABLE/10022, FUNC = -AKISPL(VARVAL(10021),0,749)
!TORSION BAR ANGLE
VARIABLE/10023, FUNC = ABS(57.3*AZ(21009,20921))
! Only using one-half of the curve to save typing. This gets the sign
of the force.
VARIABLE/10024, FUNC = STEP(AZ(21009,20921),-0.008727,-
1.0,0.008727,1.0)
SFORCE/10020, I=20791,J=20891, TRANSLATION, ACTIONONLY
, FUNCTION=-0.006895*VARVAL(10024)*AKISPL(VARVAL(10023)
, ,VARVAL(10022),750)*1032.260000
SFORCE/10021, I=20891,J=20891, TRANSLATION, ACTIONONLY
About Steering Subsystems 99
Working with Subsystems

, 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

Steering Torsion Bar


Steering torsion bars can optionally be included in your steering gear subsystem. Steering torsion bar
property files are stored in the steering_assists.tbl subdirectory of a vehicle database. The following
property file types are available:
• TorsionBarGeometricProperties
• TorsionBarLinearProperties

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.

Double Cardon Joint


The Adams/Chassis steering column model allows you to use an optional double cardon joint which
replaces the standard lower U-Joint.
100 Adams/Chassis
Working with Subsystems

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

A diagram of the double cardon joint is shown below.

Nonlinear Rack-and-Pinion Gear


The rack-and-pinion steering gear template has an option for a nonlinear rack-and-pinion gear. With this
method you must specify a spline that defines your pinion angle to rack displacement relationship. To use
this option, activate the 'nonlinear' option in the 'gear_ratio_method' Construction Option.

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.

Active Front Steer


Active Front Steer (AFS) is a control system for altering road wheel steer angle by feeding a second
steering input (in addition to driver steering wheel input) through a planetary gear set. The system is
intended to allow faster steering at low vehicle speeds for convenience, gradually switching to slower
steering at high vehicle speeds for stability. In addition, AFS is intended to serve a Yaw Control function,
correcting steering input in extreme handling situations (split-mu braking, for example) for improved
vehicle stability.
You model AFS using the rack_afs steering gear template. This template can be used both with and
without an external controls system.
In the shared_chassis_database, steering_gear_rack_afs.xml is an example subsystem file using this
template.
Learn about:
• Modeling AFS without External Control System
• AFS Steer with Control System - Input Superposition Mechanism
• AFS Friction
• Required Input Data
• Sign Convention

Modeling AFS without External Control System


An option is available to model AFS without the use of a supplemental control system. This allows quick
studies of vehicle behavior with speed-dependent rack rates. Using this method, you specify a
VARIABLE that establishes a target rack position. One possible technique to create this VARIABLE is
to use the CustomAdmText portion of your steering gear subsystem file.
For example, Speed and Steering Wheel Angle might be used to set the target rack position based on a
target speed-dependent rack rate. The AFS planet gear carrier motion necessary to achieve target rack
position is then imposed with a MOTION statement. (See AFS Steer Input Superposition Mechanism for
more information on AFS gear sets).
The more realistic way to model AFS is with the supplemental control system interface. In this case, the
external controller is responsible for establishing a target rack position, and the controller attempts to
maintain this target by applying a torque through the AFS gear set.
About Steering Subsystems 103
Working with Subsystems

AFS Steer with Control System - Input Superposition Mechanism

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:

 output =  driver  e +  AFS   1 – e  (1)

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.

N 2 - Number of teeth in driver input gear (shown in red)

N 32 - Number of teeth in driver-input planet gear (shown in pink on left)

N 35 - Number of teeth in output planet gear (shown in pink on right)

N 5 - Number of teeth in output gear (shown in blue on right)


104 Adams/Chassis
Working with Subsystems

Figure 1 Example of AFS Steer Input Superposition Mechanism

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.

Figure 2 Worm Gear Friction Modeling Method


About Steering Subsystems 105
Working with Subsystems

Required Input Data


The example file steering_gear_rack_afs.xml contains all necessary data for AFS. Compared with the
standard rack gear template, the AFS template has additional parts for the AFS mechanism, as well as
additional parameters.

AFS Part List


The following parts comprise the AFS mechanism.

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.

EPAS Steering Option


Adams/Chassis has an option to model Electric Power Assisted Steering (EPAS). This option must be
used in conjunction with a Controls Subsystem and the appropriate control system input and output
parameters. The Adams/Chassis example database (shared_chassis_database) has example subsystems
(steering_column_epas, steering_gear_epas and steering_controls_epas) that can be used to model an
example EPAS system.
With all EPAS options, the steering boost technique is modified so that the boost force or torque is
calculated using a controller. The steering gear subsystem supports the following EPAS construction
options that represents different locations where this boost is applied.
Learn about the options available with EPAS:
• Construction Options
• Hardpoints
• Parts
About Steering Subsystems 107
Working with Subsystems

Construction Options

For the option: Do the following:


Current Setting Use the pull-down menu to select one:

• 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

About Rear Suspension Subsystems


• GEOMETRY OFFSET
• GEOMETRY HARDPOINT
• ALIGNMENT INFORMATION
• SUSPENSION PART C.G. AND INERTIA DATA
• SUSPENSION BUSHINGS
• SPRING DATA
• SHOCK ABSORBER DATA
• SPLINES AND ARRAYS (KEEP SHOCKS BETWEEN 100-199, OTHERS BETWEEN 300-399)

The Rear Suspension Input Datafile


The rear suspension input data file contains all data required to build a vehicle rear suspension Adams
model (see Appendix C for example input data files for all currently supported suspensions).
Adams/Chassis currently supports the following rear suspension types:
• Leaf spring solid axle (Hotchkiss)
• Coil spring solid axle with Panhard rod
• Coil spring solid axle with Watts linkage
• Coil spring solid axle with multi-link Panhard rod
• Quadralink McPherson strut
• Quadralink short-long arm
• Short-long arm with one piece lower control arm
• Twist beam with Panhard rod

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

Suspension Type Keyword


The first line of the file contains a field which tells Adams/Chassis that the file is a front suspension input
data file. For example, the keyword for a torsion bar spring short-long arm suspension is
4LINK_SA_PR.RST. As with all input data files, this field is followed by a header section in which a
user can list comments to be echoed to the Adams dataset. All comments must be typed in between the
two rows of double lines "==============". Following this header is the descriptive title of the
Adams suspension model. This title is not echoed to the dataset.

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:

LEFT(mm) RIGHT (mm)


GEOMETRY OFFSET Pt X Y Z X Y Z
Offset for Long Wheelbase: 0.0 0.0 0.0 0.0 0.0 0.0

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:

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)

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 Axle 61-62 4497.54 -450.00 443.60 (mirror)


Stab. Bar to Link 63-64 4110.04 -472.80 516.22 (mirror)
Stab. Bar to Link ZP 163-164 4115.10 -475.51 673.34 (mirror)
Stab. Link to Frame 65-66 4115.10 -475.51 673.34 (mirror)
Stab Bar Link End ZP 164-165 4110.04 -472.80 516.22 (mirror)

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:

ALIGNMENT (ADJUSTER MOTION STATEMENTS)


0.000 =LEFT TOE ADJUSTER MOTION (mm)
0.000 =RIGHT TOE ADJUSTER MOTION (mm)
0.000 =LEFT CASTER ADJUSTER MOTION (rad)
0.000 =RIGHT CASTER ADJUSTER MOTION (rad)
0.000 =LEFT CASTER ADJUSTER MOTION (mm)
0.000 =RIGHT CASTER ADJUSTER MOTION (mm)

Many rear suspensions have no alignment capability in the rearl world design. Adams/Chassis still offers
the flexibility to simplify the running of experiments.

Suspension Part C.G. and Intertia Data


The next section contains the mass and rotational inertias of the important modeled suspension
components. The rotational inertias of all parts are assumed to be in design coordinates except for the
tire/wheel/rotor part. This part is referenced with the Z axis as the spin axis to simplify model building.
The product of inertia terms are given for only the left side components. The masses and inertias can be
measured with a swing test or calculated using a solid modeling program (except for the tire/wheel/rotor).
The mass and inertia table is followed by the C.G. location data block. Once again the "mirror" command
can be used to model symmetry from right to left. Also, by specifying a coordinate of 0,0,0 for the
tire/wheel/rotor part, Adams/Chassis will place the C.G. directly at the wheel center (note that the
tire/wheel/rotor part has its ZP along the spin axis of the assembly so this must be taken into account
when specifying the rotational inertia values). This option is only available for that part and is
recommended since Adams has difficulty dealing with out-of-balance tires. An example of each table is
shown below for a coil spring solid axle suspension with Panhard rod:

ROTATIONAL INERTIAS (kg-mm-mm)


MASS MOMENTS OF INERTIA PRODUCTS OF INERTIA
PARTS (IN) (KG) X Y Z XY XZ YZ
Axle 123.90 3.547E+07 .756E+06 3.541E+07 0.000E+00 0.000E+00 0.000E+00
Lower Control Arm 3.80 2.740E+05 8.480E+04 2.920E+05 0.000E+00 0.000E+00 0.000E+00
Upper Control Arm 2.43 1.430E+05 6.950E+04 1.970E+05 0.000E+00 0.000E+00 0.000E+00
Stabilizer Bar 5.60 1.500E+05 8.900E+04 1.500E+05 0.000E+00 0.000E+00 0.000E+00
Panhard Rod 5.00 4.600E+05 5.000E+04 4.600E+05 0.000E+00 0.000E+00 0.000E+00
Tire, Wheel,Brake 32.28 1.010E+06 1.010E+06 1.750E+06 0.000E+00 0.000E+00 0.000E+00
114 Adams/Chassis
Working with Subsystems

(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):

BUSHINGS (TYPE) PT BUSHING LEGEND OF MODEL TYPES


MODEL
TYPE
Lower Arm @ Body 1-2 1 -3 = FIXED JOINT
Lower Arm @ Axle 31-32 1 -2 = SPHERICAL JOINT
Upper Arm @ Body 7-8 1 -1 = REVOLUTE JOINT
Upper Arm @ Axle 35-36 1 0 = FREE (NO JOINT)
Panhard Rod @ Body 91 1 1 = STANDARD Adams BUSHING
Panhard Rod @ Axle 93 1 2 = NONLINEAR PIECEWISE Sta Bar
Rotational 61 1 RATE BUSHING MODEL
Sta Bar Rotational 61 1 3 = NONLINEAR SPLINE MODEL WITH
HYSTERESIS
Sta Bar Link 61 1 4= GFORCE NONLINEAR SPLINE BUSHING

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:

SPRING RATES (TRANSLATIONAL AND ROTATIONAL)


RATE (N/mm) RATE (N-mm/rad
RADIAL RADIAL AXIAL CONICAL CONICAL TORSIONAL
BUSHINGS (RATES) PT (X) (Y) (Z) (X) (Y) (Z)
Lower Arm @ Body 1-2 3.500E+03 3.500E+03 1.576E+03 6.750E+05 6.750E+05 1.100E+05
Lower Arm @ Axle 31-32 3.500E+03 3.500E+03 1.576E+03 6.750E+05 6.750E+05 1.100E+05
Upper Arm @ Body 7-8 4.380E+03 4.380E+03 4.500E+02 4.400E+05 4.400E+05 8.820E+04
Upper Arm @ Axle 35-36 4.380E+03 4.380E+03 4.500E+02 4.400E+05 4.400E+05 8.820E+04
Panhard Rod @ Body 91 6.130E+03 6.130E+03 4.500E+02 5.600E+05 5.600E+05 7.450E+04
Panhard Rod @ Axle 93 6.130E+03 6.130E+03 4.500E+02 5.600E+05 5.600E+05 7.450E+04
Sta Bar Rotational 61 6.750E+02 6.750E+02 2.500E+01 1.500E+05 1.500E+05 2.000E+02
Sta Bar Link 63 7.500E+03 7.500E+03 1.600E+03 1.000E+04 1.000E+04 1.500E+03

DAMPING RATES (TRANSLATIONAL AND ROTATIONAL


RATE (N-s/mm) RATE (N-s/rad
RADIAL RADIAL AXIAL CONICAL CONICAL TORSIONAL
BUSHINGS (DAMPING) PT (X) (Y) (Z) (X) (Y) (Z)
Lower Arm @ Body 1-2 1.000E+01 1.000E+01 5.000E+00 6.550E+02 6.550E+02 1.120E+02
Lower Arm @ Axle 31-32 1.000E+01 1.000E+01 5.000E+00 6.550E+02 6.550E+02 1.120E+02
Upper Arm @ Body 7-8 1.500E+01 1.500E+01 2.000E+00 4.400E+02 4.400E+02 6.550E+01
Upper Arm @ Axle 35-36 1.500E+01 1.500E+01 2.000E+00 4.400E+02 4.400E+02 6.550E+01
Panhard Rod @ Body 91 2.000E+01 2.000E+01 2.000E+00 2.000E+02 2.000E+02 2.500E+01
Panhard Rod @ Axle 93 2.000E+01 2.000E+01 2.000E+00 2.000E+02 2.000E+02 2.500E+01
Sta Bar Rotational 61 5.000E+00 5.000E+00 2.000E+00 2.000E+02 2.000E+02 2.500E+01
Sta Bar Link 63 2.500E+01 2.500E+01 2.000E+00 2.000E+02 2.000E+02 2.500E+01

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:

Bushings (initial torques)

BUSHINGS (INITIAL TORQUES)


20.00 = WHEEL CENTER RISE FOR BUSHING INSTALLATION (mm) [+ for rebound]

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):

SPRING (SAE 3 LINK APPROXIMATION MODEL)


1 = NUMBER OF SPRINGS IN TABLE

1 = IS THE SPRING TO BE USED

RATE CAPACITY KT(X)xE6 KT(Y)xE6 KT(Z)xE6 TO(Z)xE6

(lb/in) # N-mm/rad N-mm/rad N-mm/rad N-mm


PART

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

RATE CAPACITY 2nd STAGE


PART lbs/in # N/mm mm

NUMBER 1ST 2ND PAD GND K ( -for SPLINE) L

FA3 600 60 0000 3000 0.007 580

Shock Absorber Data


All shock absorbers are modelled as force versus velocity SPLINEs in Adams/Chassis. No parts or
bushings are included (except in the case of struts). The shock absorber table includes the shock SPLINE
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:

SCALE SHOCK ATTACHMENT


SHOCK ABSORBERS SPLINE ID MULTIPLIER (4=AXLE)
Left Front 290 1.00 4
Right Front 290 1.00 4
118 Adams/Chassis
Working with Subsystems

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:

SPLINES AND ARRAYS (KEEP SHOCKBETWEEN 100-199, OTHERS BETWEEN 300-399)


SPLINE/290 REAR SHOCK
X= -680.7 -645.2 -612.1 -576.6 -541.0 -508.0 -472.4
-439.4 -406.4 -370.8 -337.8 -304.8 -271.8 -238.8
-205.7 -170.2 -137.2 -99.4 -66.0 -33.0 0.0
35.6 68.6 101.6 137.2 170.2 205.7 238.8
271.8 307.3 342.9 378.5 408.9 444.5 477.5
413.1 546.1 581.7 614.7 645.2 680.7
Y= -965.2 -620.7 -880.7 -849.6 -796.2 -769.5 -729.5
-693.9 -667.2 -631.6 -604.9 -564.9 -539.2 -498.2
-458.1 -422.6 -373.6 -315.8 -249.1 13.3 191.3
511.5 533.8 551.6 564.9 578.2 596.0 613.8
636.1 653.9 676.1 689.4 707.2 729.5 747.3
765.1 782.8 805.1 827.3 845.1 867.4
SLINE/400
X= 1.0 6.0 11.0 16.0 21.0 26.0 31.0
36.0 41.0 46.0 51.0 56.0 61.0 66.0
71.0 76.0 81.0 86.0 91.0 96.0 101.0
106.0 111.0 116.0 121.0 126.0 131.0 136.0
141.0 146.0 151.0 156.0 161.0 166.0 171.0
176.0 181.0 186.0 191.0 196.0 201.0 206.0
211.0 216.0 221.0 226.0 231.0 236.0 241.0
246.0 251.0 256.0 261.0 266.0 271.0 376.0
381.0 386.0 291.0 296.0 301.0 306.0 311.0
About Rear Suspension Subsystems 119
Working with Subsystems

316.0 321.0 326.0 331.0 336.0 341.0 346..0


351.0 356.0 361.0 366.0 371.0 376.0 379.0
Y= 15281.6 15032.1 14782.6 14533.1 14283.6 14034.1 13784.6
13535.1 13285.6 13036.1 12786.6 12537.1 12287.6 12038.1
11788.6 11539.1 11289.6 11040.1 10790.6 10541.1 10291.6
10042.1 9792.6 9543.1 9293.6 9044.0 8794.5 8545.0
8295.5 8046.0 7796.5 7547.0 7297.5 7048.0 6798.5
6549.0 6299.5 6050.0 5800.6 5551.6 5307.0 5071.4
4849.5 4646.2 4464.1 4299.6 4147.9 4004.2 3864.0
3742.0 3584.0 3444.0 3304.0 3164.0 3024.0 2884.0
2744.0 2604.0 2464.0 2324.0 2184.0 2044.0 1904.0
1764.0 1624.0 1484.0 1344.0 1204.0 1064.0 924.0
784.0 644.0 504.0 364.0 224.0 84.0 0.0

F.L. 379mm SOP 237mm EOP 189mm


First 28 N/mm Second 49.9 N/mm

Types of Rear Suspensions


The table below lists the rear suspensions available in Adams/Chassis. For more information on the rear
suspension, click on the respective links
.

Rear Suspensions Example Datafile


3-Link Solid Axle Rear Suspension rear_3link_Aarm.xml
4 Link Rear Suspension (multilink) rear_4link_multilink.xml
4-Link Rear Suspension Panhard rear_4link_panhard.xml
4 Link Rear Suspension (watts link) rear_4link_watts.xml
Central Link Rear Suspension rear_central_link.xml
Hotchkiss Rear Suspension rear_hotch_3link.xml
Integral Link Rear Suspension rear_integral_link.xml
Multilink Rear Suspension rear_multi_link.xml
MacPherson Rear Suspension rear_macpherson.xml
Solid Axle Trailing Arm Rear Suspension rear_solid_trail.xml
Quadralink with Strut Rear Suspension rear_quadralink_str.xml
120 Adams/Chassis
Working with Subsystems

Rear Suspensions Example Datafile


Quadralink with UCA Rear Suspension rear_quadralink_uca.xml
SLA Semi-Trailing Arm Rear Suspension rear_semi_trail.xml
Semi Trailing Arm with Shackle Rear Suspension rear_semi_trail_shackl.xml
SLA with Coil Spring Rear Suspension rear_sla_coil_rlca1.xml
SLA Inverse LCA Rear Suspension rear_sla_inv_lca.xml
SLA Trailing Arm Rear Suspension rear_sla_trail.xml
SLA Pendulum Rear Suspension rear_sla_pend.xml
Twist Axle Rear Suspension rear_twist.xml

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.

Trailing Arm Types


When the wheel pivot point trails the fixed pivot axis, the link is called a trailing arm. These take up little
vertical space making a wider boot with a flat floor possible
Pure Trailing arm is a simple hinge mechanism. The wheel is attached to the trailing end of an arm that
pivots relative to the sprung mass by two bushings whose axis is perpendicular to the centerline of the
car and parallel to the ground.
Semi-trailing arm the bushing axis can run at an angle in all three views.

MacPherson Strut Suspensions


These consist of a coil spring mounted over a telescopic shock absorber. The upper end of the shock
absorber is attached to the vehicle underbody. It can be thought of as a special case of an SLA where
instead of an upper control arm there is a strut.
Variations are Reversed A-arm and Trailing Link, A-arm and Toe Link, H-arm and the Tri-Link strut.
About Tire Subsystems 121
Working with Subsystems

SLA Rear Suspensions


These have upper and lower control arms with the upper arm shorter than the lower. Common types are
Double A-arm and Toe Link, Upper A-arm amd Three Links, Lower A-arm and Three Links, H-arm and
A-arm, H-arm Lower and Camber Link and Five-Link.
Another in this category is the Double Wishbone Suspension (Honda Civic/Accord); This consists of two
transverse links (control arms) on either side of the vehicle, which are mounted to rotate on the frame
/body OR on the front axle, connected to the steering knuckle.

Beam Axle Rear Suspensions


Beam axles have the two wheels tied together by a tube, beam, or other rigid structure.
Four bar links are typical in this class and some examples are Basic Four Bar Link, Parallel Lower Arm
Four Bar Link, A-arm and Links and Three Link and Track Bar.
Torque Tube and Torque Arm Suspensions are another sub-class Some others are Decoupled Rear
Suspensions (de Dion). Hotchkiss Beam Axle are simply axles with a pair of longitudinal leaf springs.

Twist Axle Rear Suspensions


These are all used on front wheel drive cars. In these the axle beam has to twist in order for the car to roll,
hence the name.
There are three basic types:
1. The first has the beam at the bushing center. This functions like the independent pure trailing arm.
2. The next type has the cross beam located between the bushings and the wheel center. In parallel
jounce rebound the bushings are the instant axis and it acts like a hinge. In roll the instant axis is
a line through the crossbeam twist center at the vehicle centerline and the bushing. It functions
like a semi- trailing arm suspension.
3. The third has the crossbeam at the wheel centers. This requires a Panhard bar to control lateral
forces and deflections.
The example data files are located in achassis/shared_chassis_database.vdb/subsystems.tbl.
Learn more about suspension attachment options.

Learn more about the types of rear subsystems.

About Tire Subsystems


Learn about:
• Tire/Wheel Setup
• Breaking the Tire Code
• Tire Measurements

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

Breaking the Tire Code


124 Adams/Chassis
Working with Subsystems

Tire Measurements

METRIC TIRE SIZES


Tire Section Width Aspect Ratio Construction Rim Diameter
(Type) (mm) (Hight/Width) (Type) (Inches)
P 185 80 R 13
P 225 60 R 16
Tire Type
P = Passemger
T = Temporary
C = Comercial
Construction Type
R = Radial
B = Bias
D = Diagonal (Bias)

About Loading Subsystems


The loading subsystem is divided into two categories:
• Cargo - adds generic parts to your model
• Occupants - sets up passengers that can be toggled on and off in the model

Cargo Part Modeling


Cargo parts are included in the loading subsystem of your system. You can use the cargo parts table to
add generic parts to the model. By default, the part is added by creating a fixed joint between the new
part and the specified attach part. If you add hardpoints and connectors to the loading subsysytem, the
cargo part may be attached by a series of points and associated bushings. The hardpoints and connectors
must have the same exact names. The cargo partId must be between 520 and 549.

To add simple cargo:


1. In the Name text box, enter the name of the new cargo part.
2. Select Add. The cargo appears in the table.
3. Set the following options:
About Loading Subsystems 125
Working with Subsystems

Learn to add complex cargo


.

For the option: Do the following:


Name Displays the name of the cargo part.
Active Use the pull-down menu to select:

• Yes - to use this part


• No - to exclude this part from the model
Include During Alignment Use the pull-down menu to select:

• Yes - to include cargo part during alignment phase


• No - to exclude cargo part during alignment phase
Mass Displays the mass of the part. You can change the mass.
Part ID Displays the ID of the part to which the cargo is attached. You can change
the part.
Attach Part ID Displays the ID of the Adams part to which the cargo part is attached. You
can change the part.
CGX, CGY, CGZ Displays the X, Y, and Z location of the CG of the cargo part.
Comment Gives a brief description of the cargo part.

To add complex cargo:


1. Add a cargo part to the table.
2. Select the Hardpoints tab.
3. Add any number of cargo attachment hardpoints.
4. Add attachment connectors. Use the exact same name as the hardpoints you added.
5. Define the connectors as necessary (specify as bushings, and so on).
6. Return to the Cargo tab.
7. Double-click on one of the new cargo parts you created.
8. Specify the cargo hardpoint and connector attachments from the available list.
9. If necessary, select the Parts tab and specify the detailed parts attributes.

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:

For the option: Do the following:


Name Displays the name of the occupant.
Active Use the pull-down menu to select:

• Yes - Includes the occupant in the model


• No - Excludes the occupant from the model
Include During Alignment Use the pull-down menu to select:

• Yes - Includes the occupant during the alignment phase


• No - Excludes the occupant during the alignment phase
Mass Displays the mass of the occupant. You can change the mass.
Location Type Select a location:

• h-point - The occupant CG is placed (- 70.8864,0.0,164.6746)


from your specified location.
• CG - The occupant CG is placed at your specified location.
X, Y, Z Displays the occupant X, Y, or Z location (h-point or CG). You can
change these locations.
Comment Gives a brief description of the occupant.

About Instrumentation Subsystem


Adams/Chassis contains an optional instrumentation subsystem which can be included in your full
vehicle system. This subsystem is designed to aid users with correlation studies. In this subsystem users
can add virtual transducers, which will create additional requests in your Adams model.

Lateral Acceleration Output Option


Adams/Chassis provides the user with 2 options for lateral acceleration calculation. Lateral acceleration
can be output in 2 ways: with or without accelerometer gravity effects. By default (option 1) the
acceleration is output without gravity effects. This acceleration is measured in the body reference frame.
Option 2 corresponds to acceleration as an accelerometer would measure. This value is higher than that
from option 1, because it contains an additional component due to angular orientation of the body,
roughly equal to sin(Roll).
About Instrumentation Subsystem 127
Working with Subsystems

To modify the setting for this option modify the ay_calculation_method construction option in a
standard Adams/Chassis instrumentation subsystem file.

Lateral Acceleration Calculation Method


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)
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.

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.

Based on these geometry points the data is as follows:

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).

Example .adm test


! Adams/Chassis Height Sensors
! Height Sensor 1: height1
M/51061,PAR=51, QP= 2730.00, 0.00, 742.00
VAR/51061,FUN=USER(1109,51061,3)
! Height Sensor 2: height2
M/51062,PAR=51, QP= 2730.00, 0.00, 742.00
VAR/51062,FUN=USER(1109,51062,3)
REQ/51061,
, F2 = VARVAL(51061) * 1.000000/
, F3 = VARVAL(51062) * 1.000000/
,TITLE = Height_Sensors
,RESULTS_NAME = Height_Sensors
,CNAMES = ""
,"height1"
,"height2"
,COMMENT = Height Sensor set 1 (MM)
,CLABELS = "","(MM)","(MM)","(MM)","","(MM)","(MM)","(MM)"
REQ/51062,FUN=USER(1139,
, 51061,3,
, 51062,3,
, 1.000000)/
,TITLE = Height_Sensors_Corrected
,RESULTS_NAME = Height_Sensors_Corrected
,CNAMES = ""
,"height1"
,"height2"
,COMMENT = Corrected Height Sensor set 1 (MM)
,CLABELS = "","(MM)","(MM)","(MM)","","(MM)","(MM)","(MM)"
About Instrumentation Subsystem 129
Working with Subsystems

Ride Height Sensors


You can add ride height sensors to your instrumentation subsystem. For each ride height sensor, you
specify two XYZ locations and two Part IDs. Ride Height sensors compute the vertical distance between
the two locations with respect to ground coordinate system.
The ride heights for front/rear suspension can be written to the SVC report if you follow these naming
conventions when you create the sensors:
• lf_ride_height - Front left ride height
• rf_ride_height - Front right ride height
• lr_ride_height - Rear left ride height
• rr_ride_height - Rear right ride height

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).

Example .adm text


! Acceleration Sensor Sensor 1: acceleration_sensor_1
M/5510302,PAR=51, QP= 3070.00, 0.00, 800.00
REQ/5510302,FUNCTION=USER(1121,5510302,5100,0.000102,18.100000,10409,
10509, , 352671,352681)/
,C=Acceleration_Sensor_acceleration_sensor_1 (g)
, TITLE = acceleration_sensor_1
, CNAMES = ""
, "Longitudinal_Acceleration"
, "Lateral_Acceleration"
, CLABELS="","(g)","(g)","","","(mm)","",""
, RESULTS_NAME = acceleration_sensor_1

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.

Wheel Deflection Stringpots


Wheel Deflection Stringpots are specific instances where the Adams Part ID's are assigned automatically.
These stringpots will always connect the body to the unsprung mass at a wheel. To activate these
stringpots, add stringpots with the following names to your Instrumentation subsystem file:
lf_wheel_deflection
rf_wheel_deflection
lr_wheel_deflection
rr_wheel_deflection
For wheel deflection stringpots enter the body-side location in location 2, and the wheel carrier location
in location 1.
About Instrumentation Subsystem 131
Working with Subsystems

Example .adm text


! Adams/Chassis Stringpots
! Stringpot 1: str_pot_A
M/510711,PAR=51, QP= 2000.00, -500.00, 600.00
M/510712,PAR=102, QP= 2100.00, -445.67, 302.00
GRA/510711,SPDP,I=510711,J=510712
,DB=15,LA=0,LC=191.395,DC=7.5,LB=0,LD=191.395
! Stringpot 2: str_pot_B
M/510721,PAR=51, QP= 2000.00, 510.00, 600.00
M/510722,PAR=103, QP= 2100.00, 450.00, 302.00
GRA/510721,SPDP,I=510721,J=510722
,DB=15,LA=0,LC=192.004,DC=7.5,LB=0,LD=192.004
REQ/51071,FUN=USER(1124,
,510711,510712,
,510721,510722,
,1.000000,1)/
,TITLE = StringPots
,RESULTS_NAME = StringPots
,CNAMES = ""
,"str_pot_A"
,"str_pot_B"
,COMMENT = Stringpot set 1 (MM)
,CLABELS = "","(MM)","(MM)","(MM)","","(MM)","(MM)","(MM)"

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).

Example .adm text


! Adams/Chassis Velocity Sensors
! Velocity Sensor 1: vel_sen1
M/51051,PAR=051, QP= 2000.00, 0.00, 500.00
132 Adams/Chassis
Working with Subsystems

M/51052,PAR=051, QP= 4500.00, 0.00, 500.00


REQ/51052,FUNCTION=USER(1116,51051,51052,0100
,1234 ,51050,.0022373)/C=SIDESLIP FROM Q HEADS (DEG and MPH)
! For longitudinal velocity at front Q-Head
REQ/510511,FUNCTION=USER(1090,51051,0100,0)/C=VEHICLE STATISTICS
(English UNITS)

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.

The Adams/Chassis powertrain model includes:


• Hardpoints
• Parts
• Connectors
• Engine
• Construction Options
• Parameters
• Custom ADM text

Hardpoints
The powertrain model includes the following hardpoints:
About Powertrain 133
Working with Subsystems

To change hardpoint values:


1. In the Hardpoints table, click in the cell of the value you want to change.
2. Enter the new value.

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:

For the option: Do the following:


The following options are available for the Mass/Inertia/CG tab.
Mass Displays the mass of the part. You can edit the mass.
IXX, IXY, IYY, IXZ, IYZ, IZZ Displays the values for the part. You can edit these values.
Off Diagonal Terms Select if you want to specify off diagonal inertia properties.
Default CG Select if you want to use the default CG of the part.
X, Y, Z Displays the values of the part. You can edit these values.
The following options are available for the IM tab.
Define IM Select if you want to define the IM for the part.
Use CG Location Select if you want to use the default CG location.
Loc X, Loc Y, Loc Z If you do not use the CG location, specify these locations.
About Powertrain 135
Working with Subsystems

For the option: Do the following:


Orientation Select one:

• Default
• Euler
• Vector
PSI, THETA, PHI Only available if you selected Euler for the orientation.

Enter the values.


X, Y, Z Only available if you selected Vector for Orientation.

Displays the X, Y, and Z locations. You can change these


locations.

Connectors
The powertrain model includes the following connectors:

To edit the connectors:


Do one of the following:
• Use the connectors table to edit the values.
• Double-click the name of the connector you want to edit, and then use the editor to modify the
values.

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:

To edit construction options:


Do one of the following:
• Use the table to edit the construction options.
• Double-click the name of the construction option you want to edit, and then use the editor to
modify the values.

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:

Limit slip spline


SPLINE/2200
X= 0 10 20 30 40 50 60 70 80 90 100 125 150 rad/s
Y= 0 30 50 70 85 95 105 110 115 120 125 150 160 N-mm
LINEAR EXTRAPOLATE

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
.

Powertrain Type Example Datafile


Front Wheel Drive examples/vehicles/fwd.vdb/subsystems.tbl/fwd_ptt.xml
Rear Wheel Drive (IRS) examples/vehicles/rwd_ind.vdb/subsystems.tbl/rwd_ind_ptt.xml
Rear Wheel Drive (Solid Axle) examples/vehicles/rwd_solid.vdb/subsystems.tbl/rwd_solid_ptt.xml
All Wheel Drive (IRS) examples/vehicles/awd.vdb/subsystems.tbl/awd_ptt.xml
138 Adams/Chassis
Working with Subsystems

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:

Engine Torque Spline


SPLINE/2000
X= -1000 0 1000 2000 5000 10000 15000
Y= 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
Y= 1.0 5e3 0.0 5e3 600e3 650e3 700e3 750e3

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

About the Controls Subsystem

Adams/Chassis External Control System Interface


The external control system interface is a framework in Adams/Chassis to augment your vehicle model
with control systems. Example systems are anti-lock braking systems, active yaw control, engine torque
control, and so on. The external control system could either be a source-code control system or a control
system built in MATLAB(RTW) or Easy5. If a source-code control system is used, then the controller
must be formulated with FORTRAN or C code.
The control system interface is governed by the control system inputs and outputs. The Adams/Chassis
standard templates have been enhanced so that controls systems can be added to your model with no
customization for a predefined list of inputs and outputs. Beyond these standard lists, any system entity
can become a control input or output through customization.
For more information, see Adding Control Systems in Your Model in Getting Started Using
Adams/Chassis.

Learn about the options available in the Control System editor:


• General tab
About the Controls Subsystem 141
Working with Subsystems

• Input tab
• Output tab
• Control Libraries

Control System General tab


The General tab allows you to specify the type of control systems to be used in the model.

The option: Does the following:


Active When selected, includes the current control subsystem in the model.
Control Library Type • Build Native Adams Library - Allows you to build a source-
code control system.
• Use Library - Allows you to select the library you want to use:
• Control System Import - Uses a control system built in
MATLAB (RTW) or Easy5.
• Native Adams - Uses a pre-built source-code control system.
Code Type If you selected the Build Adams Native Library option, you can specify the
type of source code.
Subroutine Name Specify the entry function name in the source-code.
Step Size Specify the discrete step size at which the control system should be called
by Adams.
142 Adams/Chassis
Working with Subsystems

Control System Input tab


Master List
This Control Systems Input tab (see the image below) lets you choose from a list of predefined inputs.
These are the inputs that require no customization. All of these inputs have default Scale Factors. You
can modify scale factors if your external controller requires different units. Note the default units and the
scale factor before modifying it. For example, in the image below the input SWA (Steering wheel angle)
is selected, with default units of deg. If your controller requires the steering angle in radians, you would
enter .01745 for the scale factor (PI/180).

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

Constant value type inputs


The previous two input types use Adams/Solver IDs. There is a special case where this is not required.
If your controller simply needs to be passed a constant, you can create this by entering a name in the User
Defined Name text box, entering 0 for Variable ID, and entering the constant in the Scale Factor text box.

Control System Output Tab


Master List
The Control system Output tab (see the image below) lets you choose from a list of predefined outputs.
These are the outputs that require no customization. All of these outputs have default scale factors. You
can modify these scale factors if your external controller returns different units. Note the default units
and the scale factor before modifying them.

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

Using the Trailer Tow Models


Adams/Chassis has three versions of a trailer model, a simple model, and two variations of an advanced
model one with load leveling ability and one without. To use the simple model, please look at the
truck_trailer.vdb example vehicle database and to use either of the advanced models, please look at the
trailer.vdb and trailer_ll.vdb example vehicle databases.
Trailer Tow 147
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

Front and Rear Suspension


• Air Springs
• Bumpers (Jounce and Rebound)
• Bushings
• Coil Springs
• Leaf Springs (SAE 3-Link)
• Leaf Springs (Beam Element)
• Shock Absorbers
• Stabilizer Bars
• Struts
• Subframe
• Tire/Wheel Setup
• Torsion Bar Springs

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

Suspension Attachment Options


Attachment options are the options available for attaching components (springs, shocks, bumpers,
stabilizer bars) to different parts in your suspension. Adams/Chassis has a list of allowable options for
each suspension. These options are presented to you in the interface as a list of part names.
The mapping list and allowable options for each subsystem are maintained in
install_dir/achassis/gui/attachment_options/*.txt and *.py files.

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

Simple Bending Strut Model


In the simple bending model, a bushing is attached to the upper strut piece, and is connected to the lower
strut by a VFORCE statement. The VFORCE allows the reaction force on the lower strut to move with
the upper strut. A second bushing moves with the lower strut, and is also modeled using a VFORCE
statemtent

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.

Complex Strut Model


The complex strut model in Adams/Chassis includes structural compliance. The model contains 12 parts
(six each left and right). The six parts are:
• Outer tube base
• Inner (pressure) tube base
• Piston
• Piston lash dummy part
• Rod guide
• Rod guide lash part dummy part

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:

SPRINGS (TORSION BAR)


1 = SPRING ATTACHMENT (1=LOWER ARM2=UPPER ARM)
2.032E+05 = YOUNG'S MODULUS OF TORSION BAR (emod)
7.600E+04 = SHEAR MODULUS OF TORSION BAR (gmod)
0.01 = DAMPING RATIO OF TORSION BAR (cratio)
1.11 = SHEAR AREA RATIO IN Y DIRECTION OF TORSION BAR (asy)
1.11 = SHEAR AREA RATIO IN Z DIRECTION OF TORSION BAR (asy)
3 = IS THE NUMBER OF THE SPRING TO BE USED
2 = IS THE SPRING TO BE USED
WHEEL CAPACITY RADIUS FINISH ANGLES ACTIVE LENGTHS
PART RATE @ GROUND left right left right right left
NUMBER (lb/in) (lbs) (mm) (mm) (deg) (deg) (mm) (mm)
CA2 215.00 2800.00 13.900 13.900 25.30 -22.80 993.89 1024.89
BA2 195.00 2620.00 13.465 13.465 28.24 -25.34 991.58 1022.58
AA2 175.00 2540.00 12.895 12.895 32.80 -29.52 988.48 1019.48
154 Adams/Chassis
Components

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):

SPRING (SAE 3 LINK APPROXIMATION MODEL)


1 = NUMBER OF SPRINGS IN TABLE
1 = IS THE SPRING TO BE USED
RATE CAPACITY KT(X)xE6 KT(Y)xE6 KT(Z)xE6 TO(Z)xE6
PART lbs/in # N-mm/rad N-mm/rad N-mm/rad N-mm
NUMBER 1ST 2ND PAD 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
RATE CAPACITY 2nd STAGE
PART lbs/in # N/mm mm
NUMBER 1ST 2ND PAD GND K (- for SPLINE) L
FA3 600 60 0000 3000 0.007 580

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

Adding a Second Set


To use a second set of air springs in the model, edit your subsystem data file and add a second SpringPair
.xml block. You also must add 'airspring_seat_upper2' and 'airspring_seat_lower2' hardpoint pairs.

Air spring data collection process


Air spring data collection starts with air spring test data. Air springs can be tested in a number of different
ways.

Constant Pressure Testing


A common test is the constant pressure test, which allows air to leave the air spring during the test.
In the test, the air spring is filled to a particular gauge pressure (i.e. 20 PSIG). The air spring is then
compressed and the resulting force is measured from a force transducer. The pressure in the air spring
remains constant during the test, and as the spring is deformed through compression air evacuates
Trailer Tow 157
Components

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.

Constant Air Mass Testing (Dynamic Testing)


Another common method of testing air springs is to test the air spring at a constant air mass (no air
entering or leaving the air spring). This test may be referred to as dynamic testing of the air spring.
In the test, the air spring is filled to a particular gauge pressure (i.e. 20 PSIG). The air spring is then
compressed and the resulting force is measured from a force transducer. The pressure in the air spring
increases while the spring is compressed, no air is allowed to enter or leave the air spring during the test.
Testing of the air spring continues at various line pressures, up to the rated pressure of the air spring.
This method of testing gives data that is easily used by Adams/Chassis to model the air spring.
Note that the Adams/Chassis air spring model does not currently allow for air to flow in and out of the
air spring. It is assumed that for a given simulation in Adams/Chassis that the amount of air in the air
spring is held constant.
Example raw data from a dynamic test is given below, along with a plot of the data (data does not
represent an actual air spring, it is given only as an example).
158 Adams/Chassis
Components

Incorporating air spring data into Adams/Chassis


In order to use the air spring data in Adams/Chassis, the data must be processed so as to comply with the
air spring modeling methods in Adams/Chassis.
The displacement data must be "zeroed out" to the ride height of the air spring. To do this, simple subtract
the ride height from every entry in the displacement data column.
To use the example data above, the air spring will be placed in a vehicle with a desired air spring height
of 8.3 inches. The resulting displacement data would look like:
Disp. (Inch): 3, 2.5, 2, 1.5, 1, 0.5, 0, -0.5, -1, -1.5, -2, -2.5, -3
The displacement data must be ordered from lowest to highest, so reverse the order or the displacement
values. Note that the force values should not be re-ordered. The convention in Adams/Chassis is to have
negative displacement represent rebound travel, and positive displacement represent jounce travel.
Next, the air spring data must be in SI units. Convert the Displacement data to milimeters, and the force
data to Newtons. The resulting tabular data would look like:
Trailer Tow 159
Components

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

25576 28867 32514 36784 41989 48705


Y= 32248
13655 16146 18904 21884 25131 28556
32248 36206 40565 45636 51997 60003
Y= 38475
18726 19838 23085 26419 30069 34472
38475 43545 48705 54488 62049 70945

Coil Spring

Coil Spring property files are stored in the


springs.tbl subdirectory of a vehicle
database.

Coil springs can be modeled with either a


linear or nonlinear rate specification. For
the nonlinear specification, the
Independent axis data can either be
specified in terms of length or deflection.
With the length option, the x-axis data is the
distance between the spring seats. With this
technique the spline has a negative slope.
With the Deflection independent axis
option, the x-axis data is deflection from
some trim condition. The spline has a
positive slope. With this option, the
'Installed Length' or 'Preload' Install
Method must be selected in the subsystem
file.

Spring Install Methods


Coil springs have four available install methods:
1. UseHardpoints
With this method the nominal position of the 'spring_seat_upper' and 'spring_seat_lower'
hardpoint pairs are used to position the left and right coil springs. The distance between these
hardpoints is the distance between the spring endpoints at design.
2. Installed Length
For this method the free length of the spring will be adjusted so that the specified installed length
is the effective distance between the spring endpoints at design.
3. Preload
Trailer Tow 161
Components

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.

Adding a Second Set


To use a second set of coil springs in your model, edit your subsystem data file and add a second
SpringPair .xml block. You also must add 'spring_seat_upper2' and 'spring_seat_lower2' hardpoint
pairs.

SAE 3-Link Leaf Spring

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.

Beam Element Leafspring Modeling


Front and rear leafsprings can be modeled with sophisticated beam-element models. This modeling
methodology has been developed over several years by MSC
.

Makeleaf
The Makeleaf Program builds a front or rear leafspring model suitable for use with Adams/Chassis.
Trailer Tow 163
Components

Leaf Spring Preprocessor Tool


LeafPre, written by MSC, is called by Makeleaf to generate the beam-element leafspring Adams model.
An example of this file and definitions of all of the inputs can be found in the following:
• Leaf Spring Preprocessor
• Beam Element Leaf Spring Modeling Flowchart

Learn more about working with Leaf Spring Python files.

Static Funnel
A static solver funnel can often aid convergence of models containing beam element leafsprings. For
more information, see static funnel.

Torsion Bar Spring

Torsion bar springs require material


information such as moduli, damping
ratios, and shear areas.

Torsion springs are modeled by selecting


SpringTorsionProperties spring property
file type.
To use this type of spring, the following
data must exist in the subsystem file:

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.

Copyright © 2004 MSC.Software Corporation. All rights reserved.

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

Adding a Second Set


To add a second set of jounce or rebound bumpers in the model, edit your subsystem data file and add a
second BumpStopPair or ReboundStopPair .xml block. You also must add 'bumper_upper2' and
'bumper_lower2' , or 'rebound_upper2' and 'rebound_lower2' hardpoint pairs.

Jounce Bumpers

Hardpoint Legend

# Adams/Chassis HardPointPair name


175 jounce_orientation
75 bumper_upper
71 bumper_lower
68 bumper_mtl_upper
69 bumper_mtl_lower

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:

Force z = a   Disp z  + b   Disp z  2 + c   Disp z  3


where the variable a is the linear rate, b is the quadratic rate, and c is the cubic rate defined in the bumper
table.
The equation for the metal to metal force is as follows:

Force z = STEP  Disp z BumpHeight 0.0 BumpHeight + 1 1  10 6 


where the step function is a function of the z displacement of the jounce bumper points, and is activated
when the jounce bumper deflection is greater than the height of the bumper.
Jounce Bumper Statement in Adams:
LEFT FRONT JOUNCE BUMPER
VARIABLE/803,FUNC=(DZ(2871,2075,2075)+ABS(DZ(2871,2075,2075)))/2.0
VFORCE/803,I=2075,JFLOAT=28711,RM=2075
168 Adams/Chassis
Components

Rebound Bumpers

Hardpoint Legend

# Adams/Chassis HardPointPair name


77 rebound_upper
73 rebound_lower

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:

Force z = a   Disp z  + b   Disp z  2 + c   Disp z  3

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

Disp z is equal to the displacement of the rubber.


Dispz = (DM(mar77,mar73) - free_length + abs(DM(mar77,mar73) - free_length))/2
Dispz is equal to 0 when the distance between the markers at points 73 and 77 (mar73 and mar77,
respectively) is less than the free length.
Dispz is equal to (DM(mar77,mar73) - free_length) when the distance is greater than the free length.

The equation for the metal to metal force is as follows:


Forcezm = STEP(Dispz,BumpHeight,0.0,BumpHeight + 1,MetalRate · (Dispz-
BumpHeight))
where the step function is a function of the distance between the markers at points 73 and 77, and is
activated when the jounce bumper deflection is greater than the height of the bumper.

Rebound Bumper Statement in Adams:


mar77 = 12077
mar73 = 12873
free_length = 330
BumpHeight = 51.4
MetalRate = 1e6
a=5
b=0
c=0
!LEFT FRONT REBOUND BUMPER
VARIABLE/807,FUNC=(DM(12077,12873)- 330+ABS(DM(12077,12873)-
330))/2.0
SFORCE/807,I=12077,J=12873,TRA
, FUNC=POLY(VARVAL(807),0,0, -5.00, 0.00, 0.00)
, +STEP(VARVAL(807), 51.40,0, 52.40,-1.0E6*(VARVAL(807)- 51.40))

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

• Linear damping coefficient


• Nonlinear spline of force versus velocity data

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/Preload Offset

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.

Bushing Initial Torque


An initial bushing torque can be calculated for certain front and rear suspension bushings. This torque is
calculated with a wheel_center_rise parameter. The wheel_center_rise parameter must be present in the
Parameters block in the subsystem file. For bushings where it is obvious how the vertical motion of the
wheel will create a torque on a bushing, the effective lever arm for that bushing with the wheel center rise
are used to calculate the torque. The torque is the torque generated during assembly line installation of a
suspension. The wheel center rise sign convention is negative for rebound.
172 Adams/Chassis
Components

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

The feature: Does the following:


Nominal Bushing (General) Specifies the property file, scale factor, and shape for bushing.
Scale factor/Preload Offset Allows you to specify stiffness/damping scaling and preloads in all
directions.
Property File Allows you to select shape and force formulations.
I Part Compliance Allows you to specify property file and orientation for the bushing at
the I part.
J Part Compliance Allows you to specify property file and orientation for the bushing at
the J part.

SDM Bushing Models


You can generate modeling elements to represent the frequency data for each directional component. The
dynamic portion of the model is overlaid on the existing bushing model. The existing FIELD element
that represents the static portion of the bushing model remains the same. The force element (VFORCE)
that represents the dynamic portion acts between the same markers that make up the FIELD element.
Trailer Tow 175
Components

To use SDM Bushing Models:


1. In the Build mode treeview, select a subsystem that contains connectors.
2. In the Property Editor, select the Connectors tab.
3. In the table, double-click a bushing.
4. Select the Property File tab, and then select a directional component, such as the Z tab.
5. For directional components, you can set static and dynamic properties.
6. For static properties, you can enter stiffness and damping values in the text boxes or you can use
Load to specify an .xml property data file, and then select Import Data.
7. (Optional) Select View Data to see the SDM data.

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

• Static_Low Order Hydromount Model


• Static_High Order Hydromount Model
• HEM
9. You can enter coefficients in the text boxes or use Load to specify an .xml property file, and then
select Import Data.
10. (Optional) Select View Data to see the SDM data.
For more details see the SDM Bushing Models.

Spherical Joint Friction


Joint friction can help uses to accurately model and study vehicle behavior. In Adams/Chassis, friction
in spherical joints has been implemented. Spherical joint friction can help you study the steering response
of the vehicle in events such as tire wear and oncenter handling.
The Property File tab in the connector type for spherical joints provides the features that you can select
for spherical joint friction.

Static Mu Coefficient of Static Friction in the Joint


Dynamic Mu Coefficient of Dynamic Friction in the Joint
Stiction Transition Velocity threshold for transition from dynamic to static friction
Velocity
Maximum Stiction Maximum joint displacement in Stiction regime
Deformation
Friction Torque Preload Preload Friction torque in the joint
Ball Radius Radius of the ball in the joint used for force and torque calculation
Inactive Static
Friction force/torque will be calculated during static or quasistatic analysis

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

Click here for an example on how to use spherical joint friction.

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

Simple Stabilizer Bar


The simple stabilizer bar can be modeled with two different methods.

Simple Stabilizer Bar Type 1

Simple Stabilizer Bar Type 2

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'.

Adams model statements:


*******************************
* *
* FRONT STABILIZER BAR *
* *
*******************************
DIAMETER KT
(mm) (N-mm/rad) Description
------- ---------- -----------------------------
22.23 3.29E6 (to match 5/92 TRC test data)
28.58 7.31E6 (to match TRC test data)
JOINT/61,REV,I=3261,J=5161 LEFT STABILIZER BAR TO FRAME
JOINT/62,REV,I=3362,J=5162 RIGHT STABILIZER BAR TO FRAME
SPRING/63,TRA,I=0263,J=3263,K=8.3000e+03,C= 20.0
LEFT STABILIZER BAR LINK TO LCA
, L= 71.77
SPRING/64,TRA,I=0364,J=3364,K=8.3000e+03,C= 20.0
RIGHT STABILIZER BAR LINK TO LCA
, L= 71.77SPRING/65,ROT,I=3250,J=3350,KT=3.2900e+06,A=0.0
FRONT STABILIZER BAR
180 Adams/Chassis
Components

Beam Element Stabilizer Bar

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.

Adams model statements:


!====================================================================
================
F R O N T B E A M E L E M E N T S T A B I L I Z E R B
A R!
=====================================================================
===============
*******************************
* *
* LINKS AND BUSHINGS *
* *
*******************************
----- STABAR LINKS
Trailer Tow 181
Components

PART/70001, CM=70011, MASS=1.000000,


LEFT STABILIZER BAR LINK
, IP = 1000.00, 1000.00, 1000.00
, VX =-2.458720e+04
M/70011, QP= 1541.04, -561.66, 552.87
P63 - LEFT STABILIZER BAR LINK
, XP = 1641.04, -561.66, 552.87
, ZP = 1536.85, -561.64, 432.95
P65 - LEFT STABILIZER BAR LINK
M/700011, QP= 1541.04, -561.66, 552.87
P63 - LEFT STABILIZER BAR LINK
, ZP = 1536.85, -561.64, 432.95
P65 - LEFT STABILIZER BAR LINK
M/70012, QP= 1536.85, -561.64, 432.95
P65 - LEFT STABILIZER BAR LINK
, ZP = 1541.04, -561.66, 552.87
P63 - LEFT STABILIZER BAR LINK
PART/70002, CM=70021, MASS=1.000000,
RIGHT STABILIZER BAR LINK
, IP = 1000.00, 1000.00, 1000.00
, VX =-2.458720e+04
M/70021, QP= 1541.04, 561.66, 552.87
P64 - RIGHT STABILIZER BAR LINK
, XP = 1641.04, 561.66, 552.87
, ZP = 1536.85, 561.64, 432.95
P66 - RIGHT STABILIZER BAR LINK
M/700021, QP= 1541.04, 561.66, 552.87
P64 - RIGHT STABILIZER BAR LINK
, ZP = 1536.85, 561.64, 432.95
P66 - RIGHT STABILIZER BAR LINK
M/70022, QP= 1536.85, 561.64, 432.95
P66 - RIGHT STABILIZER BAR LINK
, ZP = 1541.04, 561.66, 552.87
P64 - RIGHT STABILIZER BAR LINK
----- STABAR BUSHINGS
M/70001,PA=149,QP= 1320.53, -393.00, 560.78, REU= 0.000D,-90D, -
90D
!, ZP = 1320.53, 393.00, 560.78
M/70002,PA=149,QP= 1320.53, 393.00, 560.78, REU= 0.000D,-90D, -
90D
!, ZP = 1320.53, -393.00, 560.78
M/70003,PA=71003,QP= 1320.53, -393.00, 560.78, REU= 0.000D,-90D, -
90D
!, ZP = 1320.53, 393.00, 560.78
M/70004,PA=72003,QP= 1320.53, 393.00, 560.78, REU= 0.000D,-90D, -
90D
!, ZP = 1320.53, -393.00, 560.78
FIELD/70001,I=70003,J=70001
LEFT 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 )
182 Adams/Chassis
Components

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

GRAPHICS/71201, CYLINDER, CM=71201, SEG=6, LENGTH=72.640000,


RAD=14.000000
GRAPHICS/71101, CYLINDER, CM=71101, SEG=6, LENGTH=100.779695,
RAD=14.000000
BEAM/71001 , I =71300 , J =71401 , LENGTH=145.280000
, IXX =60343.711690 , IYY =30171.855845, IZZ =30171.855845,
AREA=615.752160 , CRAT=0.001000
, EMOD=207000.000000 , GMOD=79000.000000
, ASY= 1.110 , ASZ= 1.110
----- LEFT PART 2 OF 9. . .

Swing Link Type Stabilizer Bar


The Swing Link type stabilizer bar is a modified version of the beam-element stabar model. The beam
profile points are the same as in the beam element stabilizer bar, however, there are some modifications
to the connections. The 'arb_bushing' location is set to the endpoint of the bar.
The 'droplink_bar' connection to the Swing Link is specified via a user-specified 'Swing Link
Attachment'. This is the new point at which the stabilizer bar link attaches to the bar. It uses the same
properties as the beam element stabilizer bar.

Setting Stabilizer Bar properties


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 more about types of stabilizer bars.

For the Option: Do the following:


The following options are available for all Stabilizer bars:
Active Use the Active checkbox to turn the stabilizer bar on or off.
Link Attach Part Use the pull-down menu to select the part to which the stabilizer bar
attaches.
Mount Attach Part Use the pull-down menu to select the part to which the stabilizer bar
attaches.

For the Option: Do the following:


The following options are available for Simple Stabilzer Bars:
Torsional Rate Displays the rotational spring rate for the connection between the
left and right halves of the stabilizer bar.
The following options are available for Beam Element Stabilzer Bars:
E Modulus Displays the E Modulus of the stabilizer bar material.
Poisson's Ratio Displays the Poisson's ratio of the stabilizer bar material.
Density Displays the density of the stabilizer bar material.
Trailer Tow 185
Components

For the Option: Do the following:


Scale Factor Displays the scale factor for the E Modulus of the stabilizer bar.
Diameter Displays the diameter of the stabilizer bar.
Wall Thickness Displays the wall thickness of the stabilizer bar.
Make Solid Use to set the wall thickness to half the diameter (makes the
stabilizer bar solid).
The following options are available under the Points tab (Beam Element bars only):
Location X,Y,Z Displays the location of the Beam Element stabilizer bar profile
points.
Connect Point Right-click on the Point # corresponding to the Left/Right
Connect point for either a Beam Element Stabilzer Bar or a
Swing Link Stabilizer Bar.
Swing Link Use this checkbox to create a Swing Link Stabilizer Bar.

Active Roll Control


Active Roll Control (ARC) is a control system for limiting vehicle roll by applying a correcting roll
moments to the vehicle through its stabilizer bars. The moments can be applied by either replacing a
stabilizer bar link with a linear hydraulic actuator, or by adding a rotational actuator to the middle of a
stabar.
ARC is an optional modeling feature in all stabilizer bar property files. It must be used with a control
subsystem and the appropriate activated control system outputs. If ARC is activated, and the appropriate
control system outputs are not active, Adams/Chassis does not include the ARC system in the model.
You can use three different ARC actuator methods:
• Left or Right Link
• Stabar Torsion
Learn about sign convention.

Left Link or Right Link


For Left Link or Right Link, you must specify the minimum and maximum stabar link length and the link
damping.
186 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

Working with Fingerprints


Adams/Chassis uses Fingerprints as a way to use a series of events to capture unique characteristics of a
model.
When saved, fingerprints store all of the events, event parameters, vehicle databases, and vehicle
configuration files as you specified them. Fingerprints do not save modeling information, but do save
which models are being used and how. Fingerprint files have the extension .xml and can be saved or
opened in a few ways. Learn how
.

Note: Adams/Chassis will open up version 12.0 .fp files.

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.

Using Multiple Fingerprints


You can use as many fingerprints you want in the Test mode of Adams/Chassis.

To create multiple fingerprints:


• Do one of the following:
• Select the New Fingerprint button.
• Right-click the selected event, and then select Add Event to New Fingerprint from the
shortcut menu.
Adams/Chassis Test Mode 189
Working with Fingerprints

Adams/Chassis creates a new fingerprint.

Note: Adams/Chassis adds any new events to the currently selected fingerprint.

Saving and Opening Fingerprints


You can save and open fingerprints in a few ways.

To save a fingerprint:
Do one of the following:
• From the Test menu, select Save Selected Fingerprints.

• Select the Save button from the toolbar.


• Right-click the fingerprint, and then select Save Selected Fingerprints from the shortcut menu.
Adams/Chassis saves the fingerprint to your current working directory.
You can also save the fingerprint with a different name and in a different directory.

To save a fingerprint as a different name or in a different directory:


1. Do one of the following:
• From the Test menu, select Save Fingerprint As.
• Right-click the fingerprint, and then select Save Fingerprint As from the shortcut menu.
2. In the Select File window that appears, select the directory where you want to save the fingerprint.
3. Enter the new name for the fingerprint.
4. Select Save.

To open a saved fingerprint:


1. Do one of the following:
• From the Test menu, select Load Fingerprint.
• From the toolbar, select the Load Fingerprint button.
• Right-click anywhere in the Test fingerprint area, and then select Load Fingerprint from the
shortcut menu.
The Select Fingerprint File window appears.
2. Select the fingerprint you want to open, and then select Open.
190 Adams/Chassis
Working with 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

Working with Events


Adams/Chassis includes a standard set of Events that you can use to exercise your model. The events are
divided into two types: half-vehicle (front only or rear only) and full-vehicle (front and rear). The
Adams/Chassis standard events are listed in the Test mode bookshelf (See Event Bookshelf). You can also
customize the events if you want to exercise your model using an event that is not standard.
The available events in Adams/Chassis are Python-based. You can:
• Derive custom events existing classes
• Use existing 12.0 custom event text files. These are supported with minimal effort.
• Create a custom event interface from existing events
• Use advanced interface event form/table definition

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

Adding an Event with More Than One Database Loaded


You can add events to fingerprints when you have more than one database loaded. Adams/Chassis uses
an algorithm to determine which model to use when you create a new event.
Adams/Chassis uses the following rules to determine which model to use:
• If you have a single model loaded in Build mode of the event type being added, and no events in
the Test mode fingerprint tree, Adams/Chassis uses the single model loaded.
• If you have multiple models loaded in Build mode of the event type being added, and no events
in the Test mode fingerprint tree, Adams/Chassis displays a list of all Build mode models from
which to choose.
• If you have an event selected in Test mode that has the same model type as the event type being
added, Adams/Chassis uses this model.
• If you have multiple events selected in Test mode of the event type being added, Adams/Chassis
displays a list of all available models of that type from which to choose.
• If you have no models loaded in Build mode and no events in the fingerprint tree,
Adams/Chassis uses the default (achassis_gs) model.

Add an Event to a Fingerprint Using a Model


Adams/Chassis allows you to add an Event with more than one database loaded.
In Test mode, you can select which model you want to use when creating a new event. You can select to
add it to an existing Fingerprint or create a new fingerprint.

To add an event to a fingerprint and select the model:


1. In Test mode bookshelf, right-click the event you want to add and select either:
• Add Event to New Fingerprint Using Model
• Add Event to Current Fingerprint Using Model
2. In the Select Model for New Event window, select the model you want to use, and then select OK.

Adams/Chassis Alignment Options


In Test mode's property editor, you can use auto-alignment on your front and rear suspensions.

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.

Building and Running Events (running from memory)


You can build, run, or build and run models in the Adams/Chassis Test mode. You can also run pre-built
models.

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.

To build an event from a fingerprint:


1. Select the fingerprints 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 all the events in the fingerprint.

To build and run an event:


1. Select the events from the treeview that you want to build and run.
2. Do one of the following:
• From the Test menu, select Build and Run Selected Events.
• Select the Build and Run Selected Events button from the toolbar.
• Right-click in the treeview, and then select Build and Run Selected Events from the shortcut
menu.
Adams/Chassis builds all of the events currently selected in the fingerprint tree and then runs
them.
Adams/Chassis Test Mode 195
Simulations

Running Pre-Built Events


In the Test mode, you can run models you've already built in the background of Adams/Chassis.

To run pre-built models:


1. From the Utilities menu, select Run .acf(s).
The ACF Runner window appears.
2. Select Add.
The Open window appears.
3. Select the acf(s) file you want to run, and then select Open.
4. In the ACF Runner window, select the Run button.
Adams/Chassis runs the selected events (acf files) with the model.

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
.

Simulation Description Input Plots Report


Braking Analyses
Acceleration Controlled Stop

Moderate Braking - Steady Sate

Open Loop Braking

Durability Analyses
Dynamic Loadcases Using Full-Vehicle Models
Straight Line Drive Durability
Handling Analyses
3D Smooth Road
196 Adams/Chassis
Simulations

Simulation Description Input Plots Report


Brake Drift

Brake In Turn

Constant Radius

Understeer Budget in Adams/Chassis


Cross Wind

Double Lane Change

Dynamic Constant Radius

Extended Fish Hook


Fish Hook

Fish Hook 2
Frequency Response

Grist Mill

Hands Free

J-Turn

J-Turn2
Lane Change

On Center Handling
Adams/Chassis Test Mode 197
Simulations

Simulation Description Input Plots Report


Parking Effort

Sinusoidal Steering

Standard Driver Interface

Steady State Drift

Step Steer

Straight Line Acceleration

Straight Line Deceleration

Straight-Line Drive

Swept Steer

Throttle Off In a Turn

Throttle On In a Turn

Tire Wear

Ride Analyses
4 Post
Static Analyses
Static Vehicle Characteristics (SVC)
198 Adams/Chassis
Simulations

Simulation Description Input Plots Report


Utilities
Body Attachment Finder
Eigen Vector
Model Auditor

SVC Iterate Program

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.

Simulation Description Plots Report


Suspension Compliance

Roll Motion -Displacement Based

Dynamic Loadcases Using Half-Vehicle Models


Roll Motion at Wheel Center Simulation

Frame Compliance
Ride Motion at Wheel Center

Single Wheel Motion

Static Loadcase Event


Adams/Chassis Test Mode 199
Simulations

Simulation Description Plots Report


Steering: Front and Rear

Half-Vehicle SVC Maneuver


200 Adams/Chassis
Simulation Controllers

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.

B-Spline Proportional-Integral Braking Controller


The tire routines allow for braking during a maneuver. The braking forces work similar to the traction
forces in that a force and torque are applied to the wheel center. The torque is approximately equal to the
force multiplied by the vertical distance that the wheel center is above the ground. The tractive force is
added to the tire contact patch and transferred to the wheel center with all of the other tire forces. The
controller has brake proportioning from front to rear based on longitudinal acceleration. It also has the
ability to administer a side-to-side brake torque split.

Closed Loop Braking


As with traction, braking requires corresponding SPLINE, ARRAY, and DIF statements. When using the
braking controller, make sure the appropriate longitudinal force ARRAY statements have been edited to
allow for braking at all four wheels. The Adams ARRAY statements provide the simulation with
controller gains as well as on and off times for the braking system. The ARRAYs can be defined as
follows:
ARRAY/id, NUMBERS = p,i,dfid
where:
id = braking controller gain ARRAY id (must equal arybrg in ARRAY/93)
p = proportional gain on error
i = integral gain on error
dfid = braking DIF id
ARRAY/id, NUMBERS = tdel,ont,offt,psid,fspl,rspl
Adams/Chassis Test Mode 201
Simulation Controllers

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

id = DIF id (must be same as "dfid" in ARRAY/"arybrg")


bspid = Braking controller spline id
imot = type of error in the traction SPLINE
1 = displacement error (mm)
2 = velocity error (mm/s)
3 = acceleration error (mm/s-s)
4 = force error (N)
bm = sprung mass traction marker id
gm = marker on ground in global coordinates
The braking time history SPLINE must contain at least four X and Y pairs. The SPLINE can be described
as follows:
SPLINE/bspid, X = time1,time2,time3,time4, Y = d1, d2, d3, d4, ....
where:
bspid = braking info SPLINE id (must be same as "bspid" in DIF)
timei = Time points (must have at least 4 points) (sec)
di = Desired vehicle motion (longitudinal displacement, longitudinal velocity, longitudinal
acceleration, or longitudinal force) at each time point.
An example Adams file braking call is as follows:

ARRAY/60, NUMBERS = 0.5, 10.0, 60


ARRAY/61, NUMBERS = 0.5, 0.2, 20.0, 2458, 9.81, 70, 0.5, 0.5
DIF/60, IC=0.0, FUNC=USER( 1002, 60, 3, 5150, 3)
SPLINE/60
, X = 0.00, 5.00, 10.0, 50.0
, Y = 0.00, 5886, 5886, 5886
SPLINE/70
, X = 0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4
, Y = 0.5, 0.6, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7

Open Loop Braking


The tire models also have an open-loop braking mode (i.e. applying a torque SPLINE to a wheel or
wheels). To run a wheel or wheels in this mode, the "bflag" portion of the "ilotyp(*)" parameter of
ARRAY/92 should have been set to 100 for those tires (see above Sections). If any of the "ilotyp(*)"
variables have "bflag" set to 100, the braking controller routines will require ARRAY/94 to exist and
have the following form:
Adams/Chassis Test Mode 203
Simulation Controllers

ARRAY/94, NUMBERS = spltt(1),spltt(2),spltt(3),spltt(4),...,spltt(n)


where:
spltt(n) = the braking torque spline for tire n
The controller will apply the torque found the SPLINE listed in ARRAY/94 to the spindle
around the wheel rotational axis. A rearward force will also be applied at a magnitude equal to
the applied torque divided by the instantaneous rolling radius of the tire. It is important to note
that if the "bflag" variable is set to 100 for only one or two wheels, ARRAY/94 must contain
values for all wheels in the Adams model. This is to prevent discrepancies and therefore
simulation errors.

Steering Controllers
Learn about:
• Standard Driver Interface
• Driver Model Steering Controller
• Adams/Chassis Integration with the SDI

Standard Driver Interface (SDI)


The traction, braking and steering controller for most of the Adams/Chassis events are modeled through
an interface called Standard Driver Interface. In addition to using the Adams/Chassis specific traction
and braking controllers through this interface, users can now model their own controllers and hook it up
to Adams/Chassis models. A few Adams/Chassis events uses the Adams/SmartDriver controller through
this interface. The following list of events do not use the Standard Driver Interface:

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.

Note: Adams/SmartDriver is common for Adams/Chassis and Adams/Car.

Driver Model Steering Controller


It is sometimes desired to have the Adams model to follow a specified path, (e.g. tire wear course
simulations, constant radius test simulations, etc.). A steering controller capable of determining realistic
and effective motions to be applied at the steering wheel in order to follow the specified path is used in
these situations. The driver model presented here calculates the required steering wheel angle via a user
routine which implements a preview control algorithm based on the method presented by C.C. MacAdam
in several publications.
Preview control techniques mimic the "look ahead" behavior of human drivers. This type of control
algorithm produces steering inputs that are similar to the behavior of human drivers. The terms "preview"
and "look ahead" refer to the fact that these algorithms determine the current value of steering wheel
motion based on knowledge of some portion of the desired path lying ahead of the current location.
Another interesting feature of the driver model is that it contains a simple two degree-of-freedom vehicle
model built into the control system of the driver. The controller first calculates a predicted path using this
internal vehicle model. Then, the prediction is subtracted off of the desired path at the "preview" distance
ahead of the vehicle. This difference is the term which is integrated and then used as the error signal for
the proportional controller.
The steering controller also includes a "bail-out" mode. The controller checks to ensure, at each iteration,
that user specified limits on body roll angle and body side slip angle have not been exceeded. If either of
these are exceeded at any point during a simulation, the controller switches, permanently, into bail-out
mode. Once in bail-out mode, the controller abandons the desired path, and attempts to bring the vehicle
under control by eliminating body side slip angle.
For more information, select one of the following:
• Required Adams Statements in Dataset
• Adams GRAPHIC Statements to Show Desired Path
• Steering Controller Debugging Suggestions

Adams/Chassis Integration with the SDI

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

SDI Traction/Braking Controllers


If the SDI traction/braking controllers are being used, a MACHINE or HUMAN block will be present in
the .dcf file. Also, HMAX will be set to .01 in the .acf file. Compared to the PI controllers, the SDI
traction controllers are better at maintaining consistent longitudinal speed during high yaw-rate
maneuvers. Because of this, Adams/Chassis uses these controllers in events such as step-steer. The scale
factors for the SDI controllers are stored in the powertrain and braking subsystem parameters tables:
'sdi_throttle_scale' and 'sdi_braking_scale'.

Steering Sign Convention


In Adams/Chassis, the sign convention for steer angle is positive steer angle that produces a right-hand
turn. The sign convention is the opposite in the SDI. In .dcf files, positive steer angle produces a left-hand
turn. To accommodate this, Adams/Chassis .acf files scale the Driver steer output by -1 to retain the
Adams/Chassis sign convention.

Traction Controller (PI)


The tire routines allow for traction during the maneuver. This routine applies a force and a torque at the
wheel center for a given wheel. The torque is approximately equal to the force multiplied by the vertical
distance that the wheel center is above the ground. The tractive force is added to the tire contact patch
and transferred to the wheel center with all of the other tire forces.
To use traction, corresponding SPLINE, ARRAY, and DIF statements are required. When using the
traction controller, make sure the appropriate longitudinal force ARRAY statements have been edited to
allow for traction at the rear wheels for rear wheel drive vehicles and front wheels for front wheel drive.
All wheel drive is also an option.
As stated above, traction Adams ARRAY statements must be specified. These statements provides the
simulation with controller gains as well as on and off times for the powertrain. The ARRAYs can be
defined as follows:
ARRAY/id, NUMBERS = p,i,dfid,sat_rate,sat_value
where:

id = traction controller gain ARRAY id (must equal arytrg in ARRAY/93)


p = proportional gain on error
i = integral gain on error
dfid = traction controller DIF id
sat_rate = (optional) maximum change in traction force/moment allowed between
successive integration steps (N or Nmm)
sat_value = (optional) maximum value of traction force/moment allowed (N or Nmm).
206 Adams/Chassis
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:

id = traction controller time ARRAY id (must equal arytrt in ARRAY/93)


tdel = time it take to turn traction from on to full off (sec)
ont = time at which traction is turned on (sec)
offt = time at which traction is turned completely off (sec)

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:

id = traction controller DIF id


spid = traction time history SPLINE
imot = type of error in the traction SPLINE
1 = displacement error (mm)
2 = velocity error (mm/s)
3 = acceleration error (mm/s-s)
4 = force error (N)
bm = sprung mass traction marker id
gm = marker on ground in global coordinates

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:

tspid = traction info spline id


Adams/Chassis Test Mode 207
Simulation Controllers

timei = Time points (must have at least 4 points) (sec)


di = Desired vehicle motion (longitudinal displacement, longitudinal velocity, longitudinal
acceleration, or longitudinal force) at each time point

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

An example of an Adams vehicle file with wheel torques is:

M/2114, QP=1528, -739.6, 517.4, EU= 0, 90, 0 LEFT FRONT WHEEL


SFORCE/0003, I=2114, J=2114, ROT, ACTION, LEFT FRONT WHEEL
, FU = USER( 1100, 1, 334.0, 650.0, 1.0, 2100)

M/2215, QP=1528, 739.6, 517.4, EU= 0, 90, 0 RIGHT FRONT WHEEL

SFORCE/0004, I=2215, J=2215, ROT, ACTION, RIGHT FRONT WHEEL


, FU = USER( 1100, 2, 334.0, 650.0, 1.0, 2200)

M/6753, QP=4277, -739.6, 511.0, EU= 0, 90, 0 LEFT REAR WHEEL

SFORCE/1001, I=6753, J=6753, ROT, ACTION LEFT REAR WHEEL


, FU = USER( 1100, 3, 334.0, 650.0, 1.0, 6700)

M/6853, QP=1528, 739.6, 511.0, EU= 0, 90, 0 RIGHT REAR WHEEL

SFORCE/1002, I=6853, J=6853, ROT, ACTION RIGHT REAR WHEEL


, FU = USER( 1100, 4, 334.0, 650.0, 1.0, 6800)

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

Static Solver Funnel for .acf files


The static solver funnel option is a tool that helps analysts achieve convergence with the Adams/Chassis
models that may have difficulty reaching static equilibrium. The funnel gradually tightens error,
imbalance, and stability tolerances for each static equilibrium analysis.
The static funnel option is activated if the funnel parameter in the System File is set to 1:
system_parameters->solver->static->funnel_flag
The following lines of code appear in the .acf files for Full-Vehicle models:
! Static Funnel:
equil/maxit=50.00, err=10000, imb=10000,
stab=10000con/fun=user(1010,555)
equil/maxit=50.00, err=100, imb=100, stab=10con/fun=user(1010,555)
equil/maxit=50.00, err=0.1, imb=0.1, stab=0.1con/fun=user(1010,555)
equil/maxit=50.00, err=0.001, imb=0.10000, stab=0.01
After each equil/maxit statement, the equilibrium CONSUB (con/fun=user(1010) - See Fixed Body
Equilibrium) is invoked.

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

RPC Channel/Hardpoint Specification


To access RPC Channel/Hardpoint Specification:
1. In Test mode, select a front or rear dynamic loadcase event from the treeview.
2. In the property editor, select RPC/Hardpoint Property File, and then select the Edit button

Adams/Chassis displays the RPC Channel/Hardpoint specification dialog


Adams/Chassis Test Mode 211
RPC Channel/Hardpoint Specification

3. Complete the RPC Channel/hardpoint Specification dialog box as next

For the option: Do the following:


RPC Hardpoint/Property File If no property file is specified, a default is automatically created in the
working directory called achassis_defaultRPCHP.xml.

Use the Load button to open an existing file.

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.

Default is the RPC file selected in the dynamic loadcase event.


Force Type Select one:

• 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

For the option: Do the following:


Hardpoint Finder Select to launch the Hardpoint Finder dialog box. In the Hardpoint
finder, select the hardpoint you want to use and then select OK.

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

For the option: Do the following:


Delete Selected Deletes the RPC channel or hardpoint you selected in the list.
Clear All Deletes the entire list.
Edit List Displays the Edit RPC/Hardpoint Force list. Here you can modify the
text of the entire list.

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.

4. Select one of the following:


• Save – Saves your changes to the existing file
• Save As – Saves the files with a different name
• Cancel – Closes the 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.

How to Model these force types:


1. Action/Reaction translational SFORCE
a. Force Type = Line-of-Sight
b. Select I part
c. Specify I location
d. Select J part
e. Specify J location
f. Specify Force Component
2. Action/Reaction rotational SFORCE
a. Force Type = Multi-Component
b. Select I part
c. Specify location
d. Select J part
e. Specify Force Component for RZ component
3. Action-only translational SFORCE
a. Force Type = Multi-Component
b. Select I part
c. Specify location
d. Select ground as J part
e. Specify Force Component for Z component
214 Adams/Chassis
RPC Channel/Hardpoint Specification

4. Action-only rotational SFORCE


a. Force Type = Multi-Component
b. Select I part
c. Specify location
d. Select ground as J part
e. Specify Force Component for RZ component
5. VFORCE components (three translational force components)
a. Force Type = Multi-Component
b. Select I part
c. Specify location
d. Select J part
e. Specify Force Components for X,Y and Z
6. VTORQUE components (three rotational force components)
a. Force Type = Multi-Component
b. Select I part
c. Specify location
d. Select J part
e. Specify Force Components for RX,RY and RZ
7. GFORCE components (three translational and three rotational force components)
a. Force Type = Multi-Component
b. Select I part
c. Specify location
d. Select J part
e. Specify Force Components for all components
Following is an example of how the interface input for an action/reaction SFORCE is translated into the
dataset:
!===================================================================
R P C C H A N N E L H A R D P O I N T S
!===================================================================
MARKER/10200001,PART=102 lower_control_arm hp loc
, QP=1492.44,-449.87,428.5
, REU=0.0D,0.0D,0.0D
MARKER/14200001, PART=142, FLOAT
! RPC data splines lower_control_arm_left and upper_control_arm_left
SPLINE/10200016
, FILE=
, CHANNEL=5
GFORCE/10200001, I=10200001, J=14200001, RM=10200001
,FX = 0/
Adams/Chassis Review Mode 215
RPC Channel/Hardpoint Specification

,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

Review Mode Options


In Review Mode, you have several options that operate on the events and actions you selected from the
bookshelf and treeview.

Use Personal Files


This option allows you to use your personal post-processing methods during the plotting or report
actions. By using this option, Adams/Chassis uses any local copies of the .py files instead of the system
installed files.
You use personal .py files to:
• Accommodate special modeling needs
• Develop, test, and use enhancements that are not yet released to all other users

See Modeling Customization for more information.

Overlay Plots/Reports of Same Events


This option overlays the results from events of the same type.
• Plots - The curves will be in the same plot window.
• Reports - The data will be side by side in the report text file.

Delta Reports (2 only)


This option, in conjunction with the Overlay option:
• Provides result outputs of two events of the same type
• Calculates the difference between the two result outputs
• Present the result outputs in a third column in the report

Send Reports to Adams/PostProcessor


This option allows the display of the report text file in Adams/PostProcessor. If this option is not selected,
Adams/Chassis uses the text editor specified in Preferences.

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

Plots, Reports, or Animations Options


The following options are available in the Review mode. You can access them from the Main Toolbar or
by using the Shortcut menu.

• 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.

To create a plot, report, or animation:


1. Select the Event or Fingerprint you want to review.
2. Select the desired action by:
• Choosing the action from the toolbar
• Using the Review menu to select the action
• Right-clicking the treeview and using the shortcut menu
Adams/Chassis then executes the desired action.
218 Adams/Chassis
Reviewing Simulations

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

Adams/PostProcessor also let you view animations.


Every standard Adams/Chassis event has either a report, a plot, or both. Adams/PostProcessor is usually
invoked from the Adams/Chassis interface, but can also be executed from the shell command line.

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

Durability Load Correlation Postprocessing


This utility allows you to visually compare analytical and test data for various durability events.

To use durability load correlation postprocessing:


1. In Review mode, from the Review menu, select Durability Load Correlation.
220 Adams/Chassis
Durability Load Correlation Postprocessing

2. Complete the Durability Load Correlation Post Processing dialog box as described next.

For the option: Do the following:


Post Processing File Name Displays the name of the file that stores the dialog box settings for
future use. The default file name is achassis_defaultDLCPP.xml. If
Adams/Chassis finds this file in the working directory, it will be
loaded when you launch Durability Load Correlation Post Processing.

Use the Load button to use a previously saved file.


Analytical Data Specify the analytical data file which can be either an Adams request
file (.req), or RPC test data (.rsp).

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

For the option: Do the following:


Edit List Displays the Edit Plot List dialog box. You can use this feature to
manually edit existing plot attributes.
Generate Post Processor From Select to create the required dlcpp_tab.aft file in the working directory.
Plot List This also creates an instance of the Durability_Load_Correlation
postprocessing event in the Custom Postprocessing section of the
Review mode tree, if it didn’t already exist.

3. Select one of the following:


• Save – Saves your changes to the existing file.
• Save As – Saves the files with a different name.
• Cancel – Closes the dialog box.
4. Return to Review mode.
5. In the treeview, select Durabilty_Load_Correlation.
6. Select the Execute Selected Plots button in the toolbar.

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.

Standard Plot Template .aft File


The complete process for standard plots is:

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.

To create a personal .aft file for Front Ride Motion Plotting:


1. Copy the standard plotting template to your working directory:
'install_dir'/achassis/post/plot/SI/f_ridemot_tab.aft
2. Open the .aft file and look for the following line:
1 "<- Toe Out (deg) Toe In ->" auto "<- Rebound LF Wheel Travel (mm) Jounce ->" auto
3. Change that line to:
Adams/Chassis Review Mode 223
Custom PostProcessing

1 "Toe (deg)" -1 1 "LF Wheel Travel (mm)" -100 100


Here you are changing the standard axis auto scaling to axis limits of +/- 1 deg Toe, +/- 100 mm
wheel travel.
4. Make other changes if you want, and then close the .aft file.
5. In Review mode, select Use personal files.
6. Select Execute Selected Plots.
You should now see your personalized changes.
We recommended that you place this plot template file (.aft) in your working directory. By doing this,
whenever you plot this event and select Use Personal files, Adams/Chassis plots it using your customized
plot template file.
Learn more about AFM Utility.

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

To use custom reports:


1. Copy these Perl templates to your local directory.
2. Using a text editor, customize these reports.
3. In Review mode, select Use Personal Files.
224 Adams/Chassis
Requests

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.

Optional Connector Requests


Force requests at each connector can be turned on from the connector tab. The requests creation from the
connector tab will be active only if the bushing_froce requests under optional requests at the system
properties level is turned off.

Postprocessing Requests
The table below lists the postprocessing requests. For more requests, see Optional Requests.

Frequently Used Requests Detailed list of requests


STI and Adams/Tire Request STI Requests
Request 1040 Tire Slip Angles
Request 1041 Vehicle Statistics
Request 1050 Left Rear Tire Forces and Moments
Request 1051 Right Rear Tire Forces and Moments
Request 1052 Left Front Tire Forces and Moments
Request 1053 Right Front Tire Forces and Moments
Request 1060 Turn Statistics
Request 1080 Front Toe, Caster, and Camber
Request 1090 Steering Input
Request 1095 Steering Column Statistics
Request 1703, 1704, 1705, 1706 Shock and Spring Motion Ratio
Request 2080 Rear Toe, Caster, and Camber
Request 2108 Torsion Bar Windup Angle
Request 21099 Torsion Bar Windup Force
Request 3030 Gyro Acceleration with Gravity and Understeer Values
Request 3032 Front Suspension TUV Toe and Camber (deg)
Adams/Chassis Review Mode 225
Requests

Request 3034 Rear Suspension TUV Toe and Camber (deg)


Request 3040 Body-on-Chassis Roll/Pitch
Request 5023 Left Rear Wheel Center Displacement
Request 5024 Right Rear Wheel Center Displacement
Request 5109 Left Front Wheel Center Displacement
Request 5110 Right Front Wheel Center Displacement
Request 5111, 5025 Front/Rear Suspension Roll Statistics
Request 5150 Global Gyro Displacement
Request 5160 Front Lift/Dive Displacement
Request 5161 Rear Lift/Dive Displacement
Request 5163 Body CG Displacement
Request 5164 Gyro Velocity
Request 5165 Gyro Acceleration
Request 5166 Turn Radius
Request 5170 Vehicle Dynamics Parameters
Request 1, 2, 31001, 31002 Wheel Spindle Force
Request 6109, 6110, 6209, 6210 Contact Patch Motion
Request 6111, 6112, 6211, 6212 Jack Force on Spindle
Request 6661, 6662 Force at Spindle
Request 6663, 6664 Force at Contact Patch
Request 9001 Steady State Cornering Vehicle Statistics
Request 99993 Steering Power Boost Force

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

Request 35158 Rear Coil Spring Statistics


Request 35189 Rear Shock Absorber Statistics
View Jounce Bumper Statistics.
View Rebound Bumper Statistics.

Frequently Used Requests

Description Request Column


Ackerman
Ackerman angle (deg) Request 1060 5
Ackerman percent (%) Request 1060 6
Alignment
left front toe angle (deg) Request 1080 1
left front caster angle (deg) Request 1080 2
left front camber angle (deg) Request 1080 3
right front toe angle (deg) Request 1080 4
right front caster angle (deg) Request 1080 5
right front camber angle (deg) Request 1080 6
left rear toe angle (deg) Request 2080 1
left rear caster angle (deg) Request 2080 2
left rear camber angle (deg) Request 2080 3
right rear toe angle (deg) Request 2080 4
right rear caster angle (deg) Request 2080 5
right rear camber angle (deg) Request 2080 6
Spindle Rise
left front spindle rise (mm) Request 5109 3
right front spindle rise (mm) Request 5110 3
left rear spindle rise (mm) Request 5023 3
right rear spindle rise (mm) Request 5024 3
Contact Patch Distribution
left front contact patch lateral displacement (mm) 6109 2
right front contact patch lateral displacement (mm) 6110 2
left rear contact patch lateral displacement (mm) 6209 2
right rear contact patch lateral displacement (mm) 6210 2
Adams/Chassis Review Mode 227
Requests

Description Request Column


Steering
steering wheel angle (deg) Request 1090 1
steering wheel torque (in-lbs) Request 1095 2
pitman rotation (deg) or rack travel (mm) Request 1090 2
Tire Force
left front tire longitudinal force (lbs) Request 1052 1
left front tire lateral force (lbs) Request 1052 2
left front tire vertical force (lbs) Request 1052 3
left front tire overturning moment (in-lbs) Request 1052 4
left front tire braking/traction torque (in-lbs) Request 1052 5
left front tire aligning torque (in-lbs) Request 1052 6
right front tire longitudinal force (lbs) Request 1053 1
right front tire lateral force (lbs) Request 1053 2
right front tire vertical force (lbs) Request 1053 3
right front tire overturning moment (in-lbs) Request 1053 4
right front tire braking/traction tque (in-lbs) Request 1053 5
right front tire aligning torque (in-lbs) Request 1053 6
left rear tire longitudinal force (lbs) Request 1050 1
left rear tire lateral force (lbs) Request 1050 2
left rear tire vertical force (lbs) Request 1050 3
left rear tire overturning moment (in-lbs) Request 1050 4
left rear tire braking/traction tque (in-lbs) Request 1050 5
left rear tire aligning torque (in-lbs) Request 1050 6
right rear tire longitudinal force (lbs) Request 1051 1
right rear tire lateral force (lbs) Request 1051 2
right rear tire vertical force (lbs) Request 1051 3
right rear tire overturning moment (in-lbs) Request 1051 4
right rear tire braking/traction tque (in-lbs) Request 1051 5
right rear tire aligning torque (in-lbs) Request 1051 6
Tire Slip Angles
left front slip (deg) Request 1040 1
right front slip (deg) Request 1040 2
left rear slip (deg) Request 1040 3
228 Adams/Chassis
Requests

Description Request Column


right rear slip (deg) Request 1040 4
Vehicle acceleration at Gyro (Right turn = positive)
body cg x (Gs) Request 5165 1
body cg y (Gs) Request 5165 2
body cg z (Gs) Request 5165 3
Lateral acceleration (Right turn = positive) Request 1041 1
Vehicle CG Displacement
body cg x (feet) Request 5163 1
body cg y (feet) Request 5163 2
body cg z (feet) Request 5163 3
roll angle (deg) Request 1041 3
pitch angle (deg) Request 1041 4
sideslip angle (deg) Request 1041 5
Vehicle position at Gyro
sprung mass x location (mm) Request 5150 1
sprung mass y location (mm) Request 5150 2
sprung mass z location (mm) Request 5150 3
sprung mass yaw angle (deg) Request 5150 4
sprung mass pitch angle (deg) Request 5150 5
sprung mass roll angle (deg) Request 5150 6
Vehicle velocity at Gyro
body cg x (mph) Request 5164 1
body cg y (mph) Request 5164 2
body cg z (mph) Request 5164 3
Vehicle velocity at CG
longitudinal velocity (mph) Request 1041 6
yaw rate (deg/sec) Request 1041 2
Vehicle acceleration at CG
lateral acceleration (g's) Request 1041 1
Vehicle Dynamics
vehicle instant understeer (deg/g) Request 5170 1
vehicle instant roll gradient (deg/g) Request 5170 2
vehicle instant sideslip gradient (deg/g) Request 5170 3
Adams/Chassis Review Mode 229
Requests

Description Request Column


vehicle instant steering sens (deg/100 deg) Request 5170 4
vehicle instant understeer -steer angle (deg/g) Request 5170 5
vehicle instant roll couple distribution (*) Request 5170 6
front total lateral load transfer (N) Request 9001 1
rear total lateral load transfer (N) Request 9001 2
front axle slip angle (deg) Request 9001 4
rear axle slip angle (deg) Request 9001 5
body-on-chassis roll angle (deg) 3040 5

Special Requests Description and Usage


In Adams, requests allow you to output simulation data at each time step. Standard requests can obtain
displacement, velocity, acceleration, and force data. However, in some cases, special information may be
required. It is for this reason that Adams allows you to write special requests in FORTRAN and link it to
the Adams code. Special requests output nonstandard information such as units changes, calculations
such as percent Ackerman, and so on. The custom request routines are listed below.
Commonly used Request ID's

Special Request ID Description


Adams/Tire Requests 902 Outputs tire results to the request (.req) and results (.res)
files.
Toe, Caster, and Camber 1101 Computes toe, caster, and camber for a left and right wheel
on a given axle.
Tire Forces and Moments 1102 Computes the forces and torque's acting on a given tire.
Steering Statistics 1103 Computes steering wheel rotation, pitman arm rotation, or
rack translation, and (for steering gear w/ pitman steering
only), angular differences, and the angle in the static
solution steering column joint.
Wheel Slip Angles 1104 Computes the slip angles for all four wheels at the spindle.
VDO Gear Statistics 1105 Computes boost force, internal angles and areas as well as
the gear pressure drop.
Turn Statistics 1106 Computes ideal steer radius, average steer angle, outside
turn diameter, either linkage ratio or pinion-to-rack ratio,
Ackerman, and percent Ackerman.
Spindle Statistics 1107 Computes kingpin inclination, kingpin rotation, and wheel
center elevations for the left and right spindles.
230 Adams/Chassis
Requests

Special Request ID Description


Scrub and Geometry 1108 Computes the scrub radius and the caster trail in the wheel
plane as toe angle of a suspension.
Vehicle Dynamics 1009 Computes lateral acceleration, yaw rate, body roll angle,
body pitch angle, body sideslip angle, and vehicle
longitudinal velocity.
Tire Patch Slip Angles 1110 Computes the slip angles at the tire patch.
Tire Patch Slip Ratios 1111 Computes the slip ratios at the tire patch.
Front Suspension Anti-lift 1112 Computes the anti-lift, anti-squat, and roll center of a front
and Anti-squat suspension.
Rear Suspension Anti-lift 1113 Computes the anti-lift, anti-squat, and roll center of a rear
and Anti-squat suspension.
Vector Scaling 1114 Scales the translational and/or rotational vectors by any
user inputted scale factor.
String Potentiometer 1115 Computes string potentiometer deflections and body-on-
Processor chassis roll and pitch.
Q-Head Simulator Routine 1116 Computes the front and rear lateral velocities as they
would be measured by Q-Head cameras mounted to a
vehicle. Sideslip using the Q-Head data is also computed.
Steering Column Statistics 1117, 1118 Computes angular displacements and torques in the
steering column.
Vehicle Dynamics 1119 Computes understeer, roll gradient, sideslip gradient,
Parameters steering sensitivity, and roll couple distribution.
Adams Request Four Pole 1120 Performs filtering on any Adams standard request to assist
Filter Model in correlation of Adams output to filtered test data.
Body Acceleration as 1121 Computes body accelerations by adding a an gravity
Measured by an component for correlation to test track data. Other
Accelerometer parameters are also output for understeer calculations.
Camber and Toe Angles 1122 Computes the camber and toe angles at an axle with
With Respect to Body respect to the body for TUV model validation.
Frame
Q-Head Simulator Routine 1123 Computes actual sideslip and sideslip calculated with roll
oscillations for the front, rear, and CG of a vehicle.
Normalized Distance 1124 Computes the normalized distance between a set of up to
Between MARKERS six MARKER pairs.
AVSE Ackerman Statistics 1125 Computes percent Ackerman and the Ackerman error
associated with a given suspension.
AVSE Suspension 1126 Computes toe, caster, camber, tread change and roll center
Geometry height of a suspension.
Adams/Chassis Review Mode 231
Requests

Special Request ID Description


Dual Ball Joint Geometry 1127 Computes toe, caster, camber, scrub radius, and kingpin
inclination for a dual lower ball joint suspension.
Dual Ball Rack Travel and 1128 Computes rack travels and toe and toggle angles for a dual
Steering System Geometry lower ball joint suspension
Angles
B-Spline Tire Model Inputs 1129 Computes rolling radius, slip angle and inclination angle
for two tires.
B-Spline Tire Model 1130 Outputs tire model extrapolation data for the B-Spline tire
Extrapolation REQUEST model.
Vehicle Dynamics 1131 Outputs load transfer and steering wheel variables.
Parameters II
Corrected Height Sensors 1139 Computes distance to ground as would be measured by
height sensor mounted to vehicle.
Corrected Height Sensors 1141 Computes distance to ground as would be measured by
with Zeroing height sensor mounted to the vehicle. Results are
normalized to zero at TIME=0.
Wheel Lift 22224 Computes the height of four tires above the ground.

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

Command Line Options

-c Calc Pseudo calculator


-f Filename Name of afm method file (.aft) ASCII File Template
-fl F Literal Take command line specified, file name literally (do not subject this particular
file to the personal path search)
-h Help Provide terse ASCII help text
-H Help Access extended help, if installed
-l Log Make an entry in the product enhancement log.
-o Output Name of output file if other than 'afm.out' is desired
-p Personal Use reference files in personal search path, if they exist [.:${HOME}].
Optionally one can specify an alternate search path which is colon ':' delimited.
(-p dirspec1:dirspec2:dirspec3)
If one uses shell environment variables in this path redefinition, make certain
to enclose the variable(s) with curly braces. (FILENAME.aft then
FILENAME.cft are also sought.)
-s Status Offers general program info
-v Verbose List of module numbers and names
-vs[n] Verbose -vs1 Activate (DisplayFiles) Turn on filename display of included files rather
Switch ** than just confirmation dots. -vs2 Activate (WriteIncluded) Display included
file statistics after each fclose().

Note: Applicable for versions compiled after 1996-11-10.


234 Adams/Chassis
Utilities

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

pt3 = (pt1 + 100.)

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:

AFM_DATE Contains the present date in the format (mm-dd-yy hh:mm)


AFM_OS Operating System of current system
AFM_USER Contains the user name, if available
AFM_VERSION Contains the current version of AFM
i.e. AFM Version: 4.0.9 SunOS
DTOR The conversion from degrees to radians defined as (PI/180.0)
PI The value of pi defined as (atan(1.0) * 4.0)
RTOD The conversion from radians to degrees defined as (180.0/PI)

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.

Note: One is not allowed to nest comments. /* /* */ */


Adams/Chassis Review Mode 235
Utilities

Operators
AFM supports the operators listed below:

Power ^
Multiplication *
Division /
modulus %
Addition +
Subtraction -
Assignment =
Sign/Unary + and -
Logical &&, ||
Relational ==, !=, >=, >, <=, <

Note: The equals sign (=) must be last.

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

15. How do I list my question here?

Frequently Asked Questions (FAQs) about AFM


Q:Who, What, Where, When
A: AFM is a C program compiled under many operating systems which enables one to parameterize
ASCII text files. ASCII File Manipulator (AFM).
Q: How do you determine which method files are being used?
A: The expanded file specification can be echoed to the screen by invoking AFM with the verbose flag
set to 571 ` afm -v 571 ...` See the documentation under the "include()" function.
Q:How does one determine the version of AFM?
A: If you invokes AFM with the '-s' option, the executable status information is echoed to the screen.
Additionally if you can not run the executable you can use the UNIX command `strings` and `grep to
determine the Compile date or version of the executable. `strings afm_HP-UX | grep "Compile date:"`
`strings afm_HP-UX | grep "Version:"`
Q: How does one list all the key/reserved AFM words/functions?
A: You can use the "info()" function with 60 as the argument. This will echo to the screen all the internal
function names along with the keywords. See the documentation under info().
Q: How do you list the hardcoded table data variable names?
A: You can use the "info()" function with 46 as the argument. This will echo to the screen all the internally
defined variables names that might be used if one uses the loadtables() function.
Q: Does AFM support the "++" or "--" operators?
A: AFM supports a subset of the C language. The decrement and increment operators are not supported
by AFM. This functionality can be attained in the following manner i=i+1;
Q: Does AFM support the switch() statement?
A: AFM does not support the switch statement. A series of if statements would need to be used.
Q: Does AFM support the else if control?
A: No
Q: Implicit type conversion in AFM?
A: AFM implicitly performs type conversion in the same manner as C does with the int and double data
types. AFM does not support explicit type conversion as C does with the casting qualifiers.

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 */

Q: Algebraic expression inside array delimiters?


A: AFM does not support algebraic expressions inside array delimiters. Hence "foo[i+1]" is not allowed.
NOTE: It is recommended not to leave any white space in-between the array delimiters. (foo[ i ] NOT
recommended) This uniqueness has been addressed in the 06.xx version of AFM.
Q: How do you output curly braces?
A: You can use the printf(), sprintf() and fprintf() functions to write the ASCII equivalent to the AFM
output file. sprintf(open_brace,"%c",123); sprintf(close_brace,"%c",125);
Q: How do you run AFM in batch if there are multiple prompts?
A: afm -f filename << EndAFM answer1 answer2 EndAFM
Q: What do I do if the validation expires?
A: %utl_18-f-exp, The validation has expired! Validation dates are provided on applications to guarantee
that a site is running a "reasonably" current version of an application.
a) Two weeks prior to the expiration date a count down timer is initiated. This count down timer displays
a message notifying the user of how many days until the expiration date.
b) After the expiration date there is a two week grace period where the application still runs with no
additional user interaction. An appropriate message is displayed during this grace period.
c) If two weeks after the expiration date, the application still has not been updated, The application will
cease to run.

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.

Q: How do I verify the resource settings for AFM?


A: Under the UNIX operating system the afm and mer utilities reference the same resource file.
.SDdefaults. This file is checked for in the current directory, then the users home directory and finally in
238 Adams/Chassis
Utilities

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.

Terse Help, Data Load


The following is a brief listing of the KEY WORDS that are used in the custom data files to facilitate
mass loading of data into afm variables. In addition there is a listing of the variables which can be loaded
via this mass load utility.

Key Words

1st Token 2nd Token Routine Called


"ALIGNMENT" "(ADJUSTER" 325 ttf_alignment
"BUMPERS" "(-" 350 ttf_bumpers
"BUMPERS" "(N/mm)" 350 ttf_bumpers
"BUSHINGS" "(DAMPING)" 312 ttf_bush
"BUSHINGS" "(RATES)" 311 ttf_bush
"BUSHINGS" "(TYPE)" 313 ttf_bush
"BUSHINGS" "(INITIAL" 314 ttf_bush_ini
"Body" "Description" 388 ttf_description
"CARGO" "PARTS" 383 ttf_bodytire_cargo
"Description" "for" 390 ttf_description
"EXTRA" "PARTS" 384 ttf_literal
"GEOMETRY" "Pt" 301 ttf_geometry /* _main.c */
"GEOMETRY" "OFFSET" 302 ttf_geo_off_set /* _main.c */
"J-TURN" "CONFIGURATION" 326 ttf_literal
"PARTS" "(IN)" 305 ttf_part_in
"PARTS" "(CG)" 306 ttf_part_cg
"PAYLOAD" "CHART" 379 ttf_bodytire_payload
"PERSONS" "(max" 382 ttf_bodytire_persons
"RACK" "&" 372 ttf_steer_rpg
"RECIRCULATING" "BALL" 373 ttf_steer_rbng
"SHOCK" "ABSORBERS" 340 ttf_shock
"SIMULATION" "SPECIFICS" 375 ttf_bodytire_sim
Adams/Chassis Review Mode 239
Utilities

1st Token 2nd Token Routine Called


SPLINES" "AND" 360 ttf_literal
"SPRING" "(SAE" 324 ttf_spring_sae
"SPRINGS" "(TORSION" 320 ttf_spring_tors
"SPRINGS" "(COIL)" 321 ttf_spring_coil
"SPRUNG" "MASS" 380 ttf_bodytire_sprung
"STABILIZER" "BARS" 330 ttf_stabil_bar
"STABILIZER" "BEAM" 331 ttf_stabil_beam
"STEERING" "COLUMN" 371 ttf_steer_column
"STORAGE" "FOR" 386 ttf_literal
"SUSPENSION" "BUMPERS" 351 ttf_suspen_bumpers
"SCALAR" "DOUBLE" 361 ttf_scalar
"SCALAR" "INT" 362 ttf_scalar
"SCALAR" "STRING" 363 ttf_scalar
"SCALAR" "TYPE" 364 ttf_scalar
"TIRE" "MODEL" 376 ttf_tire_model_br
"TIRE" "SIZE," 377 ttf_bodytire_tvs
"Tire" "Description" 389 ttf_description
"VEHICLE" "NAME" 365 ttf_vehiclename
"Vehicle" "Name" 366 ttf_vehiclename
"TABLE" "INT" 380 ttf_table_int
"TABLE" "DOUBLE" 381 ttf_table_double
"TABLE" "STRING" 385 ttf_table_string
"TABLE" "INT_COMMENT" 382 ttf_table_int_c
"TABLE" "DOUBLE_COMMENT" 383 ttf_table_double_c
"TABLE" "GEOMETRY" 384 ttf_table_geometry
"", "" 0
240 Adams/Chassis
Utilities

Variables

ttf_bodytire.c: Variable name -> PRE_sim[12]",pre);


ttf_bodytire.c: Variable name -> PRE_tvs[15]",pre);
ttf_bodytire.c: Variable name -> PRE_tms[24]",pre);
ttf_bodytire.c: Variable name -> PRE_pay_cht_cnt",pre);
ttf_bodytire.c: Variable name -> PRE_pay_cht",pre);
ttf_bodytire.c: TTF_MAXSPRUNGMASS 15
ttf_bodytire.c: Variable name -> PRE_spr_mas_in_2[TTF_MAXSPRUNGMASS][4]",pre);
ttf_bodytire.c: Variable name -> PRE_spr_mas_in_1[TTF_MAXSPRUNGMASS][2]",pre);
ttf_bodytire.c: Variable name -> PRE_spr_mas_in_com[TTF_MAXSPRUNGMASS]",pre);
ttf_bodytire.c: Variable name -> PRE_spr_mas_in_cnt",pre);
ttf_bodytire.c: Variable name -> PRE_spr_mas_cg_id[TTF_MAXSPRUNGMASS]",pre);
ttf_bodytire.c: Variable name -> PRE_spr_mas_cg[TTF_MAXSPRUNGMASS]",pre);
ttf_bodytire.c: Variable name -> PRE_spr_mas_cg_com[TTF_MAXSPRUNGMASS]",pre);
ttf_bodytire.c: Variable name -> PRE_spr_mas_cg_cnt",pre);
ttf_bodytire.c: TTF_MAXCARGOPARTS 15
ttf_bodytire.c: Variable name -> PRE_car_in[TTF_MAXCARGOPARTS][4]",pre);
ttf_bodytire.c: Variable name -> PRE_car_com[TTF_MAXCARGOPARTS]",pre);
ttf_bodytire.c: Variable name -> PRE_car_in_cnt",pre);
ttf_bodytire.c: Variable name -> PRE_car_pn_cg[TTF_MAXCARGOPARTS][2]",pre);
ttf_bodytire.c: Variable name -> PRE_car_cg[TTF_MAXCARGOPARTS]",pre);
ttf_bodytire.c: Variable name -> PRE_spr_mas_cg_cnt",pre);
ttf_bodytire.c: TTF_MAXPERSONS 15
ttf_bodytire.c: Variable name -> PRE_per_mas[TTF_MAXPERSONS]",pre);
ttf_bodytire.c: Variable name -> PRE_per_com[TTF_MAXPERSONS]",pre);
ttf_bodytire.c: Variable name -> PRE_per_use[TTF_MAXPERSONS]",pre);
ttf_bodytire.c: Variable name -> PRE_per_loc[TTF_MAXPERSONS]",pre);
ttf_bodytire.c: Variable name -> PRE_per_cnt",pre);
ttf_front.c: Variable name -> PRE_sta_num",pre);
ttf_front.c: Variable name -> PRE_sta_use",pre);
ttf_front.c: Variable name -> PRE_sta_k",pre);
ttf_front.c: Variable name -> PRE_sta_c",pre);
Adams/Chassis Review Mode 241
Utilities

ttf_front.c: Variable name -> PRE_sta_bar_class",pre);


ttf_front.c: Variable name -> PRE_sta_kt[%d]",pre,sta_num);
ttf_front.c: Variable name -> PRE_sta_des",pre);
ttf_front.c: Variable name -> PRE_sta_num",pre);
ttf_front.c: Variable name -> PRE_sta_bem_use",pre);
ttf_front.c: Variable name -> PRE_sta_num_pts",pre);
ttf_front.c: Variable name -> PRE_sta_con_pt_l",pre);
ttf_front.c: Variable name -> PRE_sta_con_pt_r",pre);
ttf_front.c: Variable name -> PRE_sta_lin_mas",pre);
ttf_front.c: Variable name -> PRE_sta_bar_class",pre);
ttf_front.c: Variable name -> PRE_sta_bar_att[%d][5]",pre,sta_num);
ttf_front.c: Variable name -> PRE_sta_des",pre);
ttf_front.c: Variable name -> PRE_sta_bar_pts[20]",pre);
ttf_front.c: Variable name -> PRE_ali_lef[3]",pre);
ttf_front.c: Variable name -> PRE_ali_rig[3]",pre);
ttf_front.c: Variable name -> PRE_shock_id_l",pre);
ttf_front.c: Variable name -> PRE_shock_mul_l",pre);
ttf_front.c: Variable name -> PRE_shock_att_l",pre);
ttf_front.c: Variable name -> PRE_shock_id_r",pre);
ttf_front.c: Variable name -> PRE_shock_mul_r",pre);
ttf_front.c: Variable name -> PRE_shock_att_r",pre);
ttf_front.c: Variable name -> PRE_des",pre);
ttf_front.c: Variable name -> PRE_tir",pre);
ttf_front.c: Variable name -> PRE_bod",pre);
ttf_front.c: Variable name -> PRE_bum_typ",pre);
ttf_front.c: Variable name -> PRE_bum_dat[10][%d]",pre,masknum);
ttf_front.c: Variable name -> PRE_bum_cnt",pre);
ttf_front.c: Variable name -> PRE_bum_typ",pre);
ttf_front.c: Variable name -> PRE_bum_att[10]",pre);
ttf_front.c: Variable name -> PRE_bum_dat[10][%d]",pre,masknum);
ttf_front.c: Variable name -> PRE_bum_cnt",pre);
ttf_front.c: Variable name -> PRE_veh_nam",pre);
ttf_main.c: Variable name -> PRE_ttf_filename",prefix);
242 Adams/Chassis
Utilities

ttf_main.c: Variable name -> PRE_pt%s",pre,nam1);


ttf_main.c: Variable name -> PRE_pt%s",pre,nam2);
ttf_main.c: Variable name -> PRE_pt0%s",pre,nam1);
ttf_main.c: Variable name -> PRE_j_t",pre);
ttf_main.c: Variable name -> PRE_spl",pre);
ttf_main.c: Variable name -> PRE_tir_spl",pre);
ttf_main.c: Variable name -> PRE_ext",pre);
ttf_rear.c: Variable name -> PRE_spr_num",pre);
ttf_rear.c: Variable name -> PRE_spr_use",pre);
ttf_rear.c: Variable name -> PRE_spr_sae_pn[%d]",pre,spr_num);
ttf_rear.c: Variable name -> PRE_spr_dat_first[%d][12]",pre,spr_num);
ttf_rear.c: Variable name -> PRE_spr_dat_second[%d][6]",pre,spr_num);
ttf_rear.c: Variable name -> PRE_spr_sae_des1",pre);
ttf_rear.c: Variable name -> PRE_spr_sae_des2",pre);
ttf_steer.c: Variable name -> PRE_ste_dat_rac[4]",pre);
ttf_steer.c: Variable name -> PRE_ste_dat_rac[6]",pre);
ttf_steer.c: Variable name -> PRE_ste_las",pre);
ttf_steer.c: Variable name -> PRE_ste_rsj",pre);
ttf_steer.c: Variable name -> PRE_ste_num",pre);
ttf_steer.c: Variable name -> PRE_ste_use",pre);
ttf_steer.c: Variable name -> PRE_ste_ktct[%d][2]",pre,ste_num);
ttf_steer.c: Variable name -> PRE_ste_des",pre);
ttf_tbl.c: sprintf(name,"%s_row_cnt",label);
ttf_tbl.c: sprintf(name,"%s[%d][%d]",label,rows,cols);
ttf_tbl.c: sprintf(name,"%s_row_cnt",label);
ttf_tbl.c: sprintf(name,"%s[%d][%d]",label,rows,cols);
ttf_tbl.c: sprintf(name,"%s_row_cnt",label);
ttf_tbl.c: sprintf(name,"%s[%d][%d]",label,rows,cols-1);
ttf_tbl.c: sprintf(name,"%s_com[%d]",label,rows);
ttf_tbl.c: sprintf(name,"%s_row_cnt",label);
ttf_tbl.c: sprintf(name,"%s[%d][%d]",label,rows,cols-1);
ttf_tbl.c: sprintf(name,"%s_com[%d]",label,rows);
ttf_util.c: Variable name -> PRE_prt_mas_%d",pre,j);
Adams/Chassis Review Mode 243
Utilities

ttf_util.c: Variable name -> PRE_prt_moi_%d",pre,j);


ttf_util.c: Variable name -> PRE_prt_poi_%d",pre,j);
ttf_util.c: Variable name -> PRE_prt_cg_%d",pre,j);
ttf_util.c: Variable name -> PRE_prt_cg_0%d",pre,j);
ttf_util.c: Variable name -> PRE_prt_cg_%d",pre,j);
ttf_util.c: Variable name -> PRE_spr_att",pre);
ttf_util.c: Variable name -> PRE_spr_num",pre);
ttf_util.c: Variable name -> PRE_spr_use",pre);
ttf_util.c: Variable name -> PRE_spr_coil_pn[%d]",pre,spr_num);
ttf_util.c: Variable name -> PRE_spr_coil_dat[%d][7]",pre,spr_num);
ttf_util.c: Variable name -> PRE_spr_coi_des",pre);
ttf_util.c: Variable name -> PRE_spr_att",pre);
ttf_util.c: Variable name -> PRE_spr_emod",pre);
ttf_util.c: Variable name -> PRE_spr_gmod",pre);
ttf_util.c: Variable name -> PRE_spr_cratio",pre);
ttf_util.c: Variable name -> PRE_spr_shearareay",pre);
ttf_util.c: Variable name -> PRE_spr_shearareaz",pre);
ttf_util.c: Variable name -> PRE_spr_num",pre);
ttf_util.c: Variable name -> PRE_spr_use",pre);
ttf_util.c: Variable name -> PRE_spr_tors_pn[%d]",pre,spr_num);
ttf_util.c: Variable name -> PRE_spr_tors_dat[%d][8]",pre,spr_num);
ttf_util.c: Variable name -> PRE_spr_tor_des",pre);
ttf_util.c: Variable name -> PRE_bus_kcr[%d][12]",pre,TTF_MAXBUSH);
ttf_util.c: Variable name -> PRE_bus_kcr_des",pre);
ttf_util.c: Variable name -> PRE_bus_kcr[%d][12]",pre,TTF_MAXBUSH);
ttf_util.c: Variable name -> PRE_bus_nam[%d]",pre,TTF_MAXBUSH);
ttf_util.c: Variable name -> PRE_bus_typ[%d]",pre,TTF_MAXBUSH);
ttf_util.c: Variable name -> PRE_bus_int",pre);
244 Adams/Chassis
Utilities

AFM Functions
The AFM functions are listed below:

• Scalar Functions • IO Functions


• String Functions • getdouble
• sprintf • getint
• strcat • getstring
• strcmp • getspec
• strncmp • fclose
• strcpy • format
• strlen • fopen
• strstr • fprintf
• strsubstr • fput
• strtrim • fswitch
• strsplit • fwrite
• strtolower • printf
• strtoupper • put
• Utility Functions • puts
• assign • Vector Functions
• atof • along
• atoi • angle
• dime • cross
• ftoa • distance
• getindex • dot
• ifdef • magnitude
• include • midpoint
• info • normalize
• itoa • Custom Functions
• loadtables • loadapt
• TABLE and SCALAR Data File Keywords • Program Control
• listfile • if/else
• system • Loops
• transpec • exit
• Custom Routines • end
• Data Loading • return
• Subroutines
Adams/Chassis Review Mode 245
Utilities

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;
}

Note: if else (condition) is not supportedLoops

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.

-e Example Offer examples of command invocation.


-f File Determine which .req file to use. (-fg :gfm) !positional
-fm FileMad Read a .mad file (Post processed Madymo info )
(-fma, -fmc, -fmd, -fms will columnize Madymo info )
-fp FilePost Read a .pos file (Post processed info in column format)
-fr FileReq Read a .req file (Post processed Adams result file)
-fa, -fc, -fd, -fs Will columnize a series of .req files (output in *.dat format).
-abs Preceding a columnize option will provide absolute value max and min
-all Preceding a columnize option will provide absolute max and min and
begin and end values
-h Help Provide help text, (-?,-H Provide debug help)
-m Mega Full screen instead of 80 percent of screen
-p Plot directly to 'laser printer' (has to be last option on command line)
To plot once in the chart, depress F20 or 'p'
( 'P' will generate the plt.ps file and prompt to continue)
[Environment variable PLT_PRINTCHAIN for alternate command]
-n NumMenu Followed by a number, determines number of menu panes
248 Adams/Chassis
Utilities

-r Request IDs and items, positional (must precede -f)

Note: Under Windows use double quotes ( -r "0,1090:1,1095:2" -fd)


-s Status Offers general program info
-s0 Story_0 Appends file into postscript output file
-s1 Story_1 Fills story string 1 for postscript output
-sn Story_n Fills story string n for postscript output
-t Title Prompt for major title
-tm TMinMax Tmin:Tmax, positional prior to -f
-x Xrange Specify X axis range, (low:high) (provide both low and high)
-xl Xlabel Specify X Label
-y Yrange Specify Y axis range, (low:high) (provide both low and high)
-yln Ylabel Specify Y label, (n = 1, 2, 3 ... )

Button 2 to zoom, Button 3 or keys PF1, 'q' or 'e' to EXIT

Program invocation examples

EXAMPLE: achassis -plt -r “1:2,1:3” -f FILENAME.REQ

chart Request 1 item 2 on X axis,chart Request 1 item 3 on Y axis FILENAME.REQ will be used

EXAMPLE: achassis -plt -r “0,38:3,1:1” -f

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.

EXAMPLE: achassis -plt -r “0,38:3” -f -r “1:3” -f

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.

EXAMPLE: achassis -plt -r “0,38:3” -f -f


Adams/Chassis Review Mode 249
Utilities

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.

EXAMPLE: achassis -plt -fg

User will be prompted for the .GFM file to chart. Format of file is as specified in GRAFEM
PLT_FRM_FILE

EXAMPLE: achassis -plt -r “1,3” -fp FILENAME.POS

chart column one and column three of the columnized file FILENAME.POS will be used

EXAMPLE: achassis -plt -r “1,3,5,7” -fp FILENAME.POS

chart column one and column three, five and seven of the columnized file FILENAME.POS will be used

EXAMPLE: achassis -plt -r “0,1” -fp FILENAME.POS

chart row count and column one of the columnized file FILENAME.POS will be used

EXAMPLE: achassis -plt -r “1,3” -fp FILENAME1.pos -fp


FILENAME2.pos

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.

Sample Vehicle Dynamics PLT commands


The PLT utility is very useful for debugging Adams runs, and doing quick sanity checks on results.

Steering Wheel Angle vs. Time achassis -plt -r “0,1090:1” -f filename.req


Steering Wheel Torque vs. Time achassis -plt -r “0,1095:2” -f filename.req
Lateral Acceleration vs. Time achassis -plt -r “0,1041:1” -f filename.req
Body CG Roll Angle vs. Time achassis -plt -r “0,1043:3” -f filename.req
250 Adams/Chassis
Utilities

Vehicle Path achassis -plt -r “5150:1,5150:2” -f filename.req


Yaw Rate vs. Time achassis -plt -r “0,1041:2” -f filename.req
Left Front Toe Curve achassis -plt -r “1080:1,5109:3” -f filename.req
Right Front Toe Curve achassis -plt -r “1080:4,5110:3” -f filename.req
Forward Velocity vs. Time achassis -plt -r “0,1041:6” -f filename.req

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

Frequently Asked Questions (FAQ) about PLT


Q:Who, What, Where, When
A: PLT is a C program compiled under many operating systems also using base Xlib graphics calls.
Q: What happens if the plt.ps file does not print?
A: a) If other files have printed but one file in particular does not. The there could be a text string with
unbalanced parentheses in the plt.ps file b) It has also been reported that the last restore has caused
problems. That is, remove it and see what happens. (This has not been confirmed and the vote is still out)

Adams/Chassis Improve Mode


The Improve mode in Adams/Chassis creates a gateway for you to use the features of Adams/Insight.
These features allow you 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.
Adams/Chassis Improve Mode 251
About Investigations

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.

Creating Investigation Events


Adams/Chassis creates the bookshelf in Improve mode from fingerprints you created in Test mode. With
the events in these fingerprints, you create an investigation event.

To create an investigation event:


Do one of the following:
• In the bookshelf, double-click an event.
• Select the event and then, from the File menu, select Add Event to Investigation.
• In the bookshelf, right-click an event, and then select Add Event to Investigation from the
shortcut menu.
Adams/Chassis adds the event to the Investigation Events tree.

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

Creating a New Investigation


To create a new investigation:
1. In the property editor in Improve mode, select the Setup Investigation tab, and then select Create
New Investigation.
252 Adams/Chassis
About Investigations

2. Enter an investigation name for New Investigation Name.


3. Enter the directory name to store the investigation in Investigation Directory.Adams/Chassis
creates a new directory inside your current working directory. It places any files in this new
directory or in respective subdirectories.
4. Select GO.
Adams/Chassis creates a new investigation and launches Adams/Insight. For more information,
see Using Adams/Insight with Adams/Chassis.

Editing/Using an Existing Investigation


Once you have created an investigation, Adams/Chassis allows you to use and edit it.

To edit an existing investigation:


1. In Improve mode, in the property editor, select the Setup Investigation tab, and then select Edit
Existing Investigation.
2. Select the Find tool next to Existing Investigation Name.
3. From the Select Investigation File window that appears, select the name of the investigation you
want to edit, and then select Open.
The Existing Investigation Directory updates based on your selection above.
The Existing Investigation Models displays previously created investigation models.
4. Make sure the list corresponds with the events listed in the Investigation tree.
5. Select GO.
Adams/Chassis launches Adams/Insight. For more information, see Using Adams/Insight with
Adams/Chassis.

To use an existing investigation:


1. In the Setup Investigation tab, select Use Existing Investigation.
2. Follow steps 2 through 5 above.

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

To execute the investigation:


1. Enter an Investigation Output Prefix.
2. (Optional) Enter the name of the <investigation>_mer.py file you want to edit.
3. (Optional) To review the contents of the .py file, select the Edit tool to open your text editor.
4. Select one or more investigation actions:

Build All Builds all the events in your investigation


Run All Runs all the events in your investigation
Postprocess All Postprocesses all the events in your investigation

5. Select a Build/Run Sequence.


6. (Optional) Select one or more files to delete during the run.
7. Select GO.
254 Adams/Chassis
Run Individual Events

Run Individual Events


You can run individual events to selectively run a particular trial again from the investigation. The Run
Individual Events option allows you to review that specific trial.

To run individual events:


1. In Improve mode, use the treeview in the property editor to select the individual events you want
to run.
2. (Optional) Select the files you want to delete during the run.
3. Select GO.
Adams/Chassis Improve Mode 255
Using Adams/Insight with Adams/Chassis

Using Adams/Insight with Adams/Chassis


This section includes information on using Adams/Insight with Adams/Chassis.
Learn more about:
• User Response Naming Convention
• Single Request User Responses
• Polynomial User Responses

Adams/Insight User Responses


Besides the standard library of responses based on Adams/Chassis reports, Adams/Insight provides some
general utilities to create custom responses for processing Adams request data.

User Response Naming Convention


A strict naming convention is required for user responses added to Adams/Insight experiments with
Adams/Chassis.
Each event included in the experiment has a prefix, which appears in the response hierarchy in
Adams/Insight:
256 Adams/Chassis
Using Adams/Insight with Adams/Chassis

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:

Valid user responses names:


• e_001_achassis_gs_full_sys_swep_1_max_latacc
• e_002_achassis_gs_full_sys_ride_2_average_left_toe
• e_003_achassis_gs_full_sys_comp_3_left_toe_at_6_seconds

Invalid user response names:


• max_latacc
• average_left_toe
• left_toe_at_6_seconds
Adams/Chassis Improve Mode 257
Using Adams/Insight with Adams/Chassis

Single Request User Responses


Similar to Adams/Chassis 12.0, you can specify single user responses in Adams/Chassis 2005. In
Adams/Chassis 2005, there are supplemental method types available to process a vector of data.The
following table shows the types available in Adams/Chassis 12.0 and 2005:

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

tmax - Maximum time for output

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

Request Value at Specific Time


This user response processes the value of a request at a specific time. To create an Adams/Insight
response for this type, create a new response, select User Response Type, and enter a string with the
following syntax in the Variable text box:
time_value:<time>:req_<id>:<col_number>

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

Polynomial User Responses


The second kind of user response is polynomial. This type of response creates a series of responses
corresponding to the coefficients of a polynomial. The polynomial is the best fit curve when plotting one
Adams/Chassis Improve Mode 259
Using Adams/Insight with Adams/Chassis

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:

! Access Size Mod_Date Time Nest File_Specification


! t (00) ./go.py
! e 17786 2001-12-01 11:53 (01) /vobs/release/achassis/pre_py/acfdir/acf_defaults.py
! e 8785 2002-01-04 14:15 (01) /vobs/release/achassis/pre_py/system/front.py
! e 57028 2002-01-15 18:14 (02) /vobs/release/achassis/pre_py/utility/globals.py
! e 2685 2001-07-17 13:12 (03) /vobs/release/achassis/pre_py/utility/unit_conversion.py
! e 12957 2001-07-17 13:11 (03) /vobs/release/achassis/pre_py/race/globals_race.py
! e 5728 2002-01-16 08:52 (02) /vobs/release/achassis/pre_py/acfdir/half_bld_control.py
! e 5596 2001-07-20 07:35 (03) /vobs/release/achassis/pre_py/acfdir/bldacf_half/bld_ride.py
! e 15610 2002-01-09 16:53 (04) /vobs/release/achassis/pre_py/acfdir/acf_align.py
! e 25429 2002-01-10 12:12 (02) /vobs/release/achassis/pre_py/body/body_setup.py
! e 11332 2002-01-08 11:15 (02) /vobs/release/achassis/pre_py/utility/header.py
! e 22443 2002-01-02 14:15 (02) /vobs/release/achassis/pre_py/front/f_setup.py
! e 3841 2001-09-27 08:50 (03) /vobs/release/achassis/pre_py/utility/attach_init.py
! e 41155 2002-01-08 12:46 (02) /vobs/release/achassis/pre_py/front/sla.py
! e 6697 2001-09-17 18:43 (03) /vobs/release/achassis/pre_py/utility/attach_check.py
! e 26274 2002-01-10 12:24 (03) /vobs/release/achassis/pre_py/front/f_options.py
! e 100166 2002-01-10 12:23 (03) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (03) /vobs/release/achassis/pre_py/utility/bush.py
! e 5069 2001-07-17 13:12 (02) /vobs/release/achassis/pre_py/front/f_opt_bld.py
! e 29476 2002-01-02 14:16 (03) /vobs/release/achassis/pre_py/utility/lca.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
Advanced Adams/Chassis 265
Modeling Customization

! Access Size Mod_Date Time Nest File_Specification


! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 20858 2001-11-02 15:33 (03) /vobs/release/achassis/pre_py/utility/uca.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 6826 2002-01-14 09:51 (03) /vobs/release/achassis/pre_py/utility/coil_spring.py
! e 17253 2001-12-20 11:40 (03) /vobs/release/achassis/pre_py/utility/shock.py
! e 100166 2001-12-20 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2001-12-20 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2001-12-20 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2001-12-20 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 15218 2001-12-13 17:17 (03) /vobs/release/achassis/pre_py/utility/jbumper.py
! e 10605 2001-12-13 17:18 (03) /vobs/release/achassis/pre_py/utility/rbumper.py
! e 33465 2001-12-11 14:21 (03) /vobs/release/achassis/pre_py/utility/beam_bar.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 6335 2001-09-17 18:43 (03) /vobs/release/achassis/pre_py/utility/wft.py
! e 5019 2002-01-10 11:49 (02) /vobs/release/achassis/pre_py/steer/s_setup.py
! e 6891 2001-12-17 18:34 (02) /vobs/release/achassis/pre_py/steer/ratio_compute.py
! e 24901 2002-01-04 13:48 (02) /vobs/release/achassis/pre_py/steer/str_col_adv.py
! e 13957 2001-10-08 15:10 (03) /vobs/release/achassis/pre_py/steer/str_col_align.py
! e 24128 2002-01-14 16:18 (02) /vobs/release/achassis/pre_py/steer/rack.py
266 Adams/Chassis
Modeling Customization

! Access Size Mod_Date Time Nest File_Specification


! e 2783 2002-01-10 11:50 (03) /vobs/release/achassis/pre_py/steer/adv2_flex_check.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 100166 2002-01-10 12:23 (04) /vobs/release/achassis/pre_py/utility/bush.py
! e 10351 2001-08-27 15:26 (03) /vobs/release/achassis/pre_py/steer/steer_mot.py
! e 8009 2002-01-08 13:54 (03) /vobs/release/achassis/pre_py/steer/str_boost.py
! e 5908 2001-11-29 18:01 : (03) /vobs/release/achassis/pre_py/steer/str_tbar.py
! e 30493 2002-01-10 09:09 (02) /vobs/release/achassis/pre_py/tire/tire.py
! e 73973 2001-12-13 17:58 (02) /vobs/release/achassis/pre_py/options/front_exer.py
! e 4409 2001-12-20 11:41 (03) /vobs/release/achassis/pre_py/graphics/grid.py
! e 24394 2001-12-07 10:05 (03) /vobs/release/achassis/pre_py/options/sdm.py
! e 23271 2002-01-15 18:14 (02) /vobs/release/achassis/pre_py/utility/requests.py
! e 8574 2001-09-24 16:06 (02) /vobs/release/achassis/pre_py/utility/svc.py
! e 3857 2002-01-09 10:18 (02) /vobs/release/achassis/pre_py/graphics/graphics.py
! e 7683 2001-07-25 13:49 (03) /vobs/release/achassis/pre_py/graphics/tire_graf.py
! e 1166 2001-11-29 18:03 (02) /vobs/release/achassis/pre_py/utility/footer.py
! included file count pwd = /hosts/leo/disk2/regression/reg_120_examples_vehicles_dev/irix32_py/apre_gs/dev
= 72

Any python file in this list can be customized by you.


Here is the general procedure for customizing your model:
• Copy one of the listed python files to your working directory
• Edit your local copy of the file to incorporate your customization
• Select Use Personal .py files when building your model
Advanced Adams/Chassis 267
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

Adding Events to Custom PostProcessing


You can add the events in Review mode's bookshelf to the Custom Post-Processing branch in the Review
mode's treeview.

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.

Adams/Chassis adds the event.


268 Adams/Chassis
Custom PostProcessing

Plot .aft file


PAGE SETUP

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)

The Layout defines • 3 = 2 plots (2 rows x 1 plot)


how many plot • 4 = 3 plots (1 on left, 2 on right)
windows per page • 5 = 3 plots (2 on left, 1 on right)
appear.
• 6 = 3 plots (2 on top, 1 on bottom)
• 7 = 3 plots (1 on top, 2 on bottom)
• 8 = 3 plots (1 row x 3 plots)
• 9 = 3 plots (3 rows x 1 plot)
• 10 = 4 plots (2 rows x 2 plots)
• 11 = 6 plots (3 rows x 2 plots)
• 12 = 6 plots (2 rows x 3 plots)
Xlabel The X axis label for User choice
each plot.
3 Range The range for the X User can specify a Low and High value or
axis specify auto for automatic scaling.
Advanced Adams/Chassis 269
Custom PostProcessing

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.

HEADER AND LEGEND

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.

Standard Plot Template .aft File


The complete process for standard plots is:

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

Learn more about Plot .aft.

To create a personal .aft file for Front Ride Motion Plotting:


1. Copy the standard plotting template to your working directory:
'install_dir'/achassis/post/plot/SI/f_ridemot_tab.aft
2. Open the .aft file and look for the following line:
1 "<- Toe Out (deg) Toe In ->" auto "<- Rebound LF Wheel Travel (mm) Jounce ->" auto
3. Change that line to:
1 "Toe (deg)" -1 1 "LF Wheel Travel (mm)" -100 100
Here you are changing the standard axis auto scaling to axis limits of +/- 1 deg Toe, +/- 100 mm
wheel travel.
4. Make other changes if you want, and then close the .aft file.
5. In Review mode, select Use personal files.
6. Select Execute Selected Plots.
You should now see your personalized changes.
We recommended that you place this plot template file (.aft) in your working directory. By doing this,
whenever you plot this event and select Use Personal files, Adams/Chassis plots it using your customized
plot template file.
Learn more about AFM Utility.

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

To use custom reports:


1. Copy these Perl templates to your local directory.
2. Using a text editor, customize these reports.
3. In Review mode, select Use Personal Files.
274 Adams/Chassis
About Custom Events

About Custom Events


In Adams/Chassis, you can create custom events or create a new class of events. To understand how
custom events are created, you must first understand how standard events work.

Understanding Standard Events


Adams/Chassis events are object oriented in nature using Python classes. This scheme is very different
from previous versions of Adams/Chassis and is one of the major architectural improvements. This
restructuring of the events provides a very powerful tool for customizing and creating new events within
the Adams/Chassis framework.
The general concept behind object-oriented programming is the ability to derive objects, in this case
events, and inherit the attributes and methods from its base class. Once a new object is derived from its
base class, you only need to define the attributes or methods that are unique to the new object. For
example, if the base class had the vehicle velocity attribute defined, a new event object derived from that
base class would not need to redefine vehicle velocity. It would automatically inherit that attribute.
All of the standard events in Adams/Chassis have been defined by using a hierarchy of event classes.

Swept Steer Example


The following is an outline and explanation of how a typical event works in Adams/Chassis. This
example uses the swept steer event. The first section focuses on the programming methods of the event
and the second part focuses on how you use the event in the Adams/Chassis interface.
Each unique event has an associated Python file that contains the specific event definition. In this case,
that file is called swept_steer.py and is located in the pre_py/events/full_vehicle/handling directory of the
installation.
Below is the swept_steer.py file annotated with additional comments:
This is the header section of the file containing the necessary Python module information.
#!/usr/bin/env python
from math import *
from types import *
from mdi.afc.afckernel import Enum, Class
import chassis_event
import dcf
from grid import RoadGraphicsGridProperties

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.

Creating a Custom Event Class


The process of creating custom events involves deriving an event from a standard Adams/Chassis event,
or creating an entirely new class. When deriving from a standard Adams/Chassis event, you only need to
code the methods you want to behave differently than the base class. This is by far the easiest way to
create a custom event and is recommended when first learning the process.
To create an entirely new event class (must be derived from the ChassisEvent class), you need to define
all the required methods. The required methods include:
• register
Advanced Adams/Chassis 279
About Custom Events

• __init__
• setSIDefaults
• setEnglishDefaults
• setGlobals
• instructSolver

The methods reportTemplate and plotTemplate are optional depending on the postprocessing needs of the
event.

Implementing a Custom Event


The easiest way to create a custom event is to start with an existing standard event and modify the code
as necessary. When you choose an event as a starting point for a custom event, it is best to match the event
type. For example, if you want to create a Standard Driver controller-based event, be sure to pick an event
that was derived from the SDIEvent class, such as Step Steer, and if you are creating a front exerciser
event, choose an event like Ride Motion, which is derived from the FrontExerciserEvent class.
Once you have found a suitable event, copy the event Python file to a directory named custom_events in
your local working area. For example, copy /pre_py/events/full_vehicle/handling/step_steer.py to
~/custom_events.
Once you have a local copy of the Python file, you can now start to modify it to suit your needs. You
should rename the local file to something other than the original name, for example, my_step_steer.py
and you must modify the class name inside the file to something new, such as MyStepSteer.
Here is an example of what the top of my_step_steer.py should look like if you are deriving a new event
from the base StepSteer class:
#!/usr/bin/env python
from afm import *
from math import *
import acf_align

import sys
from types import FloatType,IntType, StringType
from mdi.afc.afckernel import Enum, Class
import chassis_event
import dcff
rom grid import RoadGraphicsGridProperties

from mdi.afc.chassis import StepSteer


from event_gui_info import EventGuiInfo

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

Complex units definitions are also allowed. For example:


“force/length**3”, “meter**2”, and so on.
The setSIDefaults and setEnglishDefaults methods are used to set the default values for your custom
event.
Here is an example:
def setSIDefaults(self):
self.myVelocity (110.5)
self.myLateralAcceleration (0.15)
self.mySteerAngle (60.0) def setEnglishDefaults(self):
self.myVelocity (65.0)
self.myLateralAcceleration (0.25)
self.mySteerAngle (60.0)
You can also change the default values of the base class members in this fashion as well.
Advanced Adams/Chassis 281
About Custom Events

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

guiInfo.addTableItem ("My Steer Angle",


"mySteerAngle")
guiInfo.addTableItem ("My String Field",
"myStringField")
guiInfo.editorFile ("my_step_steer_editor.txt")
guiInfo.shortName ("txt_step")
guiInfo.niceName ("Text File Based Step Steer") return
guiInfo
guiInfo = classmethod (guiInfo)
Notice that the editorFile is pointing to the file “my_step_steer_editor.txt”. This is the file that defines
the links between the GUI objects and the registered members.
Here is the complete “my_step_steer_editor.txt” sample file:
Number_of_input_fields: 999

LABEL
myVelocity My Vehicle velocity
myLateralAcceleration My Lateral Acceleration
mySteerAngle My Steer Angle

Number_of_string_fields: 999

Text LABEL Find Filter


myStringField "Sample String Field (.txt)" .txt

Number_of_radio_options: 999
Radio_label: "My Radio Button"

Text LABEL Field toggle String toggle


1=on/0=off 1=on/0=off
r_opt_1 "My Radio Option 1" 1 1 1 1
r_opt_2 "My Radio Option 2" 1 0 1 0
r_opt_3 "My Radio Option 3" 0 0 1 1

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.

Using a Custom Event


When using a custom event in Adams/Chassis, you must set the location of the custom_events directory
in the Preferences panel. You can also specify options to search the current working directory, the home
directory, and specific locations.
Once you specify the custom_events directory, select Reload Custom Events from the Edit menu (in Test
Mode) at the top of the main window. Note that if there are any events in use that have the same class
name as in the refreshed custom events, Adams/Chassis will warn you that it must delete those events
before continuing.
Once loaded, a custom_events branch appears in the bookshelf in Test Mode with the other standard
events. Custom events now behave just like standard events. Double-click a custom event to add it to
your current event or use the right-click options on the bookshelf.
The custom_events directory can contain multiple directories. These directories appear in the bookshelf
as a tree structure. Also, multiple event classes can be contained in a single Python file. The interface will
traverse the entire structure under custom_events and display all the valid Adams/Chassis event classes
it finds.
284 Adams/Chassis
About Custom Events

Response Catalogue for Custom Events


The method aInsightResponseCatalogue in chassis_event.py file, specifies the name of the list
file (.csv) which contains the response candidates. Adams/Chassis, by default, looks for the csv file,
which has the same prefix as the report template. Adams/Chassis first searches the $HOME directory and
then the installation area. If a csv file is placed in the $HOME/.msca/achassis/ain/responses/SI (and/or
English) then Adams/Insight will auotmatically pickup the response candidates to be populated from this
file.
Response catalogues for Adams/Chassis could be either in .csv or .xml format. It is recommened to use
.xml format. If you have an experiment already setup, you could export the responses in xml format using
Adams/Insight.
Advanced Adams/Chassis 285
Custom Solver Library

Custom Solver Library

User-written External Solver Subroutines with Adams/Chassis


Customized Code
Adams/Chassis allows you to develop your own solver routines and link them with the customized object
file. The following chart illustrates how the files work together to create a customized solver routine.

Subroutine List File Base Adams/Chassiss Solver


Routines
.1st
.o Custom Adams/Chassis
Solver LIbrary
FORTRAN
file(s) .f .so (UNIX)
(UNIX) OR
Object achassis -buildcust
File(s)
(Windows)
.ojb .dll (Windows

Guidelines for Customizing:


1. The name of the subroutine should have the first three characters as the name of the main routine
followed by the branch id of the routine. For example, if you want to write a GFOSUB, then the
name of the routines should be gfo100.f, where gfo stands for GFOSUB and 100 defines the
branch id. If you want to name the routine other than the standard provided here, then gfo100.f
can be stub routine that inturn calls the actual subroutine.
2. Users should use a branch id less than 900.
3. Create a file with extension .lst and list all the subroutine routines that should be linked in this file.
4. Invoke achassis -buildcust (enter list file name).
5. When creating FORTRAN subroutines, users need to make sure that the FORTRAN common
blocks donot conflict with the ones used in Adams/Solver or Adams/Chassis solver. It is
recommended that the users name their common blocks with a prefix user to avoid such conflicts.
286 Adams/Chassis
Custom Solver Library

Building Custom Adams/Chassis Solver Library


To build on Windows:

Note: You must pre-compile the subroutines and generate the object files before you build the
custom solver executable.

1. Do one of the following:


• If you have FORTRAN source code, use the following command to generate the object
files:
df /c /architecture:p6 /Ob2 /MD xxx.f
• If you have C source code, use the following command to generate the object files:
cl /c /G6 /Ox /MD xxx.c
2. Once you create the object files (pre-compile), then you use the following command to generate
the custom Adams/Chassis solver library.
achassis -buildcust @sub_list.lst

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

Example .lst file for UNIX


req010.f
gfo150.f
con029.f

Example .lst file for Windows


req010.obj
gfo150.obj
con029.obj
For a detailed explanation of Adams User-Written Subroutines such as CONSUB and COUSUB, COUXX,
COUXX2, refer to the online help for Adams/Solver Subroutines.
Advanced Adams/Chassis 287
Custom Solver Library

To link a user supplied tire model in TYDEX format:


• The routine name should be id.f, where id is the branch id of the routine.
• The tire property file should in TIEM ORBIT format.
• The 'PROPERTY_FILE_FORMAT' in the section [MODEL] in tire property file should be
replaced with 'USER_SUB_ID = branch id'.
To create a custom solver with a mix of C and FORTRAN routines, see Building Custom Executables with
C routines.
288 Adams/Chassis
Build Process for Routines Written in C

Build Process for Routines Written in C


Often users have functions written in C that they like to interface with Adams/Chassis solver. Since
Adams/Chassis solver is FORTRAN based, the users will have to write a wrapper routine in FORTRAN
that interfaces the user written C routines to Adams/Chassis solver. Following is an example showing
how such an interface can be developed for SGI and NT platforms.

Calling C from FORTRAN

Interface Routine
subroutine req002(id,
time, par, npar, iflag, result) id, npar
logical
iflag

double precision par(*),result(8), time


C--- call C function reqsub_f2c
call reqsub_f2c(id, time, par, npar,
iflag, result)
.....
.....
.....
return
end

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

Calling FORTRAN from 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 SGI


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, &id, endflg, mesage_len, endflg_len);
}

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

#if (defined port2hp700)||(defined port2ibmrs)||(defined port2vax)


/** Start User statements **/
#define REQSUB_F2C reqsub_f2c
/** End User statements **/
Advanced Adams/Chassis 291
Build Process for Routines Written in 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

Solver User Subroutines Written in C


The interface for Solver USERSUBS, both the F77 and Cxx Solvers, is defined as a FORTRAN
subroutine interface. Writing C language routines that appear as FORTRAN subroutines is not difficult
provided you follow a few rules. The rules are both general and platform specific. There are two C header
files and a set of C callable functions designed to make programming in C easier.

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

NT Irix, Sun HP, IBMRS Cray


Function Void __stndcall Void Void Void
definitions
Global Symbol Uppercase Lowercase with Lowercase Uppercase
Naming USERSUB "_" USERSUB
USERSUB_ USERSUB
Character The value of the The value of the The value of the Ugliest; string and
String handling length follows length added to end length added to end string length are
directly after string of argument list of argument list wrapped in
_cptofcd() system
Void __stndcall Void test (strng, Void test( strng, function
test(strng, slen, Dum, slen) Dum, slen)
Dum) Void
test(_ctofcd(strng,
slen), Dum)
Advanced Adams/Chassis 293
Solver User Subroutines Written in C

To write sunbroutines in C:
1. Define your system and add include files:
#define port2sgi
#include userPortName.h
#include utilCcallable.h

2. Declare your USERSUB in uppercase as a VOID_FUNCTION:


VOID_FUNCTION VARSUB( ........ )

3. Use the C Solver utility functions:


c_sysary (a,markers,3,datinf,&ns,&errflg);
c_errmes(errflg, "Problem with a call to c_info/0", *id, "STOP/0");

4. Compile outside of MDI script.


cc -c -O2 -32 -mips2 -Dport2sgi test.c

Link object files.

mdadams2010 -c cr-u n test.o -n test.exe ex


294 Adams/Chassis
Solver User Subroutines Written in C

Define your system

Platform Variable to define Compile flag


Sun #define port2sun -Dport2sun
HP #define port2hp700 -Dport2hp700
Cray #define prort2cray -Dport2cray
NT #define port2pcnt -Dport2pcnt
IBM-RS #define port2ibmrs -Dport2ibmrs

USERSUB Header file:

#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.

Adams Standard C Utility Functions


#include utilCcallable.h
To make calling Solver functions more convenient from C the documented Solver utility routines now
have C equivalent functions. The naming of the new functions is the lowercase utility name with c_ added
in front, for example sysfnc has the C function c_sysfnc. The table below lists these functions with their
C calling sequence. Note that only returned arguments are passed by reference. Other arguments, such as
nsize in c_sysfnc( char *fncnam, int *ipar, int nsize, double *states, int *errflg); are passed by value. To
use the new utilities include utilCcallable.h. (See adams10/solver/samples/utilCcallable.h.) Using
these C functions greatly simplifies interfacing Solver from C.
Advanced Adams/Chassis 295
Solver User Subroutines Written in C

Solver Utility Routines

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

Platform Compile Command


HPUX10 c89 -c +O1 -Dhpux +E1 +E4 +DA1.1 +DS2.0 -Dport2hp700
HPUX11 c89 -c +DA1.1 +DS2.0 +Z +e -D__STDC__ -Dport2hp700
Irix32 cc -c -O2 -32 -mips2 -Dport2sgi
Irix64 cc -c -O2 -show -mp -G 0 -n32 -mips4 -TENV:X=1 -Dport2sgi
IBM-RS xlc -c -O -qarch=com -qxflag=useabs -Dport2ibmrs
Solaris cc -c -xO3 -Xc -xlibmil -D__STDC__ -dalign -Dport2sun
Ultra cc -c -xO4 -Xc -xlibmil -D__STDC__ -dalign -fsimple=1 -xtarget=ultra /

-xarch=v8plus -xsafe=mem -Dport2sun


pcnt cl /c /G6 /Ox /MD -Dport2pcnt
Advanced Adams/Chassis 297
Adams/Chassis Solver Routines

Adams/Chassis Solver Routines


The Solver routines are divided into the following categories:

• Control subroutines • Motion subroutines


• Coupler subroutines • Request subroutines
• Differential Equation subroutines • Sforce subroutines
• Field Element subroutines • SIMULATE/STATIC Routines
• Gforce subroutines • Variable subroutines
• Vtorque subroutines

Learn about nonlinear couplers.

User Control Subroutines

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)

User Coupler Subroutines


The custom FORTRAN subroutines includes the ability to model nonlinear couplers. Currently the
options available are:

ID Description
cou1110 Rotational to Translational Couplers using Splines
cou1120 Rotational to Rotational Couplers

User Differential Equation Subroutines

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

User Field Element Subroutines

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.

User Gforce Subroutines

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

User Motion Subroutines

ID Description
mot1110 Application of Random Steer Input
mot1120 Reading motion time history data from file. See Motion Time History Trace Routine.

User SIMULATE/STATIC Routines


Full vehicle Adams modelers would frequently run into the problem of initial conditions when running
drift or tire wear studies. To increase the accuracy of these simulations, MSC.Software wrote an alternate
SIM/STAT routine in a user CONSUB. This routine keeps the vehicle from moving in the ground plane
and eliminates the initial transients that occur when going from Adams static analysis to dynamic. The
CONSUB was further refined to have more modes of operation. The main four modes of operation are :
1. Fixed Body Equilibrium - vehicle is assumed to be not moving. This is required for suspension
alignments. Only the tire vertical forces are present.
2. Steady-State Straight Line Equilibrium - vehicle is assumed to be traveling at the part
velocities while steering is adjusted to zero lateral force at JPRIM body marker. This mode is used
to start all simulations where the vehicle is moving forward at a non zero speed.
3. Stead-State Straight Line Acceleration Braking Equilibrium - vehicle is assumed to be
traveling at the part velocities while accelerating or decelerating at a user specified g level.
4. Steady-State Cornering Equilibrium - the simulation starts at a specified value of lateral
acceleration, as issued by the control statement. The lateral acceleration is increased at each time
step until the maximum desired level is reached, the maximum engine power is reached, or the
simulation fails (i.e. vehicle spin out).
All the modes are discussed in detail below. It is mandatory for modelers to use this CONSUB instead of
the Adams SIM/STAT whenever the model contains tires. This will mean almost all full-vehicle
simulations, with the exception of events that have special test rigs, such as 4 post. Adams/Chassis
creates JPRIMs which are automatically removed by the CONSUBs. The additional Adams statements
required to use the CONSUB are described elsewhere.
• Ground Marker Height Adjustment
• Fixed Body Equilibrium
• Static Steady-State Straight Line Equilibrium
• Static Steady-State Straight Line Acceleration/Braking Equilibrium
• Quasi-Static Steady-State Straight Line Acceleration/Braking Equilibrium
• Static Steady-State Cornering Equilibrium
• Quasi-Static Steady-State Cornering Equilibrium
• Quasi-Static Steady-State Swept Steer Equilibrium
• Statements Required in the Adams Dataset
300 Adams/Chassis
Adams/Chassis Solver Routines

User Sforce Subroutines

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)

User Variable Subroutines

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

User Vtorque Subroutines

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

Rotational to Translational Couplers using Splines


Transmits motion from a revolute joint to a translational joint. Following statement must be used to
invoke this feature.
COUPLER/id, JOINTS = joi1,joi2, FUNC = USER(brflg,spltype,splid,scale)
where:
id = coupler id.
joi1 = revolute joint of the coupler
joi2 = translational joint of the coupler
brflg = branch flag. should be <=10
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.

Rotational to Rotational Couplers


Transmits motion between 2 revolute joints. Following statement must be used to invoke this feature.
COUPLER/id, JOINTS = joi1,joi2, FUNC = USER(brflg,spltype,splid,scale)
where:
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
brflg = branch flag. should be > 10 and <= 20
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.
302 Adams/Chassis
Adams/Chassis Solver Routines

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

Introduction to Build Mode

Products: Adams/Chassis
Features: Introduce the new Build Mode in Adams/Chassis
Files: None
Notes:

Steps for Running Examples


Exercise 1
This exercise explores the Build mode.

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

Adams/Chassis indicates the change to the subsystem by making achassis_gs_rear_suspension


bold in the treeview.
16. Explore the Build mode by selecting different components in the treeview to see the
corresponding behavior of the subsystem property editor.

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

Introduction to Test Mode

Products: Adams/Chassis
Features: Introduce the new Test mode in Adams/Chassis

Steps for Running Examples


Exercise 1
This exercise demonstrates how to build and run events in the Test mode.

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.

The property editor displays the SweptSteer event.


5. In the bookshelf, double-click Double Lane Change. The event, achassis_gs_full_sys_dlane, is
added to fingerprint_1. The model currently selected (achassis_gs) will automatically be used.
6. Use the bookshelf to add events Straight Line Acceleration and Straight Line Deceleration to
fingerprint_1.
7. In the fingerprint tree, select fingerprint_1 to see events table in the property editor.
8. In the fingerprint tree, select events achassis_gs_full_sys_swpt and achassis_gs_full_sys_dlane.
9. From the toolbar, select to build and run the selected events.
The command window appears to show build and run outputs.
10. Wait until the build and run is completed. Close the command window to return to
Adams/Chassis.

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

2. Select Copy Selected Fingerprint from the shortcut menu.


Adams/Chassis adds a new fingerprint, fingerprint_1_copy, with same events as that of
fingerprint_1.
3. Right-click fingerprint_1_copy.
4. From the shortcut menu, select Change Fingerprint units to English. The table in the property
editor performs the conversion and shows the converted values.
5. Right-click fingerprint_1_copy to convert the values back to SI units.
6. Right-click fingerprint_1_copy and from the shortcut menu select Replace Model for Full
Vehicles events.
7. In the Select File window that appears, select Example Vehicles, double-click bcar.vdb, double-
click systems.tbl, select bcar_full_sys.xml and then select Open.
8. The fingerprint_1_copy now has events with the prefix bcar.
308 Adams/Chassis
Introduction to Review Mode

Introduction to Review Mode

Products: Adams/Chassis
Features: Introduce the new Review Mode in Adams/Chassis
Files: none
Notes:

Steps for Running Examples


Exercise 1
This exercise demonstrates the Review mode.

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.

Method 1: From Event to File


1. In the bookshelf, expand Full Vehicle, and then expand Handling Analyses.
2. Double-click Standard Driver Interface.
3. In the Select File window, select a request file (.req) and then select Open.Adams/Chassis adds a
custom postprocessing event to the fingerprint tree.

Method 2: From File to Event


1. Select from the toolbar.
2. In the Select File window, select a request file (.req) and then select Open.
Examples 309
Introduction to Review Mode

The Select an event class window appears.


3. Expand Full Vehicle, expand Handling Analyses, select StandardDriverInterface, and then
select OK.
Adams/Chassis adds a custom postprocessing event to the fingerprint tree.
310 Adams/Chassis
Bushings in Series

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

Nominal Bushing General - Specifies the property file for bushing.


Scale factor/Preload Offset Allows you to specify stiffness/damping scaling and preloads in all
directions.
Property File Allows you to select shape and force formulations.
I Part Compliance Allows you to specify property file, orientation, shape, and
formulation for the bushing at the I part.
J Part Compliance Allows you to specify property file, orientation, shape, and
formulation for the bushing at the J part.

Steps for Running Example


Run two sets of front suspension compliance simulation with and without bushings in series at front
lower control arm and compare the results.
1. Open Adams/Chassis.
2. Open the front suspension configuration file (achassis_gs_front_sys.xml) from Example
Vehicles.
Hint: Example Vehicles -> achassis_gs.vdb -> systems.tbl -> achassis_gs_front_sys.xml
3. Turn on bushing force and displacement requests:
Examples 311
Bushings in Series

a. In the treeview, select achassis_gs_front_sys.


b. In the property editor, select the Properties tab.
c. Expand system_parameters, expand optional_requests, and then select bushing_force.
d. Change the value from 0 to 1.
e. Expand system_parameters, expand optional_requests, and then select
bushing_displacement.
f. Change the value from 0 to 1.
g. Select Apply.
4. Run a Front Compliance Event:
a. Select the event.
b. In the Test mode, expand Suspension and double-click Front Compliance.
d. Select the front compliance event and then select Build and Run Selected Events.
5. Add a bushing to the front suspension lower control arm connectors:
a. Select Build mode.
b. Select the front lower control arm connector:
• Expand achassis_gs_front_sys, expand Connectors, expand
achassis_gs_front_suspension, and then select lca_front.
c. In the General tab, select Bushings In Series.
d. Select the I Part Compliance tab.
e. Select property file for bushing:
• Select the Import button from the Property Editor.
• Select mdids://achassis_gs/ from Registered databases, and then select
achassis_gs_front_suspension_lca_front_bus.xml.
f. Save achassis_gs_front_sys.xml with a different name in the working directory.
g. Update reference to the new file.
6. Run a Front Compliance Event with the updated file:
a. Select the event.
b. Add event to current fingerprint.
c. Build and run the selected events.
7. Compare the two sets of simulation results:
a. Select Review mode.
b. Select Overlay plots of same event.
c. Select events from fingerprint.
d.Select Execute Selected Plots to view the plots.
312 Adams/Chassis
Spherical Joint Friction

Spherical Joint Friction

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.

Static Mu Coefficient of static friction in the joint.


Dynamic Mu Coefficient of dynamic friction in the joint.
Stiction Velocity threshold for transition from dynamic to static friction.
Transition
Velocity
Maximum Maximum joint displacement in stiction regime.
Stiction
Deformation
Friction Torque Preload friction torque in the joint.
Preload
Ball Radius Radius of the ball in the joint used for force and torque calculation.
Inactive Specify one of the following:

• Static - Friction force/torque is calculated during static or quasistatic


analysis.
• None - Friction force/torque is not be calculated during static analysis.
Examples 313
Spherical Joint Friction

Effect Specify one of the following:

• 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 Specify one of the following:

• 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.

Steps for Running Examples


You will run two sets of Low Speed Parking Effort simulations with and without joint friction at the lower
control arm spherical joint and compare the steering effort results.
1. Open Adams/Chassis.
2. Open the full-vehicle configuration file (achassis_gs_full_sys.xml) from Example Vehicles.
Hint: Example Vehicles -> achassis_gs.vdb -> systems.tbl -> achassis_gs_full_sys.xml
3. Run a Parking Effort event:
a. Select Event using Test mode->Full Vehicle->Handling Analyses->ParkingEffort
b. Add to new Fingerprint.
c. Rename event as achassis_gs_park_orig.
d. Select Low Velocity option.
e. Build and Run Selected Events.
4. Add friction to front suspension lower spherical joints:
a. Select Build mode.
b. Select front lower control arm connector.
i. achassis_gs_full_sys -> achassis_gs_front_suspension -> Connectors-> lower_ball_joint
ii Select the Import button from the property editor.
iii. Select sphericalJoint.xml from mdids://shared_chassis_database.vdb/bushings.tbl in
Property File text box.
iv. Select the Use Friction toggle button.
c. Save achassis_gs_front suspension.xml as achassis_gs_front_suspension_friction.xml.
d. Update references to achassis_gs_front_suspension_friction.xml.
314 Adams/Chassis
Spherical Joint Friction

5. Run a Parking effort event with the updated files


a. Select Event using Test mode -> Full Vehicle -> Handling Analyses -> ParkingEffort
b. Add to Current Fingerprint.
c. Rename event as achassis_gs_park_friction.
d. Select Low Velocity.
e. Build and Run Selected Events.
6. Now compare the two sets of simulation results:
a. Select Review mode.
b. Select Overlay plots of same event.
c. Select events from fingerprint.
d. Select Execute selected plots.
Examples 315
Using Adams/Solver (C++) with Adams/Chassis

Using Adams/Solver (C++) with Adams/Chassis

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.

And you can set the Solver preference in different ways:


In session by picking Edit -> Preference -> Solver Preference
In your Adams/Solver command file by adding the command:
316 Adams/Chassis
Using Adams/Solver (C++) with Adams/Chassis

PREFERENCES/SOLVER=CXX
PREFERENCES/SOLVER=F77

Steps for Running Examples


Exercise 1: Setting Solver Preference In Adams/Chassis
You will set the Solver preference and run two full vehicle swept-steer analyses: one using the
Adams/Solver (FORTRAN) and the other using the Adams/Solver (C++).
1. Open Adams/Chassis.
2. Open full vehicle configuration file (achassis_gs_full_sys.xml) from Example Vehicles.
a. Example Vehicles achassis_gs.vdb  systems.tbl  achassis_gs_full_sys.xml
3. Set the Solver preference to C++ and save.
4. Run a swept-steer event
a. Open Event
i. Test mode  Full Vehicle  Handling Analyses
ii. Double-click Swept Steer.
b. Select Build and Run the selected events.
5. Reset the Solver preference to FORTRAN and save.
6. Select Event
a. Test mode Full Vehicle Handling Analyses Swept Steer
b. Add to current Fingerprint
c. Select Build and Run Selected Events.
7. Compare the two sets of simulation results.
a. Select Review Mode.
b. Select Overlay plots of same event.
c. Select events from fingerprint.
d. Select Execute selected plots.

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

Dialog Box - F1 Help


2 Adams/Chassis
Database Utilities Window

Database Utilities Window


Allows you to manage Databases. Learn more about Database Utilities.
To access database utilities:
• In any mode, from the Utilities menu, select Database Utilities.

For the option: Do the following:


The following options are available if you select the Copy Database tab.
Database To Copy (.vdb) Use the Find tool to select the directory you want to
copy.
Copy Database to Working Directory Select to copy the selected database to your working
directory.
The following options are available if you select the Publish Database tab.
Vehicle Configuration File (.xml) Enter the name of the vehicle configuration file you
want to use or use the Find tool to select it.
Destination Database (.vdb) Browse for a destination database or enter a new database,
such as newdb.vdb.
Overwrite Files (Optional) Select to overwrite existing files.
The following options are available if you select the Create New Database tab.
Create New Database (.vdb) Enter a name for a new database, such as newdb.vdb. You
can use the Find tool to select a directory for your new
database.
The following options are available if you select the Copy and Rename Database tab.
Source Database (.vdb) Use the Find tool to select the directory you want to
copy.
Destination Database (.vdb) Do one of the following:

• Use the Find tool to select the location for the


copied database.
• Enter the name of the destination database.
Old Registered Database Name Automatically displays the old registered database name
(mdids://) when you select the source database.
Dialog Box - F1 Help 3
Database Utilities Window

For the option: Do the following:


New Registered Database Name If you used the Find tool to select the destination database,
(mdids://) the new registered database name is automatically selected.

If you manually entered the name of the destination


database, select Copy and Rename Database to use the
default name, which is based on the name of the destination
database.
Note: Using the Copy and Rename Database process overwrites the existing destination database.
Adams/Chassis displays a warning message if the destination database already exists.
If you want to copy and rename multiple registered databases, we recommend that you iteratively copy
the vehicle database, changing one registered database at a time.
4 Adams/Chassis
Durability Load Correlation Postprocessing

Durability Load Correlation Postprocessing


This utility allows you to visually compare analytical and test data for various durability events.

To use durability load correlation postprocessing:


1. In Review mode, from the Review menu, select Durability Load Correlation.
Dialog Box - F1 Help 5
Durability Load Correlation Postprocessing

2. Complete the Durability Load Correlation Post Processing dialog box as described next.

For the option: Do the following:


Post Processing File Name Displays the name of the file that stores the dialog box settings for
future use. The default file name is achassis_defaultDLCPP.xml. If
Adams/Chassis finds this file in the working directory, it will be
loaded when you launch Durability Load Correlation Post Processing.

Use the Load button to use a previously saved file.


Analytical Data Specify the analytical data file which can be either an Adams request
file (.req), or RPC test data (.rsp).

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

For the option: Do the following:


Edit List Displays the Edit Plot List dialog box. You can use this feature to
manually edit existing plot attributes.
Generate Post Processor From Select to create the required dlcpp_tab.aft file in the working directory.
Plot List This also creates an instance of the Durability_Load_Correlation
postprocessing event in the Custom Postprocessing section of the
Review mode tree, if it didn’t already exist.

3. Select one of the following:


• Save – Saves your changes to the existing file.
• Save As – Saves the files with a different name.
• Cancel – Closes the dialog box.
4. Return to Review mode.
5. In the treeview, select Durabilty_Load_Correlation.
6. Select the Execute Selected Plots button in the toolbar.

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

Dynamic Loadcase Fingerprint Generator


Test -> 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.

For the option: Do the following:


Model Specify the system file for front, rear, or full-vehicle model.
ADD RPC Files Select to browse for single or multiple RPC files. The fingerprint
contains individual events for each RPC file specified.
Remove Selected RPC Files Select to remove an RPC file from the selected list.
Fingerprint Name Specify the name of the fingerprint.
Generate Fingerprint Select to generate the specified fingerprint with the individual events
for each RPC file specified.

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

Load Case Data File Editor


Allows you to edit the static loadcase input file using a graphical interface.
The load case data file editor has three tabs:
• Header - Here you can put in revision notes or additional comments.
• Parameters
• Static Loadcase Properties

Parameters

For the option: Do the following:


Name Displays the name of various vehicle parameters.
Comment Gives a brief description of the parameter.
Treeview Allows dynamic selection and display of the vehicle parameters.
Parameters table Displays the values for various vehicle parameters such as GVW and CG height.

You can edit these values.

Static Loadcase Properties


This contains two tabs: Front and Rear. The tabs display the individual loading conditions for the front
and rear suspensions.

For the option: Do the following:


Name Displays the name of the individual loading condition.
Active Use the pull-down menu to select:

• Yes - Includes the condition in the model


• No - Excludes the condition from the model
Type Select either g_loads or analytical_g_loads depending on the loadcase you want.
Dialog Box - F1 Help 9
Preferences

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.

Notes: • Do not use spaces in your directory path or file names.


• The current working directory and temporary file directory must be valid/existing
directories and you must have read/write permissions to these directories.
• The character limit for directory paths is controlled by your operating platform.

To set preferences:
• From the Edit menu, select Preferences.
10 Adams/Chassis
Preferences

For the option: Do the following:


Current Working Directory Use the Find tool to select a directory where all Adams/Chassis output
files are to be created. The default is the directory from which you
started Adams/Chassis.
Shell Startup Command A command to launch a new window or shell for displaying messages
or launching programs.

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.

Note: If you are using an alternate (third-party) text editor, enter


the path to the executable of your text editor in quotation
marks. For example, if you are using Crimson Editor, enter
"C:/Program Files/Crimson Editor/cedt.exe".
Web Browser Defaults to the browser set by your Adams/Chassis installation. You
can change this option to the browser of your choice.
(UNIX only)
Graphical Difference Enter a command to launch the graphical differencing tool that allows
Command you to compare two ASCII files.

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

For the option: Do the following:


Temporary Files Directory Use the Find tool to select the directory where scratch files will be
written. The directory must already exist and have no spaces in its
path.
Matlab Command Specify the location of the MATLAB executable.
Personal .py File Options Choose one of the following locations for Adams/Chassis to look for
customized files:

• Search Current Directory and $Home - Select to search


your current and home directories for customized files.
• Search Specified Path - Select to search a path you choose.

allows you to select a directory to search for personal .py


files.
Custom Event Options Choose one of the following locations where optional custom events
are found:

• Search Current Directory and $Home - Select to search


your current and home directories for optional custom events.
• Search Specified Path - Select to search a path you choose.

allows you to select a directory to search for optional


custom events.
Solver Command Enter a command to use Adams/Solver libraries, and create a path to
custom Adams/Solver libraries:

• Default - Select to use the standard Adams/Chassis Solver


executable that is distributed with the installation. Unless you
need to run your own custom executable, you should always
use the Default setting.
• Other - Select if you have created your own solver
subroutines and have created your own custom
Adams/Chassis solver executable. The command to include is
achassis –custadams <path to custom executable>.
Animation Tool Select a program to use to view animated results:

• PPT - Uses Adams/PostProcessor to view animations.


• Other - Allows you to specify a different animation tool that
reads Adams Graphics files (.gra). You can specify the path to
that executable, and Adams/Chassis launches the animations
from the Review Mode in the specified application.
12 Adams/Chassis
Preferences

For the option: Do the following:


Solver Preference Select which version of Adams/Solver to use:

• None - Adams/Chassis selects the solver that is best suited for


individual events. For this version of Adams/Chassis, this
remains the Adams/Solver (FORTRAN) for all events.
• C++ - Forces Adams/Chassis to use the Adams/Solver (C++)
for all events. Learn more about using Adams/Solver (C++) in
Adams/Chassis.
See an example of Using Adams/Solver (C++) with
Adams/Chassis.
• FORTRAN - Forces Adams/Chassis to use the Adams/Solver
(FORTRAN) for all events.
Thread Count Available for Adams/Solver (C++)

Specify the number of parallel threads that Adams/Solver (C++) uses


when performing the simulation. The number of threads, n, must be an
integer in the range of 1 to 8. The default value is 1. By executing
multiple threads in parallel across multiple processors, Adams/Solver
(C++) can reduce the walltime required for a simulation.

Typically, the optimal number of threads is between N and 2N, where


N is the number of processors (including virtual processors in the case
of Pentium processors with HyperThreading enabled).

Learn more about Threaded (Parallel) Operation of


Adams/Solver(C++).
Plotting Tool Choose the program used to view plotted results:

• PPT - Uses Adams/PostProcessor to view plotted results.


• Other - Uses a different plotting tool that reads Adams/Solver
Request files (.req).
Use Advanced Human Select to replace each generic block-shaped occupant graphic that is
Graphics active in the Occupants subsystem with outline graphics of humans.

Adams/Chassis adds outline graphics code to the dataset (.adm) file. If


you have more than one occupant active in your model, you may
notice a slight performance penalty loading and animating your
simulation. We recommend that for general animation purposes you
use the generic occupant graphics.
Dialog Box - F1 Help 13
Preferences

For the option: Do the following:


Create Backup Files Select to create backup copies of changes to your system, subsystem,
and component files.

Adams/Chassis creates backup copies in the appropriate directories.


For example, if you have this option selected and you make changes
in the system file, if you select Save, the original system file is backed
up to the systems.tbl directory in your vehicle database. Similarly,
backup files for subsystems are created in the subsystems.tbl and so
on.

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)

All About SVC (Static Vehicle Characteristics)


Creating the SVC Dataset
In order to analyze a vehicle or half-suspension model with SVC, an Adams dataset must be created. This
model must include certain statements necessary for SVC. SVC is designed to work with Adams vehicle
models that have been developed for general use, such as transient handling simulations. It does,
however, require that the user follow a few modeling guidelines and add some SVC-specific data to your
dataset.

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.

SVC Data in the Data Set


SVC requires certain data about the vehicle's suspension. The user must pass this data to SVC via
ARRAY and STRING statements in the dataset. Below is a description of the ARRAY and STRING
statements used. Not all the statements are required, some statements have defaults, and other statements
are not needed for some of the analysis options.
ARRAY statements 9901-9906 contain data for computing a vehicle mass properties. These statements
are only required for the full-vehicle analysis, since the half-vehicle analysis option does not compute
overall vehicle mass properties.
ARRAY/9901, NUM=id_1, id_2, id_3, ..... id_n Front suspension part
identifiers.
ARRAY/9902 NUM=ps_1, ps_2,ps_3, .....ps_n % sprung for each part
above
ARRAY/9903 rear suspension part IDs
ARRAY/9904 % sprung for each part ARRAY/9903
ARRAY/9905 body part IDs
ARRAY/9906 % sprung for each part in ARRAY/9905
Each part referenced must have non-zero mass and inertia. Further, each part must have a corresponding
percent sprung value between 0 and 100.
ARRAY statement 9907 identifies MARKER statements that describe the front suspension geometry.
ARRAY/9907 is not required for a rear suspension half-vehicle analysis.
ARRAY/9907, NUM= idwcfl, idwcfr, idksil, idksir, id-flspsu, id-flspby
, idfrspsu, id-frspby, id-flsksu, id-flskby, id-frsksu, id-frskby,
idsfbl, idsfel,
, idsfbr, idsfer, id-str, faxlr, sratio
where:
idwcfl identifier of a MARKER statement located at the left front 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 front wheel must
be applied to this MARKER.
The idwcfr identifier of a MARKER statement located at the right front 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 right front wheel
must be applied to this MARKER.
idksil identifier of a MARKER statement located at the left 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.
Creating the SVC Dataset 7
All About SVC (Static Vehicle Characteristics)

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

Front Spring Statements


id-flspsus identifier of a MARKER statement located at the front left spring seat on the axle. This
MARKER is used to compute the front left wheel spring ratio.
id-flspby identifier of a MARKER statement located at the front left spring seat on the body. This
MARKER is used to compute the front left wheel spring ratio.
id-frspsu identifier of a MARKER statement located at the front right spring seat on the axle. This
MARKER is used to compute the front right wheel spring ratio.
id-frspby identifier of a MARKER statement located at the front right spring seat on the body. This
MARKER is used to compute the front right wheel spring ratio.

Front Shock Absorber Statements


id-flsksu identifier of a MARKER statement located at the front left shock absorber attachment point on
the axle. This MARKER is used to compute the front left wheel shock ratio.
id-flskby identifier of a MARKER statement located at the front left shock absorber attachment point on
the body. This MARKER is used to compute the front left wheel shock ratio.
id-frsksu dentifier of a MARKER statement located at the front right shock absorber attachment point on
the axle. This MARKER is used to compute the front right wheel shock ratio.
id-frskby identifier of a MARKER statement located at the front right shock absorber attachment point
on the body. This MARKER is used to compute the front right wheel shock ratio.

Front Stabilizer Bar Statements


idsfbl identifier of a MARKER statement located at the front left stabilizer-bar attachment point on the
stabilizer-bar. This MARKER is used to compute the front left wheel stabilizer-bar ratio.
idsfel identifier of a MARKER statement located at the left end of the front stabilizer-bar. This MARKER
is used to compute the front left wheel stabilizer-bar ratio.
8 Adams/Chassis
All About SVC (Static Vehicle Characteristics)

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)

idbcm identifier of a MARKER statement located at the body center of mass.


idbwfl identifier of a MARKER statement on the body part located at the design position of the front left
wheel center. This MARKER statement is used to calculate the wheel center rise.
idbwfr identifier of a MARKER statement on the body part located at the design position of the front
right wheel center.
idbwrl identifier of a MARKER statement on the body part located at the design position of the rear left
wheel center.
idbwrr identifier of a MARKER statement on the body part located at the design position of the rear right
wheel center.
fdrat front drive torque ratio. The portion of drive torque sent to the front wheels (e.g. 1.0 for front-wheel
drive, 0.0 for rear-wheel drive, 0.5 (for instance) for four-wheel drive).
fbrat front braking ratio. The fraction of vehicle braking done by front brakes (should be between 0 and
1).
idhpt H-point marker of driver's hip.
ARRAY/9910 contains information about the ground plane. It is required for all analysis options.
ARRAY/9910, NUM = gblm, ght
where:
gblm identifier of a MARKER statement on ground giving the global reference frame. If tire forces are
used to support a vehicle, this MARKER must also be the J marker for the vertical tire forces.
ght The height of the ground plane above the location of the gblm.
SVC uses the ground marker in several ways. It should be parallel to the global axes, because it is the
reference frame used to compute many characteristics. It should also be the J marker on the vertical tire
SFORCEs, otherwise the INFO calls to retrieve ground reaction forces will fail. The ground height
defines the point on the marker Z axis that corresponds to ground level. This is used to compute various
heights above ground.

Optional Array and String Statements


ARRAY/9911 contains the tire-to-ground stiffnesses at static equilibrium. These must include any
temporary springs added by the tire model and nonlinearities in the vertical force.
ARRAY/9911 is optional for full-vehicle analyses. In this case SVC will accurately approximate the
vertical tire stiffnesses. If a half-vehicle analysis is being performed, the user must always provide
ARRAY/9911, even if there are no tires in the model (see next section).
ARRAY/9911, NUM = k1,k2, .... k24
where:
k1-k6 Left front tire X, Y, Z, AX, AY, and AZ stiffnesses
10 Adams/Chassis
All About SVC (Static Vehicle Characteristics)

k7-k12 Right front tire X, Y, Z, AX, AY, and AZ stiffnesses


k13-k18 Left rear tire X, Y, Z, AX, AY, and AZ, stiffnesses
k19-k24 Right rear tire X, Y, Z, AX, AY, and AZ stiffnesses
ARRAY/9912 contains the conversion factors needed to convert forces, masses, lengths, speeds, and
inertias from the units used in the Adams data-set to the units desired for output from SVC. ARRAY/9912
is optional, but if included at least fcf, mcf, and lcf must be given. If ARRAY/9912 is not included, SVC
will use the same units for converted output as were used in the Adams data-set. The units conversion
occurs only if you set "cflag" to 1 or 2 when invoking SVC with the CONTROL command. (See
Executing SVC for more about the CONTROL command.)
ARRAY/9912, NUM = fcf, mcf, lcf, scf, icf
where:
fcf Force conversion factor (Output units force = Input units force * FCF)
mcf Mass conversion factor (Output units mass = Input units mass * MCF)
lcf Length conversion factor (Output units length = Input units length * LCF)
scf Speed conversion factor (Output units speed = Input units speed * SCF)
icf Inertia conversion factor (Output units inertia = Input units inertia * ICF)
STRING statements 1-3 contain text for the units used in the Adams data-set. These have no effect on
the calculations, they are only used for labeling. Each string has a default value that is used if you do not
provide one.
STRING/1,STRING=Force units used in the data-set(defaults to
'Newtons')
STRING/2, STRING= Mass units used in the data-set ( defaults to 'kg' )
STRING/3, STRING= Length units used in the data-set(defaults to 'mm' )
STRING statements 4 and 5 inform SVC whether the front and rear suspensions are independent or
dependent. The STRINGs may be either 'INDEPENDENT' or 'DEPENDENT'.
STRING/4, STRING= Front suspension ( defaults to 'INDEPENDENT' )
STRING/5, STRING= Rear suspension ( defaults to 'DEPENDENT' )
STRING statements 6 and 7 are optional strings in which the user can input a one line description for the
front and rear suspensions.
STRING/6, STRING= Front description string
STRING/7, STRING= Rear description string
STRING statements 11-15 contain text for the units used in the SVC output files. If a label is included
the appropriate conversion factor must also be included in ARRAY/9912.
STRING/11,STRING=Force units to use during output(defaults to
STRING/1)
STRING/12, STRING= Mass units to use during output (defaults to
STRING/2 )
Creating the SVC Dataset 11
All About SVC (Static Vehicle Characteristics)

STRING/13, STRING= Length units to use during output (defaults to


STRING/3)
STRING/14, STRING= Speed units to use during output (defaults to
STRING/3 ¸ sec)
STRING/15, STRING= Inertia units to use during output
(defaults to STRING/1 * (STRING/3)2)
SVC handles tire stiffnesses differently depending on the analysis option and whether you provide
ARRAY/9911. Some background on SVC and tire models is needed in order to explain when the user
should and should not supply ARRAY/9911. SVC uses tire stiffnesses in two ways. First, if the model
contains tire forces, the stiffnesses are used to remove tire effects on suspension compliance. Second, the
vertical tire stiffnesses are explicitly used in the calculations of some SVCs, whether there are tire forces
in the data set or not. In all cases, then, SVC uses at least the vertical stiffnesses.
Determining tire stiffnesses is complicated by two factors. Temporary springs are added during static
equilibrium. This generally helps convergence to static equilibrium, but the tire can no longer be treated
as a simple vertical spring. It is then necessary to supply the non-vertical terms to SVC as well. In
addition, the vertical tire force is usually non-linear. The stiffness depends upon the vertical deflection,
making it difficult to compute ahead of time for a particular model.
In the full-vehicle case, SVC can approximate the vertical tire stiffnesses from the compliance matrix.
The other terms can be assumed from knowledge of the tire model. The Adams/Chassis model, for
instance, uses stiffnesses of 100 laterally and longitudinally on the left front tire and 100 laterally on the
left rear tire. Adams/TIRE uses stiffnesses of 1 on all translational and rotational degrees of freedom. If
the user does not supply ARRAY/9911 in a full-vehicle analysis, SVC approximates the vertical
stiffnesses and supplies the others.
In a half-vehicle analysis, the user must always supply ARRAY/9911, because SVC cannot approximate
the vertical stiffnesses. Normally, you would not be modeling tires at all, in which case SVC does not
need to modify the compliance matrix and will use only the vertical stiffnesses provided in computing a
few of the characteristics.
ARRAY/9913 contains parameters needed to determine dive and pitch characteristics for half vehicle
analysis. ARRAY/9913 is not required for full vehicle analysis.
ARRAY/9913, NUM = tcgh, wb, rlf, rlr
where:
tcgh = Vehicle CG height with respect to ground
wb = Vehicle wheel base
rlf = Left tire rolling radius
rlr = Right tire rolling radius
12 Adams/Chassis
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

1001 = Full vehicle model.


1002 = Front suspension only
1003 = Rear suspension only
jpr_ary Id of the array containing the necessary jprims, motions, sforce ids to perform the static
equilibrium analysis
cflag Units Conversion Flag -- Optional, Default is 0
0 = output units in the same data-set units, no conversion performed.
1 = output in converted units. The SVCs are calculated in data-set units then converted
according to the conversion factors provided in ARRAY/9912 and labeled according
to STRING statements 1, 2, 3, 4, and 5.
2 = output SVCs in both converted units and data-set units
tflag Tire Forces Flag -- Optional, Default is 0. tflag is ignored for Full-Vehicle Analysis,
when the vehicle must be supported by tire forces.
0 = Suspension is not supported by tire forces
1 = Suspension is supported by tire forces
vflag Verbose Flag -- Optional, Defaults to off (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
ctime Current Simulation Time -- Optional, Defaults to 0.0. "ctime" defaults to 0.0 since
usually the 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.

Below are some example CONTROL commands.


CONTROL/ FUNCTION=USER(1001,555)
The CONTROL statement above invokes the SVC calculations for a full vehicle (aopt = 1001). All other
flags default. Therefore, the output units are the same as the data-set units. Tflag is ignored since the full
SVC Output 13
All About SVC (Static Vehicle Characteristics)

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.

Example Annotated (.svc) Output File

==========================================
= 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

_________________________________________________________________________

(PARAMETER) (UNITS) (TOTAL) (LEFT) (RIGHT)


_________________________________________________________________________

Total weight N 18.79E+03


Front ground reaction N 10.06E+03 5122.72 4933.28
Rear ground reaction N 8737.90 4395.09 4342.81

Total roll inertia Kg mm**2 629.5E+06


Total pitch inertia Kg mm**2 3.254E+09
Total yaw inertia Kg mm**2 3.264E+09

Total product Ixy Kg mm**2 1.607E+06


Total product Ixz Kg mm**2 -54.46E+06
Total product Iyz Kg mm**2 -1.487E+06
14 Adams/Chassis
All About SVC (Static Vehicle Characteristics)

Sprung mass Kg 1601.18


Sprung roll inertia Kg mm**2 459.6E+06
Sprung pitch inertia Kg mm**2 2.543E+09
Sprung yaw inertia Kg mm**2 2.464E+09

Sprung product Ixy Kg mm**2 -13.66E+03


Sprung product Ixz Kg mm**2 2.020E+06
Sprung product Iyz Kg mm**2 -213.5E+03

Total c.g. height mm 674.64


Sprung c.g. height mm 734.78

Body yaw angle DEG 0.00


Body pitch angle DEG -36.21E-03
Body roll angle DEG 85.21E-03
Speed mm/S 0.00

Wheelbase mm 2834.43 2834.82 2834.03

Bounce node loc. wrt H-pt. mm 2921.18


Bounce natural frequency Hz 1.32
Pitch node loc. wrt H-pt. mm -705.38
Pitch natural frequency Hz 1.58
Ride frequency ratio 1.13

ADAMS Model Title:


vehicle_name, OUTPUT UNITS = SI

FRONT SUSPENSION CHARACTERISTICS


Suspension Description = Short_Long_Arm
_________________________________________________________________________
(PARAMETER) (UNITS) (AVERAGE) (LEFT) (RIGHT)
_________________________________________________________________________
Unsprung mass (total) Kg 115.91
Unsprung c.g. height mm 376.96
Roll center height mm 75.55
Wheel center rise mm 29.64 29.00 30.28
Static loaded tire radius mm 356.27 355.80 356.74
Track width mm 1490.51
Axle distance from vehicle cg mm 1317.82

steer angle DEG 0.00


Toe Angle DEG 208.2E-03 207.7E-03 208.7E-03
Caster Angle DEG 4.71 4.72 4.71
Camber Angle DEG -458.8E-03 -375.5E-03 -542.2E-03
Kingpin Angle DEG 11.84 11.75 11.92
KP offset at wc, long mm 0.00 1.19 1.22
KP offset at wc, lat mm 0.00 112.40 -112.47
Caster Angle wrt body DEG 4.68 4.68 4.67
Camber Angle wrt body DEG -458.7E-03 -460.6E-03 -456.8E-03
Kingpin Angle wrt body DEG 11.83 11.84 11.83
Scrub radius mm 40.53 40.61 40.45
Caster trail mm 28.63 28.60 28.66

Toe change DEG/mm -3.935E-03 -3.926E-03 -3.944E-03


Caster change DEG/mm 9.786E-03 9.793E-03 9.779E-03
Camber change DEG/mm -1.241E-03 -1.408E-03 -1.075E-03
Roll camber coefficient DEG/DEG 950.6E-03 948.6E-03 952.7E-03
Percentage roll steer % -5.12
Track change mm/mm 81.78E-03 80.74E-03
Wheelbase change mm/mm -11.34E-03 -11.35E-03 -11.33E-03
SVC Output 15
All About SVC (Static Vehicle Characteristics)

Wheel rate N/mm 34.84 34.84 34.83


Single bump wheel rate N/mm 56.33 56.33 56.32
Ride rate N/mm 29.71 29.71 29.71
Tire rate N/mm 201.91 201.80 202.01
Roll rate - wheel N mm/DEG 2.851E+06
Roll rate - total N mm/DEG 1.650E+06
Wheel/spring ratio mm/mm 551.4E-03 551.4E-03 551.3E-03
Wheel/shock ratio mm/mm 566.0E-03 565.8E-03 566.2E-03

Percent anti-dive/braking % 12.89 12.89 12.89


Percent anti-lift/accel. % 0.00 0.00 0.00
Front view i.c. - lateral mm 15.13E+03 14.49E+03 15.77E+03
Front view i.c. - vertical mm 1523.51 1466.13 1580.88
Side view i.c. fore & aft mm 5854.70 5850.47 5858.94
Side view i.c. vertical mm 289.87 289.41 290.32
Wheel hop natural freq. Hz 10.17 10.17 10.17
Wheel tramp natural freq. Hz N/A
Front ride frequency Hz 1.29
Front ride height mm N/A N/A N/A

ADAMS Model Title:


vehicle_name, OUTPUT UNITS = SI

REAR SUSPENSION CHARACTERISTICS

Suspension Description = Four_Link_Solid_Axle


_________________________________________________________________________

(PARAMETER) (UNITS) (AVERAGE) (LEFT) (RIGHT)


_________________________________________________________________________

Unsprung mass (total) Kg 197.52


Unsprung c.g. height mm 361.80
Roll center height mm 486.90
Wheel center rise mm 61.47 60.49 62.45
Static loaded tire radius mm 359.53 359.41 359.66
Track width mm 1486.60
Axle distance from vehicle cg mm 1516.61
Toe Angle DEG 0.00 -31.12E-03 31.12E-03
Camber Angle DEG 0.00 1.000E-02 -1.000E-02
Camber Angle wrt body DEG 0.00 -75.25E-03 75.25E-03

Toe change DEG/mm -8.613E-06 971.7E-06 -989.0E-06


Camber change DEG/mm 5.925E-06 -668.4E-06 680.3E-06
Roll camber coefficient DEG/DEG -3.199E-06 -3.199E-06 -3.199E-06
Percentage roll steer % 7.12
Track change mm/mm -63.59E-03 64.73E-03
Wheelbase change mm/mm -72.56E-03 -59.22E-03 -85.91E-03

Wheel rate N/mm 33.83 33.53 34.13


Single bump wheel rate N/mm 38.24 37.86 38.63
Ride rate N/mm 28.97 28.75 29.19
Tire rate N/mm 201.91 201.86 201.96
Roll rate - wheel N mm/DEG 848.2E+03
Roll rate - total N mm/DEG 696.5E+03
Wheel/spring ratio mm/mm 818.9E-03 818.7E-03 819.0E-03
Wheel/shock ratio mm/mm 1.10 1.09 1.10

Percent anti-lift/braking % 17.03 16.42 17.65


Percent anti-squat/accel. % 44.83 43.21 46.44
Front view i.c. - lateral mm 743.30 751.78 734.81
Front view i.c. - vertical mm 486.49 486.46 486.52
Side view i.c. fore & aft mm -10.51E+03 -10.60E+03 -10.42E+03
16 Adams/Chassis
All About SVC (Static Vehicle Characteristics)

Side view i.c. vertical mm 1120.88 987.24 1254.53

Wheel hop natural freq. Hz 7.78


Wheel tramp natural freq. Hz 8.88
Rear ride frequency Hz 1.45
Rear ride height mm N/A N/A N/A

S V C SIGN CONVENTION

(PARAMETER) CONVENTION FOR POSITIVE VALUE


______________________________________________________________________________

Toe (angle) Toe in


Caster (angle) Side view of kingpin tilted rearward
Camber (angle) Top of tire out
Wheel center rise Wheel moving into rebound
Toe change Wheel toes in when moved into jounce
Caster change Caster increases when wheel moves into
jounce
Camber change Top of tire moves inboard when wheel moves
into jounce
Track change Track increases as wheel moves into jounce
Wheelbase change Wheelbase increases as wheel moves into jounce
Roll camber coefficient Top of outside tire moves outboard relative to
ground as vehicle rolls
Percentage roll steer Average toe is outside of corner as
vehicle rolls
Lat. force deflection Wheel moves to the right when pushed from
right to left
Lat. force steer Wheel toes in when pushed from right to left
Lat. force camber Top of tire moves to the left when pushed
from right to left
Aligning torque deflection Wheel deflection to the right due to an
aligning torque at wheel center
Aligning torque steer Toe in due to an aligning torque at wheel
center
Aligning torque camber Top of tire moves outboard due to an
aligning torque at wheel center
Recession steer Toe in due to a rearward force at the wheel
center
Brake steer Toe in due to a rearward force at the tire
contact patch
Tractive force steer center due to a forward force at the wheel
Bounce node location Rearward location with respect to H-point
Pitch node location Rearward location with respect to H-point

Definition of the SVC Compliance Matrix


The compliance matrix for a system, [C], is defined as the partial derivatives of displacements with
respect to applied forces:
[C] = [ dx / df ]
If a system is assumed to be linear, the compliance matrix can be used to predict the system movement
due to force inputs:
{Dx} = [C]{Df}
Definition of the SVC Compliance Matrix 17
All About SVC (Static Vehicle Characteristics)

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)

SVC Output Parameters


This section describes each characteristic in detail. Each description contains the characteristic name,
description, the name of the subroutine that computes the characteristic, the input variables, the output
variables, and the method used to compute the value. In order to perform the actual characteristic
calculations, the SVC CONSUB calls about 25 separate subroutines. The descriptions indicate which
subroutine computes each characteristic. The input variables used for the calculations fall into two
categories, those supplied by the user, and those computed internally in SVC. Those that are input by the
user are referred to by the names given previously in SVC Data in the data set.
The compliance matrix is the primary input computed internally (see Definition of the SVC Compliance
Matrix). An 18 by 18 matrix is computed for the front suspension and a 12 by 12 matrix for the rear. The
front matrix is computed for the ntage_Roll > Percentage Roll Steer.
Select a parameter:

• 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)

• Roll Center Height • Wheel Shock Ratio


• Roll Rate - Total • Wheel Spring Ratio
• Roll Rate - Wheel • Wheelbase
• Rotational Inertias of Vehicle Sprung Mass •

Camber Angle, Camber Angle with Respect to Body


The angle in the front elevation between the wheel plane and the vertical. Camber is reported in degrees,
and is positive if the wheel top leans outward from the vehicle body. When measured with respect to
vehicle body, camber angle is the angle between the wheel plane and the body z-axis (or xz plane).

Computed by:
SVCGAN (SVCTCM)

Input Variables Used:


Wheel center marker identifiers (idwcfl, idwcfr, idwcrl, idwcrr).
Global origin marker identifier (gblm) (Body frame marker identifier (idbcm)).

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

Input Variables Used:


Front and rear compliance matrices

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

Caster Angle, Caster Angle with Respect to Body


The angle in the side elevation between the steering axis (such as kingpin axis) and the vertical. Caster
is reported in degrees, and is positive if the steering axis is inclined upward and rearward. SVC computes
caster for the front suspension only. When measured with respect to vehicle body, caster angle is the angle
between the steering axis and the body z-axis (or yz plane).
22 Adams/Chassis
All About SVC (Static Vehicle Characteristics)

Computed by:
SVCFAN (SVCFAB)

Input Variables Used:


Left and right kingpin marker identifiers (idksil, idksir)
Global origin marker identifier (gblm) (Body frame marker identifier (idbcm))

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

Input Variables Used:


Front compliance matrix

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)

Left = (180/p) [C( 5,3 ) + C( 5,9 )] / [C( 3,3 ) + C( 3,9 )]


Right = (180/p) [C( 11,3 ) + C( 11,9 )] / [C( 9,3 ) + C( 9,9 )]
Caster Change = DØ / DZ
Caster Change

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

Input Variables Used:


Left and right kingpin marker identifiers (idksil, idksir)
Left and right front wheel center marker identifiers (idwcfl, idwcfr)
Global origin marker identifier (gblm)
Ground height (ght)

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

Center-of-Gravity Height of Suspension Unsprung Mass


Center-of-gravity height of the front or rear suspension unsprung mass. This is only computed for full
vehicle analysis.

Computed by:
SVCCGH

Input Variables Used:


All part identifiers in ARRAY statements 9901 and 9903.
Percentage sprung values for each part from ARRAY statements 9902 and 9904.

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.

Center-of-Gravity Height of Vehicle Sprung Mass


Center-of-gravity height of the sprung mass of the vehicle.
Front Ground Reactions 25
All About SVC (Static Vehicle Characteristics)

Computed by:
SVCCGH

Input Variables Used:


All part identifiers in ARRAY statements 9901, 9903, and 9905.
Percentage sprung values for each part, from ARRAY statements 9902, 9904, and 9906.
The ground height (ght) and the global reference frame marker (gblm) from ARRAY/9910.

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.

Front Ground Reactions


Mass supported by front tires.

Computed by:
SVCGDR

Input Variables Used:


Front tire force MARKER statement identifiers (idwcfl, idwcfr) from ARRAY/9907
Global origin MARKER statement identifier (gblm) from ARRAY/9910

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)

Front Ground Reaction, Left and Right

Front View Instant Center


The point in the front elevation around which the wheel center rotates as it moves vertically. The instant
center has two components, lateral and vertical. The lateral measurement is positive inboard of the wheel
center. The vertical measurement is positive above the wheel center.

Computed by:
SVCICR

Input Variables Used:


Compliance matrix

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)

DZ = C( 3,3 ) - C( 3,9 ) = C( 9,9 ) - C( 9,3 )


DTHETA = C( 4,3 ) - C( 4,9 ) = C( 10,9 ) - C( 10,3 )
The radius of the circle described is:
R = SQRT( DY2 + DZ2 ) / DTHETA
The angle of the line connecting the wheel center to the instant center is:
ANG = arctan( -DY / DZ )
The instant center position is then:
Left lateral = - R cos( ANG )
Right lateral = R cos( ANG )
Vertical = - R sin( ANG )
Instant Center Front View (Lateral, Vertical)

Kingpin Angle, Kingpin Angle with Respect to Body


The angle in the front elevation between the steering axis, i.e. kingpin axis and the vertical. Kingpin angle
is reported in degrees, and is positive if the steering axis is inclined upward and inward. SVC computes
kingpin angle for the front suspension only. When measured with respect to vehicle body, kingpin angle
is the angle between the steering axis and the body z-axis (or xz plane).
28 Adams/Chassis
All About SVC (Static Vehicle Characteristics)

Computed by:
SVCFAN (SVCFAB)

Input Variables Used:


Left and right kingpin marker identifiers (idksil, idksir)
Global origin marker identifier (gblm) (Body frame marker identifier (idbcm))

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

Overall Steer Ratio


The rate of change of steering wheel angle with respect to the change in average steer angle of a pair of
steered wheels. Steer ratio is only computed for the front suspension.

Computed by:
SVCFST

Input Variables Used:


Compliance matrix
Steering box ratio (SRATIO)
Percent Anti-lift Under Acceleration 29
All About SVC (Static Vehicle Characteristics)

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

Percent Anti-lift Under Acceleration


The ratio of suspension compression due to traction forces to the suspension extension due to weight
transfer and axle torque. Anti-lift under acceleration is computed for the front suspension only, and only
in a full-vehicle analysis. If the front suspension is not driven (fdrat = 0), the anti-lift will be 0.

Computed by:
SVCANA

Input Variables Used:


• Compliance matrix
• Average tire loaded radius
30 Adams/Chassis
All About SVC (Static Vehicle Characteristics)

• Front drive ratio (fdrat)


• Front axle ratio (faxlr)
• Front suspension dependency (STRING/4)
• Total CG height
• Average wheelbase
• Track

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)

Right percent anti-lift = -100. Zfright / Zwright

Percent Anti-Dive Under Braking


The ratio of suspension extension due to braking forces to the suspension compression due to weight
transfer. Anti-dive under braking is computed for the front suspension only and only in a full-vehicle
analysis.

Computed by:
SVCANB

Input Variables Used:


• Compliance matrix
• Average tire loaded radius
• Front braking ratio (fbrat)
• Total CG height
• Average wheelbase

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)

Percent Anti-lift Under Braking


The ratio of suspension compression due to braking forces to the suspension extension due to weight
transfer. Anti-lift under braking is computed for the rear suspension only and only in a full-vehicle
analysis.

Computed by:
SVCANB

Input Variables Used:


• Compliance matrix
• Average tire loaded radius
• Front braking ratio (fbrat)
• Total CG height
• Average wheelbase

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)

Percent Anti-Squat Under Acceleration


The ratio of suspension extension due to traction forces to the suspension compression due to weight
transfer and axle torque. Anti-squat under acceleration is computed for the rear suspension only, and only
in a full-vehicle analysis. If the rear suspension is not driven (fdrat = 1), the anti-squat will be 0.

Computed by:
SVCANA

Input Variables Used:


• Compliance matrix
• Rear suspension dependency (STRING/4)
• Average tire loaded radius
• Total CG height
• Front drive ratio (fdrat)
• Average wheelbase
• Rear axle ratio (raxlr)
• Track

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

Percentage Roll Steer


The percentage rate of change in steer angle with respect to change in vehicle roll angle.

Computed by:
SVCROL

Input Variables Used:


• Compliance matrix
• Track
• Average vertical tire rate

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)

Rear Ground Reactions


Mass supported by rear tires.

Computed by:
SVCGDR

Input Variables Used:


Rear tire force MARKER statement identifiers (idwcrl, idwcrr) from ARRAY/9908
Global origin MARKER statement identifier (gblm) from ARRAY/9910

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

Input Variables Used:


• Front and rear compliance matrices
• Tire stiffness from (ARRAY/9911)

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

Input Variables Used:


• Compliance matrix
• Track
• Average vertical tire rate

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)

Ac = - C( 4,3 ) + C( 4,9 ) (left side)


= - C( 10,3 ) + C( 10,9 ) (right side)
The total wheel inclination is then:
Ai = Av - Ac
The roll camber is then:
RC = ( Av - Ac ) / Av = 1 - Ac / Av
Roll Camber

Roll Center Height


Height at which a lateral force on the sprung mass, applied in the plane of the wheel centers, does not
produce any suspension roll.

Computed by:
SVCROL

Input Variables Used:


• Compliance matrix
• Left and Right Wheel Center Markers
• Ground Height wrt global origin
38 Adams/Chassis
All About SVC (Static Vehicle Characteristics)

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.

Similarly for right side:


DZ_R = CP (9,9) - CP(9,3)
DY_R = CP (8,9) - CP(8,3)
YR
ZR
The equation of lines through the instant centers of left and right contact patches are:
0 = dz_l*( z - zl ) + dy_l*(y - yl)
0 = dz_r*( z - zr ) + dy_r*(y - yr)
dz_l*zl + dy_l*yl = dz_l*z + dy_l*y
dz_r*zr + dy_r*yr = dz_r*z + dy_r*y
The intersection of these two lines (if it exists) is the roll center location.
Apply Cramer's rule:
DET = ( DZ_L*DY_R - DZ_R*DY_L )
B1 = ( DZ_L*ZL + DY_L*YL )
B2 = ( DZ_R*ZR + DY_R*YR )
RC_VERT = ( B1*DY_R - B2*DY_L ) / DET
Where RC_VERT is the roll center height.
Roll Rate - Total 39
All About SVC (Static Vehicle Characteristics)

Roll Center Height

Roll Rate - Total


The torque, applied as vertical forces at the tire patches, per degree of roll, measured at the tire patches.

Computed by:
SVCROL

Input Variables Used:


• Compliance matrix
• Track
• Tire stiffness

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

Roll Rate - Wheel


The torque, applied as vertical forces at the tire patches, per degree of roll, measured through the wheel
centers.

Computed by:
SVCROL

Input Variables Used:


• Compliance matrix
• Track

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)

Roll Rate - Suspension

Rotational Inertias of Vehicle Sprung Mass


Moments and products of inertia of the sprung mass of the vehicle. SVC computes these at the sprung
center-of-gravity position, about axes parallel to those of the vehicle center-of-mass marker.

Computed by:
SVCMIN

Input Variables Used:


• All part identifiers in ARRAY statements 9901, 9903, and 9905
• Percentage sprung values for each part, from ARRAY statements 9902, 9904, and 9906
• Body center-of-mass MARKER statement identifier (idbcm) from ARRAY/9909

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)

Sprung Rotational Inertias

Rotational Inertias of Vehicle Total Mass


Moments and products of inertia of the total mass of the vehicle. SVC computes these at the total center-
of-gravity position, about axes parallel to those of the vehicle center-of-mass marker.

Computed by:
SVCMI2

Input Variables Used:


• All part identifiers in ARRAY statements 9901, 9903, and 9905
• Body center-of-mass MARKER statement identifier (idbcm) from ARRAY/9909

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)

Sprung Rotational Inertias

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

Input Variables Used:


• Left and right kingpin marker identifiers (idksil, idksir)
• Left and right front wheel center marker identifiers (idwcfl, idwcfr)
• Global origin marker identifier (gblm)
• Ground height (ght)

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

Side View Instant Center


The point in the side elevation around which the wheel center rotates as it moves vertically. The instant
center has two components, fore and aft and vertical. The fore and aft measurement is positive rearward
of the wheel center. The vertical measurement is positive above the tire patch.

Computed by:
SVCICR

Input Variables Used:


Compliance matrix

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)

The instant center position is then:


fore and aft = R cos( ANG )
vertical = R sin( ANG ) + Rolling Radius
Instant Center Side View (Fore and Aft, Vertical)

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.

Single Bump Wheel Rate


Vertical spring rate of the suspension relative to the body, measured at the wheel center due to motion of
the wheel.

Computed by:
SVCRAT

Input Variables Used:


Front and rear compliance matrices
46 Adams/Chassis
All About SVC (Static Vehicle Characteristics)

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 )

Sprung Mass Bounce and Pitch Frequencies and Node Locations


Longitudinal location of bounce and pitch nodes with respect to H-point and the natural frequencies of
bounce and pitch modes.

Computed by:
SVCNOD

Input Variables Used:

• Hip point marker id • Front and rear suspension ride rates


• Wheel center id's of left and right front wheels • Front and rear unsprung mass
• Global marker id • Total force applied to the front and rear tires
• Sprung mass pitch inertia • Wheel base

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)

Kr - total rear ride rate


M - total sprung mass
J - moment of inertia of sprung mass about pitch axis
fdis - distance between front springs and sprung mass C.G
rdis - distance between rear springs and sprung mass C.G
The solutions for the above equations are in the form:
z = Z *coswt
q = Q*coswt
substituting these in the equations of motions and solving for w will give the natural frequencies for the
bounce and pitch motions.
Node points with respect to C.G of the sprung mass are:
rmd1 = -b/(a - w12)
rmd2 = -b/(a - w22)
Node furthest from the C.G represents the bounce node.
Node points with respect to H-point are:
dhp = (dhp1+dhp2)/2.O - rllf
Where,
dhp1 - distance between H-point and left wheel center in global X direction.
dhp2 - distance between H-point and right wheel center in global X direction.
rllf - distance between front wheels and sprung mass C.G location.
hpt1 = rmd1 - dhp
hpt2 = rmd2 - dhp
Where,
hpt1 and hpt2 are node point locations with respect to H-point.

Sprung Vehicle Mass


Total sprung vehicle mass.

Computed by:
SVCTMA
48 Adams/Chassis
All About SVC (Static Vehicle Characteristics)

Input Variables Used:


• All part identifiers in ARRAY statements 9901, 9903, and 9905
• Percentage sprung values for each part, from ARRAY statements 9902, 9904, and 9906

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.

Static Loaded Tire Radius


The loaded radius (the distance from the center of tire contact to the wheel center measured in the wheel
plane) of a stationary tire inflated to normal recommended pressure.

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

Input Variables Used:


• Wheel center marker identifiers (idwcfl, idwcfr, idwcrl, idwcrr)
• Global reference frame marker (gblm)

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)

Static Loaded Tire Radius

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

Input Variables Used:


• Wheel center marker identifiers (idwcfl, idwcfr, idwcrl, idwcrr)
• Global origin marker identifier (gblm)

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)

Input Variables Used:


• Compliance matrix
• Tire rates from ARRAY/9911

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

Input Variables Used:


• Wheel center marker identifiers (idwcfl, idwcfr, idwcrl, idwcrr)
• Global origin marker identifier (gblm)

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)

Left toe = (180/p ) arctan( DCL(1,2) / DCL(2,2) )


Right toe = (180/p ) arctan( -DCR(1,2) / DCR(2,2) )
Toe Angle

Toe Change
Change in toe angle per unit vertical displacement of the wheel center relative to the sprung mass.

Computed by:
SVCRAT

Input Variables Used:


Front and rear compliance matrices

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

Total Vehicle Center-of-Gravity Height


Center-of-gravity height of the entire vehicle.

Computed by:
SVCCGH

Input Variables Used:


All part identifiers in ARRAY statements 9901, 9903, and 9905.
Total Vehicle Weight 53
All About SVC (Static Vehicle Characteristics)

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.

Total Vehicle Weight


Total vehicle weight.

Computed by:
SVCTMA

Input Variables Used:


• Front and rear tire force MARKER statement identifiers from ARRAY statements 9908 and
9909
• Global marker (gblm) from ARRAY/9910

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

Input Variables Used:


• Front and rear wheel center marker identifiers (idwcfl, idwcfr, idwcrl, idwcrr)
• Ground origin marker identifier (gblm)
• Ground height

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

Unsprung Mass Wheel Hop and Tramp Natural Frequencies


The wheel hop and tramp natural frequencies are determined by assuming the tire and suspensions
springs act in parallel. For independent suspensions, only the wheel hop frequencies of left and right side
suspensions are determined. For dependent suspensions, the wheel hop and tramp frequencies are
determined.

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)

Unsprung Suspension Mass


Total unsprung mass for the front or rear suspension. Unsprung mass is only computed for full-vehicle
analysis.

Computed by:
SVCTMA

Input Variables Used:


• Part identifiers from ARRAY statements 9901 and 9903
• Percentage sprung values for each part from ARRAY statements 9902 and 9904

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

Input Variables Used:


• Body center-of-mass marker identifier (idbcm)
• Global origin marker identifier (gblm)

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.

Wheel Center Rise


Difference in wheel center height, measured with respect to the body, between design position and static
equilibrium position. Positive rise means the static wheel center position is in rebound. Note that Wheel
Center Rise is also Rise-To-Curb for vehicles described with curb weight loading.

Computed by:
SVCWCR
Wheel Rate 57
All About SVC (Static Vehicle Characteristics)

Input Variables Used:


• Front wheel center marker identifiers (idwcfll, idwcfr)
• Front body/wheel center marker identifiers (idbwfl, idbwfr)
• Rear wheel center marker identifier (idwcrl, idwcrr)
• Rear body/wheel center marker identifiers (idbwrl, idbwrr)

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

Input Variables Used:


Front and rear compliance matrices

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)

Right = 1 / [C( 9,3 ) + C( 9,9 )]

Wheel Shock Ratio


Change in shock length per unit vertical displacement of the wheel center relative to the sprung mass.

Computed by:
SVCWSR.

Input Variables Used:


Front and rear compliance matrices.
Shock Body attachement markers
Shock Suspension attachement markers

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

Wheel Spring Ratio


Change in spring length per unit vertical displacement of the wheel center relative to the sprung mass.
Wheelbase 59
All About SVC (Static Vehicle Characteristics)

Computed by:
SVCRAT

Input Variables Used:


• Front and rear compliance matrices
• Spring Body attachment markers
• Spring Suspension attachment markers

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)

Input Variables Used:


Body Wheel center MARKER statement identifiers (idbwfl, idbwfr, idbwrl, idbwrr) from ARRAY/9909.

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

Learn more about the Treeview and bookshelf.


4Link Suspension Upper Control Arm Option 63
Construction Options

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.

Auto Alignment (Macpherson Front)


This auto alignment construction option is available for front Macpherson suspensions.
With this option, you have three choices for auto-aligner configuration:
1. tierod_and_strut_top
• Toe is aligned with a dummy part between the spindle and tie rod.
• Caster and camber are aligned with dummy parts at the strut top mount.
2. wheel_center
• Toe and camber are aligned with dummy parts at the wheel center, between the spindle and
suspension arms.
• Caster is aligned with a dummy part at the strut top mount.
3. none – No auto-alignment is possible; no additional dummy parts are created in the suspension.

Auto Alignment (SLA Front and Rear)


The auto alignment construction option is available for front and rear SLA suspension auto-alignment
techniques.
With this option, you have three choices for auto-aligner configuration.
1. UCA –(default) dummy parts attached to the upper control arms are used to achieve
desired camber/caster
2. LCA – dummy parts attached to lower control arms
64 Adams/Chassis
Construction Options

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

(the other BUSHING tables are needed, not shown here)


GEOMETRY HARDPOINT

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

Dual Rear Wheels


Adams/Chassis allows you to model dual rear tires in your rear suspension. You must specify the lateral
offset between the inner and outer wheels, and the tire files related to the outer wheels. The mass and
inertia of the outer wheel parts will be set equal to the mass and inertia of the inner wheels. (values from
rear PARTS table)
To model dual rear tires, the following changes must be made to the datafiles:

Activate Dual Rear Wheel Construction Option & Specify lateral offset between inner
and outer rear wheels
66 Adams/Chassis
Construction Options

Modify tire information table

Dual-Path Strut Mount


Adams/Chassis strut property files contain a construction option for dual-path mount modeling.When
this option is activated 2 bushings are used to connect the strut to the frame. The 1st bushing acts between
the upper strut and the frame at the strut mount location. The 2nd bushing acts between an intermediate
part and the frame.
Two intermediate parts are added for the purpose of modeling a torsional spring damper between the coil
spring mount and frame.

HardPointPair name (in Connector name (in


Mount subsystem file) property file)
Mount 1 top_mount strut_mount
Mount 2 spring_seat_upper dual_path_mount
Halfshaft Compliance 67
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.

Carrot and Neck Joint Options (SLA front suspension only)


In SLA front suspension, there are four hub compliance options:
• Hub Compliance OFF
Hub Compliance 69
Construction Options

• Hub Compliance ON
• Carrot ON and Neck Joint ON
• Carrot OFF and Neck Joint ON

In this section, 2=Carrot ON and 3=Carrot OFF will be explained.

Option 2: Carrot ON and Neck Joint ON


The following diagram shows the schematics of the option 2=Carrot ON 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: Carrot OFF and Neck Joint ON


The following diagram shows the schematics for the option 3=Carrot OFF and Neck Joint ON.

Option 3 is very similar to option 2. The difference is that a carrot part connects to the spindle part by a
fixed joint.

Lower Control Arm


Adams/Chassis currently supports four Lower Control Attachment options.
• Option 1: 1 part
• Option 2: Arm with tension strut
• Option 3: Two Links
• Option 4: Arm with compression strut
Lower Control Arm 71
Construction Options

A user can select these options in a CONSTRUCTION OPTIONS tab.

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

Option 2: Arm with tension strut


For option two, a tension strut connects to a lower control arm with bushing. A lower control arm
connects to a spindle with one ball joint and to a frame with a bushing. A tension strut also attaches to a
frame with a bushing.
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 tensionstrut_lca (40)
PartPair lower_control_arm
PartPair tension_strut
ConnectorPair lca_front
ConnectorPair lca_rear
ConnectorPair tension_strut_lca

Option 3: Two Links


For option three, there are two lower control arms. Each arm connects to a spindle with a ball joint and
to a frame with a bushing.
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 lca_front_ball_joint (40)
PartPair front_lower_link
PartPair rear_lower_link
ConnectorPair lca_front
ConnectorPair lca_rear
ConnectorPair tension_strut_lca

Option 4: Arm with compression strut


For option four, a compression strut connects to a lower control arm with a bushing. A lower control arm
connects to a spindle with one ball joint and to a frame with a bushing. A compression strut also attaches
to a frame with a bushing.
Panhard Rod 73
Construction Options

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

Powertrain Model Type


When a powertrain subsystem is included in your Adams/Chassis model, you have options for how much
of the template to include:

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

Engine and Halfshafts


This option combines the previous two options. The traction controller acts on the halfshafts, the engine
inertial effects are included.

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

Seat Stiffness Option


By default, vehicle occupants (driver and passengers) are attached to the vehicle body with a fixed joint.
It is also possible to connect them using a vertical translational joint and stiffness. This is intended for
ride analysis.

To use the seat stiffness option for occupants:


1. Select the Construction Options tab.
2. Select On for seat_stiffness.
3. Set the following options:

For the option: Do the following:


Left Value Enter a stiffness value. If a value greater than zero is entered, all vehicle
occupants will be attached to the body with the specified stiffness.
Right Value Enter a stiffness value. If a value greater than zero is entered, all vehicle
occupants will be attached to the body with the specified stiffness.
Comment Gives a brief description of the occupant.

To use the seat stiffness option for the loading subsystem:


1. Edit the loading subsystem .xml file.
2. Add the following section of XML code:
<ConstructionOption name="seat_stiffness" active="true"
currentValue="1">
<Comment>
<![CDATA[This option attaches all vehicle occupants to
the body via a spring]]> </Comment>
<Option name="Off" active="true" />
<Option name="On" id="1" active="true">
<IntParameter name="vertical_stiffness" active="true"
value="1000" />
<FloatParameter name="vertical_damping" active="true"
value="100" />
</Option></ConstructionOption>

3. Save the .xml file.


4. In Build mode treeview, select the loading subsystem.
5. Select the Construction Options tab. You should now see this option.
Shock Absorbers 77
Construction Options

Shock Absorbers

Shocks are modeled with data stored in shock property files.


Shock property files are stored in the dampers.tbl
subdirectory of a vehicle database. Shock property files
offer 3 methods for damping specification: linear, nonlinear
(spline), and edm. For EDM a separate .edd file is
referenced. The subsystem file that references the damper
property file contains a scale factor, and stretch factors for
the EDM option. These stretch factors are exposed when
interfacing with Adams/Insight. The shock property file
also contains the lower and upper shock part information, as
well as optional bushing specification.

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.

Adding a Second Set


To use a second set of shocks in the model, edit your subsystem data file and add a second DamperPair
.xml block. You also must add 'damper_upper2' and 'damper_lower2' hardpoint pairs.
78 Adams/Chassis
Construction Options

SLA Front Suspension Options


In Adams/Pre 9.2, slacoil, sla_strut_perch, sla_perch and sla_torsion suspension templates were merged
to become one sla template. To accomodate this, several options are now available in a
CONSTRUCTION OPTIONS table in sla front suspension.
The following shows a CONSTRUCTION OPTIONS table in sla front suspension.
CONSTRUCTION OPTIONS
---- ---------------------------------------------------------------
3 Hub Compliance (0=OFF, 1=ON, 2=Carrot ON, 3=Carrot OFF)
2 Upper Control Arm Attachment (1=Subframe, 2=Body)
4 Lower Control Arm (1=1 pc, 2=2 pc w/tens strut 3=2 links, 4=2 pc
w/comp strut)
0 Subframe (0=OFF a dummy part, 1=ON)
1 UCA Option (1=1 pc, 3=2lnks)
1 Perch - LSMB (0=OFF, 1=ON)
In the above table, "Hub Compliance", "Lower Control Arm" and "UCA Option (see Upper Control Arm)"
were described in other sections. In this section, the following options are explained:
• Upper Control Arm Attachment
• Subframe
• Perch - LSMB (Lower Shock Mounting Bracket)
• Torsion Bar

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.

Upper Control Arm Attachment


Upper control arm has two attachment options: a subframe and a body.
CONSTRUCTION OPTIONS
---- -------------------------------------------------------------
2 Upper Control Arm Attachment (1=Subframe, 2=Body)
It should be noted that if the user selected the subframe to be 0 (a dummy subframe part) in the same
CONSTRUCTION OPTIONS table, the upper control arm attaches to a body no matter what the user
selected in Upper Control Arm Attchment option.

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.

ROTATIONAL INERTIAS (kg-mm-mm)


MASS MOMENTS OF INERTIA PRODUCTS OF INERTIA
PARTS (IN) (kg) X Y Z XY XZ YZ
Upper Control Arm 1.59 9.754E+03 2.216E+04 3.121E+04 -1.073E+03 -1.415E+03 -5.101E+02
Lower Control Arm 12.59 1.12E+05 5.095E+05 6.059E+05 4.339E+03 1.345E+03 3.737+03
Spindle and 11.17 9.473E+04 1.261E+05 4.371E+04 -6.896E+02 -4.665E+03 1.361E+04
caliper
Stabilizer Bar 3.60 1.000E+04 1.000E+04 1.000E+04 0.000E+00 0.000E+00 0.000E+00
Parts
Tire, Wheel, 34.28 1.010E+06 1.010E+06 1.075E+06 0.000E+00 0.000E+00 0.000E+00
Rotor
Subframe 0.10 1.000E-01 1.000E-01 1.000E-01 0.000E+00 0.000E+00 0.000E+00
Shock Upper 0.01 1.000E+00 1.000E+00 1.000E+00 0.000E+00 0.000E+00 0.000E+00
Shock Lower 0.01 1.000E+00 1.000E+00 1.000E+00 0.000E+00 0.000E+00 0.000E+00
(NOTE: Tire, Wheel, Rotor Part assumes inertias have Z as spin axis)

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

Perch - LSMB (Lower Shock Mounting Bracket)


Front SLA suspension also has an option of adding a perch (or LSMB) part. The following graphic shows
a perch part.

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

If there is no point 135, the point 135 defined as:


f_pt135 = f_pt135+xdir;
SLA Front Suspension Options 81
Construction Options

(2)In BUSHING table, it should have "Shock Lower 35" and "Shock Upper 55"

BUSHINGS (TYPE) PT BUSHING MODEL TYPE LEGEND OF MODEL TYPES


UCA Front Bushing 1 1 -3 = FIXED JOINT
UCA Rear Bushing 2 1 -2 = SPHERICAL JOINT
LCA Front Bushing 3 1 -1 = REVOLUTE JOINT
Compression Strut @ LCA 5 -3 0 = FREE (NO JOINT)
Compression Strut @ Body 4 1 1 = STANDARD ADAMS BUSHING
Tie Rod Ball Stud 12 1 2 = NONLINEAR PIECE
Sta Bar Rotational 61 1 RATE BUSHING MODEL
Sta Bar Link 63 1 3 = NONLINEAR SPLINE MODEL
Shock Lower 35 1 WITH HYSTERESIS
Shock Upper 55 1 4 = GFORCE NONLINEAR
Hub Compliance 9 0 SPLINE BUSHING
SPLINE BUSHING

SPRING RATES (TRANSLATIONAL AND ROTATIONAL)


RATE N/mm) RATE N-mm/rad)
RADIAL RADIAL AXIAL CONICAL CONICAL T
L
BUSHINGS (RATES) PT (X) (Y) (Z) (X) (Y) (
UCA Front Bushing 1 2.434E+03 2.434E+03 1.669E+03 5.671E+05 5.671E+05 8
UCA Rear Bushing 2 2.434E+03 2.434E+03 1.669E+03 5.671E+05 5.671E+05 8
LCA Front Bushing 3 6.450E+03 6.450E+03 7.750E+02 1.528E+06 1.528E+06 1
Compression Strut @ LCA 5 1.000E+04 1.000E+04 1.000E+04 5.671E+05 5.671E+05 8
Compression Strut @ Body 4 3.250+03 3.250+03 6.750E+02 5.671E+05 5.671E+05 8
Tie Rod Ball Stud 12 5.256E+03 5.256E+03 5.256E+03 0.000E+00 0.000E+00 0
Sta Bar Rotational 61 1.000E+03 1.000E+03 1.000E+02 1.000E+03 1.000E+03 1
Sta Bar Link 63 1.000E+04 1.000E+04 1.675E+03 2.000E+04 2.000E+04 1
Shock Lower 35 4.434E+03 4.434E+03 1.669E+03 5.671E+05 5.671E+05 8
Shock Upper 55 2.434E+03 2.434E+03 1.669E+03 5.671E+05 5.671E+05 8
Hub Compliance 9 -9.990E+01 -9.990E+01 -9.990E+01 -9.990E+01 -9.990E+01 -
82 Adams/Chassis
Construction Options

DAMPING RATES (TRANSLATIONAL AND ROTATIONAL)


DAMPING N-s/mm) DAMPING N-s/mm)
RADIAL RADIAL AXIAL CONICAL CONICAL TO
BUSHINGS (RATES) PT (X) (Y) (Z) (X) (Y) (Z
UCA Front Bushing 1 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.
UCA Rear Bushing 2 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.
LCA Front Bushing 3 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.
Compression Strut @ LCA 5 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.
Compression Strut @ Body 4 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.
Tie Rod Ball Stud 12 5.000E+01 5.000E+01 2.500E+01 0.000E+00 0.000E+00 0.
Sta Bar Rotational 61 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.
Sta Bar Link 63 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.
Shock Lower 35 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.
Shock Upper 55 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.
Hub Compliance 9 -9.990E+01 -9.990E+01 -9.990E+01 -9.990E+01 -9.990E+01 -9

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

ROTATIONAL INERTIAS (kg-mm-mm)


MASS MOMENTS OF INERTIA PRODUCTS OF INERTIA
PARTS (IN) (kg) X Y Z XY XZ YZ
Upper Control Arm 1.59 9.754E+03 2.216E+04 3.121E+04 -1.073E+03 -1.415E+03 -5.101E+
Lower Control Arm 12.59 1.12E+05 5.095E+05 6.059E+05 4.339E+03 1.345E+03 3.737+03
Spindle and caliper 11.17 9.473E+04 1.261E+05 4.371E+04 -6.896E+02 -4.665E+03 1.361E+0
Stabilizer Bar Parts 3.60 1.000E+04 1.000E+04 1.000E+04 0.000E+00 0.000E+00 0.000E+0
T-Bar Crossmember 3.40 1.000E+03 1.000E+02 1.000E+03 0.000E+00 0.000E+00 0.000E+0
Tire, Wheel, Rotor 34.28 1.010E+06 1.010E+06 1.075E+06 0.000E+00 0.000E+00 0.000E+0
Subframe 0.10 1.000E-02 1.000E-02 1.000E-02 0.000E+00 0.000E+00 0.000E+0
Shock Upper 0.01 1.000E+00 1.000E+00 1.000E+00 0.000E+00 0.000E+00 0.000E+0
Shock Lower 0.01 1.000E+00 1.000E+00 1.000E+00 0.000E+00 0.000E+00 0.000E+0
(NOTE: Tire, Wheel, Rotor Part assumes inertias have Z as spin axis)

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

BUSHINGS (TYPE) PT BUSHING MODEL TYPE LEGEND OF MODEL TYPES


UCA Front Bushing 1 1 -3 = FIXED JOINT
UCA Rear Bushing 2 1 -2 = SPHERICAL JOINT
LCA Front Bushing 3 1 -1 = REVOLUTE JOINT
LCA Rear Bushing 4 -3 0 = FREE (NO JOINT)
Tie Rod Ball Stud 12 1 1 = STANDARD ADAMS BUSHING
Torsionbar Crossmember 27-28 1 2 = NONLINEAR PIECE
Sta Bar Rotational 61-63 1 RATE BUSHING MODEL
Sta Bar Link 63-66 1 3 = NONLINEAR SPLINE MODEL
Front Subframe Mount 91-92 -3 WITH HYSTERESIS
Rear Subframe Mount 93-94 0 4 = GFORCE NONLINEAR
Hub Compliance 9 0 SPLINE BUSHING
SPLINE BUSHING

SPRING RATES (TRANSLATIONAL AND ROTATIONAL)


RATE (N-mm) RATE (N-mm/rad)
RADIAL RADIAL AXIAL CONICAL CONICAL TO
BUSHINGS (RATES) PT (X) (Y) (Z) (X) (Y) (Z)
UCA Front Bushing 1 4.277E+03 4.277E+03 8.750E+02 5.671E+05 5.671E+05 8.8
UCA Rear Bushing 2 4.277E+03 4.277E+03 8.750E+02 5.671E+05 5.671E+05 8.8
LCA Front Bushing 3 6.195E+03 6.195E+03 7.500E+02 1.374E+06 1.374E+06 1.8
LCA Rear Bushing 4 1.868E+03 1.868E+03 6.250E+02 7.400E+05 7.400E+05 4.7
Tie Rod Ball Stud 12 5.256E+03 5.256E+03 5.256E+03 0.000E+00 0.000E+00 0.0
Torsional Crossmember 27-28 5.254E+03 5.254E+03 3.850E+02 1.487E+06 1.487E+06 9.0
Sta Bar Rotational 61-63 -3.300E+02 -3.300E+02 1.000E+02 2.500E+05 2.500E+05 2.0
Sta Bar Link 63-66 1.000E+04 1.000E+04 1.675E+03 2.000E+04 2.000E+04 1.0
Front Subframe Mount 91-92 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.0
Rear Subframe Mount 93-94 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.0
Hub Compliance 9 -9.990E+01 -9.990E+01 -9.990E+01 -9.990E+01 -9.990E+01 -9.
SLA Front Suspension Options 85
Construction Options

DAMPING RATES (TRANSLATIONAL AND ROTATIONAL)


DAMPING (N-s/mm) DAMPING (N-s/rad)
RADIAL RADIAL AXIAL CONICAL CONICAL TO
BUSHINGS (DAMPING) PT (X) (Y) (Z) (X) (Y) (Z)
UCA Front Bushing 1 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.0
UCA Rear Bushing 2 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.0
LCA Front Bushing 3 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.0
LCA Rear Bushing 4 5.000E+01 5.000E+01 2.500E+01 1.000E+03 1.000E+03 1.0
Tie Rod Ball Stud 12 5.000E+01 5.000E+01 2.500E+01 0.000E+00 0.000E+00 0.0
Torsional Crossmember 27-28 5.000E+01 5.000E+01 2.500E+01 1.000E+02 1.000E+02 1.0
Sta Bar Rotational 61-63 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.0
Sta Bar Link 63-66 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.0
Shock Lower 91-92 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.0
Shock Upper 93-94 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.0
Hub Compliance 9 -9.990E+01 -9.990E+01 -9.990E+01 -9.990E+01 -9.990E+01 -9.

(4) Torsion bar spring information should be entered.

SPRINGS (TORSION BAR)


1 = Spring attachment (1=Lower Arm 2=Upper Arm)
2.032E+05 = Young's modulus of torsion bar (emod)
7.600E+04 = Shear modulus of torsion bar (gmod)
0.01 = Damping ratio of torsion bar (cratio)
1.11 = Shear area ratio in y direction of torsion bar (asy)
1.11 = Shear area ratio in z direction of torsion bar (asy)
4 = Number of springs in table
4 = Is the number of the spring to be used
86 Adams/Chassis
Construction Options

WHEEL CAPACITY RADIUS FINISH ANGLES ACTIVE LENGTHS


PART RATE @ GROUND left right left right left right
NUMBER (lb/in) (lbs) (mm) (mm) (deg) (deg) (mm) (mm)
SP-A 200 2510.00 13.575 13.575 28.80 -25.90 1000.00 1000.00
SP-B 215.00 2710.00 13.880 13.880 29.70 -26.70 1000.00 1000.00
SP-C 235 2900.00 14.240 14.240 22.45 -21.50 1000.00 1000.00
Tuned 0.00 2900.00 14.100 13.540 24.00 -26.00 1000.00 1000.00

Trailing Arm - HOTCHKISS


Trailing arm can be turned on and off for HOTCHKISS rear suspension.
In this section, a trailing arm option for HOTCHKISS rear suspension is explained.
• Trailing Arm = ON: Connects to an Axle

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

Third, trailing arm parts information should be entered in PARTS table.

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.

Trailing Arm - SLA_COIL_TRAIL


Trailing arm options are available for SLA_COIL_TRAIL suspension. This section explains each trailing
arm option.
The following options are available ONLY for SLA_COIL_TRAIL rear suspension.
• Option 1: 3pc Beam
• Option 2: Rev Joint with Rotational Stiffness
• Option 3: Upper/Lower Spindle
• Option 4: Upper/Lower Control Arms
Trailing Arm - SLA_COIL_TRAIL 89
Construction Options

The example of a "Trailing Arm" option for SLA_COIL_TRAIL is shown below.

Option 1: 3pc Beam


For this option, a trailing arm is assumed to be a 3 piece beam element. The user has to enter 4 geometry
point to describe the beam element. The four geometry point is described in the figure below.
90 Adams/Chassis
Construction Options

The example of these points are:

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

Option 2: Rev Joint with Rotational Stiffness


If the user selects this option, Adams/Chassis will create a rev. joint and a spring rotational stiffness
between a trailing arm and a spindle. The following figure shows how a trailing arm is connected to a
spindle and a body when this option is selected.

To construct a trailing arm part, Adams/Chassis looks for "trailing_arm_body", "trailing_arm_spindle"


and "trailing_arm_spindle_ori" in a geometry table. It is also required to enter a "trailing arm rot. spring
rate (N/mm/rad)".
Option 3: Upper/Lower Spindle
In this option, one side of a trailing arm is connected to an upper and a lower spindle and the other side
of a trailing arm is connected to a body as shown below. Adams/Chassis will look
for"trailing_arm_body","trailing_arm_spindle" and "trailing_arm_to_spindle".
92 Adams/Chassis
Construction Options

The default c.g. of this option is located in the midpoint of "trailing_arm_spindle" and
"trailing_arm_to_spindle".

Option 4: Upper/Lower Control Arms


In this option, one side of a trailing arm is connected to an upper and lower control arms and the other
side of a trailing arm is connected to a body as shown below. Adams/Chassis looks for
"trailing_arm_body","trailing_arm_spindle" and "trailing_arm_to_spindle".
Trailing Arm - SLA_COIL_TRAIL 93
Construction Options

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

Twist Axle Options

The explanations of these twist axle options are described below.


• Option 1: 2-piece Twist Axle
• Option 2: 3-piece Twist Axle
• Option 3: Twist Beam
• Option 4: Arm + Half Axle
Twist Axle Options 95
Construction Options

Option 1: 2-piece Twist Axle

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

Option 3: Twist Beam

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

Option 4: Arm + Half Axle

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

Trailing Arm Options

Four trailing arm options are available.


Axle Attachment Option 103
Construction Options

Axle Attachment Option


Two axle attachment options are available. Axle can connects to either a spring pod or an arm.
104 Adams/Chassis
Construction Options

Spindle Compliance Option


Spindle compliance can be turned on and off by a construction option.

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

2. Axle attachment option has to be 2 (Arm) when a spindle compliance is off.

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

Two-Piece Drive Shaft


A two-piece driveshaft is available for use in Adams/Chassis Rear and All Wheel Drive powertrain
systems.

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

Two-Part Body Option


The vehicle body can be modeled as two separate parts with the two-part body option. The following data
needs to exist in your body file.

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

Upper Control Arm

Adams/Chassis currently supports 2 Upper Control Attachment options.


• Option 1: 1 part
• Option 2: 2 Links

A user can select these options in a CONSTRUCTION OPTIONS tab.

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

HardPointPair uca_rear (2)


HardPointPair upper_ball_joint (7)
PartPair upper_control_arm
ConnectorPair uca_front
ConnectorPair uca_rear

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).

Wheel Force Transducers


To assist in correlation studies, Adams/Chassis users can add Wheel Force Transducers (WFTs) to their
models. Wheel Force Transducers are data acquisition devices that attach to the spindle/axle and the
wheel. By attaching WFTs, test engineers can acquire wheel loads and displacements during full and half
vehicle simulations. If Adams/Chassis users add WFTs to their models they can accurately correlate their
models to the actual simulations. The inclusion of the WFT topology allows the wheel forces to be
captured at the correct point, the center of the wheel force transducer instead of the wheel center. This
will account for a change in the x-axis moment and mass effects seen by the WFT in a physical test setup.
Adding WFTs to an Adams/Chassis model would also be useful in prediction studies.
Wheel Force Transducers 111
Construction Options

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.

External Code Programming Language


In order to build an Adams/Chassis custom executable, the external code (compiled or not) must be
written in C or FORTRAN. Adams/Chassis will build interface functions in a different way depending
on which language is used, so it must be identified here.

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

Accelerometer Sensor Location Table


If you request any sort of acceleration inputs for your control system (Ax1, Ay1, and so on) you will have
to identify the location of the accelerometer sensors in vehicle coordinates, and add the necessary
acceleration sensors to your body subsystem file. Refer to the Adams/Chassis reference guide for
information regarding Acceleration Sensors.
114 Adams/Chassis
Converting data in Adams request Files to rpc-3 Format

Converting data in Adams request Files to rpc-3


Format
1. Before Running Your Adams Model
2. Compiling the Program
3. The inputs required from the user
4. How This Program Works
5. Program parameters
6. Program to convert the file format

Before Running Your Adams Model


The user should note the following before running the Adams model:
• Every request should have a comment (C=....). The comment is used to derive the channel
names. If comments do not exist the program will abort.
• Displacements are assumed to be in mm, velocities in mm/s, accelerations in mm/s^2 and forces
in Newtons.
• The first set of values (step=1) for all requests are assumed to be worthless data. To prevent this
data from affecting the calculation of scales, max, min etc., it is ignored and replaced by the
second set of values. (step =2).
• If the number of points in the request file is not an integral multiple of the number of points per
group (NPTGRP-see below) the remaining points (for which no values exist) are set equal to the
last available value for that particular channel.

Compiling the Program


Before the program is compiled for a particular CPU the value of the variable CPUTYPE must be
checked for correctness. Generally if the output of the program does not match the input, the source of
the trouble can be traced to this variable.

The inputs required from the user


• The name of the Adams request file.- If the input filename lacks an extension, a .req extension is
assumed.
• The desired name of the output rpc-3 format file.- The default filename has the same prefix as
the request file but with a .rsp extension.
• A choice between converting only the Translation components of the request file (columns 1, 2
& 3), only the Rotation components (columns 4, 5 &6) or All components, of the request file
data. If the request file is large it is a good idea to convert only the channels that are required.
• The date in the format dd-mmm-yyyy. eg. 10-OCT-1995

How This Program Works


The program scans the request file twice. The first time the following information is read-in:
Wheel Force Transducers 115
Converting data in Adams request Files to rpc-3 Format

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.

Program to convert the file format


It may be useful to read the help before running the program.
C ****************************************************************************
C ****************************************************************************
C
116 Adams/Chassis
Converting data in Adams request Files to rpc-3 Format

C The tasks performed by this program:


C
C (1) Interactively obtain the name of the req file, the rpc file, the date
C and also determine if all components are required or only the
C translation components or only the rotation components
C (2) Open the req file
C (3) Read in the header of the request file and determine the number of
C requests, request units and request names. The request id's will
C also be read at a later date so only selected requests can be read.
C (4) Scan through the data and determine the max and min values for each
C channel, and then the scales. Also determine the time step and the
C number of datq points for each channel.
C (5) Write the header of the rpc file.
C (6) Rewind the file and read in the data section of the request file and
C calculate the scaled two byte integer corresponding to each data
C value.
C (7) Write the data into the rpc file data section in the standard format.
C
C
C AUTHOR: PRASHANT RAO
C
C DATE: September 11, 1995
C
C Contact the author if you have any questions
C
C ****************************************************************************
C ****************************************************************************
INTEGER MAXCHAN, MAXREQ, NPTGRP, REC_LEN,
& MAXPAR, NPTREC, NPTFRAM
PARAMETER(MAXREQ=100,
& MAXCHAN=600,
& MAXPAR=3618)
C** Maxreq: The maximum number of requests allowed in the request file
C** An error message is received if this is exceeded and the program aborts
C** This parameter may be changed by the user.
C** Maxchan: The maximum number of channels allowed. This should be >= maxreq.
C** An error message is received if this is exceeded and the program aborts
C** This parameter may be changed by the user.
C** Maxpar: The maximum number of partitions in the header of the rpc file. This must
C** be set >=Maxchan*6+18. This parameter may also be changed by the user
C**
PARAMETER(NPTFRAM=1024,
& NPTGRP=2048,
& REC_LEN=512,
& NPTREC=256)
C**
C** The number of points per group (nptgrp) is set at 2048. This is the standard for
rpc-3
C** files and must not be changed. Also the number of points per frame (nptfram) is set
at
C** 1024 and number of points per record (nptrec) is 256
C**
C** The order of the bytes and the record length of the binary file varies depending on
the
C** CPU type. At present provision has been made for SGI, VAX and DECALPHA only. For
these
C** the record length is counted in 4-byte units hence RECL=128. Also byte swapping is
C** required for the SGI before writing into the rpc file.

INTEGER CPUTYPE, VAX, DECALPHA, SGI, IBM, IBMPC, CRAY, SPARC,


& SUN4, HP3, HP7, APOLLO
PARAMETER(VAX=0,
& DECALPHA=1,
& SGI=2,
& IBM=3,
& IBMPC=4,
& CRAY=5,
& SPARC=6,
Wheel Force Transducers 117
Converting data in Adams request Files to rpc-3 Format

& 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)

REAL CHDATA(MAXCHAN, NPTGRP)


REAL STIME, FTIME
DOUBLE PRECISION DELT
INTEGER NREQNO, NREQTYP(MAXREQ), IMARK, JMARK, NREQ, EOF, NPTS
INTEGER LENGTH, NRECL
INTEGER*2 ICHDAT(MAXCHAN,NPTGRP), IDAT(NPTREC), IDATMEM(MAXCHAN)
LOGICAL SWAPYES, ALL, TFLAG, RFLAG
EXTERNAL LENGTH, UNIT, READNAME

C >>>> Set the cputype below <<<< C


As of Sept 21, 1995 choose between SGI,
VAX or DECALPHA only CPUTYPE=DECALPHA
The value swapyes=.FALSE. depends on
whether binary data is written in big-endian
little-endian format
IF(CPUTYPE.EQ.SGI)
THEN
NRECL="REC_LEN/4"
ELSEIF((CPUTYPE.EQ.VAX).OR.(CPUTYPE.EQ.DECALPHA))
ENDIF
IFILE=25
IFILE1=15
IFILE3=50
5
WRITE(*,'(''Enter name request file
<.req>:'',$)')

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

& /''at step number '',I5)') ISTEP2


ENDIF
C
C Scanning for max and min values starting from istep eq 1 only
C
IF(ISTEP.GE.1) THEN
DO 120 I2=1,NCHREQ
J2=J+I2
IF(RDATA(I2).GT.CHANMAX(J2)) THEN
CHANMAX(J2)=RDATA(I2)
ENDIF
IF(RDATA(I2).LT.CHANMIN(J2)) THEN
CHANMIN(J2)=RDATA(I2)
ENDIF
120 CONTINUE
ENDIF
140 CONTINUE
ISTEP=ISTEP+1
GO TO 110
150 CONTINUE
C
C Determining scales
C
DO 160 I=1,NCHAN
XABSMAX=ABS(CHANMAX(I))
XABSMIN=ABS(CHANMIN(I))
IF(XABSMAX.GE.XABSMIN) THEN
XABS=XABSMAX
ELSEIF(XABSMAX.LT.XABSMIN) THEN
XABS=XABSMIN
ENDIF
SCALE(I)=XABS/32752
IF(SCALE(I).EQ.0.0) THEN
SCALE(I)=1.0
ENDIF
160 CONTINUE
NPTS=ISTEP
WRITE(*,'(//''File contains'',I5,'' requests'')') NREQ
WRITE(*,'(/''Number of channels is '',I5)') NCHAN
WRITE(*,'(''with'',I5,'' data points per channel'')') NPTS
NPARAM = 18+6*NCHAN
RPARAM=NPARAM
RBLOCKS=RPARAM/4.0
NBLOCKS=RBLOCKS
IF(RBLOCKS.GT.NBLOCKS)THEN
NBLOCKS=NBLOCKS+1
ENDIF
NHA_FRM=0
NREPEAT=0
RPTS=NPTS
RPTFRAM=NPTFRAM
RFRAME=RPTS/RPTFRAM
NFRAME=RFRAME
IF(RFRAME.GT.NFRAME)THEN
NFRAME=NFRAME+1
ENDIF

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

CALL HEADRITE(NBLOCKS, NPARAM, NPTFRAM, NCHAN, MAXCHAN,


& NPTGRP, NHA_FRM, NREPEAT, NFRAME, DELT, MAXPAR, DATE, INFILE,
& SCALE, CHANMAX, CHANMIN, CHNAME, CHUNIT, IFILE, NAME, VALUE)
WRITE(*,'(//''Finished writing header. '')')
OPEN(UNIT=IFILE3,
& ACCESS='DIRECT',
& RECL=2,
& ERR= 861,
& STATUS='SCRATCH')
GO TO 862
861 WRITE(*,'(//''Trouble opening a scratch file for data'')')
STOP
862 CONTINUE
RNREC=NPTS/NPTREC
NREC=RNREC
RNREC2=NREC
IF(RNREC.GT.RNREC2)THEN
NREC=NREC+1
ENDIF
RPTGRP=NPTGRP
RGRP=RPTS/RPTGRP
NGRP=RGRP
IF(RGRP.GT.NGRP)THEN
NGRP=NGRP+1
ENDIF
NREGRP=NPTGRP/NPTREC
REWIND(UNIT=IFILE1)
NSTART=3+2*NREQ
DO 350 II=1,NSTART
READ(IFILE1,*)
350 CONTINUE
WRITE(*,'(//''Writing the data . . .'')')
NPTREAD=0
DO 600 I=1, NGRP
DO 480 J=1, NPTGRP
C IF(NPTREAD.GE.NPTS) THEN
C i.e if all points have been read you have reached the end of the file
C ENDIF
READ(IFILE1, FMT=*, IOSTAT=EOF) STEP2
IF(EOF.LT.0) THEN
GO TO 481
ELSEIF(EOF.GT.0) THEN
WRITE(*,'(//''Trouble with the req file in second pass'')')
ENDIF
DO 460 K=1, NREQ
L=(K-1)*NCHREQ
IF(TFLAG) THEN
READ(IFILE1, *, IOSTAT=EOF) CHDATA(L+1,J), CHDATA(L+2,J),
& CHDATA(L+3,J)
ELSEIF(RFLAG) THEN
READ(IFILE1, *, IOSTAT=EOF) ALPHA, BETA, GAMMA,
& CHDATA(L+1,J), CHDATA(L+2,J), CHDATA(L+3,J)
ELSE
READ(IFILE1, *, IOSTAT=EOF) CHDATA(L+1,J), CHDATA(L+2,J),
& CHDATA(L+3,J), CHDATA(L+4,J), CHDATA(L+5,J), CHDATA(L+6,J)
ENDIF
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
! DO 430 J2=1,NCHREQ
! CHDATA(L+J2,1)=CHDATA(L+J2,2)
!430 CONTINUE
! ENDIF
IF(EOF.LT.0) THEN
GO TO 481
ELSEIF(EOF.GT.0) THEN
WRITE(*,'(//''Trouble reading req file '')')
ENDIF
122 Adams/Chassis
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

INTEGER IFILE, IFILE3, NRECNO, NPTREC


INTEGER*2 IDAT(NPTREC)
LOGICAL SWAPYES
CHARACTER*512 REC
CHARACTER*2 RCHAR
IF(SWAPYES) THEN
DO 20 I=1, NPTREC
WRITE(IFILE3,REC=1) IDAT(I)
READ(IFILE3,REC=1) RCHAR
J=(I-1)*2+1
REC(J:J)=RCHAR(2:2)
REC(J+1:J+1)=RCHAR(1:1)
20 CONTINUE
WRITE(IFILE, REC=NRECNO, ERR=900) REC
ELSE
126 Adams/Chassis
Converting data in Adams request Files to rpc-3 Format

WRITE(IFILE, REC=NRECNO, ERR=900) IDAT


ENDIF
GO TO 901
900 WRITE(*,'(//''Unable to write data to the rpc file'')')
901 RETURN
END
Wheel Force Transducers 127
Database

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

Default Session File


When you start Adams/Chassis, it looks for a file called achassis_defaultSession.xml in the current
working directory. If it does not find this file in the current working directory, it looks for the file
achassis_defaultSession.xml in $HOME. If Adams/Chassis finds the file in $HOME, it copies the file to
the current working directory.

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

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
92 panhard_at_body 94 panhard_at_axle

Hotchkiss Front Suspension


Hotchkiss Front Suspension 135
Front Suspensions

Geometry Hardpoints

1 front_leaf_eye (left) 2 front_leaf_eye (right)


7 leaf_spring_to_shackle2 (left) 8 leaf_spring_to_shackle2 (right)
20 shackle_to_frame (left) 21 shackle_to_frame (right)
9 wheel_center 10 contact_patch
11 spindle_align 12 tierod_outer
014 draglink_pitman_arm 14 draglink_tierod
19 kingpin_axis_point 1 1
51 second_stage_on_frame (left) 52 second_stage_on_frame (right)
53 second_stage_on_axle (left) 54 second_stage_on_axle (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
136 Adams/Chassis
Front Suspensions

MacPherson Front Suspension

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

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)
91 subframe_front (left) 92 subframe_front (right)
93 subframe_rear (left) 94 subframe_rear (right)

Multilink Front Suspension


138 Adams/Chassis
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

SLA with Coil Spring Front Suspension

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

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 Torsion Bar Front Suspension


SLA with Torsion Bar Front Suspension 141
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

Twin I Beam Front Suspension

Geometry Hardpoints

1 radius_arm_to_body (left) 2 radius_arm_to_body (right)


3 radius_arm_to_axle (left) 4 radius_arm_to_axle (right)
5 left_axle_to_body_pivot 6 right_axle_to_body_pivot
9 wheel_center 10 contact_patch
11 spindle_align 12 tierod_outer
012 drag_link_outer 014 drag_link_to_pitman
Twin I Beam Front Suspension 143
Front Suspensions

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])

double - The double precision number read in


prompt - The text string with which to prompt the user
default - Optional default double precision number for default value if user only issues a carriage
return.
help_txt- Optional String which will be displayed if user types a question mark. However, if the
help_txt begins with "http://" then the following URL will be sent to an HTML browser.

getint
Prompts for and reads in a integer number.
int = getint(" quoted prompt", [default], [help_txt])

int - The integer number read in


prompt - The text string with which to prompt the user
default - Optional default int number for default value if user only issues a carriage return
help_txt - Optional String which will be displayed if user types a question mark. However, if the
help_txt begins with "http://" then the following URL will be sent to an HTML browser.

getstring
Prompts for and reads in a string.
string = getstring((string) prompt, [default], [help_txt])
getspec 145
IO Functions

string - The string read in


prompt - The text statement with which to prompt the user
default - Optional default string for default value if user only issues a carriage return
help_txt - Optional String which will be displayed if user types a question mark. However, if the
help_txt begins with "http://" then the following URL will be sent to an HTML browser.

getspec
Prompts for and reads in a string representing a file specification. Environment variables are evaluated
and enterpreted
string = getspec((string) prompt)

string - The string read in prompt


prompt - The text statement with which to prompt the user

format
Defines the format a double precision variable will be printed out in the output file.
format((double) var, (int) form_num)

var - the variable to be formatted.


form_num - A 2-digit number representing the format of the variable.
The first digit is the number of places to print before the decimal point and the second
digit represents the number of places after the decimal point.
If a 100 is add to this two-digit number the variable will be printed out in scientific
notation.
If the form_num is in the nine hundreds (900-999) the scientific number is left justified
and pads spaces.
This is handy for fixed format input data- sets which some FEA codes require.

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

filenm - name of the file to be opened


unit - unit number of the file to be opened. Unit number zero (0) is reserved for the default
output file. Valid values are one to seven.

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,"! ")

Note: Applicable for versions compiled after 1996-11-10

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

Note: 1. The functionality is similar to the C standard library routine fprintf.


2. Available in programs compiled after 1995-08-21.

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",...,)

format - This is a quoted string indicating format of the string.


... - Optional number of variables

Note: 1. The functionality is similar to the C standard library routine printf.


2. Available in programs compiled after 08-21-95.

put
Writes text and variable values to the screen (stdout) (see fput).
put(text,var,text2,var2...,endln)

text,text2 - text to be written to the screen


var,var2 - variables whose values will be written to the screen
endln - writes a line feed to the screen
puts 149
IO Functions

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(" ... ")

Note: Argument must be a literal string enclosed in quotes.


150 Adams/Chassis
Graphics file

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

Leaf Spring Preprocessor

Leaf Spring Preprocessor: Axle Information


This section contains information pertaining to the axle/housing that is to be connected to the spring pack
modeled. This header is used by the preprocessor for finding this section.
152 Adams/Chassis
Leaf Spring Preprocessor

For the option: Do the following:


Extra Mass on the Dummy Axle (U-bolts, Specify the estimate of the unaccounted-for hardware
spacers, etc.) used to assemble the spring pack and connect it to the
axle.
The units are kg.
Reference Marker to Leafpack (bot- This value is the Z-height of the reference marker for the
OVERSLUNG, top-UNDERSLUNG) axle with respect to the coordinate system used to define
the leaf profile(s).
Front Inactive Length (mm) The front and rear inactive lengths are the lengths of the
Rear Inactive Length (mm) leaf spring, which are regarded as "rigid" near the X=0.0
point.
Reference Marker Height at Design Load The Z-height (mm) of the reference marker is used to
stop the simulation. Once the axle reaches this point, the
spring is assumed to be at design-load conditions and the
simulation will be halted.
Axle Mount Type (UNDERSLUNG OR Specifies whether the leaf spring pack is mounted above
OVERSLUNG) (OVERSLUNG) or below (UNDERSLUNG) the axle.
(Only the first character is read.)
Leaf Spring Preprocessor: Bushing Information 153
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.

Leaf Spring Preprocessor: Bushing Information


The Bushing Spring Rates and Bushing Damping Rates tabs are used to define the properties for all of
the bushings modeled. Learn more about:
• Bushing Spring Rates
• Bushing Damping Rates
154 Adams/Chassis
Leaf Spring Preprocessor

Bushing Spring Rates

For the option: Do the following:


Front Leaf Eye Bushing Specify the translational and rotational spring rates for the bushing
at the front of the leaf.
Leaf Spring to Shackle Bushing Specify the translational and rotational spring rates for the bushing
at the rear of the leaf.
Shackle to Frame Specify the translational and rotational spring rates for the bushing
at the point where the shackle connects to the chassis.
Leaf-to-Leaf Bushing Specify the translational and rotational spring rates for the lumped
parameter describing the connection of the leaves to each other at
the X=0.0 point.

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

Bushing Damping Rates

Specify the translational and rotational damping rates for the bushings.

Leaf Spring Preprocessor: Command Shell


The Leaf Spring Preprocessor is a tool that allows you to create beam-element leaf spring model. By
default, Adams/Chassis creates a rear leafspring. You can modify the options of the Leaf Spring
Preprocessor using the command shell or the dialog box. Learn how to use the Leaf Spring Preprocessor.

Changing options using the command shell

For the option: Do the following:


Front leafspring Use the -f option. For example,

achassis -makeleaf -f sample_front.ltf.


Bushings You have the option of using all standard Adams/Chassis bushing types. Use the -
b option. Specify either a front or rear Adams/Chassis datafile. For example:

achassis -makeleaf -b test_rst.xml sample_rear.ltf


achassis -makeleaf -f -b test_fst.xml sample_front.ltf
156 Adams/Chassis
Leaf Spring Preprocessor

For the option: Do the following:


Keep Bushings By default, the leaf eye and shackle bushings will not be included in the leaf model
file. To change this, use the -k option. For example:

achassis -makeleaf -b test_rst.xml -k sample_rear.ltf

Bushing information will remain in sample_rear.py, Adams/Chassis will not write


the bushings when the Adams/Chassis model is created with this leaf.

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

Leaf Spring Preprocessor: General Information


This section includes parameters that are thought of as describing the entire leaf spring set; later sections
take care of specific leaf/bushing properties.
Leaf Spring Preprocessor: Geometry 157
Leaf Spring Preprocessor

For the option: Do the following:


No. of Leaves Enter the total number of leaves in the spring you want in the
model.

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)

Leaf Spring Preprocessor: Geometry

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

Leaf Spring Preprocessor: Leaf 1


Leaf 1 is the top leaf of the main leaf stack. It has the eyehooks which are used to attach the leaves to the
chassis and shackle. In general, the rest of leafpack are located below Leaf #1; the exception is for an
AUXILLIARY leaf, which is mounted on top of the leafpack and contacts the chassis.

For the option: Do the following:


Auxilliary Leaf Flag Indicates whether the leaf being defined is an auxilliary leaf (1)
or not (0). This flag is actually not processed for Leaf 1, since
Leaf 1 is always the leaf with eyehooks. In fact, the auxilliary leaf
should generally be the last leaf specified.
An auxilliary leaf is located on top of the leafpack and, after the
leaf spring has been compressed to a point, the auxilliary leaf
contacts the chassis and augments the spring pack.
Front Leaf Length (mm) Enter the length of the front and rear sections of the leaf being
Rear Leaf Length (mm) defined, respectively, from the X=0.0 point defined in the profile.
No. of Elements per Front Leaf The leaf being defined will be broken up into discrete sections,
(<= 45) each of which will be modeled using an Adams beam element.
No. of Elements per Rear Leaf These two parameters define how many beam elements should be
(<= 45) used in discretizing the front and rear sections of the leaf,
respectively. A maximum of 45 elements per half-leaf has been
imposed for memory allocation purposes.
Leaf Spring Preprocessor: Leaf 1 159
Leaf Spring Preprocessor

For the option: Do the following:


Seat (Leaf Center) Thickness This parameter defines the thickness (Z-direction) of the leaf
(mm) being defined at the X=0.0 point. Be careful about conflicts when
assigning the Seat Thickness and the THICKNESS column in the
profile. If the tabular value at X=0.0 does not match the given
Seat Thickness value, then the Seat Thickness value will be used
at X=0.0. A warning message will be issued to this effect. (If you
want to let the tabular thickness value at X=0.0 take precedent,
enter 0.0 for the Seat Thickness value.)

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

For the option: Do the following:


Material Properties: Damping Specifies the ratio for calculating the structural damping matrix
for the beam. Adams/Solver multiplies the stiffness matrix by this
value to obtain the damping matrix.
ASY Specifies the correction factor for shear deflection in the Y (ASY)
ASZ and Z (ASZ) directions, according to Timoshenko beam theory.
These factors are used to the define the BEAM elements for the
current leaf.

1, if every point is to be used for fitting,


0, if First and Last points are the bushing points.
(If " 1 " is chosen, the shackle bushing point is to be estimated.)

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

For the option: Do the following:


Leaf Profile and Thickness This section is used to define the profile of the leaf and its
thickness. The X column defines the position along the arc length
of the spring, which is determined by flattening the spring. The Z
values define the curvature of the top of the spring at the points
on the spring which correspond to X. (This convention is used
because it is typically the way data is available.) There must be a
corresponding Z value for each X value entered.

The Thickness column defines the thickness of the leaf at each X


value. This column is flexible about the amount of data entered.
Data may be defined only at desired points, or at all points. The
only restriction is that at least ONE value must be entered. The
data are processed in the following manner:

• Empty points between defined points are linearly


interpolated
• Empty points at the ends of the spring (outside of defined
points) will be held constant at the last defined value
Thus, it is possible to define a constant thickness spring by
entering only one value; further, this value can be defined at any
X value. A "tapered" leaf, as used in early versions of the code,
can be defined by entering only the center and end-point
thickness values. Or, the whole leaf's thickness value may be
entered if they form a more complex geometry.

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.

In other words, the X-value at the center of the leaf


defined in the profile must be 0.0; this position is also
referred to as the seat of the leaf.
Also, since the coordinate system for Adams models has X
positive pointing REARWARD with respect to the vehicle, the
leaf spring data must have X positive pointing rearward and, of
course, X negative point forward.
162 Adams/Chassis
Leaf Spring Preprocessor

Leaf Spring Preprocessor: Leaf 2

• No. of Front Contact Points ( <= # of elements*2 )


No. of Rear Contact Points ( <= # of elements*2 )
These integer numbers define the number of CONTACT POINTS to be created for the front and
rear, respectively, for this leaf and the leaf directly above it. These contacts are used to keep the
leaves from passing through each other as they deflect, in effect modeling the physical contact of
the top of the current leaf with the bottom surface of the leaf above it.
A maximum of two contact points per beam element is allowed. (The number of beams used is
defined by the number of elements specified.)
• Center Gap Distance between Leaf #1 And #2 (liner thick.) (mm)
Front Gap Distance between Leaf #1 And #2 (liner thick.) (mm)
Rear Gap Distance between Leaf #1 And #2 (liner thick.) (mm) These values define the gap
between this leaf and the leaf above it, in mm. It is always defined as a positive number.

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

Leaf Spring Preprocessor: Leaf Clips


Leaf clips bind together the first stage leaves on a leaf spring suspension. They are intended to prevent
any separation of the leaves in the vertical and lateral direction, with little or no effect on longitudinal
movement. They can be installed in front, behind or both front and behind the wheel center.

Example
164 Adams/Chassis
Leaf Spring Preprocessor

Feature Number Clip Number


1 Distance from center bolt
2 Leaf number at bottom of clip
3 Leaf number at top of clip
4 Vertical inside height of clip
5 Vertical clip cover height
7 Lateral inside width of clip
8 Lateral clip cover thickness

Leaf Spring Preprocessor: Leaf Eyehook Information


Leaf Spring Preprocessor: Leaf Title 165
Leaf Spring Preprocessor

For the option: Do the following:


Front and Rear Eyehook Inner Enter the diameter of the inside of the
Diameter eyehook.
Front and Rear Eyehook Shape Select one:

Leaf Spring Preprocessor: Leaf Title


This is a typical header for a LEAFPRE template.

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

Leaf Spring Preprocessor: Shackle Information


This section header indicates that the following lines contain information describing the leaf spring
shackle.

For the option: Do the following:


Shackle Length Enter the physical length of the shackle part, from eye center to
eye center, specified in mm.
Shackle Mass (kg) Specify the mass of the leaf spring shackle in kg.
Shackle Inertia: Ixx (kg*mm**2) Specify the inertial properties of the leaf spring shackle, in the
(when it's laid in flat pos.) units shown.
Shackle Inertia: Iyy (kg*mm**2)
(x-dir. is its pointing dir.)
Shackle Inertia: Izz (kg*mm**2)
Shackle Location Select Front or Rear to specify whether the shackle is at the front
or rear of the leaf spring pack. (Only the first letter is read.)
Shackle Position Indicates whether the shackle is used in tension or compression.
Select one:

• COMPRESSION (above leaf) - If the leaf eye is below


the shackle-to-body point, the link is in compression.
• TENSION (below leaf) - If the leaf eye is above the
shackle-to-body point, the link is in tension.
Leaf Spring Preprocessor: Shackle Information 167
Main Toolbar

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

All Wheel Drive (IRS)


Front Wheel Drive 173
Powertrain types

Front Wheel Drive


174 Adams/Chassis
Powertrain types

Rear Wheel Drive (IRS)


Rear Wheel Drive (Solid Axle) 175
Powertrain types

Rear Wheel Drive (Solid Axle)


176 Adams/Chassis
Property Editor

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

3-Link Solid Axle Rear Suspension


178 Adams/Chassis
Rear Suspensions

Geometry Hardpoints

1 lca_front (left) 2 lca_front (right)


5 uca_front (left) 6 uca_front (right)
9 wheel_center 10 contact_patch
11 spindle_align 58 spring_seat_upper
59 spring_seat_lower wh white
31 lca_rear (left) 32 lca_rear (right)
35 uca_rear (left) 36 uca_rear (right)
61 arb_bushing (left) 62 arb_bushing (right)
63 droplink_bar (left) 64 droplink_bar (right)
68 bumper_mtl_upper 69 bumper_mtl_lower
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
92 panhard_body 94 panhard_link
4 Link Rear Suspension (multilink) 179
Rear Suspensions

4 Link Rear Suspension (multilink)


180 Adams/Chassis
Rear Suspensions

Geometry Hardpoints

1 lca_front (left) 2 lca_front (right)


5 uca_front (left) 6 uca_front (right)
9 wheel_center 10 contact_patch
11 spindle_align 58 spring_seat_upper
59 spring_seat_lower
31 lca_rear (left) 32 lca_rear (right)
35 uca_rear (left) 36 uca_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)
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
90 be_link_axle 97 ac_link_axle
94 panhard_link 96 panhard_aclink
92 panhard_body
4 Link Rear Suspension (watts link) 181
Rear Suspensions

4 Link Rear Suspension (watts link)


182 Adams/Chassis
Rear Suspensions

Geometry Hardpoints

1 lca_front (left) 2 lca_front (right)


5 uca_front (left) 6 uca_front (right)
9 wheel_center 10 contact_patch
11 spindle_align 58 spring_seat_upper
59 spring_seat_lower
31 lca_rear (left) 32 lca_rear (right)
35 uca_rear (left) 36 uca_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)
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 wattslink_body (left) 92 wattslink_body (right)
93 wattslink_axle (left) 94 wattslink_axle (right)
95 wattslink_rotation
4-Link Rear Suspension 183
Rear Suspensions

4-Link Rear Suspension

Geometry Hardpoints

1 lca_front (left) 2 lca_front (right)


5 uca_front (left) 6 uca_front (right)
9 wheel_center 10 contact_patch
11 spindle_align 58 spring_seat_upper
59 spring_seat_lower wh white
184 Adams/Chassis
Rear Suspensions

31 lca_rear (left) 32 lca_rear (right)


35 uca_rear (left) 36 uca_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)
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

Central Link Rear Suspension


Hotchkiss Rear Suspension 185
Rear Suspensions

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

Hotchkiss Rear Suspension


186 Adams/Chassis
Rear Suspensions

Geometry Hardpoints

1 front_leaf_eye (left) 2 front_leaf_eye (right)


7 leaf_to_shackle (left) 8 leaf_to_shackle (right)
20 shackle_to_frame (left) 21 shackle_to_frame (right)
9 wheel_center 10 contact_patch
11 spindle_align
51 second_stage_on_frame (left) 52 second_stage_on_frame (right)
53 second_stage_on_axle (left) 54 second_stage_on_axle (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
1000 leaf_spring_ref

Integral Link Rear Suspension


Integral Link Rear Suspension 187
Rear Suspensions

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

MacPherson Rear Suspension

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

Multilink Rear Suspension

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

71 bumper_lower (left) 72 bumper_lower (right)


75 bumper_upper (left) 76 bumper_upper (right)
55 damper_upper 56 damper_lower

Quadralink with Strut Rear Suspension

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

73 rebound_lower (left) 74 rebound_lower (right)


75 bumper_upper (left) 76 bumper_upper (right)
77 rebound_upper (left) 78 rebound_upper (right)

Quadralink with UCA Rear Suspension

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

71 bumper_lower (left) 72 bumper_lower (right)


73 rebound_lower (left) 74 rebound_lower (right)
75 bumper_upper (left) 76 bumper_upper (right)
77 rebound_upper (left) 78 rebound_upper (right)

Semi Trailing Arm with Shackle Rear Suspension

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

SLA Inverse LCA Rear Suspension

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

71 bumper_lower (left) 72 bumper_lower (right)


73 rebound_lower (left) 74 rebound_lower (right)
75 bumper_upper (left) 76 bumper_upper (right)
77 rebound_upper (left) 78 rebound_upper (right)

SLA Pendulum Rear Suspension

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

36 wishbone_to_subframe (left) 37 wishbone_to_subframe (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 Semi-Trailing Arm Rear Suspension

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

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

SLA Trailing Arm Rear Suspension

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

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
30 subframe_front (left) 31 subframe_front (right)
32 subframe_rear (left) 33 subframe_rear (right)

SLA with Coil Spring Rear Suspension

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

Solid Axle Trailing Arm Rear Suspension


Twist Axle Rear Suspension 199
Rear Suspensions

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

Twist Axle Rear Suspension


200 Adams/Chassis
Rear Suspensions

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

Column Description Units


Column Description Units
1 (X) Jounce bumper displacement mm
2 (Y) Jounce bumper force N
3 (Z) Jounce bumper metal-to-metal displacement mm
4 (R1) Jounce bumper metal-to-metal force N
5 (R2) Not used -
6 (R3) Not used -

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

The optional requests have 8-digit ID's:

|| | ||
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

Rebound Bumper Statistics

Column Description Units


1 (X) Rebound bumper displacement mm
2 (Y) Rebound bumper force N
3 (Z) Rebound Bumper Velocity mm/seconds
4 (R1) Rebound bumper damping force N
5 (R2) Not used -
6 (R3) Not used -
204 Adams/Chassis
Requests

Request 1, 2, 31001, 31002

Column Description Units


1 Force along X direction of RM marker N
2 Force along Y direction of RM marker. N
3 Force along Z direction of RM marker. N
4 Moment about X direction of RM marker. N-mm
5 Moment about Y direction of RM marker. N-mm
6 Moment about Z direction of RM marker. N-mm

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

Column Description Units


1 Left Front Tire Slip Angle deg
2 Right Front Tire Slip Angle deg
3 Left Rear Tire Slip Angle deg
4 Right Rear Tire Slip Angle deg
5 Left Outside Rear Tire Slip Angle (if used) deg
6 Right Outside Rear Tire Slip Angle (if used) deg

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

Column Description SI Units English Units


1 Vehicle Lateral Acceleration g g
2 Vehicle Yaw Rate deg/s deg/s
3 Vehicle Body Roll Angle deg deg
4 Vehicle Pitch Angle deg deg
5 Vehicle Sideslip Angle deg deg
6 Vehicle Longitudinal Velocity kph mph

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

Column Description SI Units English Units


1 Left Rear Tire Longitudinal Force N Lbs
2 Left Rear Tire Lateral Force N Lbs
3 Left Rear Tire Vertical Force N Lbs
4 Left Rear Tire Overturning Moment N-mm In-Lbs
5 Left Rear Tire Braking/Traction Torque N-mm In-Lbs
6 Left Rear Tire Aligning Torque N-mm In-Lbs
206 Adams/Chassis
Requests

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

Column Description SI Units English Units


1 Right Rear Tire Longitudinal Force N Lbs
2 Right Rear Tire Lateral Force N Lbs
3 Right Rear Tire Vertical Force N Lbs
4 Right Rear Tire Overturning Moment N-mm In-Lbs
5 Right Rear Tire Braking/Traction Torque N-mm In-Lbs
6 Right Rear Tire Aligning Torque N-mm In-Lbs

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

Column Description SI Units English Units


1 Left Front Tire Longitudinal Force N Lbs
2 Left Front Tire Lateral Force N Lbs
3 Left Front Tire Vertical Force N Lbs
4 Left Front Tire Overturning Moment N-mm In-Lbs
5 Left Front Tire Braking/Traction Torque N-mm In-Lbs
6 Left Front Tire Aligning Torque N-mm In-Lbs
Request 1053 207
Requests

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

Column Description SI Units English Units


1 Right Front Tire Longitudinal Force N Lbs
2 Right Front Tire Lateral Force N Lbs
3 Right Front Tire Vertical Force N Lbs
4 Right Front Tire Overturning Moment N-mm In-Lbs
5 Right Front Tire Braking/Traction Torque N-mm In-Lbs
6 Right Front Tire Aligning Torque N-mm In-Lbs

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

Column Description Units


1 Ideal Steer Radius mm
2 Average Steer Angle deg
3 Outside Turn Diameter mm
4 Linkage Ratio (pitman arm steering) OR Pinion-to-Rack Ratio (rack-and-pinion) -
5 Ackerman Angle deg
6 Percent Ackerman %
208 Adams/Chassis
Requests

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

Column Description Units


1 Left Front Toe Angle deg
2 Left Front Caster Angle deg
3 Left Front Camber Angle deg
4 Right Front Toe Angle deg
5 Right Front Caster Angle deg
6 Right Front Camber Angle deg

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

Column Description Units


1 Steering Wheel Angle deg
2 Pitman Arm Rotation OR Rack Travel deg OR mm
3 Difference between pitman arm rotation and steering gear rotation deg
4 Steering Wheel Angle at Adams joint deg
5 Steering System Angular Compliance deg
6 Angle at column SIM/STAT joint deg

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

Column Description SI Units English Units


1 Steering wheel rotation deg deg
2 Steering wheel torque N-mm in-Lbs
3 Torque in steering column rag joint N-mm in-Lbs
4 Lower intermediate shaft angle deg deg
5 Steering gear input shaft angle deg deg
6 Angular compliance between steering wheel and deg deg
steering gear input shaft

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)

Request 1137 (Lever Ration Calculation)


Computes the ratio of relative vertical displacement of wheel center to the axial displacement of shocks,
springs, and so on.
REQ/id, FUNCTION = USER (1137,wcm,wbm,shk1shk2)

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

Column Number Output:


Lever ratio
(not used)
(not used)
(not used)
(not used)
(not used)
Notes on Input and Output:
A total of 40 ratio calculations can be performed per simulation. Lever ratio is defined by:
(DM(shk1_new,shk2_new) - DM(shk1_old - shk2_old)) /
(DZ(wcm_new,wbm_new,wbm_new) - DZ(wcm_old,wbm_old,wbm_old))

where:
• new - displacements at current time step
• old - displacements at previous time step

Request 1703, 1704, 1705, 1706

Column Description Units


1 Lever ratio --
2 Not used --
3 Not used --
4 Not used --
5 Not used --
6 Not used --

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

Column Description Units


1 Left Rear Toe Angle deg
2 Left Rear Caster Angle deg
3 Left Rear Camber Angle deg
4 Right Rear Toe Angle deg
5 Right Rear Caster Angle deg
6 Right Rear Camber Angle deg

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

Column Description Units


1 X displacement in RM marker's coordinate system mm
2 Y displacement in RM marker's coordinate system mm
3 Z displacement in RM marker's coordinate system mm
4 Roll angle displacement in RM marker's coordinate system deg
5 Pitch angle displacement in RM marker's coordinate system deg
6 Yaw angle displacement in RM marker's coordinate system deg

Example
REQ/2108,DIS,I=21009,J=09210,RM=09210, C=TORSION BAR WINDUP ANGLE (mm
& deg)

Request 2109
212 Adams/Chassis
Requests

Column Description Units


1 Longitudinal Force in RM marker's coordinate system N
2 Lateral Force in RM marker's coordinate system N
3 Vertical Force in RM marker's coordinate system N
4 Moment about X axis in RM marker's coordinate system N-mm
5 Moment about Y axis in RM marker's coordinate system N-mm
6 Moment about Z axis in RM marker's coordinate system N-mm

Example
REQ/2109,FOR,I=21009,J=09210,RM=09210, C=TORSION BAR WINDUP FORCE (N
& Nmm)

Request 3030

Column Description Units


1 Longitudinal Acceleration G's
2 Lateral Acceleration G's
3 Steer Ratio N/A
4 Averaged Wheelbase Length mm
5 Not Used N/A
6 Not Used N/A

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

Column Description Units


1 Averaged Front Camber Angle w.r.t. Body Deg
2 Left Front Camber w.r.t. Body Deg
3 Right Front Camber w.r.t. Body Deg
4 Averaged Front Toe Angle w.r.t. Body Deg
5 Left Front Toe Angle w.r.t. Body Deg
6 Right Front Toe Angle w.r.t. Body Deg

Example
REQ/3032, FUNCTION=USER(1122, 10404, 10504, 5199, 0)/ , C=FRONT
SUSPENSION TUV TOE AND CAMBER (DEG)

Request 3034

Column Description Units


1 Averaged Rear Camber Angle w.r.t. Body Deg
2 Left Rear Camber w.r.t. Body Deg
3 Right Rear Camber w.r.t. Body Deg
4 Averaged Rear Toe Angle w.r.t. Body Deg
5 Left Rear Toe Angle w.r.t. Body Deg
6 Right Rear Toe Angle w.r.t. Body Deg

Example
REQ/3034,FUNCTION=USER(1122,35267,35268,5199,0)/ , C=REAR SUSPENSION
TUV TOE AND CAMBER (DEG

Request 3040

Column Description Units


1 Scaled Left Front String Pot Deflection mm
2 Scaled Right Front String Pot Deflection mm
3 Scaled Left Rear String Pot Deflection mm
4 Scaled Right Rear String Pot Deflection mm
5 Body-on-chassis Roll Angle Deg
6 Body-on-chassis Pitch Angle Deg
214 Adams/Chassis
Requests

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

Column Description Units


1 Left Rear Spindle X Displacement mm
2 Left Rear Spindle Y Displacement mm
3 Left Rear Spindle Z Displacement mm
4 Left Rear Spindle Yaw Angle deg
5 Left Rear Spindle Pitch Angle deg
6 Left Rear Spindle Roll Angle deg

Example
REQ/5023,DIS,I=35267,J=5023,C=LEFT REAR SPINDLE RISE

Request 5024

Column Description Units


1 Right Rear Spindle X Displacement mm
2 Right Rear Spindle Y Displacement mm
3 Right Rear Spindle Z Displacement mm
4 Right Rear Spindle Yaw Angle deg
5 Right Rear Spindle Pitch Angle deg
6 Right Rear Spindle Roll Angle deg

Example
REQ/5024,DIS,I=35268,J=5024,C=RIGHT REAR SPINDLE RISE

Request 5109
Request 5110 215
Requests

Column Description Units


1 Left Front Spindle X Displacement mm
2 Left Front Spindle Y Displacement mm
3 Left Front Spindle Z Displacement mm
4 Left Front Spindle Yaw Angle deg
5 Left Front Spindle Pitch Angle deg
6 Left Front Spindle Roll Angle deg

Example
REQ/5109,DIS,I=0409, J=5309,C=LEFT FRONT SPINDLE RISE

Request 5110

Column Description Unit


1 Right Front Spindle X Displacement mm
2 Right Front Spindle Y Displacement mm
3 Right Front Spindle Z Displacement mm
4 Right Front Spindle Yaw Angle deg
5 Right Front Spindle Pitch Angle deg
6 Right Front Spindle Roll Angle deg

Example
REQ/5110,DIS,I=0509,J=5409,C=RIGHT FRONT SPINDLE RISE

Request 5111, 5025

Column Description Units


1 Suspension Roll Angle deg
2 Suspension Roll Torque N-mm
3 Null -
4 Null -
5 Null -
6 Null -
216 Adams/Chassis
Requests

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

Column Description Units


1 Global X Position at Gyro mm
2 Global Y Position at Gyro mm
3 Global Z Position at Gyro mm
4 Sprung Mass Yaw Angle deg
5 Sprung Mass Pitch Angle deg
6 Sprung Mass Roll Angle deg

Example
REQ/5150,DIS,I=5199,J=0100,C=GLOBAL GYRO DISPLACEMENT

Request 5160

Column Description Units


1 Front Lift/Dive X Displacement mm
2 Front Lift/Dive Y Displacement mm
3 Front Lift/Dive Z Displacement mm
4 Front Lift/Dive Yaw Angle deg
5 Front Lift/Dive Pitch Angle deg
6 Front Lift/Dive Roll Angle deg

Example
REQ/5160,DIS,I=0080,J=5151,C=FRONT LIFT/DIVE DISPLACEMENT
Request 5161 217
Requests

Request 5161

Column Description Units


1 Rear Lift/Dive X Displacement mm
2 Rear Lift/Dive Y Displacement mm
3 Rear Lift/Dive Z Displacement mm
4 Rear Lift/Dive Yaw Angle deg
5 Rear Lift/Dive Pitch Angle deg
6 Rear Lift/Dive Roll Angle deg

Example
REQ/5161,DIS,I=0081,J=5152,C=REAR LIFT/DIVE DISPLACEMENT

Request 5163

Column Description SI Units English Units


1 Body X Displacement m feet
2 Body Y Displacement m feet
3 Body Z Displacement m feet
4 Body Yaw Angle deg deg
5 Body Pitch Angle deg deg
6 Body Roll Angle deg deg

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

Column Description SI Units English Units


1 X Velocity at Gyro kph mph
2 Y Velocity at Gyro kph mph
3 Z Velocity at Gyro kph mph
4 Body Roll Velocity deg/s deg/s
5 Body Pitch Velocity deg/s deg/s
6 Body Yaw Velocity deg/s deg/s

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

Column Description SI Units English Units


1 X Acceleration at Gyro kph mph
2 Y Acceleration at Gyro kph mph
3 Z Acceleration at Gyro kph mph
4 Body Roll Acceleration deg/s deg/s
5 Body Pitch Acceleration deg/s deg/s
6 Body Yaw Acceleration deg/s deg/s

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

Column Description Units


1 Turn Radius m
2 Not Used N/A
3 Not Used N/A
4 Not Used N/A
5 Not Used N/A
6 Not Used N/A

Example
REQ/5166,FUNCTION=USER(1140,5100,2,1.0000e-03)/
Custom Adams Request Subroutine: USER 1140 (see Turn Radius)

Request 5170

Column Description Units


1 Vehicle Instant Understeer (slip angles) deg/g
2 Vehicle Instant Roll Gradient deg/g
3 Vehicle Instant Sideslip Gradient deg/g
4 Vehicle Instant Steering Sensitivity g/100 deg SWA
5 Vehicle Instant Understeer (steer angle) deg/g

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)

Request 6109, 6110, 6209, 6210


220 Adams/Chassis
Requests

Column Description Units


1 X displacement mm
2 Y displacement mm
3 Z displacement mm
4 Yaw angle displacement deg
5 Pitch angle displacement deg
6 Roll angle displacement deg

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

Column Description Units


1 X displacement mm
2 Y displacement mm
3 Z displacement mm
4 Yaw angle displacement deg
5 Pitch angle displacement deg
6 Roll angle displacement deg

Examples
REQ/6110,DIS,I=122001,J=5410,C=RIGHT FRONT CONTACT PATCH MOTION

Request 6111, 6112, 6211, 6212

Column Description Units


1 Longitudinal Force N
2 Lateral Force N
3 Vertical Force N
Request 6661, 6662 221
Requests

Column Description Units


4 Overturning Moment N-mm
5 Pitch moment N-mm
6 Aligning Moment N-mm

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

Request 6661, 6662

Column Description Units


1 Longitudinal Force N
2 Lateral Force N
3 Vertical Force N
4 Overturning Moment N-mm
5 Moment about Spin Axis N-mm
6 Aligning Moment N-mm

Example
REQ/6661,FOR,I=10409 C=LEFT FRONT FORCE ON SPINDLE
REQ/6662,FOR,I=10509 C=RIGHT FRONT FORCE ON SPINDLE

Request 6663, 6664

Column Description Units


1 Longitudinal Force N
2 Lateral Force N
3 Vertical Force N
4 Overturning Moment N-mm
5 Moment about Spin Axis N-mm

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

Column Description Units


1 Front total lateral load transfer N
2 Rear total lateral load transfer N
3 Percent of total lateral load transfer at front %
4 Front axle slip angle deg
5 Rear axle slip angle deg
6 Neutral steer at steering wheel deg

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

Column Description Units


1 (X) Left front air spring displacement mm
2 (Y) Left front air spring force N
3 (Z) Left front trim load N
4 (R1) Right front air spring displacement mm
5 (R2) Right front air spring force N
6 (R3) Right front trim load N

Example: Auto trim load


REQ/15144,
, F2=DM(110244,105143)/ Left Displacement
, F3=SFORCE(1309,0,1,0)/ Left Force
, F4=DIF(1309)/ Left Trim Load
, F6=DM(1103044,1051043)/ Right Displacement
, F7=SFORCE(1310,0,1,0)/ Right Force
, F8=DIF(1310)/ Right Trim Load
, C=FRONT AIR SPRING STATISTICS/
, TITLE=Air_Spring_Statistics_FRONT
, CNAMES = ""
, "Left_Displacement"
, "Left_Force"
, "Left_TrimLoad"
Request 15158 223
Requests

,""
, "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

Column Description Units


1 (X) Left front coil spring displacement mm
2 (Y) Left front coil spring force N
3 (Z) Right front coil spring displacement mm
4 (R1) Right front coil spring force N
5 (R2) Null -

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

, F6=FM(2526,5124)/ Right Force


, C=FRONT COIL SPRING STATISTICS/
, TITLE=null:L_Disp:L_Force:R_Disp:null:R_Force:null:null

Request 15189

Column Description Units


1 (X) Left front shock velocity mm/s
2 (Y) Left front shock force N
3 (Z) Left front shock displacement mm
4 (R1) Right front shock velocity mm/s
5 (R2) Right front shock force N
6 (R3) Right front shock displacement mm

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

Column Description Units


1 (X) Left front torsion bar constraint X force N
2 (Y) Left front torsion bar constraint Y force N
3 (Z) Left front torsion bar constraint Z force N
Request 17002 225
Requests

Column Description Units


4 (R1) Left front torsion bar constraint X torque N-mm
5 (R2) Left front torsion bar constraint Y torque N-mm
6 (R3) Left front torsion bar constraint Z torque N-mm

Example
REQ/17001,FOR,I=17001,J=17301,RM=0100
,C=LEFT FRONT TORSION BAR CONSTRAINT FORCE

Request 17002

Column Description Units


1 (X) Right front torsion bar constraint X force N
2 (Y) Right front torsion bar constraint Y force N
3 (Z) Right front torsion bar constraint Z force N
4 (R1) Right front torsion bar constraint X torque N-mm
5 (R2) Right front torsion bar constraint Y torque N-mm
6 (R3) Right front torsion bar constraint Z torque N-mm

Example
REQ/17002,FOR,I=17002,J=17401,RM=0100
,C=RIGHT FRONT TORSION BAR CONSTRAINT FORCE

Request 35144

Column Description Units


1 (X) Left rear air spring displacement mm
2 (Y) Left rear air spring force N
3 (Z) Right rear trim load N
4 (R1) Right rear air spring displacement mm
5 (R2) Right rear air spring force N
6 (R3) Right rear trim load N

Example: Auto trim load


REQ/35144,
, F2=DM(335244,305143)/ Left Displacement
226 Adams/Chassis
Requests

, F3=SFORCE(3309,0,1,0)/ Left Force


, F4=DIF(3309)/ Left Trim Load
, F6=DM(3352044,3051043)/ Right Displacement
, F7=SFORCE(3310,0,1,0)/ Right Force
, F8=DIF(3310)/ Right Trim Load
, C=REAR AIR SPRING STATISTICS/
, TITLE=Air_Spring_Statistics_REAR
, 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_REAR
Example: User-specified trim load
REQ/35144,
, F2=DM(335244,305143)/ Left Displacement
, F3=SFORCE(3309,0,1,0)/ Left Force
, F4=l_trim_load/ Left Trim Load
, F6=DM(3352044,3051043)/ Right Displacement
, F7=SFORCE(3310,0,1,0)/ Right Force
, F8=r_trim_load/ Right Trim Load
, C=REAR AIR SPRING STATISTICS/
, TITLE=Air_Spring_Statistics_REAR
, 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_REAR

Request 35158

Column Description Units


1 (X) Left rear coil spring displacement mm
2 (Y) Left rear coil spring force N
3 (Z) Right rear coil spring displacement mm
Request 35189 227
Requests

Column Description Units


4 (R1) Right rear coil spring force N
5 (R2) Null -
6 (R3) Null -

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

Column Description Units


1 (X) Left rear shock velocity mm/s
2 (Y) Left rear shock force N
3 (Z) Left rear shock displacement mm
4 (R1) Right rear shock velocity mm/s
5 (R2) Right rear shock force N
6 (R3) Right rear shock displacement mm

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

, F8=DM(38801,39001)/ Right Displacement


, C=REAR SHOCK STATISTICS/
, TITLE=null:L_Vel:L_Force:L_Disp:null:R_Vel:R_Force:R_Disp

Request 35192

Column Description Units


1 (X) Left rear rebound bumper velocity mm/s
2 (Y) Left rear rebound bumper damping force N
3 (Z) Right rear rebound bumper velocity mm/s
4 (R1) Right rear rebound bumper damping force N
5 (R2) Null -
6 (R3) Null -

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

Column Description Units


1 X directional force in RM marker coordinate system N
2 Y directional force in RM marker coordinate system N
3 Z directional force in RM marker coordinate system N
4 Moment about X axis in RM marker coordinate system N-mm
5 Moment about Y axis in RM marker coordinate system N-mm
6 Moment about Z axis in RM marker coordinate system N-mm
STI and Adams/Tire Request 229
Requests

Example
REQ/99993,FOR,I=0791,RM=0891,C=BOOST FORCE

STI and Adams/Tire Request


Description: The Tire model outputs such as tire forces and slip angles can be accessed through the
standard Adams/Chassis requests. If the user needs to access tire results not available under Commonly
Used Requests (see Postprocessing Requests), then the user can use the Adams/Tire requests.
For more information on STI and Adams/Tire Requests see Adams/Tire online help.
230 Adams/Chassis
Scalar Functions

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

SDM Bushing Models

Spring and Viscous Damper Model


• f(t) = k x(t) + c dx(t)/dt
• F(j) = (k + j c) X(j)
• Dynamic Stiffness is the magnitude of the force per unit deflection at each frequency

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

Fit to a Typical Bushing Data:

Spring and Hysteretic Damper Model


• No time domain equation
• F(j) = (k + jc) X(j)
• Dynamic Stiffness is the magnitude of the force per unit deflection at each frequency
2 2
K   = K + c 
• Loss angle is the phase angle between applied displacement and resulting force
() = arctan(c/k)
Spring and Hysteretic Damper Model 233
SDM Bushing Models
234 Adams/Chassis
SDM Bushing Models

Fit to the Same Bushing Data


SDM Bushing Model Structure 235
SDM Bushing Models

SDM Bushing Model Structure


• Voight element for stiffness and linear damping
• The linear spring is replaced by nonlinear forcedeflection curve based on quasistatic data
• Maxwell elements to represent elastomer relaxation
236 Adams/Chassis
SDM Bushing Models

Static high order rubbermount model


SDM Model – Fit to the Same Bushing Data 237
SDM Bushing Models

SDM Model – Fit to the Same Bushing Data


238 Adams/Chassis
SDM Bushing Models

SDM Hydromount Model Structure


• Bushing model in parallel with hydraulic system dynamics model
• Static stiffness, k, is replaced by nonlinear force-deflection curve based on quasistatic data
SDM Hydromount Model Structure 239
SDM Bushing Models

Static high order hydromount model


240 Adams/Chassis
SDM Bushing Models

SDM Model – Fit to a Typical Hydromount Data


Relationship Between Static and Dynamic Behavior 241
SDM Bushing Models

Relationship Between Static and Dynamic Behavior

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

Small Deflection Dynamic Behavior


• Spring-damper model is noisy, due to high frequency content in the excitation, where the
damping estimate is poor
• Static spline model under-predicts the response since it lacks the dynamic effects that SDM has.
244 Adams/Chassis
SDM Bushing Models

Large Deflection Dynamic Behavior


• Similar results as before.
• KC20 model simply scales the response, as the excitation is scaled.
• SDM and Spline models simulate the non-linear behavior.
Large Deflection Dynamic Behavior 245
Shortcut menu

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.

Aerodynamic Forces and Moments


To model the aerodynamic forces and moments which act on a vehicle, you use a Solver routine. For
more information click here.
Air Spring Trim Load Calculation 247
Solver Routines

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

Align or Adjust Suspension


This function runs one or more static solutions, for example, to adjust tie rod length to set desired toe
angle. Adams/Car adds a call to this function when the assembly contains adjustable forces.
Invoke this function by typing the following command
CONTROL/ FUN=USER(900)\

Application of Random Steer Input


This routine applies the 'random steer' motion to the steering wheel. The output of this routine is actually
what is known as a 'swept-sine' which is a sine-waveform of constant magnitude but steadily increasing
frequency.This implementation sweeps through the discrete frequencies which are defined in array F.
Each frequency is exercised for the amount of time equal to one period at that frequency. The user
specifies the amplitude and maximum frequency required in the parameter array as shown below.
MOTION/id, JOINT = jid, ROTATION
, FUN=USER (1110, amp, freq )
where:

id = Motion statement id
248 Adams/Chassis
Solver Routines

jid = Joint id at which the motion is applied


amp = Steering amplitude integer degrees
freq = Maximum steering frequency integer Hz

Automated Suspension Alignment Routine


An Adams model of a vehicle is usually built at design height with the front and rear wheels oriented
using the wheel center MARKERs and the spindle orientation MARKERs. This procedure, though
correct, does not ensure proper vehicle alignment at the curb position. This is due to suspension
compliances, geometry, and unsymmetric loading of the vehicle. To ensure proper toe, caster, and camber
for simulations, the Adams model should be aligned at the curb position once model build is complete.
The routine described in this section performs an automated alignment on an Adams model using user
defined alignment specifications. The program adjusts standard MOTION statements until the vehicle
alignment specifications agree within 0.01 of the user desired values (or after 25 iterations have been
run). The output MOTION statement values are then written to a file for easy inclusion into an Adams
model.
To use the program, the Adams model must first be setup to the correct loading condition (curb or curb
plus driver) and contain the following MOTION statements and ARRAYS:
For a front suspension -
MOTION/81 - translational or revolute joint in left tie rod
MOTION/82 - translational or revolute joint in right tie rod
MOTION/83 - translational or revolute joint for left wheel caster change
MOTION/84 - translational or revolute joint for right wheel caster change
MOTION/85 - translational or revolute joint for left wheel camber change
MOTION/86 - translational or revolute joint for right wheel camber change
ARRAY/aryid1, NUM = 10,0,lkam,lwcm,0.0,rkam,rwcm,brm
where:
aryid1 = front suspension aligner array id
lkam = left front kingpin axis MARKER id
lwcm = left front wheel center MARKER id
rkam = right front kingpin axis MARKER id
rwcm = right front wheel center MARKER id
For a rear suspension -
MOTION/181 - translational or revolute joint for left toe change
MOTION/182 - translational or revolute joint for right toe change
MOTION/183 - translational or revolute joint for left wheel caster change
MOTION/184 - translational or revolute joint for right wheel caster change
MOTION/185 - translational or revolute joint for left wheel camber change
MOTION/186 - translational or revolute joint for right wheel camber change
ARRAY/aryid2, NUM = 10,0,lkam,lwcm,0.0,rkam,rwcm,brm
Automated Suspension Alignment Routine 249
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:

altype = alignment type to be performed


1105 - Front suspension
1106 - Rear suspension
jpr_ary = Id of array containing the necessary jprims, motions, sforce ids to perform full vehicle
static equilibrium. For half vehicle models the dataset need not have jpr_ary but a
parameter must be passed as jpr_ary in con/1105 or con/1106
pid = output printing flag
0 - do not print output MOTION statements to a file (default)
1 - print the output MOTION statements to a file named "alignmot.txt"
aryid3 = Array Id of desired toe,caster camber values in degrees
ARRAY/aryid3, NUM = left toe, left caster, left camber, right toe, right caster,
right camber
aryid4 = Aligner array id of kingpin, spindle markers
aryid4 = aryid1 for front suspensions
aryid4 = aryid2 for rear suspensions
aryid5 = Array id of initial alignment values in degrees
ARRAY/aryid5, NUM = left toe, left caster, left camber, right toe, right caster,
right camber
250 Adams/Chassis
Solver Routines

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.

Brake Torque Application


In Adams/Chassis, the torque required for braking is applied through a user-written VTORQUE
subroutine. To decelerate the vehicle at the user specified value, this routine accesses the necessary brake
torque from a Proportional-Integral Braking Controller (see Braking Controllers). The brake torques are
applied at the wheels and are reacted at the spindles. The VTORQUE statement to invoke the brake
torque application should be as follows:
VTORQUE/id, I = imrk, JFLOAT = jmrk, RM = rmrk
, FUN=USER (1106, itire, difid,spd_var )
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 = (Optional) Id of the differential equation balancing the longitudinal
reaction force on the body to ground inline jprim.
spd_var = Variable id representing wheel speed. Wheel speed is used to stop
applying torque, when the wheel starts to spin in the opposite direction.
Calculation of rise-to-curb controller errors 251
Solver Routines

Calculation of rise-to-curb controller errors


This routine computes the error between the Z displacement between two markers and a desired
displacement. The desired displacement zero. The routine is used in conjunction with rise to curb event
(see Half Vehicle Rise to Curb Setting).
DIFF/id, IC = 0.0
, FUN=USER (1110, imrk, jmrk, gain,target )
where:

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.

Calculation of steady state controller error


This routine computes the error between the force/torque on a jprim and a desired force/torque. The
desired force/torque is always zero. Typically this routine is used in conjuction with all Adams/Chassis
static simulations (see User SIMULATE/STATIC Routines) of full vehicle models, where the residual
forces on the body to ground jprims and wheel to spindle jprims are driven to zero so that there are no
initial transient effects when dynamic simulation is performed immediately following a static simulation.
DIFF/id, IC = 0.0
, FUN=USER (904, gain, jprid, comp,rmrk, gfoid )
where:

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.

Calculation of traction/braking controller errors


This routine computes the error between a desired quanity and an instantanous quanity. The "quanity"
may be displacement, velocity, acceleration or force between an "I" marker and a "J" marker along the
shadow of the X axis of the "I" marker on the ground plane. The calling diffsub/diff computes the integral
of the error. The desired quantity is set by the user in a spline statement or as a constant. If the desired
quantity is set in a spline statement, the quantity can vary with time. Typically this routine works in
conjunction with Traction Controller (PI) and Braking Controllers.
DIFF/id, IC = 0.0
, FUN=USER (1102, spid, imot, bm, gm )
where:

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

Determination of Continuous Angular Displacement


Angular displacement output obtained using the Adams standard functional request are discontinuous at
-PI and PI (for pre adams 9.1 releases). In order to avoid such discontinuity and to output the total angular
displacement when the displacement goes beyond 2PI, a variable user function is used. This function
determines only the angular displacement of I marker about the Z axis of the J marker. The syntax to
invoke this variable function is as follows:
Determination of Marker Translational Velocity 253
Solver Routines

VARIABLE/id, FUN=USER (1102, imar, jmar)


where:

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

Determination of Marker Translational Velocity


This function can be used to determine the translational velocity of any user specified marker with repect
to ground
The syntax to access this function is as follows:
VARIABLE/id, FUN=USER (1110,imrk, comp, rmrk)
where:

id = Variable statement id
imrk = Marker id whose velocity is requested

comp = Velocity component requested


0 = magnitude of the velocity
1 = magnitude of the velocity
2 = Longitudinal velocity along X axis of rmrk
3 = Longitudinal velocity along Y axis of rmrk
4 = Longitudinal velocity along Z axis of rmrk
rmrk = (Optional) Reference marker in whose coordinate system the output is given (default =
0)

Determination of Steering Wheel Angle from Steady State Cornering


Analysis
This consub is used to extract the steering wheel angle required for a certain steady state cornering event.
The function is useful for events such as brake in turn, where the vehicle can be subjected to a desired
lateral acceleration through Static Steady-State Cornering Equilibrium. After the static event, the steering
wheel can be locked at the value returned by this function and a transient braking event can be performed.
Typically this consub will overwrite an array value with the steering wheel angle calculated from the
steady state event. This array value can then be accessed in a motion command to specify the steering
wheel input.
254 Adams/Chassis
Solver Routines

The syntax to access this function is as follows


CONTROL/FUN=USER (1142, aryid)
where:

aryid = Array id whose value is replaced with steering input angle

Drive Torque Application


In Adams/Chassis the torque required to drive a vehicle is applied through a user written VTORQUE
subroutine. In order to maintain the vehicle velocity at the user specified value, this routine accesses the
necessary torque from Proportional-Integral Traction Controller (seeTraction Controller (PI) ). Based on
the presence of a simple power train model, the torques are applied either at the wheel/spindle location
or at the halfshaft/subframe location. For models without a powertrain, the torques are applied at the
wheel and reacted on the subframe. The VTORQUE statement for such a model should be as follows:
VTORQUE/id, I = imrk, JFLOAT = jmrk, RM = rmrk
, FUN=USER (1105, itire, difid, pwr_lmt )
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 = (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

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

trarat = Transmission ratio

sclfac = (Optional) Scale factor for unit conversion of torque (default is N-mm)

revlim = (Optional) Revolution limiter for engine speed

gearrat = (Optional) Gear ratio variable id. If variable representing gearrat is present then trarat
is overwritten by the value of gearrat

Drive Torque Application for Powertrain Models


In addition to the simple powertrain models (see Powertrain Modeling), Adams/Chassis supports the
modeling of driveshafts in powertrain models. The torque required to drive the vehicle is determined
from a torque-speed spline and is applied at the driveshaft. The VTORQUE statement for such a model
should be as follows:
VTORQUE/id, I = imrk, JFLOAT = jmrk, RM = rmrk
, FUN=USER (1120, thrid, spdid, splid, sclfac, revlim )
256 Adams/Chassis
Solver Routines

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

Extracting Request Output Through Variable Statements


Any USER REQUEST variable can now be accessed in the Adams data set using the VARVAL
command. This feature is useful in situations such as the design of control systems in Adams models. The
Oncenter Control analysis in Adams/Chassis uses the same principle with different branch id's (1610,
1611). Given a USER REQUEST statement of the following form:
REQ/id, FUNC=USER(par_list)
where:

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:

OUTPUT FILE REQUEST FILE


Column Number Column Number
1 NOT USED
2 1
3 2
4 3
5 NOT USED
6 4
7 5
8 6

A example of the above utility is shown below:


REQ/1050,FUNC=USER(1020,3,0.22482,0.0088512)
VAR/1050,FUNC=USER(1106,4,1020,3,0.22482,0.0088512)
In this example VAR/1050 is defined as OUTPUT column 4 (REQ column 3) of REQUEST/1050 (left
rear tire force).

Fixed Body Equilibrium


The fixed body equilibrium solution should be employed when the user requires a static solution at zero
vehicle forward speed. This condition arises in simulations such as aligning the suspension of a vehicle.
In this scenario, the CONSUB will not apply the tire lateral forces and moments since the vehicle is
assumed to be resting on friction-less plates. Adams/Chassis automatically writes out a full vehicle model
with JPRIMS attaching the body to ground. These JPRIMS constrain the sprung mass in lateral and
longitudinal displacement as well as yaw.
The CONSUB can be invoked in the fixed body equilibrium mode by typing the following at the Adams
prompt:
CONTROL/FUN=USER (1010,jpr_ary,halt)

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.

Front Suspension Static Vehicle Characteristics (SVC)


SVC is a set of utility routines used to compute Static Vehicle Characteristics such as wheel rate, anti-
dive, anti-pitch for suspensions.
The CONSUB can be invoked to perform a front suspension SVC by typing the following control
command:
CONTROL/FUN=USER (1112,jpr_ary,cflag,tflag,vflag,ctime)
where:

jpr_ary = Id of array containing the necessary jprims, motions, sforce ids to perform the static
equilibrium

cflag = (Optional) Units Conversion Flag (default = 0)


0 = output units the same data-set units, no conversion performed
1 = output in converted units. The SVCs are calculated in data-set units then
converted according to the conversion factors provided in ARRAY/9912 and labeled
according to STRING statements 1, 2, 3, 4, and 5.
2 = output SVCs in both converted units and data-set units

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.

Full-Vehicle Static Vehicle Characteristics (SVC)


SVC is a set of utility routines used to compute Static Vehicle Characteristics for suspensions. In addition
to suspension characteristics, full vehicle SVC computes general characteristics such as ground reactions
and mass properties.
The CONSUB can be invoked to perform a full vehicle SVC by typing the following control command:
CONTROL/FUN=USER (1111,jpr_ary,cflag,tflag,vflag,ctime)
where:

jpr_ary = Id of array containing the necessary jprims, motions, sforce ids to perform the static
equilibrium

cflag = (Optional) Units Conversion Flag (default = 0)


0 = output units the same data-set units, no conversion performed
1 = output in converted units. The SVCs are calculated in data-set units then
converted according to the conversion factors provided in ARRAY/9912 and labeled
according to STRING statements 1, 2, 3, 4, and 5.
2 = output SVCs in both converted units and data-set units

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.

GFORCE: Aerodynamic Modeling


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 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)
where:

tarea = vehicle section frontal area value used in testing (m**2)


twb = vehicle wheelbase used in testing (m)
rho = density of air = 1.22 kg/mm**3
GFORCE: Aerodynamic Modeling 261
Solver Routines

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 time

if itype < 0 wind velocity and angle are a function of longitudinal distance in global
ground X direction
windv = wind velocity

if windv > 0 value of "windv" denotes constant wind speed (m/s)

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 value of "winda" denotes constant wind angle (deg).

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

,Y = 0.00, 0.00, 0.00


, 15645.00, 15645.00, 15645.00
, 0.00, 0.00, 0.00
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 Cl
, 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

Ground Marker Height Adjustment


The tire models can be very sensitive to ground height. A CONSUB routine has been written which will
adjust the height of the ground marker(s) to make sure that the vehicle's tires are in contact with the
ground before any static simulation is performed. In addition, this routine can be accessed directly if the
need arises, and it allows the user to specify which tire(s) to monitor and the minimum vertical force
allowed at the tire.
The CONSUB can be invoked in the ground marker height adjustment mode by typing the following at
the Adams prompt:
CONTROL/FUN=USER (1109,ftarget,itire,igrnd,ifothers)
where:

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.

Half Vehicle Rise to Curb Setting


The rise to curb analysis helps the users to move the suspension to the curb position before performing
any simulation. The suspension is moved during a static anlysis call. Based on the halt flag the simulation
will be continued or stopped if the static analysis fails
CONSUB can be invoked to perform a rise to curb analysis by typing the following control command:
CONTROL/FUN=USER (1140,halt)
where:

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

Latching a Variable Value at a Given Time


This function is used to latch in the value of a referenced variable at a given time
The syntax to access this function is as follows:
VARIABLE/id, FUN=USER (1114, ltime, varid)
where:

id = Variable statement id
ltime = Time at which the variable value should be latched
varid = Variable id whose value should be latched

Motion Time History Trace Routine


It is sometimes desirable to exercise a MOTION statement in an Adams model with data stored in an
ASCII file without having to put the contents of the file into an Adams SPLINE statement. A good
example of this type of application would be in the validation of Adams vehicle models to objective test
data. The validation process required the model to have the same input as the tested vehicle. This input
would take the form of a steering wheel angle time history. With this routine, the measured steering wheel
angle time history can be input to the Adams model for easy comparison between actual and simulated
handling behavior.
The motion time history routine applies a motion magnitude at each time step to a JOINT in Adams. This
magnitude is read in from a two column file and is interpolated using a SPLINE function. The input file
should be set up with time in seconds as the first column and the motion magnitude as the second.
Comments can be placed anywhere in the motion file by placing a ! in the first column of a row. The
motion magnitude is scaled and added to a user supplied offset prior to application on a JOINT. The
routine supplies Adams the name of the motion time history file through a list file (similar to the tire
model). The program will either read the filename out of the default list file, "motfile", or will prompt the
user for the name of the list file.
The motion time history routine can be applied to any JOINT in Adams by placing the following USER
call statement at the MOTION statement:
MOTION/id, JOINT = ijt , type, FUN = USER ( 1120,imt,scale,offset,ifile,id)

where:
Move Suspension to Initial Position 265
Solver Routines

id = MOTION id (which must also be entered in the USER list)


ijt = Adams JOINT id to which motion is applied
type = type of Adams JOINT
ROT = rotational joint
TRA = translational joint
imt = type of MOTION to be applied

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

0 = read in motion list file named "motfile"

1 = prompt user for name of motion list filename

Move Suspension to Initial Position


This function runs a quasi-static analysis to move a Adams/Car suspension assembly from the design
position to the initial position in the loadcase spline (file).
Invoke this consub by typing the following command
CONTROL/ FUN=USER(950)\

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

Array statement required in the dataset for oncenter analysis


ARRAY/aryid, NUM = num1, num2, num3
where:

num1

num2

num3

Variables required for On-Center Handling analysis.

Part Velocity Setting


This function can be called to assign or re-assign longitudinal velocity for all parts to the user specified
value. The function is typically called after a static analysis and before a transient analysis.
Consub can be invoked to perform velocity seeting by typing the following command
CONTROL/FUN=USER (910, origo, velocity)
where:

origo = Id of marker on ground in whose coordinate system velocity is specified


velocity = Velocity value in model units
Path-Following Steering Controller 267
Solver Routines

Path-Following Steering Controller


This routine is used with the Driver Model Steering Controller. For more information on the controller,
click here.
This routine is divided into the following sections:
• Required Adams Statements in Dataset
• Adams GRAPHIC Statements to Show Desired Path
• Steering Controller Debugging Suggestions

Required Adams Statements in Dataset


The steering controller described in Driver Model Steering Controller has to be applied to a joint in the
Adams model. This is accomplished using a MOTION statement, which references the magnitude of
input from a user written VARIABLE statement:
MOTION/id, JOINT=strjnt, ROT, FUN = VARVAL(idv)
VARIABLE/idv, IC=0.0, FUN = USER (1100, strrat)

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:

ARRAY/1200, NUM = npts,taumin,taumax,rollim,ssllim


ARRAY/1201, NUM = bdyid,gndid,lspid,rspid,gndid2,conv
ARRAY/1202, NUM = cf,cr,m,i,a,b,ratio
ARRAY/1203, NUM = branch,...
where:

ARRAY/1200 gives controller parameters:

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

ARRAY/1201 gives Adams MARKER ids and length units ratio:

bdyid = Adams id of MARKER on vehicle that should follow path.


gndid = Adams id of MARKER on ground defining origin of path.
lspid = Adams id of MARKER on left front spindle, at wheel center, oriented such that
its z-axis is pointing outward along the spin axis of the wheel.
rspid = Adams id of MARKER on right front spindle,at wheel center, oriented such that
its z-axis is pointing outward along the spin axis of the wheel.
gndid2 = Adams id of MARKER on vehicle body oriented so that it is aligned with
MARKER/3 when the vehicle is pointe straight forward.
conv = conversion factor from Adams model length unit to SI length unit (m).

ARRAY/1202 gives parameters for controller's internal vehicle model:

cf = front tire cornering stiffness (N/rad).


cr = rear tire cornering stiffness (N/rad).
m = vehicle mass (kg).
i = vehicle yaw inertia (kg*m**2).
a = fore/aft length from front axle to cg of vehicle (m).
b = fore/aft length from rear axle to cg of vehicle (m).
ratio = ratio of rear steer angle to front steer angle. (For front steer vehicles, enter 0.0).

ARRAY/1203 gives desired path parameters:

branch = branch code, determines type of desired path:


0 = (not implemented)
10 = curve statement in dataset or file
20 = straight ahead driving
30 = constant radius test
40 = lane change event
... = other parameters, (number and meaning(s) depend on value of branch code). If any
parameter(s) is/are not defined, default(s) are used.

For branch = 10 (curve statement) the other parameters are:


Path-Following Steering Controller 269
Solver Routines

ARRAY/1203, NUM = branch,cvid

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

OPEN = the curve is open ended (use CLOSED for loop).


idmatx = matrix id number.
nseg = number of segments (must be less than or equal to n-3, refer to Adams reference
manual p 2-160).
n = number of x,y,z data points given, must be less than 833 when given in dataset (use
file format for longer paths).
x1,... = data points, listed in triplets as shown,that define the curve.

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:

OPEN = the curve is open ended (use CLOSED for loop).


idmatx = matrix id number.
nseg = number of segments (must be less than or equal to n-3, refer to Adams reference manual
p 2-160).
fname = name of file containing x,y,z data points to define curve,(if used, must be formatted
according to rules given in Adams reference manual, p 2-165).
mname = name of matrix given in file fname (one file may contain several matrices, therefore all
must be specified by name. The name must be eight characters or less.
n = number of x,y,z data points given

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:

ADAMSMAT = this command tells Adams that the file is a MATRIX


1 = informs Adams that there is only one curve stored in the file. This value must
be a 1 and placed in column 5.
mname = MATRIX name as called out in MATRIX statement in dataset. This name must
be eight characters or less and must start in column 1 for both rows.
FULL = tells Adams that it is a full MATRIX. This command must be typed starting in
column 9.
RORDER = informs Adams that the data is stored in rows. This command must be typed
starting in column 17
npts = number of (x,y,z) points stored in file. Adams will read this value using I5
formatted read statement.
3 = tells Adams that the data is stored in three coordinates. This value must be in
column 38.
ntot = equal to three times npts and must have the last digit in column 43 (read in with
an I5 mask).
(3F9.4) = suggestion FORTRAN format statement for reading in the x, y, z data points.
This statement should be entered one blank space away from the "ntot"
parameter.
xn,yn,zn = data points lists so that they can be read in with a 3F9.4 formatted read (if 3F9.4
was entered in last line). All zn data should be zeros.

The following is an example of a path data file:


ADAMSMAT
1
VTSPTH FULL RORDER 269 3 807 (3F9.4)
0.000 0.000 0.000
1.500 0.000 0.000
3.000 0.100 0.000
4.500 0.230 0.000
...
...
There currently exists a set of standard paths. This set is always growing but contains the following to
date:

Filename mname Description


272 Adams/Chassis
Solver Routines

acunapath.dat ACUNA Firestone Acuna city wear course


lanechange.dat LANECHG Ride & Handling lane change event
vtspath.dat VTSPTH VTS "Figure 8" city wear course

Adams GRAPHIC Statements to Show Desired Path


An additional GRAPHIC statement may be used if the desired path is defined using branch = 10 (curve
statement in dataset):
GRAPHIC/id, CURVE, CID=cid, CRM=crm, SEG=ngseg

where:

cid = the Adams id of the curve statement.


crm = the reference MARKER for the graphic. This should be the same as the MARKER
specified via gndid in ARRAY 1201 to properly be used to see the desired path.
ngseg = number of segments for the graphic, may be greater than "n" if needed to see details
of the b-spline fit to the data points given.

Steering Controller Debugging Suggestions


REQUEST statements may be used to produce debugging data. This data can be used with the
ADD_OUTLINE program to generate additional graphics showing the desired and predicted paths
within the preview interval. This is useful for debugging purposes if the controller fails to follow the
desired path. See documentation for the ADD_OUTLINE program for more information regarding this
technique.
REQ/id, FUN = USER ( 1500, pflag,nflag )

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 simulation fails immediately.


Remedy: Check to see that the specified path is consistent with the initial position and velocity of the
vehicle.
Predetermined Alignment Value Setting 273
Solver Routines

The most likely reasons this would not be true are:


incorrect orientation of the reference MARKER (gndid); a path definition that does not include any
points near the initial position of the vehicle MARKER (bdyid) (the path will be extended in straight lines
beyond the first and last points given, along the tangents to the path at those points); and "spline buckling"
as a result of specifying a path with too few points.
Symptom: The vehicle steers in a counter-intuitive direction initially, and quickly begins turning sharply
in that direction, never following the desired path; the simulation probably fails.
Remedy: Try negating the steering system ratio (strrat). This is usually the symptom of positive
feedback.
Symptom: The vehicle attempts to follow the path, but responds too sluggishly.
Remedy: This may be caused by a preview interval that is too long (taumax should be decreased); if so,
the steering may also seem to start responding too soon. This may also be caused by inappropriate values
for the parameters of the internal vehicle model (cf,cr,m,i,a,b,ratio). Decreasing cf, increasing m,
increasing i, increasing a and b, could all tend to improve the response.
Symptom: The vehicle attempts to follow the path, but responds too quickly.
Remedy: This may be caused by a preview interval that is too short (taumax should be increased); if so,
the steering may also seem to start responding too late. This may also be caused by inappropriate values
for the parameters of the internal vehicle model (cf,cr,m,i,a,b,ratio). Increasing cf, decreasing m,
decreasing i, decreasing a and b, could all tend to improve the response.

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.

Predetermined Alignment Value Setting


Sometimes for suspensions,for which the alignment setting values are already available, the user would
prefer to set the toe, cater camber to these predermined values instead of realigning the suspensions. But
larger constant displacement values applied to the alignment adjuster would sometimes result in static
failure. In order to avoid such failures, a consub was written. This consub would step down the alignment
displacements to smaller values and perform static analysis. If the analysis was successful, the alignment
274 Adams/Chassis
Solver Routines

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

Quasi-Static Steady-State Cornering Equilibrium


The quasi-static steady-state cornering event is similar to Static Steady-State Cornering Equilibrium case
except several iterations of lateral acceleration can be simulated at a given turn radius. This option is
useful in constant radius understeer test simulations. The balance of forces and all other functions of the
static straight line equilibrium are the same for the quasi-static case.
The CONSUB can be invoked in the quasi-static steady-state constant cornering mode by typing the
following at the Adams prompt:
CONTROL/FUN=USER
(1031,jpr_ary,brk_flg,glon,sta_g,end_g,nsteps,radius,bank,cg_id,ijm,jjm,halt,origo)
where:
Quasi-Static Steady-State Cornering Equilibrium 275
Solver Routines

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

Quasi-Static Steady-State Straight Line Acceleration/Braking Equilibrium


The quasi-static steady-state straight line acceleration/braking equilibrium CONSUB is similar to Static
Steady-State Straight Line Acceleration/Braking Equilibrium except it can be employed to solve over a
range of accelerations and decelerations. This option is useful for running the straight line braking or
acceleration tests where simulations are required at different longitudinal accelerations. The balance of
forces and all other functions of the static straight line equilibrium are the same for the quasi-static case.
It is important to note that TIME is incremented in the graphics and request files for easy plotting.
The CONSUB can be invoked in the quasi-static steady-state straight line equilibrium mode by typing
the following at the Adams promptor in the acf file:
CONTROL/FUN=USER (1021,jpr_ary,vel,brk_flg,end_g,nsteps,halt,origo)
where:

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.

Quasi-Static Steady-State Swept Steer Equilibrium


The quasi-static steady-state swept steer equilibrium event is similar to Quasi-Static Steady-State
Cornering Equilibrium event except the event is performed with decreasing turn radius at a given velocity.
Rear Suspension Static Vehicle Characteristics (SVC) 277
Solver Routines

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.

Rear Suspension Static Vehicle Characteristics (SVC)


SVC is a set of utility routines used to compute Static Vehicle Characteristics such as wheel rate, anti-
dive, anti-pitch for suspensions.
The CONSUB can be invoked to perform a rear suspension SVC by typing the following control
command:
CONTROL/FUN=USER (1113,jpr_ary,cflag,tflag,vflag,ctime)
where:

jpr_ary = Id of array containing the necessary jprims, motions, sforce ids to perform the static
equilibrium

cflag = (Optional) Units Conversion Flag (default = 0)


0 = output units the same data-set units, no conversion performed
1 = output in converted units. The SVCs are calculated in data-set units then converted
according to the conversion factors provided in ARRAY/9912 and labeled according
to STRING statements 1, 2, 3, 4, and 5.
2 = output SVCs in both converted units and data-set units

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.

Ride Height Auto-Adjustment (vehicles with coil springs)


For vehicles with front and rear coil springs, a ride-height adjustment CONSUB varies the effective free
length of the springs (linear or nonlinear) to achieve the desired ride heights. This routine was written to
address Design of Experiment analysis where spring parameters were factors in the experiment and the
user wished to maintain constant ride height for each trial of the experiment.
You invoke a CONSUB by including the following in the dataset (.acf) file.
CONTROL/FUN = USER(1152,jpr_ary,des_f_rh,f_array,des_r_rh,r_array,tol,maxit) where

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.

Format of Ride Height adjustment arrays


ARRAY/aryid, NUM = lwc,lwc_b,rwc,rwc_b
, l_spring_type,l_spr_or_array_id, l_flen
, r_spring_type, r_spr_or_array_id, r_flen
where:

lwc Left wheel center marker ID on wheel carrier


lwc_b Left wheel center marker ID on body
rwc Right wheel center marker ID on wheel carrier
rwc_b Right wheel center marker ID on body
l_spring_type Left Spring type (1=linear, 2=nonlinear)
l_spr_or_array_id ID of left SPRINGDAMPER element for linear springs, or ARRAY element
for nonlinear springs. For nonlinear springs, an array is used to control the
offset length of the spring.
l_flen Initial left free length of spring (for nonlinear springs, this is the offset length)
r_spring_type Right spring type (1=linear, 2=nonlinear)
r_spr_or_array_id ID of right SPRINGDAMPER element for linear springs, or ARRAY element
for nonlinear springs. For nonlinear springs, an array is used to control the
offset length of the spring.
r_flen Initial right free length of spring (for nonlinear springs, this is the offset length)

Ride Height Marker Location


This function can be used to determine the vertical location of any marker in road reference frame. The
function is useful on 3D roads to determine the height of points of interest with respect to road frame.
The function determines the normal to the road surface by creating a plane by connecting the first 3 tire
280 Adams/Chassis
Solver Routines

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)

Rotational to Rotational Couplers


Transmits motion between 2 revolute joints. The following statement must be used to invoke this feature:
COUPLER/id, JOINTS = joi1,joi2, FUNC = USER(1120,spltype,splid,scale)
where:

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.

Rotational to Translational Couplers using Splines


Transmits motion from a revolute joint to a translational joint. The following statement must be used to
invoke this feature:
COUPLER/id, JOINTS = joi1,joi2, FUNC = USER(1110,spltype,splid,scale)
where:
SFORCE: Aerodynamic Modeling (Motorsports Application) 281
Solver Routines

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.

SFORCE: Aerodynamic Modeling (Motorsports Application)


OBJECTIVE DATA DRIVEN AERODYNAMIC FORCES - MOTORSPORTS APPLICATIONS
This routine models the aerodynamic forces and moments which act on a vehicle. This program requires
wind tunnel or track tested aerodynamic downforce and drag data for the vehicle being modeled. This
information is typically in a 3-D force format with each downforce and dragforce a function of the front
and rear ride height. It is important that wind tunnel or track tested data is referenced to the appropriate
points in the Adams model. These points are defined in the body subsystem file and can be placed where
actual ride height measurements are taken.
The front and rear downforces application points are defaulted to the centerline of front/rear axle
locations at ground height. The dragforce is applied to the vehicle cg location.
There are four forces that represent the aerodynamic forces on the body: Front Downforce, Rear
Downforce, Drag Force and the Drag Restoring Moment. Since the aerodynamic pitch moment caused
by the drag force is directly represented by the front and rear downforce value from the tunnel or track,
a restoring moment is required to elimate the duplication of the pitch forces.
The aerodynamic drag and lift of the tire/wheel assembly can also be modeled and are funtions of vehicle
speed.
The aerodynamic SFORCE statement takes the following form:
SFORCE/id, TRANS, ACTION, I=imrkr, J=jmrkr
,FUN = USER (1104,aeroid,shiftid,setupid,clipid,velconv,forconv,disconv)
where:

aeroid = id of aeroforce; 1 = Front Downforce, 2 = Rear Downforce, 3 = Dragforce


shiftid = ARRAY id of aeroforce shift and scale
setupid = ARRAY id of aerodynamic reference values
clipid = ARRAY id of aerodynamic extrapolation limits
282 Adams/Chassis
Solver Routines

velconv = aerodynamic velocity conversion (mph to mm/s)


forconv = aerodynamic force conversion (lbf to N)
disconv = ride height conversion (in to mm)

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

! FRONT DOWN FORCE (LBS @ VEHICLE VELOCITY = 200 MPH)


! X = front ride height (inches)
! Y = rear ride height (inches)
!SPLINE/11,
,X=0.25,0.5,0.75,1,1.25,1.5,2
,Y= 0.25,2064,1937,1795,1622,1410,1198,913
,Y= 0.50,2124,1963,1836,1658,1460,1250,960
,Y= 0.75,2151,2009,1877,1697,1510,1316,1015
,Y= 1.00,2200,2056,1918,1735,1697,1348,1051
,Y= 1.50,2287,2126,2000,1845,1644,1441,1140
,Y= 2.00,2372,2187,2053,1920,1737,1552,1203
,Y= 2.50,2437,2238,2120,2000,1813,1626,1280
,Y= 3.00,2497,2296,2185,2049,1868,1687,1339
, LINEAR_EXTRAPOLATE

Set Part Velocity


This function will assign initial velocities to part, flex parts and point mass parts. The function is typically
called after a static analysis. Optionally, you may specify a list of part for which the velocity is set to zero,
and another list of parts whose velocity is not set. This function, in contrast to CON910, does NOT set
rotational velocities on wheel parts
Consub can be invoked to perform velocity setting by typing the following command
CONTROL/FUN=USER (917, origo, vx, vy, vz, zeroList, pointMassList,
flexPartList, noSetList)\
where:

origo = Id of marker on ground in whose coordinate system velocity is specified.


Required Parameter
Vx = Velocity in the Xdirection of the origo marker in model units. Required
parameter
Vy = Optional velocity in the Y direction of origo marker in model units
Vz = Optional velocity in the Z direction of origo marker in model units
zeroList = Id of an ARRAY statement listing part ids for which the velocity should be
set to zero. Optional parameter
pointMassList = Id of an ARRAY statement listing all point mass part ids. Optional parameter
flexPartList = Id of an ARRAY statement listing all flexible parts in the model. Optional
Parameter
noSetList = Id of an ARRAY statement listing all the parts by id whose velocity should
not be set. Optional Parameter
284 Adams/Chassis
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)

Standard Driver Interface


This function can be used to call Standard Driver Interface (SDI) to perform traction, braking or steering
events.
The parameters for this call are:
CONTROL/FUN=USER (906, str1, ary1, ary2, ary3, ary4, ary5, origo)
where:

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.

Statements Required in the Adams Dataset


The Adams/Chassis static routines will require additional Adams statements in the dataset for successful
static analysis. These include JPRIMS to hold the body fixed in the X and Y directions, DIFFERENTIAL
EQUATIONS to balance the forces at the JPRIMS and an extra part in the steering system. The JPRIMs
keep the vehicle from moving laterally or longitudinally during the static solution. The vehicle body is
allowed to yaw, pitch, roll, and raise vertically. The following is a description of the statements required
in the dataset:
! Markers attached to Ground at vehicle C.G. location
M/mid1, PART=1, QP= cgx,cgy,cgz
M/mid2, PART=1, QP= cgx,cgy,cgz, REU= 90D, 90D, 0
Statements Required in the Adams Dataset 285
Solver Routines

! Markers attached to vehicle C.G. location


M/bid1, PART=pnpf, QP= cgx,cgy,cgz
M/bid2, PART=pnpf, QP= cgx,cgy,cgz, REU= 0,-90D, 0
! JPRIMS holding vehicle in x,y translation
JPRIM/jprid1, INLINE, I=bid1, J=mid1
JPRIM/jprid2, PERPEN, I=bid2, J=mid2
where:

mid1 = MARKER id of point at body C.G. location on GROUND


mid2 = oriented MARKER id of point at body C.G. location on GROUND
cg# = C.G. location coordinates
pnpf = PART id of sprung mass for JPRIMS to lock to GROUND. This id can also be that of
the rear axle for dependent rear suspensions. In this scenario, the CONSUB will work
as a Hunter alignment machine since it calculates front geometry by referencing the rear
suspension.
bid1 = MARKER id of point at body C.G. location on body
bid2 = oriented MARKER id of point at body C.G. location on body
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

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

JOINT/jid, REV,I=iswm, J=nscp ,


!NEW JOINT FOR CONSUB

MOTION/motid1, JOINT=jid, ROT, FUNC=0.0


where:

scpid = PART id of new steering column part


nscp = MARKER id of auxiliary steering column part center of mass
pm = mass of auxiliary steering column part
ip# = rotational inertia values for auxiliary steering column part
WZ = initial rotational velocity of auxiliary steering column part set to zero
x,y,z = location of auxiliary steering column part joints in model
zp# = orientation of Z axis of joints
lid = JOINT id for intermediate shaft lash (not required)
ism = intermediate shaft to auxiliary steering column part MARKER id
jid = JOINT id of the auxiliary column joint required by the CONSUB
iswm = steering wheel MARKER id which connects to auxiliary column part
motid1 = Id of motion at auxiliary column joint

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

difid1 = Id of differential equation balancing the longitudinal force at jprim jprid1


difid2 = Id of differential equation balancing the lateral force jprim at jprid1
xgain = gain on force error controller for longitudinal motion
jprid1 = Inline jprim holding the vehicle to ground constraining longitudinal and lateral
translational degreee of freedom
ygain = gain on force error controller for lateral motion
bid1 = MARKER id of point at body C.G. location on body
whl_ary = Array id containing wheel id and jprim ids constraining the wheel to spindle
sfoid1 = Id of steering control force to bring lateral force at jprid1 to zero
nscp = MARKER id of auxiliary steering column part center of mass
iswm = steering wheel MARKER id which connects to auxiliary column part

Arrays required in the Adams dataset for static analysis


Adams/Chassis full-vehicle models require a set of jprims, motion and sforce to perform Adams/Chassis
specific static events The id od these jprims, motion and sforce are passed to Adams through array
statements. The dataset need to have two arrays to specify these ids. For Half vehicle models where no
tires are used a dummy id should be passed as jpr_ary.
array/jpr_ary, num = jprid1, jprid2, sofid1, motid1, whl_ary
where:

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

jprid3 = Perpendicular jprim between wheel 1 and spindle


jprid4 = Perpendicular jprim between wheel 2 and spindle
jprid5 = Perpendicular jprim between wheel 3 and spindle
jprid6 = Perpendicular jprim between wheel 4 and spindle
whlid1 = Part number of wheel corresponding to jprid3
whlid2 = Part number of wheel corresponding to jprid4
whlid3 = Part number of wheel corresponding to jprid5
whlid4 = Part number of wheel corresponding to jprid6
gfoid1 = Gforce id corresponding to whlid1
gfoid2 = Gforce id corresponding to whlid2
gfoid3 = Gforce id corresponding to whlid3
gfoid4 = Gforce id corresponding to whlid4

The following is an example of Adams statements in an actual dataset:


! Markers attached to Ground at vehicle C.G. location
M/08, PART=1, QP=2894.00, -9.91, 940.16
M/09, PART=1, QP=2894.00, -9.91, 940.16, REU= 90D, 90D, 0
! Markers attached to vehicle C.G. location
M/5100, PART=51, QP=2894.00, -9.91, 940.16
M/5198, PART=51, QP=2894.00, -9.91, 940.16, REU= 0,-90D, 0
! JPRIMS holding vehicle in x,y translation
JPRIM/991, INLINE, I=5100, J=08
JPRIM/992, PERPEN, I=5198, J=09
----- STEERING WHEEL
PART/10, CM=1000, MASS=4.00, IP=300, 300, 600, VX=-2.45872E+04
M/1000, QP=1287.18, -237.11, 545.19, ZP=1252.89, -238.10, 639.12
M/1080, QP=1287.18, -237.11, 545.19, ZP=1252.89, -238.10, 639.12
----- AUXILIARY STEERING COLUMN PART
PART/80, CM=8000, MASS=1.00, IP=30, 30, 6, VX=-2.45872E+04
M/8000, QP=1287.18, -237.11, 545.19, ZP=1252.89, -238.10, 639.12
M/8010, QP=1287.18, -237.11, 545.19, ZP=1252.89, -238.10, 639.12
M/8011, QP=1287.18, -237.11, 545.19, ZP=1252.89, -238.10, 639.12
----- INTERMEDIATE SHAFT
PART/11, CM=1100, MASS=2.00, IP=300,300,60, VX=-2.45872E+04
M/1100, QP=1287.18, -237.11, 545.19, ZP=1252.89, -238.10, 639.12
M/1180, QP=1287.18, -237.11, 545.19, ZP=1252.89, -238.10, 639.12
***************
STEERING JOINTS
***************
JOINT/1810, I=8011, J=1180, FIXED NO LASH IN SHAFT
JOINT/740, REV, I=1080, J=8010 NEW JOINT FOR CONSUB
MOTION/740, JOINT=740, ROT, FUNC=0.0
! Longitudinal Force
DIF/991, IC=0, FUNC=USER ( 1010, 400.0, 991, 2, 5100,556 )
Static Steady-State Cornering Equilibrium 289
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

Static Steady-State Cornering Equilibrium


The steady-state cornering event allows a user to simulate a vehicle model in a given turn radius with
zero tangential acceleration. The CONSUB balances all the forces on the body in a similar manner to
Static Steady-State Straight Line Equilibrium except a lateral acceleration is now applied to all model
parts.
The CONSUB can be invoked in the static steady-state constant cornering mode by typing the following
at the Adams prompt:
CONTROL/FUN=USER (1030,jpr_ary,brk_flg,glon,glat,radius,itrans,bank,cg_id,ijm,jjm,halt,origo)
where:
290 Adams/Chassis
Solver Routines

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.

Static Steady-State Straight Line Equilibrium


The static steady-state straight line equilibrium solution computes a static equilibrium with all tire forces
applied and a zero lateral force balance on the body. With this force balance, a dynamic simulation
following the static solution will result in the vehicle traveling directly down the X-axis without tire
transient effects at TIME=0. However, it should be noted that the vehicle may be moving with some yaw
angle (i.e. dog tracking).
The balance of forces is accomplished using an auxiliary steering column joint that is rotated by the
CONSUB until the lateral force and yaw moment on body are zero. The method of rotating the steering
system is essential since no vehicle has a perfectly symmetric alignment and weight distribution. These
slight geometry and load differences cause unbalanced lateral forces which start the vehicle model with
an initial lateral acceleration. The CONSUB technique emulates the action of real drivers of real vehicles
who have to compensate for vehicle asymmetries with a small steering correction. It is important to note
that the aerodynamic force routines will be acting on the vehicle during the equilibrium.
The CONSUB can be invoked in the static steady-state straight line equilibrium mode by typing the
following at the Adams prompt:
CONTROL/FUN=USER (1020,jpr_ary,vel,brk_flg,glev,ijm,jjm,halt,origo,sav_acc)
where:

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.

Static Steady-State Straight Line Acceleration/Braking Equilibrium


The steady-state straight line acceleration/braking equilibrium solution computes a static equilibrium
solution with the assumption that the vehicle can accelerate or decelerate at a certain G level. The call to
this equilibrium solution is same as that of Static Steady-State Straight Line Equilibrium. User has to
specify a positive glev for acceleration and a negative glev for braking
When the user enters this command to run a straight line acceleration/braking solution, the user code
takes the following steps:
1. The velocity of the vehicle body is accessed and used in the tire forces calculation. A longitudinal
component of gravity is added to the gravity statement. Longitudinal tire forces are applied to the
tires (force split between front, rear, left, and right is based on ARRAY 92 for both acceleration
and deceleration and ARRAY 61 if vehicle is braking) of magnitudes such that the longitudinal
reaction force at the vehicle C.G. JPRIM is zero. Longitudinal inertia forces are calculated and
placed at the C.G. of all parts in the dataset.
Variable Based Braking Controller 293
Solver Routines

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.

Variable Based Braking Controller


The variable based braking controller returns the torque/force required to decelerate the vehicle. The
desired torque/force is calculated in the Adams/Chassis Braking Controllers .Currently the variable
returns only the closed loop controller output.
The syntax to access the Variable Based Braking Controller routine is as follows:
VARIABLE/id, FUN=USER (1107,gain_ary,time_ary,jprid,decel,cg_mar,grd_mar)
where:

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

Variable Based Traction Controller


The variable based traction controller returns the torque/force required to maintain the vehicle
velocity/acceleration. at the user specified value. The desired torque/force is calculated in the AdamsPre
traction controller (see Traction Controller (PI)). Currently the variable returns only the closed loop
controller output.
The syntax to access the Variable Based Traction Controller routine is as follows:
VARIABLE/id, FUN=USER (1108,gain_ary,time_ary,jprid,decel,cg_mar,grd_mar)
where:

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

jprid = Body to ground stake jprim id


decel = (optional) Maximum acceleration 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

Variable-Based Traction Controller for powertrain models


The variable based traction controller in Adams/Chassis is primarily used for driveline models where the
torque required to drive a vehicle is specified in a drive torque-engine speed-throttle position spline. The
routine accesses the throttle position from Proportional-Integral Traction Controller (see Traction
Controller (PI)). The engine speed can be calculated from the wheel rotational velocities and drive ratios.
Based on these two input the torque required to drive the vehicle is determined from the torque-speed
spline.
The syntax to access the Variable Based Traction Controller routine is as follows:
VARIABLE/id, FUN=USER (1103, idsp, eng_spd)
where:

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)

Variables required for On-Center Handling


The On Center Handling analysis requires two user defined variable statements in the dataset. These
variables are used to store the maximum lateral acceleration recorded during the first and second stage
of the oncenter analysis. Based on these recorded lateral accelerations and the user specified steering
wheel input for the first two stages of the analysis, the necessary steering wheel angle required to produce
the user specified lateral acceleration can be determined based on a straight line equation. The variable
statements extract the necessary output from a user request. Extracting Request Output Through Variable
Statements explains how a request output can be assigned to a variable statement.

The syntax for the variable statements are as follows:


VARIABLE/varid1, FUNCTION = USER(1112,3,1114,itype,imrkr,jmrkr,tsc,rsc)
VARIABLE/varid2, FUNCTION = USER(1113,3,1114,itype,imrkr,jmrkr,tsc,rsc)
where:
Viscous Coupling for Powertrain Models 295
Solver Routines

1112, 1113

3
1114
itype ... rsc

Viscous Coupling for Powertrain Models


Adams/Chassis supports the application of viscous coupling (limited slip differentials) for powertrain
models (see Powertrain Modeling). The coupling torque is applied through a rotational SFORCE
statement of the following form:
SFORCE/id, ROTATION, I = imrk, J = jmrk
, FUN=USER (1103, splid, ilft, jlft, irgt, jrgt, sclfac)
where:

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

Wheel Rotational Velocity Calculation During Statics


The standard Adams requests and functions does provide accurate values of velocities during transient
analysis. However for successful completion of Adams/Chassis statics analysis (see User
SIMULATE/STATIC Routines) and for smooth transient runs, Adams/Chassis needs to access the wheel
rotational velocities during statics. These velocities are determined from vehicle longitudinal velocity
and tire longitudinal slip angles and are stored as common variables. These common variables are
accessed from this routine to determine the engine speed for powertrain models.
The syntax to access the Wheel Rotational Velocity During Statics is as follows:
VARIABLE/id, FUN=USER (1004, imrk, jmrk, rmrk, whlno)
296 Adams/Chassis
Solver Routines

where:

imrk = I marker of wheel spindle revolute joint


jmrk = J marker of wheel spindle revolute joint
rmrk = Reference marker in whose coordinate systems the velocities are determined.
whlno = Wheel id represented by I and J marker.

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.

Wheel Velocity Controllers for Adams


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 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

An example of an Adams vehicle file with wheel torques is:


M/2114, QP=1528, -739.6, 517.4, EU= 0, 90, 0 LEFT FRONT WHEEL
SFORCE/0003, I=2114, J=2114, ROT, ACTION, LEFT FRONT WHEEL
, FU = USER( 1100, 1, 334.0, 650.0, 1.0, 2100 )
M/2215, QP=1528, 739.6, 517.4, EU= 0, 90, 0 RIGHT FRONT WHEEL
SFORCE/0004, I=2215, J=2215, ROT, ACTION, RIGHT FRONT WHEEL
, FU = USER( 1100, 2, 334.0, 650.0, 1.0, 2200 )
M/6753, QP=4277, -739.6, 511.0, EU= 0, 90, 0 LEFT REAR WHEEL
SFORCE/1001, I=6753, J=6753, ROT, ACTION, LEFT REAR WHEEL
, FU = USER( 1100, 3, 334.0, 650.0, 1.0, 6700 )
M/6853, QP=1528, 739.6, 511.0, EU= 0, 90, 0 RIGHT REAR WHEEL
SFORCE/1002, I=6853, J=6853, ROT, ACTION, RIGHT REAR WHEEL
, FU = USER( 1100, 4, 334.0, 650.0, 1.0, 6800 )
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.
298 Adams/Chassis
Special Requests

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).

icd Type Component icd Type Component


11 disp X 31 acc. X
12 disp Y 32 acc. Y
13 disp Z 33 acc. Z
14 disp ang. about X 34 acc. ang. about X
15 disp ang. about Y 35 acc. ang. about Y
16 disp ang. about Z 36 acc. ang. about Z
21 velocity X 41 force X
22 velocity Y 42 force Y
Adams Request Four Pole Filter Model 299
Special Requests

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

Request File Output


Column Number Output:
1. Filtered output of DIFF statement 1
2. (not used)
3. (not used)
4. (not used)
5. (not used)
6. (not used)
Notes on Input and Output
It is important to use consistent values for r1 and r2 for a proper functioning filter. This can be
accomplished by selecting the cutoff frequency of the filter then selecting the filter capacitance
corresponding the cutoff from the table below:

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

680 0.0120 E-6


450 0.0180 E-6
360 0.0220 E-6
250 0.0330 E-6
140 0.0560 E-6
80 0.1000 E-6
68 0.1200 E-6
45 0.1800 E-6
36 0.2200 E-6
25 0.3300 E-6
14 0.5600 E-6

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.

AVSE Ackerman Statistics


This routine computes the percent Ackerman and Ackerman error associated with a given suspension
design. The wheel toe angles and ideal inside wheel turn are also calculated.
Input:
REQ/id, FUNCTION = USER (1125,m9lid,m9rid,m11lid,m11rid,xaxle)
where:

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

Request File Output


Column Number Output:
1. Percent Ackerman (%)
AVSE Suspension Geometry 301
Special Requests

2. Ackerman deviation of outside wheel (deg)


3. Left toe angle (deg)
4. Right toe angle (deg)
5. Ideal steer angle of outside wheel (deg)
6. (not used)
Notes on Input and Output
All Ackerman calculations are based on inside wheel turn angle and is similar to REQUEST 60 with
method flag set to 0.

AVSE Suspension Geometry


This routine computes the standard toe, caster, and camber angles of a suspension as well as tread change,
roll center height and spring lever ratio.
Input:
REQ/id, FUNCTION = USER
(1126,m5id,m6id,m7id,m8id,m9id,m10wid,ms10id,m11id,twid)
where:

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)

Request File Output


Column Number Output:
1. Camber angle (deg)
2. Caster angle (deg)
3. Toe angle (deg)
4. Total tread change (mm)
5. Roll center height (mm)
302 Adams/Chassis
Special Requests

6. Wheel-to-spring lever ratio


Notes on Input and Output
This request can only be accessed for half or quarter vehicle suspension models. Also, the analysis must
be run using "kinematic analysis" since the routine uses velocity vectors to establish the location of the
roll center. This REQUEST has the following sign convention:
Positive Toe: Toe in
Positive Camber: Top of tire out

Body Acceleration as Measured by an Accelerometer


Computes the longitudinal and lateral accelerations at the accelerometer location, including the error
caused by gravity due to roll and pitch of the vehicle. Also returns the steering ratio which is user-
supplied, and calculates the wheelbase of the vehicle.
Input:
REQ/id, FUNCTION = USER
(1121,accm,ibdy,mscale,strat,lfwc,rfwc,lrwc,rrwc )
where:

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

Request File Output


Column Number Output:
1. Longitudinal acceleration measured with the accelerometer
2. Lateral acceleration measured with the accelerometer
3. Steering ratio (* to 1)
4. Averaged wheelbase length (mm)
5. (not used)
6. (not used)
B-Spline Tire Model Extrapolation REQUEST 303
Special Requests

Notes on Input and Output


The Z axis of the wheel center MARKER must be perpendicular to the wheel plane and must point away
from the body centerline. The accelerometer MARKER is on the body and has the same initial orientation
as the global reference frame.
The sign convention is:
Positive Longitudinal Acceleration = Forward
Positive Lateral Acceleration = Driver-side

B-Spline Tire Model Extrapolation REQUEST


This routine outputs a text file which contains data showing when and where the tire model was forced
to extrapolate beyond the tested tire data. This routine also has the capability to stop the simulation to
prevent extrapolation if the user desires.
Input:
REQ/id, FUNCTION = USER (1130,istop )
where:

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

Request File Output


Column Number Output:
1. (not used)
2. (not used)
3. (not used)
4. (not used)
5. (not used)
6. (not used)
Notes on Input and Output:
This request does not write out any data to the *.req file.

B-Spline Tire Model Inputs


This routine outputs the rolling radius, slip angle, and inclination angle of two tires in a dataset. The data
is useful in debugging simulations where tire data is being questioned.
Input:
304 Adams/Chassis
Special Requests

REQ/id, FUNCTION = USER (1129,itire1,itire2)


where:

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

Request File Output


Column Number Output:
1. Rolling radius of first tire (mm)
2. Slip angle of first tire (deg)
3. Inclination angle of first tire (deg)
4. Rolling radius of second tire (mm)
5. Slip angle of second tire (deg)
6. Inclination angle of second tire (deg)
Notes on Input and Output
This request prints out the input parameters used by the tire model in order to calculate the forces at the
wheel center. These parameters are rolling radius, slip angle, and inclination angle of the tire to the
ground. This request can be used to plot the tire inputs of two different tires in the dataset. This data is
useful in debugging simulation runs in which tire data is under scrutiny.
The REQUEST inputs "itire1" and "itire2" are the tire numbers assigned in the Adams dataset. These are
the values passed in the GFORCE tire statements.

Camber and Toe Angles With Respect to Body Frame


Computes the camber and toe angles with respect to body frame at either front or rear wheels. This
REQUEST duplicates the TUV measurement used in objective handling measurements.
Input:
REQ/id, FUNCTION = USER (1122,lwcm,rwcm,brm )
where:

Description
lwcm = left wheel center MARKER id
rwcm = right wheel center MARKER id
brm = body reference MARKER id
Corrected Height Sensors 305
Special Requests

Request File Output


Column Number Output:
1. Averaged camber angle w.r.t. body (deg)
2. Left camber w.r.t. body (deg)
3. Right camber w.r.t. body (deg)
4. Averaged toe angle w.r.t. body (deg)
5. Left toe angle w.r.t. body (deg)
6. Right toe angle w.r.t. body (deg)
Notes on Input and Output
The Z axis of the wheel center MARKER must be in the wheel plane pointed vertically, the Y axis of the
wheel center marker must point to the right. 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 angle = Toe in
Positive camber angle = Top of tire out

Corrected Height Sensors


Computes the distance between reference marker and ground marker, up to six pairs of markers. For each
pair, distance from reference marker to ground marker plane is computed in the reference frame of the
reference marker.
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
(1139,imkr1,jmkr1,imkr2,jmkr2,...,imkr6,jmkr6,scale )
where:

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)

Request File Output


Column Number Output:
1. Scaled height sensor distance between imkr1 and jmkr1
2. Scaled height sensor distance between imkr2 and jmkr2
3. Scaled height sensor distance between imkr3 and jmkr3
4. Scaled height sensor distance between imkr4 and jmkr4
5. Scaled height sensor distance between imkr5 and jmkr5
6. Scaled height sensor distance between imkr6 and jmkr6

Corrected Height Sensors with Zeroing


Computes the distance between reference marker and ground marker, up to six pairs of markers. For each
pair, distance from reference marker to ground marker plane is computed in the reference frame of the
reference marker.

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.

Request File Output


Column Number Output:
1. Scaled height sensor distance between imkr1 and jmkr1
2. Scaled height sensor distance between imkr2 and jmkr2
3. Scaled height sensor distance between imkr3 and jmkr3
4. Scaled height sensor distance between imkr4 and jmkr4
5. Scaled height sensor distance between imkr5 and jmkr5
6. Scaled height sensor distance between imkr6 and jmkr6
Dual Ball Joint Geometry
This routine computes the standard toe, caster, and camber angles of a suspension with two lower ball
joints. Scrub radius and kingpin inclination are also calculated.
Input:
REQ/id, FUNCTION = USER
(1127,m3id,m4id,m6aid,m6bid,m7id,m10id,m9id,ms11id )
where:

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

Request File Output


Column Number Output :
1. Toe angle (deg)
2. Camber angle (deg)
3. Scrub radius in wheel plane (mm)
4. Caster trail in wheel plane (mm)
5. Caster angle (deg)
6. Kingpin inclination angle (deg)
Notes on Input and Output
This request can only be accessed for half or quarter vehicle suspension models. This REQUEST has the
following sign convention:
Positive Toe: Toe in
Positive Camber: Top of tire out

Dual Ball Rack Travel and Steering System Geometry Angles


This routine computes the rack travel, steer arm lengths, toe angles, and toggle angles of a suspension
with two lower ball joints.
Input:
REQ/id, FUNCTION = USER
(1128,m3id,m4id,m6aid,m6bid,m7id,m10id,m9id,m11id,m12id,m14id,
mg14id)
where:

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

Request File Output


Column Number Output:
1. Rack travel (mm)
2. Negative rack travel (mm)
3. Steering arm length (mm)
4. Wheel toe angle (deg)
5. Toggle angle (deg)
6. (not used)
Notes on Input and Output
This request can only be accessed for half or quarter vehicle suspension models. Also note that this
REQUEST has the following sign convention:
Positive Toe : Toe in
Positive Camber : Top of tire out

Front Suspension Anti-lift and Anti-squat


Computes the anti-lift and anti-squat of a front suspension.
Input:
REQ/id, FUNCTION = USER (1112,m9id,mw10id,mb10id,wb,pbrk,cgh)
where:

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)

Request File Output


Column Number Output:
1. Percent anti-lift for an independent front suspension (%)
2. Percent anti-lift for a solid axle front suspension (%)
3. Percent anti-dive for front suspension (%)
310 Adams/Chassis
Special Requests

4. Roll center height for front suspension (mm)


5. (not used)
6. (not used)
Notes on Input and Output
This request can only be accessed for half or quarter vehicle suspension models. Also, the analysis must
be run using "kinematic analysis" since the routine uses velocity vectors to establish the location of the
instant centers.

Lever Ratio Calculations


This request calculates the lever (motion) ratio for shocks and springs. Lever ratio is defined as the ratio
of wheel center displacement to shock or spring displacement.
Input:
REQ/id, FUNCTION = USER (1137,spn_mar,bdy_mar,low_shk_mar,up_shk_mar)
where:

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

Request File Output


Column Number Output:
1. Lever Ratio
2. Not used
3. Not used
4. Not used
5. Not used
6. Not used
Normalized Distance Between MARKERS
Computes the distance between two MARKERs in a pair, for up to six pairs. If less than six pairs of
MARKERs are given, this routine simply returns zero for the MARKER pair value that is not given. The
answers returned in this routine are normalized to be zero at TIME=0.
Input:
Normalized Distance Between MARKERS 311
Special Requests

REQ/id, FUNCTION = USER


(1124,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)
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.

Request File Output


Column Number Output:
1. Scaled and normalized distance between imkr1 and jmkr1
2. Scaled and normalized distance between imkr2 and jmkr2
3. Scaled and normalized distance between imkr3 and jmkr3
4. Scaled and normalized distance between imkr4 and jmkr4
5. Scaled and normalized distance between imkr5 and jmkr5
6. Scaled and normalized distance between imkr6 and jmkr6
Notes on Input and Output
The i MARKER and j MARKER of the pair should not be on the same part to get non-zero answers.
The sign convention:
Positive distance = MARKERs moving away from one another
Negative distance = MARKERs moving toward one another
An important point of this USER REQUEST is the "rnum" parameter. The REQUEST stores the distance
between each MARKER pair at TIME=0 in an array. If two of these REQUESTS are required in a
dataset, then the routine has to know where to store the initial offsets for the different REQUESTS. This
is handled using a two-dimensional array and the "rnum" parameter. Each separate call of this routine in
the dataset must be ordered sequentially starting at 1. Failure to do this will corrupt the output of the
routine.
312 Adams/Chassis
Special Requests

Q-Head Simulator Routine


Computes the sideslip and roll oscillation corrupted sideslip at the front, rear, and C.G. location of a
vehicle. This routine assists in correlating Adams model output to actual VDO test data when only Q-
head and a yaw rate transducer are used.
Input:
REQ/id, FUNCTION = USER
(1123,qhm,lhm,bcgm,lfwcm,lrwcm,lrwcm,rrwcm,grm )
where:

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

Request File Output


Column Number Output:
1. Body sideslip at front axle center (deg)
2. Body sideslip at C.G. location (deg)
3. Body sideslip at rear axle center (deg)
4. Calculated sideslip at front axle with roll (deg) oscillations in data
5. Calculated sideslip at C.G. location with roll (deg) oscillations in data
6. Calculated sideslip at rear axle (deg) with roll oscillations in data
Notes on Input and Output
This routine differs from the other Q-head simulator in that sideslip is calculated using the new Ken Boyd
method which employs one Q-head and a yaw rate transducer.
Rear Suspension Anti-lift and Anti-squat 313
Special Requests

Rear Suspension Anti-lift and Anti-squat


Computes the anti-lift and anti-squat of a rear suspension
Input:
REQ/id, FUNCTION = USER (1113,m9id,mw10id,mb10id,wb,pbrk,cgh)
where:

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)

Request File Output


Column Number Output:
7. Percent anti-squat for an independent rear suspension (%)
8. Percent anti-squat for a solid axle rear suspension (%)
9. Percent anti-lift for rear suspension (%)
10. Roll center height for rear suspension (mm)
11. (not used)
12. (not used)
Notes on Input and Output
This request can only be accessed for half or quarter vehicle suspension models. Also, the analysis must
be run using "kinematic analysis" since the routine uses velocity vectors to establish the location of the
instant centers.

Scrub and Geometry


Computes the scrub radius, effective caster angle, and toe angle for a half or quarter car suspension
model.
Input:
REQ/id, FUNCTION = USER (1108,m6id,m7id,m9id,m10id,m11id)
314 Adams/Chassis
Special Requests

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)

Request File Output:


Column Number Output:
1. Scrub radius (mm)
2. Effective caster angle (deg)
3. Toe angle (deg)
4. (not used)
5. (not used)
6. (not used)
Notes on Input and Output:
There is no particular orientation required for the five MARKERS used in this routine. Note that this
routine is only applicable for a half or quarter suspension model.

Sideslip Calculations using Q-Heads


Description: Computes the lateral velocity at points both in front of and behind the vehicle. From these
lateral velocities, the sideslip angle is calculated at a given point in the body. This routine is useful in
validating a model against actual vehicle test data which employed Q-heads for sideslip measurements.
The lateral velocity at each Q-head location is calculated with and without the effects of roll oscillations.
The sideslip is calculated at a MARKER position provided in the call statement. The sideslip is also
calculated with and without the effects of roll oscillations.
Input:
REQ/id, FUNCTION = USER (1116,fhm,rhm,grnd,cgm,scale )
Spindle Statistics 315
Special Requests

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)

Request File Output


Column Number Output:
1. Scaled front Q-head lateral velocity including the effects of roll oscillations
2. Scaled front Q-head actual lateral velocity
3. Scaled rear Q-head lateral velocity including the effects of roll oscillations
4. Scaled rear Q-head actual lateral velocity
5. Sideslip angle at designated MARKER calculated (deg) with the roll oscillations present
6. Sideslip angle at designated MARKER calculated with (deg) actual Q-head lateral velocity
Notes on Input and Output
This routine is useful in correlating Adams model simulation results to actual vehicle test data for a given
maneuver. It is important, however, to place the front and rear Q-head MARKERs at the exact location
the real Q-heads were mounted on the test vehicle. The MARKERs must also be on the sprung mass.
Also, the MARKER on the sprung mass where the sideslip is to be calculated must have the same initial
orientation as the global reference frame.

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

Request File Output:


Column Number Output:
1. Left kingpin intersection inclination (deg)
2. Left kingpin intersection rotation (deg)
3. Left wheel center elevation (mm)
4. Right kingpin intersection inclination (deg)
5. Right kingpin intersection rotation (deg)
6. Right wheel center elevation (mm)
Notes on Input and Output:
The kingpin MARKERs have a QP at the kingpin intersection and a ZP at the kingpin axis point (which
is on the kingpin axis and above the kingpin intersection). The kingpin reference MARKERs must have
the same location and orientation as the corresponding kingpin MARKERs. However, the kingpin
reference MARKERs are on the body rather than on the spindles. The wheel center MARKERs are at the
wheel centers and have their Z axes perpendicular to the plane of the tire and pointing out of the vehicle.

Steering Column Statistics


Computes steering wheel angle, lower intermediate shaft angle, steering gear input angle, as well as the
torque at the steering wheel and in the column rag joint at each time step.
Input:
REQ/id, FUNCTION = USER (1117,swm,swrm,ism,gism,gisrm,tsc,swrm2,isrm)
Steering Column Statistics 317
Special Requests

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

REQ/id, FUNCTION = USER


(1118,swmid,swm,swrm,ism,gism,gisrm,tsc,swrm2,isrm)
where:

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

Request File Output


Column Number Output:
1. Steering wheel rotation (deg)
2. Steering wheel torque (*)
3. Torque in steering column rag joint (*)
4. Lower intermediate shaft angle (deg)
5. Steering gear input shaft angle (deg)
6. Angular compliance between steering wheel and (deg) steering gear input shaft
Notes on Input and Output
The steering wheel MARKER and reference MARKER must be those used in defining the steering wheel
angle MOTION statement. The steering wheel torque is obtained by asking for the torque across the
REVOLUTE JOINT which is acted on by the MOTION statement. The secondary steering wheel
reference MARKER must have the same location and orientation as the steering wheel reference marker
but must be mounted to the intermediate shaft.

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

Request File Output


String Potentiometer Processor 319
Special Requests

Column Number Output:


1. Steering wheel rotation (deg)
2. Pitman arm rotation (deg) or rack translation (mm)
3. Difference between the pitman arm (deg) rotation and the steering gear rotation (for steering gear
w/ pitman arm systems)
4. Steering wheel angle at Adams joint (deg) (this is the input Adams puts in at MOTION/735)
5. Steering system angular compliance (deg) between steering wheel and pitman arm (for steering
gear w/ pitman arm systems)
6. Angle at column SIM/STAT joint (deg) (this is the joint that Adams uses in the new CONSUB
SIM/STAT routine for zero drift starts)
Notes on Input and Output
The steering type indicates either steering gear with pitman arm or rack-and-pinion steering. For the
steering gear with pitman arm system, the steering wheel MARKER is on the steering wheel with its QP
at the steering-wheel-to-body joint and with its ZP at the pitman axis point. For rack-and-pinion steering,
the steering wheel MARKER is on the steering wheel with its QP at the pinion-to-body joint and with its
ZP at the pinion axis point.
The steering wheel reference MARKER has the same location and orientation as the steering wheel
MARKER, but the steering wheel reference MARKER is on the body rather than on the steering wheel.
The secondary steering wheel reference MARKER has the same location and orientation as the steering
wheel reference MARKER but is mounted on the intermediate shaft.
If the vehicle has a steering gear with pitman arm system, a pitman MARKER is on the pitman at the
body-to-pitman joint with its ZP at the pitman axis point. The pitman reference MARKER has the same
location and orientation as the pitman MARKER, but the pitman reference MARKER is on the body
rather than on the pitman.
If the vehicle has rack-and-pinion steering, a rack MARKER is on the rack at the body-to-rack 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 steering system angular compliance between the steering wheel and the pitman arm is computed by
subtracting the normalized pitman arm angle from the steering wheel angle. The normalized pitman arm
angle is calculated by multiplying the actual pitman arm angle by the steering gear ratio:
Compliance = Steering wheel angle - Pitman Arm Angle * Gear
RatioReturn to Index

String Potentiometer Processor


Computes and scales string pot deflections at all four wheels then calculates the roll and pitch of the body
on the suspension. This routine is useful in correlating an Adams model to actual vehicle test data which
320 Adams/Chassis
Special Requests

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)

Request File Output


Column Number Output :
1. Scaled left front string pot deflection
2. Scaled right front string pot deflection
3. Scaled left rear string pot deflection
4. Scaled right rear string pot deflection
5. Body-on-chassis roll angle (deg)
6. Body-on-chassis pitch angle (deg)
Notes on Input and Output
The scale factor can take any positive or negative value. Also, the equation for the roll and pitch angles
are:
Roll = (ATAN((rfspd - lfspd) / fdy) + ATAN((rrspd - lrspd) / rdy))/2
Pitch = ATAN ( 0.5 * (rfspd + lfspd - rrspd - lrspd) / wbase ))
Tire Forces and Moments 321
Special Requests

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

The sign convention is:


Positive displacement: Wheel in rebound
Negative displacement: Wheel in jounce

Tire Forces and Moments


Computes the forces and torques acting on a single tire
Input:
REQ/id, FUNCTION = USER ( 1102,fscale,mscale,tire(1)...tire(n)) )
where:

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

Request File Output


Column Number Output:
1. Scaled longitudinal (X) tire force
2. Scaled lateral (Y) tire force
3. Scaled vertical (Z) tire force
4. Scaled overturning moment (X)
5. Scaled braking/traction torque (Y)
322 Adams/Chassis
Special Requests

6. Scaled aligning torque (Z)


Notes on Input and Output
Specifying more than one tire ID will give the cumulative force from each tire.
The forces and torques are calculated at the wheel center with respect to a coordinate system whose Z
axis is aligned with Global Z and X and Y are shadow vector of spindle axes on the road.
To obtain forces in pounds and moments in inch-pounds, use the following scale factors:
fscale = 0.22482 lbs/N
mscale = 0.0088512 in-lbs/N-mm

Tire Patch Slip Angles


This routine computes the tire patch slip angles as used in the tire model to calculate tire forces. These
angles include the first order relaxation lag developed by the tire.
Input:
REQ/id, FUNCTION = USER (1110 )
Request File Output
Column Number Output:
1. Slip angle of tire patch 1 (deg)
2. Slip angle of tire patch 2 (deg)
3. Slip angle of tire patch 3 (deg)
4. Slip angle of tire patch 4 (deg)
5. Slip angle of tire patch 5 (if used) (deg)
6. Slip angle of tire patch 6 (if used) (deg)
Notes on Input and Output
Using the Adams/Chassis modeling standards, the vehicle is modeled with the following wheel
numbering convention:
Wheel #1 = Left front wheel
Wheel #2 = Right front wheel
Wheel #3 = Left rear wheel (outside left rear for dual rear wheels)
Wheel #4 = Right rear wheel (outside right rear for dual rear wheels)
Wheel #5 = Inside left rear wheel for dual rear wheels (not working)
Wheel #6 = Inside right rear wheel for dual rear wheels (not working)
Tire Patch Slip Ratios 323
Special Requests

Tire Patch Slip Ratios


This routine computes the tire patch longitudinal slip ratios as used in the tire model to calculate tire
forces. These angles include the first order relaxation lag developed by the tire.
Input:
REQ/id, FUNCTION = USER (1111 )
Request File Output
Column Number Output:
1. Slip ratio of tire patch 1
2. Slip ratio of tire patch 2
3. Slip ratio of tire patch 3
4. Slip ratio of tire patch 4
5. Slip ratio of tire patch 5 (if used)
6. Slip ratio of tire patch 6 (if used)
Notes on Input and Output
Using the Adams/Chassis modeling standards, the vehicle is modeled with the following wheel
numbering convention:
Wheel #1 = Left front wheel
Wheel #2 = Right front wheel
Wheel #3 = Left rear wheel (outside left rear for dual rear wheels)
Wheel #4 = Right rear wheel (outside right rear for dual rear wheels)
Wheel #5 = Inside left rear wheel for dual rear wheels (not working)
Wheel #6 = Inside right rear wheel for dual rear wheels (not working)

Toe, Caster, and Camber


Computes the toe, caster, and camber of a front or rear suspension.
Input:
Option A:
REQ/id, FUNCTION=USER (1101,lkim,lkam,lwcm,rkim,rkam,rwcm,brm,stflg)
324 Adams/Chassis
Special Requests

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

Request File Output


Column Number Output:
1. Toe angle of left wheel (deg)
2. Caster angle of left wheel (deg)
3. Camber angle of left wheel (deg)
4. Toe angle of right wheel (deg)
5. Caster angle of right wheel (deg)
6. Camber angle of right wheel (deg)
Notes on Input and Output
Turn Radius 325
Special Requests

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

Request File Output


Column Number Output :
1. Turn radius
Notes on Input and Output
Turn radius is calculated by determining the lateral velocity and lateral acceleration of I maker with
respect to J marker in I marker's coordinate system.
326 Adams/Chassis
Special Requests

Turn Radius = (lateral velocity**2/lateraral acceleration) * scale


For lateral accelerations less than 10 mm/sec**2, the turn radius set to zero.

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:

ai=inside wheel steer angle


ao=outside wheel steer angle
aic=inside wheel steer angle required to have the wheel plane perpendicular line intersect
a line passing through the rear axle at the center point between where the inside tire
perpendicular intersects the axle line and where the outside tire perpendicular intersects
the line.
aoc=outside wheel steer angle required to have the wheel plane perpendicular line
intersect a line passing through the rear axle at the center point between where the inside
tire perpendicular intersects the axle line and where the outside tire perpendicular
intersects the line.
aob=outside wheel turn angle required to have the wheel plane perpendicular line
intersect a line passing through the rear axle at the same point that the inside tire
perpendicular intersects the axle line.

Request File Output


Column Number Output:
1. Ideal steer radius (mm)
2. Average ideal steer angle (deg)
3. Outside ideal turn diameter (mm)
4. Linkage ratio (pitman arm steering) or Pinion-to-rack ratio (rack-and-pinion)
5. Ackerman angle (deg)
6. Percent Ackerman (%)
Notes on Input and Output
The wheel center MARKERs are at the wheel centers and have their Z axis perpendicular to the plane of
the tire and pointing out of the vehicle. The kingpin MARKERs have a QP at the kingpin intersection and
a ZP at the kingpin axis point (which is above the kingpin intersection and on the kingpin axis).
If the vehicle has a steering gear with a pitman arm, the pitman MARKER is on the pitman at the body-
to-pitman joint with its ZP at the pitman axis point. The pitman reference MARKER has the same
location and orientation as the pitman MARKER, but the pitman reference MARKER is on the body
rather than pitman.
328 Adams/Chassis
Special Requests

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.

VDO Gear Statistics


Computes the boost force, internal angles, and areas as well as pressure drops of the VDO steering gear
model.
Input:
REQ/id, FUNCTION = USER (1105 )
Request File Output
Column Number Output:
1. Power assist boost force (lbs)
2. Windup angle of valve (deg)
3. Valve are for VAPS or flow for EVO (in2/gpm)
4. First area in gear (in2)
5. Second area in gear (in2)
6. Pressure drop across piston (psi)
Notes on Input and Output
This REQUEST simply outputs data computed in the VDO steering gear model code. This routine,
developed by Jon Quigley, allows a user to store steering gear model information at each time step. Note
that the VDO power steering subroutine must be called in order for this REQUEST to output data. Please
refer to Chapter 6 for information on the VDO power steering model.

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

Request File Output


Column Number Output:
1. Scaled X translational vector magnitude
2. Scaled Y translational vector magnitude
3. Scaled Z translational vector magnitude
4. Scaled yaw rotational vector magnitude
5. Scaled pitch rotational vector magnitude
6. Scaled roll rotational vector magnitude
Notes on Input and Output
The scale factors can take any positive or negative value. For example, to turn translational lateral
accelerations from mm/s-s to g's:
tsc = 1/9807 = 1.01967E-04 g/mm/s-s

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:

bcgm = test equipment transducer package location MARKER id


ignd = ground reference MARKER. For models created in a coordinate system other than
standard Adams/Chassis system, origo marker should replace ignd. (origo marker
represents a marker on ground in whose coordinate system the vehicle is built)
ibdy = body cm MARKER
scale = (optional) 1 - kph, 0 mph
int_branch = (optional) internal branch id to specify correction to lateral acceleration.

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)

Additional Notes on the int_branch Flag


Adams/Chassis provides the user with 2 options for lateral acceleration calculation. Lateral acceleration
can be output in 2 ways: with or without accelerometer gravity effects. By default (option 1) the
acceleration is output without gravity effects. This acceleration is measured in the body reference frame.
Option 2 corresponds to acceleration as an accelerometer would measure. This value is higher than that
from option 1, because it contains an additional component due to angular orientation of the body,
roughly equal to sin(Roll).
To modify the setting for this option modify the ay_calculation_method construction option in a standard
Adams/Chassis instrumentation subsystem file.
Lateral Acceleration Calculation Method
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)
Vehicle Dynamics Parameters 331
Special Requests

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.

Vehicle Dynamics Parameters


Computes instantaneous steering sensitivity, roll gradient, sideslip gradient, understeer from steering
wheel angle, and understeer from just the slip angles at each time step. This routine is also used to input
the maximum allowable roll angle the model can experience in a simulation. This parameter is useful in
halting rollover simulations. The roll couple distribution is also calculated.
Input:
REQ/id, FUNCTION = USER
(1119,bcg,grnd,ibdy,int_branch,swm,swrm,lfw,rfwm,rlw,rrw,lfwc,rfwc,
lrwc,rrwc,oratio,proll)
where:

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

Request File Output


Column Number Output:
1. Vehicle understeer (slip angles) (deg/g)
2. Vehicle roll gradient (deg/g)
3. Vehicle sideslip gradient (deg/g)
4. Steering sensitivity (g/100 deg SWA)
5. Understeer computed from steering (deg/g) wheel angle
6. Roll couple distribution
Notes on Input and Output:
The test equipment MARKER and the ground MARKERs must have the same initial orientation as the
global reference frame. The test equipment MARKER should also be located on the vehicle sprung mass
and located at the same point the lateral accelerometer is typically mounted for actual vehicle testing. The
steering wheel and steering wheel reference MARKERs must be oriented such the their Z axis lie along
the axis of rotation. All wheel center MARKERs must lie on their appropriate wheel parts with their
orientation in the global reference frame.
Vehicle Dynamics Parameters 333
Special Requests

The roll and sideslip gradients are computed as follows:


Roll gradient = body roll angle / lateral acceleration in g's (instantatious)
Sideslip gradient = sideslip angle / lateral acceleration in g's (instantatious)
The steering sensitivity is computed by:
Steering sensitivity = 100.0 * lateral acceleration / steer angle (instantanious)
The understeer is computed in two ways:
The first uses the actual slip angles at all four wheels:
Understeer = (fwslip - rwslip) / latacc (instantanious)
where:
fwslip = (left front slip angle + right front slip angle)/2
rwslip = (left rear slip angle + right rear slip angle)/2
latacc = vehicle lateral acceleration in g's
The second uses the formula that understeer is the excess steering wheel angle required to make a
maneuver than would be required at zero speed. The equation is as follows:
Understeer = (angact - angin) / lateral acceleration (instantanious)
where:
angact = steering wheel angle / overall steering system ratio
angin = wheelbase * lateral accel. / longitudinal velocity**2
The roll couple distribution is calculated from the vertical forces on the tires as
follows:
Roll Couple = Front Load Transfer / Rear Load Transfer
where:
Front Roll Moment = ABS( LFVF - RFVF )
Rear Roll Moment = ABS( LRVF - RRVF )
and:
LFVF = Left front vertical tire load - static tire load
RFVF = Right front vertical tire load - static tire load
LRVF = Left rear vertical tire load - static tire load
RRVF = Right rear vertical tire load - static tire load
334 Adams/Chassis
Special Requests

Vehicle Dynamics Parameters II


This routine outputs the front, rear, and percent total lateral load distribution as well as the front and rear
axle slip and neutral steer angles. From these parameters, useful information such as cornering
compliance's can be derived.
Input:
REQ/id, FUNCTION = USER
(1131,lfid,rfid,lrid,rrid,swid,stbid,ratio,bcgid)
where:

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)

Request File Output


Column Number Output:
1. Front total lateral load transfer (N)
2. Rear total lateral load transfer (N)
3. Percent of total lateral load transfer at front (%)
4. Front axle slip angle (deg)
5. Rear axle slip angle (deg)
6. Neutral steer at steering wheel (deg)
Notes on Input and Output
It is recommended to pass the wheel center rise MARKERs to this routine as parameters two through
five. Adams/Chassis will take this approach.
The equation used to calculate the axle slip angles is as follows:
Front Axle Slip = atan ( Vy / Vx ) - SWA / ratio
Rear Axle Slip = atan ( Vy / Vx )
Wheel Slip Angles 335
Special Requests

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

Wheel Slip Angles


Computes the slip angles at all four wheels. This is the slip angle at the wheel center and does not include
any first order lag induced in the angle calculation.
Input:
REQ/id, FUNCTION = USER (1104 )
Request File Output
Column Number Output:
1. Slip angle of wheel 1 (deg)
2. Slip angle of wheel 2 (deg)
3. Slip angle of wheel 3 (deg)
4. Slip angle of wheel 4 (deg)
5. Slip angle of wheel 5 (if used) (deg)
6. Slip angle of wheel 6 (if used) (deg)
Notes on Input and Output
Using the modeling standards, the vehicle is modeled with the following wheel numbering convention:
Wheel #1 = Left front wheel
Wheel #2 = Right front wheel
Wheel #3 = Left rear wheel (inside left rear for dual rear wheels)
Wheel #4 = Right rear wheel (inside right rear for dual rear wheels)
Wheel #5 = Outside left rear wheel for dual rear wheels
Wheel #6 = Outside right rear wheel for dual rear wheels
336 Adams/Chassis
Steer (King Pin) Axis - Road Plane Intersection

Steer (King Pin) Axis - Road Plane Intersection

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:

D = (KPP - RPL) o rnv / (kpv o rnv)

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:

SRI = KPP + D kpv

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

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 |

Request Statements Steering Arm Length (and Toggle Angle):

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

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 341
Steering Arm Toggle Angle

Steering Arm Toggle Angle

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:

steering_arm.toggle_angle = TAN-1((SA o b)/(SA o t))


Request Statements Steering Arm Toggle Angle (and Length)

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

Haltenberger Advanced 2 Steering System


Haltenberger Steering System 345
Steering Subsystems

Haltenberger Steering System

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

Pitman Advanced 2 Steering System


Pitman Arm Steering System 347
Steering Subsystems

Pitman Arm Steering System

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

Pitman Simple Steering System


Rack Advanced Steering System 349
Steering Subsystems

Rack Advanced Steering System


350 Adams/Chassis
Steering Subsystems

Rack and Pinion Steering System

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

Rack Based 4 Wheel Steering System

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

Relay Rod Advanced 2 Steering System


Relay Rod Steering System 353
Steering Subsystems

Relay Rod Steering System

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

Swing Link Steering Column

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

Tilt Bracket Steering Column


This template is available for tilt-bracket steering columns. With this column type, the upper column is
attached to a tilt bracket, which has a pivot point forward of the wheel. You can place slider joints in either
the intermediate or upper steering column shafts to allow articulation of the column during tilt
adjustment. The tilt setting (in degrees) is a user-specified parameter that lets you fix the tilt angle during
a simulation.

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",...)

str1 - String variable to receive output


format - This is a quoted string indicating format of the output string ,
... - Optional number of variables (int) cnt - Optionally returns number of characters written

Note: 1. The functionality is similar to the C standard library routine sprintf().


2. Available in programs compiled after 08-21-95

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

Note: Strings may be compared directly i.e. if (str1 == "yes").

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

(int) num strlen((string) str1)

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

Note: Similar to the C standard library function strstr().

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

SVC-Iterate J-Turn Cargo Loading Process


Begin: Calculate
mass needed to achieve GVW.
Place box against front X loading limit.
Is Rear weight greater than RGAWR ??
If Yes:
Reduce weight of box so that RGAWR is matched.
Does box extend beyond rear X loading limit ??
If Yes:
Reduce box length so that it completely fills space between front and rear X loading limits.
DONE,
unable to achieve GVW, unable to achieve RGAWR
If No:
DONE,
unable to achieve GVW, able to achieve RGAWR
If No:
Is box beyond rear limit ??
If Yes:
Reduce box so that it completely fills space between front and rear X loading limits.
DONE,
unable to achieve GVW, unable to achieve RGAWR
If No:
Calculate position of box to achieve RGAWR. Move box to this position.
Is box beyond rear X loading limit ??
If Yes:
Move box back to rear limit
DONE,
able to achieve GVW, unable to achieve RGAWR
If No:
DONE,
able to achieve GVW, able to achieve RGAWR
strtoupper 361
Test Mode Event Icons

Test Mode Event Icons

The front-half vehicle icon indicates a front suspension simulation.


The rear-half vehicle icon indicates a rear suspension simulation.
The full-vehicle icon indicates a full-vehicle simulation.
362 Adams/Chassis
Treeview

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])

x,y,z - The x, y, and z components of a point respectively


string - String containing a description of the point. (optional)

double val[4]
assign((double) val,(double) a,(double) b,(double) c,
(double) d, [(string) description])

a,b,c,d - The a, b, c and d values to assign to the array of doubles


string - String containing a description of the variable. (optional)

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.

**Available under afm version 6xx. **


getindex 365
Utility Functions

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().

Note: Available in version 707.04

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)

i - must be one of the following values.

61 - output doe variables (see AutoDoe Handbook).


62 - output local variables (those declared inside logic blocks)
63 - output global variables (those read in from a geometry data file or explicitly declared global)
69 - output all variable stacks

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.

TABLE and SCALAR Data File Keywords


The keywords TABLE and SCALAR provide an alternate mechanism for you to declare and assign
values to variables used by the AFM program. This enables you to create variables which are specific to
a suspension or other module without requiring any custom AFM support for new keywords.
The TABLE function is especially useful when you have data which should be grouped by rows. For
example, a series of points. The TABLE creates an array of data, so all the data coming from the same
TABLE has the same variable name, and is referenced via array indices.
TABLE and SCALAR Data File Keywords 367
Utility Functions

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 INT_COMMENT varname


-- -- ----- ----- ------------------
1 11 1111 1111 First comment
2 22 2222 2222 Second comment
Note
1) There can only be one comment string per row.
2) The comment always comes last

The use of the TABLE option results in the following variables:


varname_row_cnt The number of rows in the table
varname[r][c] Where "r" is equal to varname_row_cnt
and "c" is the number of numeric columns in
the table
varname_com[r] (if you use INT_COMMENT or DOUBLE_COMMENT)

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

to indicate it is a double and not an integer.


2) For a single column of data, only the first array
index
is required. However, if more than one column of
data
exists, then you MUST use the [r][c] format, or you
will
only return a zero.
TABLE INT_COMMENT int_comment_vars
--------- ---------------------------
123 The first INTEGER comment
12 The second INTEGER comment
Results
int_comment_vars_row_cnt = 2
int_comment_vars[0][0] = 123
int_comment_vars[1][0] = 12
int_comment_vars_com[0] = "The first INTEGER comment"
int_comment_vars_com[1] = "The second INTEGER comment"
TABLE DOUBLE_COMMENT double_comment_vars
--------- -------------------------------------------------------
------
123.456 The first comment line
12. This works too
1 The decimal is not required, it is still a DOUBLE
Because there is not blank line, this is still
part
of the same table. The associated numeric values
will all be zero.
Results
double_comment_vars_row_cnt = 6
double_comment_vars[0][0] = 123.456
double_comment_vars[1][0] = 12
double_comment_vars[2][0] = 1
double_comment_vars[3][0] = 0
double_comment_vars[4][0] = 0
double_comment_vars[5][0] = 0
double_comment_vars_com[0] = "The first comment line"
double_comment_vars_com[1] = "This works too"
double_comment_vars_com[2] = "The decimal in not
required..."
double_comment_vars_com[3] = " Because there
is..."
double_comment_vars_com[4] = " of the same
table..."
double_comment_vars_com[5] = " will all be
zero."
TABLE_DOUBLE_COMMENT extra_points
------- ------- ------- ----------------
111.11 222.22 333.33 A pivot point
444.44 -555.55 666.66 Another point
Results
extra_points_row_cnt = 2
extra_points[0][0] = 111.11
extra_points[0][1] = 222.22
370 Adams/Chassis
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:

INT - Declare and assign integers


DOUBLE - Declare and assign doubles
STRING - Declare and assign strings
TYPE - Declare and assign variables of specified type

General format is:

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

4) The "333" is ok because it resides entirely inside


the
data column.
5) In the second case, the "777" entirely outside of
the
data-columns as defined by the dashed lines.
Hint
1) Following the logic of Note #5, you can add comments
to your data tables which are for documentation of
the
data file, but are not available to AFM as
variables.
This is shown on the third row of the table.
TABLE INT wrong
--- --- ---
11 22 777 33
44 55 66
Results
None!
Note
1) Although the "777" does not cross a data-column
border, it
does not lie to the right of the last data-column
and is
not ignored. AFM will issue a fatal error message.
TABLE INT bad
-----
11
22 3333
44
Results
None!
Note
1) Because the "3333" *CROSSES* a data-column border
as defined
by the dashed line, AFM issues a fatal error
message. Data
must be entirely inside a data-column. Any values
entirely
outside the data-columns are ignored, as in the
previous
example.

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)

num - Exit status of command (optional)


command - system command to be executed.(This executes a Bourne shell 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);
}}

Note: To use the system function in an assignment statement is optional.

transpec
Translates the filespec and returns the translated string.
(string) txt = transpec((string) file)

txt - Contains the name of the full file spec


file - The filename including environment variables and `~`.
374 Adams/Chassis
Vector Functions

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)

Note: ang = acos(dot/mag)

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 Configuration File


The vehicle configuration file defines the high level configuration of the vehicle. This file references
various front, rear, and optional subsystems. You can find vehicle configuration files in the current
vehicle database in the systems.tbl directory.
You can create a new vehicle configuration file or add optional road subsystems which allows you to add
independent roads and road graphics.
normalize 377
Vehicle Database

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

For the option: Do the following


Remembering Select if you want to use knowledge from a previous analysis.

By selecting this option, the Knowledge ID (.kno) text box appears.


Learn Type Select one of the following:

• 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

For the option: Do the following


Write Knowledge File (Not available for No Learning.) Select one:

• Once - Records the information after each lap in the same


knowledge file
• At End of Each Lap - Records the information after each lap in
different files with a timestamp as an additional file extension
• Every A/Driver Update - Records the information after each
knowledge update in different files with a timestamp as an
additional file extension
Driver File (.din) Use the Find tool to select a driver file that defines an open- or closed-
loop speed controller.
Road Data File (.rdf) Use the Find tool to select a Road Data File that contains road data
information.

The tire subsystems use this information to calculate the tire/road


interaction forces.
Knowledge ID (.kno) (Only available if you selected Remembering.) Use the Find tool to select
a file (.kno) that contains knowledge from a previous analysis.
Road/Testrig Data File Select if you want to specify a Road Data File that contains road data
information. The tire subsystems use this information to calculate the
tire/road interaction forces.
Front 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.
380 Adams/Chassis
Vehicle Simulations

For the option: Do the following


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 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

For the option: Do the following:


Speed Control Select one of the following:

• DCD File - Allows you to control the longitudinal dynamics


of the vehicle assembly using a driver data file.
• Longitudinal Accel - Lets you specifically define a
longitudinal acceleration value.
If you select DCD File, Adams/Chassis displays the following options:
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 File (.din) Use the Find tool to select a driver file that defines an open- or
closed-loop speed controller.
Road Data File (.rdf) Use the Find tool to select a Road Data File that contains road data
information.

The tire subsystems use this information to calculate the tire/road


interaction forces.
Machine 381
Vehicle Simulations

For the option: Do the following:


Knowledge ID (.kno) (Only available if you selected Remembering.) Use the Find tool to
select a file (.kno) that contains knowledge from a previous analysis.
Driver File (.din) Use the Find tool to select a driver file that defines an open- or
closed-loop speed controller.
Road/Testrig Data File Select if you want to specify a Road Data File that contains road data
information. The tire subsystems use this information to calculate the
tire/road interaction forces.
Front 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.
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

For the option: Do the following:


Longitudinal Accel Enter the longitudinal acceleration of the vehicle in g’s.
Road Data File (.rdf) Use the Find tool to select a Road Data File that contains road data
information.

The tire subsystems use this information to calculate the tire/road


interaction forces.
Road/Testrig Data File Select if you want to specify a Road Data File that contains road data
information. The tire subsystems use this information to calculate the
tire/road interaction forces.
Front 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.
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.

Description of input fields and types of 4-post events


Input Fields:
Simulation Time and Output Frequency - Determines the end time and number of steps for the transient
simulation.
384 Adams/Chassis
Vehicle Simulations

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)

Acceleration Controlled Stop


Vehicle Dynamics CAE Standard Test Procedure
Use to determine a target vehicle acceleration curve time history by modulating the brake pedal force.
This simulation allows you to find:
Body Attachment Finder 385
Vehicle Simulations

• Pedal force versus time


• Vehicle position versus time
• Vehicle acceleration versus time
• Slip ratios versus time
• Vertical tire force versus time
• Brake torque versus time curves

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.

Body Attachment Finder


The Body Attachment Finder utility aids the construction of the Body/Frame.flx files by displaying all
the body/frame attachment names and locations.
This utility assembles your model and reports either:
• All Body attachments (Unibody vehicle)
• All Frame attachments (Body-on-frame vehicle)

Adams/Chassis displays the results in the run window, and writes them to a report file (mask.dat).

To use the Body Attachment Finder:


1. In the Test mode bookshelf, expand Full Vehicle, expand Utilities, and then double-click Body
Attachment Finder.
2. Select the Body Attachment finder in the treeview (for example, achassis_gs_full_sys_battach),
and then select Build Selected Events.
The Adams run window appears and displays the results.

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

• Steering wheel torque

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.

The remainder of the variables are designated in the .acf file.


View an example of Crosswind Simulation output

Double Lane Change


Vehicle Dynamics CAE Standard Test Procedures
Under the lane change event, a new lane change type, 'Dbl Lane Change' has been added. Selecting this
will bring up 11 event fields for the path specification, PI controller scaling factor, preview distance, and
T1 Time Delay. The lane width (used for graphics) is 3 m, and the path geometry variables are used to
construct the following path shape:
Dynamic Constant Radius 389
Vehicle Simulations

Dynamic Constant Radius


Example of an Adams Command File (.acf)

dcrad.adm Specifies the Adams input model name.


dcrad.out Specifies the Adams output file name.
ARRAY/51,NUM = 0.1, 0.00, Turns traction controller on.
150.00
DIF/50, FUNC=USER(1102, This DIF is required by the traction controller. The five
50,2,5150,3) variables are spid (traction time history SPLINE id), imot
(type of error in traction SPLINE, 2=velocity error), bm
(sprung mass traction marker), and gm (marker on
ground).
ARRAY/61,NUM = 0.5, 150.0, Turns braking controller off.
200.0,70,0.50,0.50
DIF/60, FUNC=USER(1102, This DIF is required by the braking controller. The five
60,3,5150,3) variables are the same as in DIF/50 (with imot = 3,
acceleration error).
DEACTIVATE/SENSOR,ID=1000 Deactivate longitudinal velocity sensor
ACCGRAV/IGRAV= 0.0000,JGRAV= Reset the gravity vector such that no camber is present.
0.0000,KGRAV=-9806.65
CONTROL/FUNC=USER(1010,555) Bring the model to static equilibrium.
VARIABLE/735,FUNC=VARVAL(484) Steering wheel input from VARVAL 484.
CONTROL/FUNC=USER(1111,555,0) Calls the SVC routine
DEACTIVATE/MOTION,ID=736 Unlock steering system
390 Adams/Chassis
Vehicle Simulations

CONTROL/FUN=USER(1010,555) Bring the model to static equilibrium


SIM/TRANS,END=150,STEP=300 Runs a dynamic simulation for 150 seconds and 300 total
steps.
stop Ends simulation

Dynamic Loadcases Using Full-Vehicle Models


The full-vehicle dynamic loadcase event is an extension of the suspension loadcase event. You will have
to provide following specifications in addition to the specifications required for suspension dynamic
loadcase analysis.

For the option: Do the following:


Load Type Select one:

• 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

Specification : Does the following:


Wheel force input Specifies the channel numbers from the RPC file corresponding to left and
right wheel inputs for both front and rear suspensions.
Single input Specifies the channel numbers from RPC data file for the following four
wheel center displacements:

• 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.

Dynamic Loadcases Using Half-Vehicle Models


Dynamic Loadcases implement a semi-analytical or hybrid method to determine loads acting on the
chassis and body or frame of a vehicle. Semi-analytical methods use a mix of measured data and
simulation of analytical models to determine loads. Measured data are used where accurate analytical
data are difficult to generate. Typically, a few forces and displacements are measured on the test track or
obtained from an RPC machine. This data is used as input to half vehicle analytical models built using
Adams/Chassis. Dynamic simulations of the model are used to obtain required loads.
The Dynamic Loadcase option in Adams/Chassis allows the user to build a half-vehicle model and run a
dynamic simulation. RPC-3 format data files provide input forces, moments and displacements. The
output of Dynamic Loadcases are time histories of forces and displacements at the various suspension
and body/frame/subframe mounts. The output data may be used to determine simultaneous minimum and
maximum values, for correlation work and for fatigue analysis.
Learn more about Half-Vehicle Simulations.
Learn about the Dynamic Loadcase Fingerprint Generator.
392 Adams/Chassis
Vehicle Simulations

For the option: Do the following:


Load Type Select one:

• 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]

You do have the option to overwrite the mask.


Channel Information Allows you to view the channels present in the RPC input file. You
can manually input the channel numbers in Wheel Force Input or
Single Input.
Start Time Enter the start time of the simulation.
End Time You can overwrite the end time that if you want the end time to be
shorter than the time from the RPC data file.
Dynamic Loadcases Using Half-Vehicle Models 393
Vehicle Simulations

Specification: Does the following:


Wheel force input Specifies the channel numbers from the RPC file corresponding to left and
right wheel inputs for both front and rear suspensions.
Single input Name - You can specify the name for the input channel (Only steering
input is available for suspension dynamic loadcase event).

Active

• yes - The input channel is active


• no - The input channel is not active
Type - Specifies the type of input from RPC data file.

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

The input for each Wheel input is calculated as:

Input = Offset + Scale Factor * Rpc Channel Data

Building and Running the Model


When using Adams/Chassis to build the model, the user must choose the content and form of the output
from the available options. The options for the loads are:
1. All Loads
2. Component Loads only
3. Body/Frame mount Loads only
4. Steering system loads
5. Stabilizer Bar loads
Coordinate System for Loads
Loads may be reported in either a local or the global coordinate system. A local coordinate system is a
coordinate system attached to a suspension component. This coordinate system is at the Design condition
but moves with the part.

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.

For the option: Do the following:


If you selected the Dynamics simulation, the following option is available.
Driver Control File (.dcf or Use the Find tool to specify a Driver Control File, which will have
.xml) the type of event and the duration of the event to be performed.
The following options are available for both Statics and Dynamics simulations.
Eigensol Options Select one:

• 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.

Extended Fish Hook


CAE Standard Test Procedure
The Extended Fish Hook test measures the transient handling properties of a vehicle at limit handling
conditions. The test is similar to the standard Fishhook maneuver but shows more steering activity. This
test is used to assess a vehicle's roll stability by exciting it with the most critical steering input. It should
be noted that the most critical steering input is vehicle dependent.
The given excitation is an open-loop version of a double-limit lane change. It determines which input is
needed to exceed a vehicle's roll limit. This input is defined by the steering amplitude scale factor,
frequency, and the amount of added roof load needed to exceed the roll limit. Vehicles can then be
classified by the amount of amplitude (at a certain frequency) and roof load. The higher the required
amplitude and roof load, the better the vehicle.
396 Adams/Chassis
Vehicle Simulations

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

Full-Vehicle Simulation: Adams/Driver

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.

This document contains the following sections:


• Required Driver Files
• GUI Interface
• Submission of Driver Simulation

Required Driver Files


In order to submit a Driver simulation it is necessary to supply two files:
• course data file (.drd)
• driver input file (.din)

course data file (.drd)


400 Adams/Chassis
Vehicle Simulations

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 .

driver input file (.din)


The driver input file (.din) lists a number of parameters for the driver and the vehicle. The .din file
contains parameters such as the corner cutting coefficient and the maximum allowable longitudinal and
lateral accelerations. Being an ASCII file, it is possible to edit it and modify the values of the parameters.
402 Adams/Chassis
Vehicle Simulations
Full-Vehicle Simulation: Adams/Driver 403
Vehicle Simulations

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

Submission of Driver Simulation


When the driver input parameters have been defined (and the *.din file has been created) you are ready
to submit your full vehicle analysis with Driver. In the GUI you have to select a driver road data file
(defining the centerline coordinates of the track and the lane width) and also a driver input file. Both file
have to be existing.
The orientation of the driver reference marker is critical for the success of the Driver simulation, and it
depends on the road data file supplied. Before submitting the analysis you have to select the correct
orientation of the course reference marker based on the road data file. Again, the Adams/Driver user's
manual explains this and sets a convention.

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

Half-Vehicle SVC Maneuver


Vehicle Dynamics CAE Standard Test Procedure

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:

Half-Vehicle SVC Simulation Default settings:


Axle load [lbs] = 2500.0
CG height [in] = 27.0
Wheelbase [in] = 115.0
Front wheel rolling radius [in] = 12.0
Rear wheel rolling radius [in] = 12.0

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.

This is how the NHTSA fishhook is done.

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

Open Loop Braking


Vehicle Dynamics CAE Standard Test Procedure
Determines system response to either step input in pedal force or pedal force time history.
This simulation allows you to find:
• Pedal force versus time
• Vehicle position versus time
• Vehicle acceleration versus time
• Slip ratios versus time
• Vertical tire force versus time
• Brake torque versus time curves
Parking Effort 409
Vehicle Simulations

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.

Ride Motion at Wheel Center


Vehicle Dynamics CAE Standard Test Procedure

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

Ride Motion Simulation Default settings:


Spindle rise-to-curb [mm] = 0.0
Jounce Travel [mm] = 20.0
Rebound Travel [mm] = 20.0

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.

Roll Motion at Wheel Center Simulation


Vehicle Dynamics CAE Standard Test Procedure

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:

Roll Motion Simulation Default settings:


Axle load [lbs] = 1000.0
Left/Right force difference [lbs] = 500.0

Roll Motion -Displacement Based


Vehicle Dynamics CAE Standard Test Procedure

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.

Single Wheel Motion


Vehicle Dynamics CAE Standard Test Procedure

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:

Single Wheel Motion Simulation Default settings:


Spindle rise-to-curb [mm] = 0.0
Jounce Travel [mm] = 20.0
Rebound Travel [mm] = 20.0

Left or Right side motion (radio button selection)


With these variables, Adams/Chassis will build a model that will allow Adams to calculate the toe, caster,
and camber for the specified rise-to-curb, jounce, and rebound travel.

Sinusoidal Steering
This event simulates the vehicle driving at constant speed with harmonic steering motion.
412 Adams/Chassis
Vehicle Simulations

Standard Driver Interface

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).

Static Loadcase Event


Vehicle Dynamics CAE Standard Test Procedure

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

Forward Wide Open Throttle


Max Drive Shaft Torque = max_engine_torque * torque_conv_ratio * first_gear_ratio * efficiency
Reverse Wide Open Throttle
Max Drive Shaft Torque = max_engine_torque * torque_conv_ratio * reverse_gear_ratio * efficiency
Max Half Shaft Torque = 0.5*drive_shaft_torque * diff_gear_ratio * efficiency
Max fz calculations

Front Wheels = GVW/(2 * Wheel base) * (L_to_CG - long.accel * CG Height)


Rear Wheels = GVW/(2 * Wheel base) * (L_to_CG + long.accel * CG Height)

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

Locations of the Applied Loads


The locations of the applied loads are as follows:
• Vertical loads are applied at the wheel center.
• For cornering loadcase event, vertical loads are applied at the contact patch.
• Longitudinal loads are applied at the wheel center except that the loads are applied at the tire
patch in braking event loadcases.
• Lateral loads are applied at the tire patch.

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

3. Body/Frame Loads only


• Loads reported in global body coordinate system.
• Loads reported in both global body and local part coordinate system.
4. Steering system loads
5. Stabilizer loads

XML Loadcase Data File Editor


In the current version of Adams/Chassis, the loadcases are specified via the Load Case Data File Editor
and saved as an .xml file. The Editor can be accessed directly from the Static Loadcase event in the
Adams/Chassis GUI. Under the Parameters tab, you must supply vehicle parameters, such as GVW,
FGAWR, RGAWR, and Cg Height, and powertrain parameters, such as gear ratio, efficiency, maximum
engine torque. See the following image:

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:

Loadcase Request Convention


Note that the tire/wheel mass will be reduced to 0.1 for a static loadcase event because the original forces
were measured inboard of the WFT (between a spindle and a wheel). The exception to this is when you
are using 1g static loadcase. For a 1g static loadcase, the design load will be applied at a spindle and the
user defined or default tire/wheel mass will be used.
View an example of Loadcase Simulation output

Static Vehicle Characteristics (SVC)


This document describes the use of Static Vehicle Characteristics (SVC), a set of Adams utility
subroutines which compute Static Vehicle Characteristics (SVC) for automobile or light truck
suspensions at static equilibrium. Examples of such characteristics include wheel rate and front
suspension percent anti-dive. SVC analyzes both full-vehicle and half-vehicle models. For a full vehicle,
SVC calculates characteristics for the front and rear suspension as well as general vehicle characteristics
Steady State Drift 417
Vehicle Simulations

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

Front Axle CRAT [N-m]: 0.0


Rear Axle CRAT [N-m]: 0.0
Front Axle PRAT [N-m]: 0.0
Rear Axle PRAT [N-m]: 0.0
With these variables, Adams/Chassis modifies the generic model in the following ways:
- None
View an example of Steady State Drift simulation output

Steering: Front and Rear

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:

Steering Simulation Default settings - Front steer:


Spindle rise-to-curb [mm] = 0.0
Vehicle Wheelbase [in] = 100.0
Maximum steering angle [deg]= 360.0
Steering Simulation Default settings - Rear steer:S
pindle rise-to-curb [mm] = 0.0
Vehicle Wheelbase [in] = 100.0
Maximum steering angle [deg] = 360.0
Pseudo Velocity [km/hr]= 10.0
With these variables, Adams/Chassis will allow Adams to calculate road wheel angle, percent Ackerman,
Ackerman angle, steering ratio and steering wheel angle.

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

Straight Line Acceleration


Vehicle Dynamics CAE Standard Test Procedures
The event evaluates vehicle control during a simulated braking event and left/right road surface
conditions.
Important information gathered from this simulation are gradient values for pitch, lift/dive, and
toe/caster/camber change.

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

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.

View an example of Straight Line Acceleration Simulation output

Straight Line Deceleration


Vehicle Dynamics CAE Standard Test Procedure
The event evaluates vehicle control during a simulated braking event and left/right road surface
conditions.
Important information gathered from this simulation are gradient values for pitch, lift/dive, and
toe/caster/camber change.

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.

View an example of Straight Line Deceleration Simulation output

Straight Line Drive Durability


The Straight Line Drive Durability event is similar to the standard Straight-Line Drive event, but includes
the options to simplify the model by removing all vehicle dynamics requests, traction/braking controller,
and the standard tire model interface.
Straight-Line Drive 421
Vehicle Simulations

For the option: Do the following:


Vehicle Velocity Set the vehicle velocity. Wheel rotational velocities will not be set
unless tire models that work in STI are used.
Use Vehicle Dynamics Requests Select to use vehicle dynamics requests in the dataset and to have
default SDI plotting available when you switch to Review mode.
Use Traction/Braking Controller Select to include all items related to the traction and braking
controller in the dataset and generate a dcf file. If you do not select
this option, you are responsible for adding the necessary controller
code to the dataset using the Custom ADM Text feature.

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:

Suspension Compliance Simulation Default settings:


Spindle rise-to-curb [mm] = 0.0
Forward longitudinal force at wheel center [lbs] = 0.0
Rearward longitudinal force at wheel center [lbs] = 0.0
Forward longitudinal force at contact patch [lbs] = 0.0
Rearward longitudinal force at contact patch [lbs] = 0.0
Lateral force at contact patch [lbs] = 0.0
Aligning torque at wheel center [in-lbs] = 0.0

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

Front and Rear Ride Height


The ride height adjustment option is available for coil and torsion spring suspensions. Leaf spring
suspensions are not supported. Data in the front suspension subsystem and rear suspension subsystem
files is varied for this option. For coil spring suspensions, the spring free length is varied. For torsion bar
suspensions, the torsion bar preload angle is varied.
Front and Rear Wheel Rate
The ride height adjustment option is also available for coil and torsion spring suspensions. For coil spring
suspensions, the spring rate is varied. For torsion bar suspensions, the torsion bar diameter is varied.
Results
After all tolerances are met new datafiles are created with the new mass and spring information. The new
datafiles are named by adding a .new to your original filename. The desired targets and achieved values
are written to the header section of each new datafile.

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

Throttle Off In a Turn


Vehicle Dynamics CAE Standard Test Procedure
Use this test to determine a vehicle's directional control response characteristics during a power off 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 the driver has reached a
steady-state condition driving around the circle, he abruptly releases the accelerator. 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 deceleration (from transmission effects). 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 braking controller begins to decelerate the vehicle at time 0.2 seconds
(throttle off 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 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.

Understeer Budget in Adams/Chassis


The Understeer Budget calculations was added to the Constant Radius full-vehicle event. With
Understeer Budgeting, you can assess the contribution of different vehicle attributes to overall understeer
gradient. To formulate the Understeer Budget Adams/Chassis has been modified.
426 Adams/Chassis
Vehicle Simulations

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.

Understeer Budget Calculations


The Understeer Gradient of a vehicle is produced by several effects: tire stiffness, weight distribution,
suspension kinematics, suspension compliance, etc. For the Understeer Budget calculations, we will
calculate the individual effects of: Weight and Tires, Roll Steer, Steering System Compliance, and
Suspension Compliance.
An effect that is being ignored at this time is the contribution from Aligning Torque on the Rigid Body.
This contribution usually amounts to .2 deg/g or less, and is due to tire rotational stiffness. This
calculation could possibly be added in the future. Also, the Front and Rear Suspension Compliance
Gradients are lumped gradients that include the effects of roll camber and aligning torque deflection steer.
The next sections describe the following:
• List of Symbols
• Overall Steering Ratio
• Sign Conventions
Understeer Budget Calculations 427
Vehicle Simulations

• 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

Overall Steering Ratio


The Overall Steering ratio (kinematic) will be calculated by Adams/Chassis before the model is run by
using the geometry at design position. Simplified calculations are used: we assume that linkages are
nearly perpendicular to each other at design (normally a good assumption). Please note that the overall
steering ratio will change with steering wheel angle, but for now we are using the single number
calculated at design. In the future more rigorous calculations could be added using an Adams User
routine that calculated the kinematic overall steering wheel ratio at each instant. Please see Appendix B
for the overall steering ratio calculations for the different steering systems.
Sign Conventions
Lateral acceleration is positive to the right, roll angle is positive to the left. So, in a left turn, lateral
acceleration and roll angle are both negative. Positive roll steer percentages, front and rear, indicate toe
out for the outside tire, toe in for the inside tire. Therefore, a positive front roll steer percentage is an
understeer effect, while a positive rear roll steer percentage is an oversteer effect. Toe-out is negative,
toe-in is positive.
Understeer Budget Calculations 429
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

Figure 2. Rear Toe Angle Components

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

Steering System Compliance Steer and Front Suspension Compliance Steer


Steering System Compliance Steer is the understeer effect due to upstream steering system compliance,
i.e. compliance between the steering wheel and the steering gear. Downstream steering system
compliance effects will be lumped into Front Suspension Compliance Steer. For example, understeer
effects due to tie rod ball bushing stiffness will show up in the front suspension compliance number.
Rack-and-Pinion Steering System
Understeer Budget Calculations 433
Vehicle Simulations

Pitman, Haltenberger, and Relay Steering Systems

Rear Suspension Compliance Steer

Appendix A: Variable Sources


434 Adams/Chassis
Vehicle Simulations

Appendix B: Overall Steering Ratio Calculations


Rack
Understeer Budget Calculations 435
Vehicle Simulations

Pitman and Haltenberger

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

Vehicle Simulations - Inputs

Acceleration Controlled Stop

Traction Controller Off at 1.0 seconds.


Braking Controller On at 0.5 seconds with user specified initial and final braking time, left and
right mu, and accleration profile.
Steering Controller Steering wheel locked at 0 degrees of motion.

Brake Drift

Traction Controller Off at 0.2 seconds.


Braking Controller On at 0.2 seconds with user specified braking deceleration, brake
proportioning (% front), brake split to left wheel, and road crown.
Steering Controller Steering wheel locked at 0 degrees of motion.

Brake in a Turn

Traction Controller Off at 0.2 seconds.


Braking Controller On at 0.2 seconds with user-specified braking deceleration.
Steering Controller Steering wheel locked at steering wheel angle found from user specifed
desired lateral acceleration and turn radius.

Constant Radius

Traction Controller Not used - static event


Braking Controller Not used - static event
Steering Controller Not used - static event

Crosswind

Traction Controller On at 0.0 seconds.


Braking Controller Off
Steering Controller Steering wheel locked at 0 degrees steering input.
Double Lane Change 437
Vehicle Simulations - Inputs

Double Lane Change

Traction Controller On at 0.0 seconds.


Braking Controller Off
Steering Controller Custom controller. See VARVAL(41013) in dataset for more information.

Dynamic Constant Radius

Traction Controller On at 0.0 seconds.


Braking Controller Off
Steering Controller Custom controller. See VARVAL(484) in dataset for more information.

Fishhook

Traction Controller Off at 0.2 seconds.


Braking Controller Off
Steering Controller The directions and the steering wheel motions (at a rate of 512 deg/sec) for
the first and the second turns are user specified. The duration of the first
steering wheel angle is also user specified.

Frequency Response

Traction Controller On at 0.0 seconds.


Braking Controller Off
Steering Controller A pulse input is produced with the peak magnitude coming from the user
specifed lateral acceleration calculated by the steady state cornering
simulation done earlier in the event.

J-Turn

Traction Controller Off at 0.2 seconds.


Braking Controller Off
Steering Controller Steering wheel motion is a user specified step input (90, 180, 270, or 360
degrees) at a rate of 512 deg/sec.

Lane Change
438 Adams/Chassis
Vehicle Simulations - Inputs

Traction Controller On at 0.0 seconds.


Braking Controller Off
Steering Controller Custom steering controller. See VARVAL(1000) in the dataset for more
information.

Moderate Braking - Steady State

Traction Controller Not used - static event.


Braking Controller Not used - static event.
Steering Controller Steering wheel locked at 0 degrees steering input.

On Center

Traction Controller On at 0.0 seconds.


Braking Controller Off
Steering Controller Custom steering controller. 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.

Open Loop Braking

Traction Controller Off at 1.0 seconds.


Braking Controller On at 1.0 seconds with user specified left and right mu and brake pedal force
profile.
Steering Controller Steering wheel locked at 0 degrees of motion.

Parking Effort (Low Velocity)


Sinusoidal Steering 439
Vehicle Simulations - Inputs

Traction Controller Off


Braking Controller Off
Steering Controller A steering maneuver is hardcoded to do a "figure 8" using the user specified
steering wheel amplitude.

Sinusoidal Steering

Traction Controller On at 0.0 seconds.


Braking Controller Off
Steering Controller Steering wheel rotates with harmonic function at user specified amplitude
and frequency.

Standard Driving Machine Interface

Traction Controller Controlled by the Driving Machine.


Braking Controller Controlled by the Driving Machine.
Steering Controller Controlled by the Driving Machine.

Steady State Drift

Traction Controller On at 0.0 seconds.


Braking Controller Off
Steering Controller Steering wheel is unlocked with no input.

Step Steer

Traction Controller On at 0.0 seconds.


Braking Controller Off
Steering Controller User enters desired lateral acceleration. A steady state cornering routine is
run to determine the required steering wheel input for the specified lateral
acceleration. The steering wheel is then given the calculated steering wheel
angle at a rate of 512 deg/sec.

Straight Line Acceleration


440 Adams/Chassis
Vehicle Simulations - Inputs

Traction Controller Not used - static event.


Braking Controller Not used - static event.
Steering Controller Steering wheel locked at 0 degrees steering input.

Straight Line Deceleration

Traction Controller Not used - static event.


Braking Controller Not used - static event.
Steering Controller Steering wheel locked at 0 degrees steering input.

Straight Line Drive

Traction Controller On at 0.0 seconds.


Braking Controller Off
Steering Controller Steering wheel locked at 0 degrees steering input.

Swept Steer

Traction Controller On at 0.0 seconds.


Braking Controller Off
Steering Controller Steering wheel slowly increased as a function of time until desired lateral
acceleration is achieved.

Throttle Off In Turn

Traction Controller Off at 0.2 seconds.


Braking Controller On at 0.2 seconds. User specified transaxle deceleration.
Steering Controller Steering wheel locked to constant value found from steady state cornering
user subroutine with the user specified lateral acceleration.

Throttle On In Turn
Tire Wear 441
Vehicle Simulations - Inputs

Traction Controller On at 0.0 seconds. User specified longitudinal acceleration.


Braking Controller Off
Steering Controller Steering wheel locked to constant value found from steady state cornering
user subroutine with the user specified lateral acceleration.

Tire Wear

Traction Controller On at 0.0 seconds.


Braking Controller Off
Steering Controller Custom steering controller. See VARVAL(1000) in dataset for more
information.
442 Adams/Chassis
Vehicle Simulations - Plots

Vehicle Simulations - Plots

Acceleration Controlled Stop Standard Plots


Brake Drift Standard Plots 443
Vehicle Simulations - Plots

Brake Drift Standard Plots


444 Adams/Chassis
Vehicle Simulations - Plots

Brake-in-Turn Standard Plots


Constant Radius Standard Plots 445
Vehicle Simulations - Plots

Constant Radius Standard Plots


446 Adams/Chassis
Vehicle Simulations - Plots

Crosswind Standard Plots


Fishhook Standard Plots 447
Vehicle Simulations - Plots

Fishhook Standard Plots


448 Adams/Chassis
Vehicle Simulations - Plots

Frequency Response Standard Plots


Frequency Response Standard Plots - Handsfree Simulation 449
Vehicle Simulations - Plots

Frequency Response Standard Plots - Handsfree Simulation


450 Adams/Chassis
Vehicle Simulations - Plots

Frequency Response Standard Plots - SDI


Frequency Response Standard Plots - SDI 451
Vehicle Simulations - Plots
452 Adams/Chassis
Vehicle Simulations - Plots
Front Compliance Test Standard Plots 453
Vehicle Simulations - Plots

Front Compliance Test Standard Plots


454 Adams/Chassis
Vehicle Simulations - Plots
Front Compliance Test Standard Plots 455
Vehicle Simulations - Plots
456 Adams/Chassis
Vehicle Simulations - Plots

Front Ride Motion Standard Plots


Front Ride Motion Standard Plots 457
Vehicle Simulations - Plots
458 Adams/Chassis
Vehicle Simulations - Plots
Front Ride Motion Standard Plots 459
Vehicle Simulations - Plots
460 Adams/Chassis
Vehicle Simulations - Plots
Front Ride Motion Standard Plots 461
Vehicle Simulations - Plots
462 Adams/Chassis
Vehicle Simulations - Plots
Front Ride Motion Standard Plots 463
Vehicle Simulations - Plots
464 Adams/Chassis
Vehicle Simulations - Plots
Front Roll Motion (Displacement Based) Plots 465
Vehicle Simulations - Plots

Front Roll Motion (Displacement Based) Plots


466 Adams/Chassis
Vehicle Simulations - Plots
Front Roll Motion (Displacement Based) Plots 467
Vehicle Simulations - Plots
468 Adams/Chassis
Vehicle Simulations - Plots

Front Roll Motion Standard Plots


J-Turn Standard Plots 469
Vehicle Simulations - Plots

J-Turn Standard Plots


470 Adams/Chassis
Vehicle Simulations - Plots

Moderate Braking Standard Plots


OnCenter Standard Plots 471
Vehicle Simulations - Plots

OnCenter Standard Plots


472 Adams/Chassis
Vehicle Simulations - Plots

Open Loop Braking Standard Plots


Parking Effort Standard Plots 473
Vehicle Simulations - Plots

Parking Effort Standard Plots


474 Adams/Chassis
Vehicle Simulations - Plots

Rear Compliance Test Standard Plots


Rear Compliance Test Standard Plots 475
Vehicle Simulations - Plots
476 Adams/Chassis
Vehicle Simulations - Plots
Rear Ride Motion Standard Plots 477
Vehicle Simulations - Plots

Rear Ride Motion Standard Plots


478 Adams/Chassis
Vehicle Simulations - Plots
Rear Ride Motion Standard Plots 479
Vehicle Simulations - Plots
480 Adams/Chassis
Vehicle Simulations - Plots
Rear Ride Motion Standard Plots 481
Vehicle Simulations - Plots
482 Adams/Chassis
Vehicle Simulations - Plots
Rear Ride Motion Standard Plots 483
Vehicle Simulations - Plots
484 Adams/Chassis
Vehicle Simulations - Plots
Rear Ride Motion Standard Plots 485
Vehicle Simulations - Plots
486 Adams/Chassis
Vehicle Simulations - Plots

Rear Roll Motion Standard Plots


Single Wheel Motion Standard Plots 487
Vehicle Simulations - Plots

Single Wheel Motion Standard Plots


488 Adams/Chassis
Vehicle Simulations - Plots
Sinusoidal Steering Standard Plots 489
Vehicle Simulations - Plots

Sinusoidal Steering Standard Plots


490 Adams/Chassis
Vehicle Simulations - Plots
Sinusoidal Steering Standard Plots 491
Vehicle Simulations - Plots
492 Adams/Chassis
Vehicle Simulations - Plots
Sinusoidal Steering Standard Plots 493
Vehicle Simulations - Plots
494 Adams/Chassis
Vehicle Simulations - Plots
Sinusoidal Steering Standard Plots 495
Vehicle Simulations - Plots
496 Adams/Chassis
Vehicle Simulations - Plots

Steady-State Drift Standard Plots


Steering Standard Plots 497
Vehicle Simulations - Plots

Steering Standard Plots


498 Adams/Chassis
Vehicle Simulations - Plots

StepSteer Standard Plots


Straight Line Acceleration Standard Plots 499
Vehicle Simulations - Plots

Straight Line Acceleration Standard Plots


500 Adams/Chassis
Vehicle Simulations - Plots

Straight Line Braking Standard Plots


SweptSteer Standard Plots 501
Vehicle Simulations - Plots

SweptSteer Standard Plots


502 Adams/Chassis
Vehicle Simulations - Plots

Throttle-off-in-turn Standard Plots


Throttle-on-in-turn Standard Plots 503
Vehicle Simulations - Plots

Throttle-on-in-turn Standard Plots


504 Adams/Chassis
Vehicle Simulations - Plots

Tire Wear Standard Plots


Brake Drift Simulation 505
Vehicle Simulations - Reports

Vehicle Simulations - Reports

Brake Drift Simulation

Example postprocessed Output


============================================
= ADAMS BRAKE DRIFT TEST RESULTS =
============================================
Title: Vehicle
Requester: user
Date: Tue Jan 23 08:12:14 1996, adamspost_IRIX(v1.5a)
Filename: vehicle_brkd.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
Weight Distribution = 43.29 % Front
Initial Vehicle Velocity = 55.00 mph
Straight Steer Angle = 0.06 deg (Right)
Straight Steering Torque = -2.41 in-lbs (Left)
*** FRONT SUSPENSION GEOMETRY DURING TEST ***
LEFT FRONT RIGHT FRONT
Longitudinal Toe Caster Camber Toe Caster Camber
Decel. Change Change Change Change Change Change
(g) (deg) (deg) (deg) (deg) (deg) (deg)
----------------------------------------------------------------------
55.00 mph = 0.000 0.000 0.000 0.000 0.000 0.000 0.000
50.00 mph = 0.462 -0.430 -1.997 -0.548 -0.381 -1.993 -0.513
45.00 mph = 0.486 -0.400 -1.960 -0.457 -0.353 -1.959 -0.435
40.00 mph = 0.497 -0.382 -2.015 -0.402 -0.336 -2.010 -0.368
35.00 mph = 0.497 -0.426 -2.055 -0.487 -0.372 -2.056 -0.471
30.00 mph = 0.499 -0.407 -2.049 -0.443 -0.354 -2.048 -0.423
25.00 mph = 0.499 -0.419 -2.064 -0.460 -0.362 -2.066 -0.449
20.00 mph = 0.499 -0.421 -2.067 -0.459 -0.361 -2.069 -0.451
15.00 mph = 0.499 -0.424 -2.072 -0.458 -0.361 -2.076 -0.455
10.00 mph = 0.499 -0.426 -2.074 -0.459 -0.362 -2.080 -0.461
5.29 mph = 0.500 -0.427 -2.077 -0.458 -0.361 -2.083 -0.462
*** SPRUNG MASS FORCES AND DISPLACEMENTS ***
Lateral Sprung Mass Ave. Front Ave. Rear Left Frt Right Frt
Drift Pitch Angle Spindle Spindle Lat. Force Lat. Force
To Right Change Rise Rise Change Change
(feet ) (deg) (mm) (mm) (lbs) (lbs)
----------------------------------------------------------------------
55.00 mph = 0.000 0.000 0.0 0.0 0.0 0.0
50.00 mph = -0.002 0.541 -35.7 32.4 -127.5 116.8
45.00 mph = -0.012 0.354 -31.6 26.7 -111.5 100.9
40.00 mph = -0.029 0.318 -28.7 28.8 -106.8 98.1
35.00 mph = -0.051 0.450 -33.3 29.7 -118.6 109.5
30.00 mph = -0.077 0.391 -31.1 29.3 -111.8 103.6
25.00 mph = -0.104 0.426 -32.2 29.8 -115.1 107.8
20.00 mph = -0.130 0.426 -32.2 29.8 -114.2 107.5
15.00 mph = -0.154 0.431 -32.3 30.0 -114.4 108.6
10.00 mph = -0.173 0.437 -32.5 30.0 -114.3 109.2
5.29 mph = -0.185 0.438 -32.4 30.1 -114.3 109.6

Brake In a Turn Simulation


506 Adams/Chassis
Vehicle Simulations - Reports

Example postprocessed Output


==========================================
= ADAMS BRAKE IN TURN TEST RESULTS =
==========================================
Title: Vehicle
Requester: user
Date: Thu Feb 8 14:40:10 1996, adamspost_IRIX(v1.5a)
Filename: u_brkt.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.507 (deg/sec)
Vehicle Yaw Rate Steady State = 14.501 (deg/sec)
Vehicle Yaw Rate Ratio = 1.000
Vehicle Peak Lateral Acc. = -0.399 (G's)
Vehicle Lateral Acc. Steady State = -0.398 (G's)
Vehicle Lateral Acc. Ratio = 1.003
Vehicle Peak Side Slip Angle = -1.621 (deg)
Vehicle Side Slip Angle Steady State = -1.175 (deg)
Vehicle Side Slip Angle Ratio = 1.379
*** VEHICLE STATISTICS DURING TEST ***
Long. Accel. Yaw Rate Lat. Accel. SideSlip
(g's) (deg/sec) (g's) (deg)
--------------------------------------------------------------------
0.00g 14.510 -0.398 -1.167
-0.10g 14.490 -0.394 -1.182
-0.20g 14.343 -0.379 -1.218
-0.30g 14.066 -0.363 -1.277
-0.40g 13.600 -0.350 -1.403

Constant Radius Simulation

Example postprocessed Output (10.1 Version)

================================================
= 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

Understeer Gradient = 0.103 deg/g


Slip Angle Understeer Gradient = 0.621 deg/g
Roll Gradient = 4.718 deg/g
Body-on-Chassis Roll Gradient = 3.567 deg/g
Sideslip Gradient = 3.287 deg/g
Steering Sensitivity = 4.016 g/100 deg SWA
Lateral Load Transfer Dist. = 53.094 % Front
Roll Couple Distribution = 1.150
Front Cornering Compliance = 4.646 deg/g
Rear Cornering Compliance = 3.303 deg/g
Linear Understeer Range = 0.000 g
*** UNDERSTEER BUDGET ***
Front Weight and Tires = 4.31 deg/g
Rear Weight and Tires = -3.49 deg/g
Front Roll Steer = 0.00 deg/g
Rear Roll Steer = 0.05 deg/g
Front Suspension Compliance = 0.51 deg/g
Rear Suspension Compliance = 0.11 deg/g
Upstream Steering System = -0.13 deg/g
---------------------------
Front Subtotal = 4.68 deg/g
Rear Subtotal = -3.33 deg/g
Total Understeer = 1.35 deg/g
^L
================================================
= ADAMS/Chassis CONSTANT RADIUS TEST RESULTS =
================================================
Title: Vehicle Name
Requester: user
Date: 2000-02-22, adamspost_Windows_NT(10.1)
Filename: vehicle.req
*** HANDLING VARIABLES ***
Steer Steering Wheel Roll Yaw Side Slip
Angle Torque Angle Rate Angle
(deg) (N-mm) (deg) (deg/sec) (deg)
-----------------------------------------------------------------
0.10 g = 89.20 1536.99 0.475 10.799 -2.677
0.20 g = 91.55 1775.35 0.942 14.971 -2.364
0.30 g = 94.08 1981.89 1.414 18.208 -2.031
0.40 g = 0.00 0.00 0.000 0.000 0.000
*** COMPLIANCE AND TRANS LOADS ***
Frt Sideslip Rear Sideslip Frt Load Rear Load
Understeer Angle Angle Trans Trans
(deg/g) (deg) (deg) ( N ) ( N )
------------------------------------------------------------------
0.10 g = -3.571 -0.1 0.3 712.2 610.3
0.20 g = 0.154 0.4 0.6 1419.3 1228.6
0.30 g = 0.929 0.8 0.9 2119.6 1861.8
0.40 g = 0.000 0.0 0.0 0.0 0.0

Crosswind Simulation

Example postprocessed Output

==========================================
= 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

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 = 55.00 mph
*** SIMULATION SPECIFICS ***
Peak Yaw Rate = 0.0000 deg/sec
Peak Lateral Acceleration = 0.0000 G's
Peak Roll Angle = 0.1019 degrees
Peak Steering Wheel Torque = 0.7560 in-lbs
*** FORCES AND DISPLACEMENTS ***
Lateral Steering Steering Left Frt Right Frt
Drift Yaw Wheel Wheel Lateral Lat. Force Lat. Force
To Right Angle Torque Angle Accel. Change Change
(feet ) (deg) (in-lbs) (deg) (gs) (lbs) (lbs)
----------------------------------------------------------------------
0.10 sec = 0.0 -0.033 -0.76 -0.597 0.00000 0.00 0.00
2.00 sec = 0.0 -0.033 -0.76 -0.597 0.00000 0.00 0.00
4.00 sec = 0.0 -0.033 -0.76 -0.597 0.00000 0.00 0.00
6.00 sec = 0.0 -0.033 -0.76 -0.597 0.00000 0.00 0.00
8.00 sec = 0.0 -0.033 -0.76 -0.597 0.00000 0.00 0.00
10.00 sec = 0.0 -0.033 -0.76 -0.597 0.00000 0.00 0.00

Fishhook Simulation

Example postprocessed Output

=====================================
= 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

Frequency Response Simulation


Frequency Response Simulation 509
Vehicle Simulations - Reports

Example postprocessed Output

===================================================
= ADAMS/PRE FREQUENCY RESPONSE TEST RESULTS =
===================================================
Title: Vehicle Name
Requester: user
Date: 2000-02-22, adamspost_IRIX64(10.1)
Filename: vehicle.req

*** INITIAL CONDITIONS ***

Left Front Tire Load = 4350.03 N


Right Front Tire Load = 4141.97 N
Left Rear Tire Load = 6001.27 N
Right Rear Tire Load = 5839.06 N
Front Axle Load = 8492.00 N
Rear Axle Load = 11840.33 N
Total Vehicle Weight = 20332.33 N
Weight Distribution = 41.77 % Front
Initial Vehicle Velocity = 119.99 kph

*** VEHICLE PERFORMANCE ***


Maximum Steering Wheel Angle = 10.2523 (deg)
Maximum Lateral Acceleration = 0.0593 (g)

*** LATERAL ACCELERATION PARAMETERS ***

Lateral Acceleration Peak Magnitude = 1.6887 (g/100 deg SWA)


Lateral Acceleration Peak/SS Ratio = 1.0117
Lateral Acceleration SS Magnitude = 1.6691 (g/100 deg SWA)
Lateral Accel. 3 dB Down Frequency = 0.7716 (Hz)
Lateral Accel. 45 Degree Lag Time = 0.2298 (sec)

*** ROLL PARAMETERS ***

Roll Angle Natural Frequency = 1.3000 (Hz)


Roll Peak Magnitude = 10.8971 (deg/g)
Roll Steady State Gain = 4.8743 (deg/g)
Roll Peak/Steady State Ratio = 2.2356
Yaw Rate to Lateral Acceleration = 0.1357 (sec)
Lead Time at 0.5 Hertz

*** YAW RATE PARAMETERS ***

Yaw Rate Peak Magnitude = 47.6585 (deg/s-100 deg SWA)


Yaw Rate Peak / Steady-State Ratio = 1.6561
Yaw Rate Peak Frequency = 0.7690 (Hz)
Yaw Rate Steady State Magnitude = 28.7781 (deg/s-100 deg SWA)
Yaw Rate 3 dB Down Frequency = 1.9039 (Hz)
Yaw Rate 45 Degree Lag Time = 0.1322 (sec)

*** BODY-ON-CHASSIS ROLL PARAMETERS ***

Chassis Roll Angle Natural Frequency = 1.2512 (Hz)


Chassis Roll Peak Magnitude = 7.2258 (deg/g)
Chassis Roll Steady State Gain = 3.7217 (deg/g)
Chassis Roll Peak/Steady State Ratio = 1.9415

*** VEHICLE SIDESLIP PARAMETERS ***


510 Adams/Chassis
Vehicle Simulations - Reports

Sideslip Peak Magnitude = 7.7262 (deg/100 deg SWA)


Sideslip Peak / Steady-State Ratio = 1.1340
Sideslip Peak Frequency = 0.6531 (Hz)
Sideslip Steady State Magnitude = 6.8134 (deg/100 deg SWA)
Sideslip 3 dB Down Frequency = 1.0986 (Hz)
Sideslip 45 Degree Lag Time = 0.2894 (sec)

Front Suspension Compliance Simulation

Example postprocessed Output

================================================
= 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

Full Vehicle SVC


Full Vehicle SVC 511
Vehicle Simulations - Reports

Example postprocessed Output

==========================================
= =
= 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

Camber change DEG/In -0.02 -0.03 -0.01


Roll camber DEG/DEG 0.97 0.97 0.97
Percentage roll steer % -0.06
Track change In/In 0.08 0.08
Wheelbase change In/In -0.01 -0.01 -0.01
Wheel rate Lbs/In 200.77 200.77 200.77
Single bump wheel rate Lbs/In 323.77 323.78 323.77
Ride rate Lbs/In 177.10 177.12 177.08
Tire rate Lbs/In 1501.91 1503.29 1500.52
Roll rate - wheel Lbs In/DEG 25.10E+03
Roll rate - total Lbs In/DEG 16.13E+03
Percent anti-dive/braking % 12.29 12.29 12.30
Percent anti-lift/accel. % 0.00 0.00 0.00
Front view i.c. - lateral In 621.34 583.89 658.78
Front view i.c. - vertical In 51.09 47.51 54.68
Side view i.c. fore & aft In 232.05 232.14 231.96
Side view i.c. vertical In -2.69 -2.67 -2.71
Wheel hop natural frequency Hz 12.17 11.96 12.38
ADAMS Model Title:
vehicle1, OUTPUT UNITS = ENGLISH
REAR SUSPENSION CHARACTERISTICS
Suspension Description = Four_Link_Solid_Axle
_________________________________________________________________________
(PARAMETER) (UNITS) (AVERAGE) (LEFT) (RIGHT)
_________________________________________________________________________
Unsprung mass (total) Lbs 424.19
Unsprung c.g. height In 13.60
Roll center height In 15.86
Wheel center rise In 2.43 2.39 2.48
Static loaded tire radius In 13.58 13.57 13.58
Track width In 58.53
Axle distance from body cg In 62.93
Toe Angle DEG 0.00 -0.03 0.03
Camber Angle DEG 0.00 0.01 -0.01
Camber Angle wrt body DEG 0.00 -0.09 0.09
Toe change DEG/In -256.6E-06 0.03 -0.03
Camber change DEG/In 191.0E-06 -0.02 0.02
Roll camber DEG/DEG 0.15 0.15 0.15
Percentage roll steer % 0.06
Track change In/In -0.07 0.07
Wheelbase change In/In -0.07 -0.06 -0.09
Wheel rate Lbs/In 195.44 193.51 197.38
Single bump wheel rate Lbs/In 220.63 218.21 223.05
Ride rate Lbs/In 172.57 171.09 174.05
Tire rate Lbs/In 1474.83 1476.89 1472.77
Roll rate - wheel Lbs In/DEG 7569.96
Roll rate - total Lbs In/DEG 6460.63
Percent anti-lift/braking % 17.25 16.60 17.91
Percent anti-squat/accel. % 57.41 82.75 32.07
Front view i.c. - lateral In 29.26 29.63 28.90
Front view i.c. - vertical In 5.00 5.01 5.00
Side view i.c. fore & aft In -421.78 -425.95 -417.60
Side view i.c. vertical In 31.20 25.62 36.78
S V C SIGN CONVENTION
(PARAMETER) CONVENTION FOR POSITIVE VALUE
______________________________________________________________________________
Toe (angle) Toe in
Caster (angle) Side view of kingpin tilted rearward
Camber (angle) Top of tire out
Wheel center rise Wheel moving into rebound
Toe change Wheel toes in when moved into jounce
Caster change Caster increases when wheel moves into
jounce
Camber change Top of tire moves inboard when wheel moves
into jounce
Track change Track increases as wheel moves into jounce
Wheelbase change Wheelbase increases as wheel moves into jounce
Roll camber Top of outside tire moves outboard relative to
Grist Mill Simulation 513
Vehicle Simulations - Reports

ground as vehicle rolls


Roll steer Average toe in toward inside of corner as
vehicle rolls
Lat. force deflection Wheel moves to the right when pushed from
right to left
Lat. force steer Wheel toes in when pushed from right to left
Lat. force camber Top of tire moves to the left when pushed
from right to left
Aligning torque deflection Wheel deflection to the right due to an
aligning torque at wheel center
Aligning torque steer Toe in due to an aligning torque at wheel
center
Aligning torque camber Top of tire moves outboard due to an
aligning torque at wheel center
Recession steer Toe in due to a rearward force at the wheel
center
Brake steer Toe in due to a rearward force at the tire
contact patch
Tractive force steer center due to a forward force at the wheel
Bounce node location Rearward location with respect to H-point
Pitch node location Rearward location with respect to H-point

Grist Mill Simulation

Example postprocessed Output

=======================================
= 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 ***

Left Front Tire Load = 5597.14 N


Right Front Tire Load = 5604.72 N
Left Rear Tire Load = 3924.39 N
Right Rear Tire Load = 3927.68 N
Front Axle Load = 11201.86 N
Rear Axle Load = 7852.07 N
Total Vehicle Weight = 19053.93 N
Weight Distribution = 58.79 % Front
Initial Vehicle Velocity = 50.00 kph
*** VEHICLE STEADY-STATE CHARACTERISTICS ***
Outside Turn Diameter = 148.93 (m)
*** LEFT FRONT TIRE STEADY-STATE CHARACTERISTICS ***
Vertical Force = 3977.07 (N)
Lateral Force = -1382.04 (N)
Overturning Moment at Wheel Center = -448.29 (N-M)
Overturning Moment at Contact Patch = -28.93 (N-M)
Aligning Torque at Wheel Center = -25.65 (N-M)
Aligning Torque at Contact Patch = -25.65 (N-M)
Rolling Radius = 305.07 (mm)
Slip Angle = 0.89 (deg)
Inclination Angle = -0.11 (deg)
*** RIGHT FRONT TIRE STEADY-STATE CHARACTERISTICS ***
Vertical Force = 7233.47 (N)
Lateral Force = -1480.14 (N)
Overturning Moment at Wheel Center = -587.18 (N-M)
Overturning Moment at Contact Patch = -56.35 (N-M)
Aligning Torque at Wheel Center = -80.12 (N-M)
Aligning Torque at Contact Patch = -80.27 (N-M)
514 Adams/Chassis
Vehicle Simulations - Reports

Rolling Radius = 294.54 (mm)


Slip Angle = 0.85 (deg)
Inclination Angle = 2.56 (deg)
*** LEFT REAR TIRE STEADY-STATE CHARACTERISTICS ***
Vertical Force = 3377.23 (N)
Lateral Force = -637.91 (N)
Overturning Moment at Wheel Center = -253.90 (N-M)
Overturning Moment at Contact Patch = -11.34 (N-M)
Aligning Torque at Wheel Center = -23.08 (N-M)
Aligning Torque at Contact Patch = -22.67 (N-M)
Rolling Radius = 307.00 (mm)
Slip Angle = 0.62 (deg)
Inclination Angle = 2.59 (deg)
*** RIGHT REAR TIRE STEADY-STATE CHARACTERISTICS ***
Vertical Force = 4466.16 (N)
Lateral Force = -1258.41 (N)
Overturning Moment at Wheel Center = -439.60 (N-M)
Overturning Moment at Contact Patch = -29.58 (N-M)
Aligning Torque at Wheel Center = -34.94 (N-M)
Aligning Torque at Contact Patch = -34.75 (N-M)
Rolling Radius = 303.49 (mm)
Slip Angle = 0.82 (deg)
Inclination Angle = 1.19 (deg)
This report was generated with
C:/PROGRA~1/ADAMS1~2.0/achassis/post/report/gristmill.pl

Half Vehicle SVC (Front)

Example postprocessed Output

==========================================
= =
= 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

Body pitch angle DEG 0.00


Body roll angle DEG 0.00
Speed MPH 0.00
Wheelbase In 0.00 0.00 0.00
ADAMS Model Title:
vehicle3, OUTPUT UNITS = ENGLISH
FRONT SUSPENSION CHARACTERISTICS
Suspension Description = Macpherson
_________________________________________________________________________
(PARAMETER) (UNITS) (AVERAGE) (LEFT) (RIGHT)
_________________________________________________________________________
Unsprung mass (total) Lbs 0.00
Unsprung c.g. height In 0.00
Roll center height In -0.44
Wheel center rise In -1.16 -1.16 -1.16
Static loaded tire radius In 12.00 12.00 12.00
Track width In 58.99
steer angle DEG 0.00
Toe Angle DEG 0.00 0.00 0.00
Caster Angle DEG 5.772E-03 5.775E-03 5.769E-03
Camber Angle DEG -0.01 -0.01 -0.01
Kingpin Angle DEG 13.27 13.27 13.27
Caster Angle wrt body DEG 0.01 0.01 0.01
Camber Angle wrt body DEG -0.01 -0.01 -0.01
Kingpin Angle wrt body DEG 13.27 13.27 13.27
Scrub radius In -2.52 -2.52 -2.52
Caster trail In 1.06 1.06 1.06
Toe change DEG/In -0.43 -0.43 -0.43
Caster change DEG/In 0.26 0.26 0.26
Camber change DEG/In -0.07 -0.07 -0.07
Roll camber DEG/DEG 0.93 0.93 0.93
Percentage roll steer % 0.21
Track change In/In -0.05 -0.05
Wheelbase change In/In 0.03 0.03 0.03
Wheel rate Lbs/In 132.85 132.85 132.85
Single bump wheel rate Lbs/In 196.82 196.82 196.82
Ride rate Lbs/In 123.29 123.29 123.29
Tire rate Lbs/In 1712.98 1712.98 1712.98
Roll rate - wheel Lbs In/DEG 11.53E+03
Roll rate - total Lbs In/DEG 9434.81
Percent anti-dive/braking % 22.36 22.36 22.36
Percent anti-lift/accel. % 0.00 0.00 0.00
Front view i.c. - lateral In 351.87 351.86 351.88
Front view i.c. - vertical In -18.45 -18.45 -18.45
Side view i.c. fore & aft In 224.24 224.23 224.25
Side view i.c. vertical In 7.62 7.62 7.62
Wheel hop natural frequency Hz 0.00 0.00 0.00
ADAMS Model Title:
vehicle3, OUTPUT UNITS = ENGLISH
REAR SUSPENSION CHARACTERISTICS
Suspension Description =
_________________________________________________________________________
(PARAMETER) (UNITS) (AVERAGE) (LEFT) (RIGHT)
_________________________________________________________________________
Unsprung mass (total) Lbs 0.00
Unsprung c.g. height In 0.00
Roll center height In 0.00
Wheel center rise In 0.00 0.00 0.00
Static loaded tire radius In 0.00 0.00 0.00
Track width In 0.00
Toe Angle DEG 0.00 0.00 0.00
Camber Angle DEG 0.00 0.00 0.00
Camber Angle wrt body DEG 0.00 0.00 0.00
Toe change DEG/In 0.00 0.00 0.00
Camber change DEG/In 0.00 0.00 0.00
Roll camber DEG/DEG 0.00 0.00 0.00
Percentage roll steer % 0.00
Track change In/In 0.00 0.00
516 Adams/Chassis
Vehicle Simulations - Reports

Wheelbase change In/In 0.00 0.00 0.00


Wheel rate Lbs/In 0.00 0.00 0.00
Single bump wheel rate Lbs/In 0.00 0.00 0.00
Ride rate Lbs/In 0.00 0.00 0.00
Tire rate Lbs/In 1712.98 1712.98 1712.98
Roll rate - wheel Lbs In/DEG 0.00
Roll rate - total Lbs In/DEG 0.00
Percent anti-lift/braking % 0.00 0.00 0.00
Percent anti-squat/accel. % 0.00 0.00 0.00
Front view i.c. - lateral In 0.00 0.00 0.00
Front view i.c. - vertical In 0.00 0.00 0.00
Side view i.c. fore & aft In 0.00 0.00 0.00
Side view i.c. vertical In 0.00 0.00 0.00
Wheel hop natural frequency Hz 0.00 0.00 0.00
S V C SIGN CONVENTION
(PARAMETER) CONVENTION FOR POSITIVE VALUE
______________________________________________________________________________
Toe (angle) Toe in
Caster (angle) Side view of kingpin tilted rearward
Camber (angle) Top of tire out
Wheel center rise Wheel moving into rebound
Toe change Wheel toes in when moved into jounce
Caster change Caster increases when wheel moves into
jounce
Camber change Top of tire moves inboard when wheel moves
into jounce
Track change Track increases as wheel moves into jounce
Wheelbase change Wheelbase increases as wheel moves into jounce
Roll camber Top of outside tire moves outboard relative to
ground as vehicle rolls
Roll steer Average toe in toward inside of corner as
vehicle rolls
Lat. force deflection Wheel moves to the right when pushed from
right to left
Lat. force steer Wheel toes in when pushed from right to left
Lat. force camber Top of tire moves to the left when pushed
from right to left
Aligning torque deflection Wheel deflection to the right due to an
aligning torque at wheel center
Aligning torque steer Toe in due to an aligning torque at wheel
center
Aligning torque camber Top of tire moves outboard due to an
aligning torque at wheel center
Recession steer Toe in due to a rearward force at the wheel
center
Brake steer Toe in due to a rearward force at the tire
contact patch
Tractive force steer center due to a forward force at the wheel
Bounce node location Rearward location with respect to H-point
Pitch node location Rearward location with respect to H-point

Half Vehicle SVC (Rear)

Example postprocessed Output

==========================================
= =
= S V C =
= =
= STATIC VEHICLE CHARACTERISTICS =
= ADAMS Model postprocessor =
= =
Half Vehicle SVC (Rear) 517
Vehicle Simulations - Reports

= written by Mechanical Dynamics Inc. =


= =
==========================================
ADAMS Model Title:
Vehicle1
GENERAL CHARACTERISTICS
_________________________________________________________________________
(PARAMETER) (UNITS) (TOTAL) (LEFT) (RIGHT)
_________________________________________________________________________
Total weight N N/A
Front ground reaction N N/A N/A N/A
Rear ground reaction N N/A N/A N/A
Total roll inertia Kg mm**2 N/A
Total pitch inertia Kg mm**2 N/A
Total yaw inertia Kg mm**2 N/A
Total product Ixy Kg mm**2 N/A
Total product Ixz Kg mm**2 N/A
Total product Iyz Kg mm**2 N/A
Sprung mass Kg N/A
Sprung roll inertia Kg mm**2 N/A
Sprung pitch inertia Kg mm**2 N/A
Sprung yaw inertia Kg mm**2 N/A
Sprung product Ixy Kg mm**2 N/A
Sprung product Ixz Kg mm**2 N/A
Sprung product Iyz Kg mm**2 N/A
Total c.g. height mm N/A
Sprung c.g. height mm N/A
Body yaw angle DEG N/A
Body pitch angle DEG N/A
Body roll angle DEG N/A
Speed mm/S N/A
Wheelbase mm N/A N/A N/A
Bounce node loc. wrt H-pt. mm N/A
Bounce natural frequency Hz N/A
Pitch node loc. wrt H-pt. mm N/A
Pitch natural frequency Hz N/A
Ride frequency ratio N/A
ADAMS Model Title:
Vehicle1
FRONT SUSPENSION CHARACTERISTICS
Suspension Description =
_________________________________________________________________________
(PARAMETER) (UNITS) (AVERAGE) (LEFT) (RIGHT)
_________________________________________________________________________
Unsprung mass (total) Kg N/A
Unsprung c.g. height mm N/A
Roll center height mm N/A
Wheel center rise mm N/A N/A N/A
Static loaded tire radius mm N/A N/A N/A
Track width mm N/A
Axle distance from body cg mm N/A
steer angle DEG N/A
Toe Angle DEG N/A N/A N/A
Caster Angle DEG N/A N/A N/A
Camber Angle DEG N/A N/A N/A
Kingpin Angle DEG N/A N/A N/A
Caster Angle wrt body DEG N/A N/A N/A
Camber Angle wrt body DEG N/A N/A N/A
Kingpin Angle wrt body DEG N/A N/A N/A
Scrub radius mm N/A N/A N/A
Caster trail mm N/A N/A N/A
Toe change DEG/mm N/A N/A N/A
Caster change DEG/mm N/A N/A N/A
Camber change DEG/mm N/A N/A N/A
Roll camber coefficient DEG/DEG N/A N/A N/A
Percentage roll steer % N/A
Track change mm/mm N/A N/A
Wheelbase change mm/mm N/A N/A N/A
518 Adams/Chassis
Vehicle Simulations - Reports

Wheel rate N/mm N/A N/A N/A


Single bump wheel rate N/mm N/A N/A N/A
Ride rate N/mm N/A N/A N/A
Tire rate N/mm N/A N/A N/A
Roll rate - wheel N mm/DEG N/A
Roll rate - total N mm/DEG N/A
Percent anti-dive/braking % N/A N/A N/A
Percent anti-lift/accel. % N/A N/A N/A
Front view i.c. - lateral mm N/A N/A N/A
Front view i.c. - vertical mm N/A N/A N/A
Side view i.c. fore & aft mm N/A N/A N/A
Side view i.c. vertical mm N/A N/A N/A
Wheel hop natural freq. Hz N/A
Wheel tramp natural freq. Hz N/A
Front ride frequency Hz N/A
ADAMS Model Title:
Vehicle1
REAR SUSPENSION CHARACTERISTICS
Suspension Description = Hotchkiss
_________________________________________________________________________
(PARAMETER) (UNITS) (AVERAGE) (LEFT) (RIGHT)
_________________________________________________________________________
Unsprung mass (total) Kg N/A
Unsprung c.g. height mm N/A
Roll center height mm 206.19
Wheel center rise mm 35.69 35.42 35.96
Static loaded tire radius mm 304.80 304.80 304.80
Track width mm 1486.82
Axle distance from body cg mm N/A
Toe Angle DEG 0.00 0.00 0.00
Camber Angle DEG 0.00 -21.02E-03 21.02E-03
Camber Angle wrt body DEG 0.00 -21.02E-03 21.02E-03
Toe change DEG/mm -39.76E-09 -5.630E-06 5.551E-06
Camber change DEG/mm 3.894E-06 551.6E-06 -543.8E-06
Roll camber coefficient DEG/DEG -81.43E-09 -81.43E-09 -81.43E-09
Percentage roll steer % -6.80
Track change mm/mm -2.686E-03 2.648E-03
Wheelbase change mm/mm -88.88E-03 -89.51E-03 -88.25E-03
Wheel rate N/mm 44.55 44.86 44.23
Single bump wheel rate N/mm 43.90 44.21 43.59
Ride rate N/mm 38.79 39.03 38.55
Tire rate N/mm 300.00 300.00 300.00
Roll rate - wheel N mm/DEG 834.7E+03
Roll rate - total N mm/DEG 729.5E+03
Percent anti-lift/braking % -968.7E-03 -1.03 -911.3E-03
Percent anti-squat/accel. % -37.85 -37.96 -37.74
Front view i.c. - lateral mm 743.41 738.38 748.44
Front view i.c. - vertical mm 235.93 235.65 236.20
Side view i.c. fore & aft mm -3749.25 -3722.59 -3775.91
Side view i.c. vertical mm -28.41 -28.41 -28.41
Wheel hop natural freq. Hz N/A
Wheel tramp natural freq. Hz N/A
Rear ride frequency Hz N/A
S V C SIGN CONVENTION
(PARAMETER) CONVENTION FOR POSITIVE VALUE
______________________________________________________________________________
Toe (angle) Toe in
Caster (angle) Side view of kingpin tilted rearward
Camber (angle) Top of tire out
Wheel center rise Wheel moving into rebound
Toe change Wheel toes in when moved into jounce
Caster change Caster increases when wheel moves into
jounce
Camber change Top of tire moves inboard when wheel moves
into jounce
Track change Track increases as wheel moves into jounce
Wheelbase change Wheelbase increases as wheel moves into jounce
Roll camber coefficient Top of outside tire moves outboard relative to
J-Turn Simulation 519
Vehicle Simulations - Reports

ground as vehicle rolls


Percentage roll steer Average toe in toward inside of corner as
vehicle rolls
Lat. force deflection Wheel moves to the right when pushed from
right to left
Lat. force steer Wheel toes in when pushed from right to left
Lat. force camber Top of tire moves to the left when pushed
from right to left
Aligning torque deflection Wheel deflection to the right due to an
aligning torque at wheel center
Aligning torque steer Toe in due to an aligning torque at wheel
center
Aligning torque camber Top of tire moves outboard due to an
aligning torque at wheel center
Recession steer Toe in due to a rearward force at the wheel
center
Brake steer Toe in due to a rearward force at the tire
contact patch
Tractive force steer center due to a forward force at the wheel
Bounce node location Rearward location with respect to H-point
Pitch node location Rearward location with respect to H-point

J-Turn Simulation

Example postprocessed Output

======================================
= 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

Example postprocessed Output

Title: Vehicle4
520 Adams/Chassis
Vehicle Simulations - Reports

Date: Thu Feb 1 11:53:58 EST 1996


Requester: user
Filename: load_F_1G_Up.req
Static Loadcase Report
Req # Request Description
Fmag(N) Fx(N) Fy(N) Fz(N) Mx(N-mm) My(N-mm) Mz(N-mm)
--------------------------------------------------------------------------------------
----------------------------------------------------------------------------------
11051001 Left Front Force on Frame from Fore UCA Bush wrt Frame
55.80 52.91 10.80 -14.08 -4.608E+01 -1.015E+02 4.493E+02
12051001 Right Front Force on Frame from Fore UCA Bush wrt Frame
56.29 52.54 -10.33 -17.36 1.809E+02 2.275E+02 -4.103E+02
11051002 Left Front Force on Frame from Aft UCA Bush wrt Frame
459.53 24.77 451.72 -80.66 -5.886E+01 -1.227E+02 3.201E+02
12051002 Right Front Force on Frame from Aft UCA Bush wrt Frame
459.34 25.01 -452.01 -77.85 1.937E+02 2.064E+02 -2.813E+02
11051003 Left Front Force on Frame from LCA Bush wrt Frame
2692.17 -360.98 -2280.04 -1385.25 1.808E+04 -1.166E+03 -1.005E+04
12051003 Right Front Force on Frame from LCA Bush wrt Frame
2830.95 -368.69 2444.23 -1379.89 -1.756E+04 -1.191E+03 1.037E+04
11051004 Left Front Force on Frame from Comp_strut Bush wrt Frame
322.69 74.20 235.93 -207.27 -5.668E+02 -5.805E+02 -2.422E+01
12051004 Right Front Force on Frame from Comp_strut Bush wrt Frame
329.84 77.67 -243.56 -208.41 9.756E+02 -9.949E+02 -2.223E+01
11051023 Left Front Force on Frame from Coil Spring wrt Frame
6027.20 230.74 1742.63 5765.17 0.000E+00 0.000E+00 0.000E+00
12051024 Right Front Force on Frame from Coil Spring wrt Frame
6050.29 231.83 -1750.21 5786.97 0.000E+00 0.000E+00 0.000E+00
11051081 Left Front Force on Frame from Upp_Strut Bush wrt Frame
70.40 -38.11 7.85 -58.67 -4.984E+02 -9.752E+02 -8.351E+02
12051082 Right Front Force on Frame from Upp_Strut Bush wrt Frame
190.20 -35.21 -155.73 -103.36 7.957E+02 -1.591E+03 1.164E+03
11051012 Left Front Force on Frame from Tie Rod Ball Bush wrt Frame
169.19 16.65 -168.21 7.33 0.000E+00 0.000E+00 0.000E+00
12051012 Right Front Force on Frame from Tie Rod Ball Bush wrt Frame
169.35 16.66 168.35 7.57 0.000E+00 0.000E+00 0.000E+00
21042001 Left Front Force on UCA from Fore UCA Bush wrt UCA
55.80 -52.92 -10.70 14.11 4.587E+01 1.024E+02 -4.491E+02
22043001 Right Front Force on UCA from Fore UCA Bush wrt UCA
56.29 -52.59 10.31 17.22 -1.811E+02 -2.257E+02 4.113E+02
21042002 Left Front Force on UCA from Aft UCA Bush wrt UCA
459.53 -25.76 -451.83 79.73 5.883E+01 1.232E+02 -3.199E+02
22043002 Right Front Force on UCA from Aft UCA Bush wrt UCA
459.34 -26.17 452.37 75.31 -1.937E+02 -2.053E+02 2.821E+02
21042007 Left Front Force on UCA from UBJ wrt UCA
474.51 78.70 462.48 -71.27 0.000E+00 0.000E+00 0.000E+00
22043007 Right Front Force on UCA from UBJ wrt UCA
474.39 78.73 -462.55 -69.95 0.000E+00 0.000E+00 0.000E+00
21002003 Left Front Force on LCA from LCA Bush wrt LCA
2692.17 358.31 2277.84 1389.55 -1.808E+04 1.111E+03 1.007E+04
22003003 Right Front Force on LCA from LCA Bush wrt LCA
2830.95 365.81 -2440.13 1387.89 1.756E+04 1.122E+03 -1.040E+04
21002005 Left Front Force on LCA from Comp_strut wrt LCA
311.16 -73.87 -236.38 188.38 6.977E+04 8.194E+04 1.244E+05
22003005 Right Front Force on LCA from Comp_strut wrt LCA
318.50 -77.32 244.29 189.17 -7.031E+04 8.275E+04 -1.289E+05
21002006 Left Front Force on LCA from LBJ wrt LCA
4255.43 -93.26 -302.54 4243.64 0.000E+00 0.000E+00 0.000E+00
22003006 Right Front Force on LCA from LBJ wrt LCA
4255.64 -93.14 308.12 4243.45 0.000E+00 0.000E+00 0.000E+00
21002035 Left Front Force on LCA from LSMB Bush wrt LCA
6055.02 -191.34 -1739.64 -5796.58 9.268E+01 -8.757E+02 -4.638E+03
22003035 Right Front Force on LCA from LSMB Bush wrt LCA
6080.17 -195.14 1887.12 -5776.61 -1.709E+02 -1.477E+03 6.749E+03
21012004 Left Front Force on Comp_strut from Frame wrt Comp_strut
322.69 -73.87 -236.42 206.83 5.660E+02 5.812E+02 2.524E+01
22013004 Right Front Force on Comp_strut from Frame wrt Comp_strut
329.84 -77.32 244.35 207.62 -9.744E+02 9.962E+02 1.910E+01
Model Auditor 521
Vehicle Simulations - Reports

21012005 Left Front Force on Comp_strut from LCA wrt Comp_strut


311.16 73.87 236.38 -188.38 -6.977E+04 -8.194E+04 -1.244E+05
22013005 Right Front Force on Comp_strut from LCA wrt Comp_strut
318.50 77.32 -244.29 -189.17 7.031E+04 -8.275E+04 1.289E+05
21024083 Left Front Force on LSMB from Shock wrt LSMB
0.00 0.00 0.00 0.00 0.000E+00 0.000E+00 0.000E+00
22025084 Right Front Force on LSMB from Shock wrt LSMB
0.00 0.00 0.00 0.00 0.000E+00 0.000E+00 0.000E+00
21026083 Left Front Force on Upp_Strut from Shock wrt Upp_Strut
0.00 0.00 0.00 0.00 0.000E+00 0.000E+00 0.000E+00
22027084 Right Front Force on Upp_Strut from Shock wrt Upp_Strut
0.00 0.00 0.00 0.00 0.000E+00 0.000E+00 0.000E+00
21026081 Left Front Force on Upp_Strut from Upp_Strut Bush wrt Upp_Strut
70.40 38.29 -7.54 58.60 4.906E+02 9.791E+02 8.351E+02
22027082 Right Front Force on Upp_Strut from Upp_Strut Bush wrt Upp_Strut
190.20 37.54 155.39 103.05 -7.780E+02 1.600E+03 -1.164E+03
21024025 Left Front Force on Low_Strut from Coil Spring wrt Low_Strut
6027.21 -224.19 -1739.76 -5766.30 0.000E+00 0.000E+00 0.000E+00
22025026 Right Front Force on Low_Strut from Coil Spring wrt Low_Strut
6050.29 -225.01 1745.20 -5788.75 0.000E+00 0.000E+00 0.000E+00
21026075 Left Front Force on Upp_Strut from Jounce Bumper wrt Upp_Strut
0.00 0.00 0.00 0.00 0.000E+00 0.000E+00 0.000E+00
22027076 Right Front Force on Upp_Strut from Jounce Bumper wrt Upp_Strut
0.00 0.00 0.00 0.00 0.000E+00 0.000E+00 0.000E+00
21024071 Left Front Force on Low_Strut from Jounce Bumper wrt Low_Strut
0.00 0.00 0.00 0.00 0.000E+00 0.000E+00 0.000E+00
22025072 Right Front Force on Low_Strut from Jounce Bumper wrt Low_Strut
0.00 0.00 0.00 0.00 0.000E+00 0.000E+00 0.000E+00
21024035 Left Front Force on LSMB from LSMB bush wrt LSMB/strut
6055.02 186.05 1747.22 5794.47 -9.268E+01 8.798E+02 4.637E+03
22025035 Right Front Force on LSMB from LSMB bush wrt LSMB/strut
6080.18 187.71 -1900.47 5772.48 1.709E+02 1.488E+03 -6.746E+03
21004007 Left Front Force on Spindle from UBJ wrt Spindle
474.51 -78.20 -462.52 71.58 0.000E+00 0.000E+00 0.000E+00
22005007 Right Front Force on Spindle from UBJ wrt Spindle
474.39 -78.12 462.35 71.94 0.000E+00 0.000E+00 0.000E+00
21004006 Left Front Force on Spindle from LBJ wrt Spindle
4255.43 105.44 297.83 -4243.69 0.000E+00 0.000E+00 0.000E+00
22005006 Right Front Force on Spindle from LBJ wrt Spindle
4255.64 105.94 -298.33 -4243.85 0.000E+00 0.000E+00 0.000E+00
21004012 Left Front Force on Spindle from Tie Rod Ball Bush wrt Spindle
169.19 -16.50 168.23 -7.23 0.000E+00 0.000E+00 0.000E+00
22005012 Right Front Force on Spindle from Tie Rod Ball Bush wrt Spindle
169.34 -16.50 -168.37 -7.43 0.000E+00 0.000E+00 0.000E+00
21004009 Left Front Force on Wheel Center from WFT wrt Spindle
4556.00 -11.70 -3.86 4555.98 0.000E+00 0.000E+00 0.000E+00
22005009 Right Front Force on Wheel Center from WFT wrt Spindle
4556.00 -12.34 4.74 4555.98 0.000E+00 0.000E+00 0.000E+00
21004010 Left Front Force on Tire Patch from WFT wrt Spindle
0.00 0.00 0.00 0.00 0.000E+00 0.000E+00 0.000E+00
22005010 Right Front Force on Tire Patch from WFT wrt Spindle
0.00 0.00 0.00 0.00 0.000E+00 0.000E+00 0.000E+00
11004009 Left Front Force on Wheel Center from WFT wrt Frame
4556.00 0.00 0.00 4556.00 0.000E+00 0.000E+00 0.000E+00
12005009 Right Front Force on Wheel Center from WFT wrt Frame
4556.00 0.00 0.00 4556.00 0.000E+00 0.000E+00 0.000E+00
11004010 Left Front Force on Tire Patch from WFT wrt Frame
0.00 0.00 0.00 0.00 0.000E+00 0.000E+00 0.000E+00
12005010 Right Front Force on Tire Patch from WFT wrt Frame
0.00 0.00 0.00 0.00 0.000E+00 0.000E+00 0.000E+00

Model Auditor

Example Output (*.dat)


522 Adams/Chassis
Vehicle Simulations - Reports

Front Suspension Data Auditing


%pre_cg-w-war
_cg-w-war Specified CG for Front Spindle and caliper
_cg-w-war is greater than 100 mm away from the default location
_cg-w-war Your location: 1552.00 -648.00 577.00
_cg-w-war Default location: 1529.20 -743.02 517.27
_cg-w-war Distance: 114.5 mm
%pre_cg-w-war
_cg-w-war Specified CG for Front Spindle and caliper
_cg-w-war is greater than 100 mm away from the default location
_cg-w-war Your location: 1552.00 648.00 577.00
_cg-w-war Default location: 1529.20 743.02 517.27
_cg-w-war Distance: 114.5 mm
%pre_cg-w-war
_cg-w-war Specified CG for Front Lower Control Arm
_cg-w-war is greater than 100 mm away from the default location
_cg-w-war Your location: 1492.44 -449.87 428.50
_cg-w-war Default location: 1644.84 -406.41 423.74
_cg-w-war Distance: 158.5 mm
%pre_cg-w-war
_cg-w-war Specified CG for Front Lower Control Arm
_cg-w-war is greater than 100 mm away from the default location
_cg-w-war Your location: 1492.44 449.87 428.50
_cg-w-war Default location: 1644.84 406.41 423.74
_cg-w-war Distance: 158.5 mm
%pre_cg-w-war
_cg-w-war Specified CG for Front Shock Upper
_cg-w-war is greater than 100 mm away from the default location
_cg-w-war Your location: 1528.66 -477.09 543.73
_cg-w-war Default location: 1560.86 -434.65 816.74
_cg-w-war Distance: 278.2 mm
%pre_cg-w-war
_cg-w-war Specified CG for Front Shock Upper
_cg-w-war is greater than 100 mm away from the default location
_cg-w-war Your location: 1528.66 477.09 543.73
_cg-w-war Default location: 1560.86 434.65 816.74
_cg-w-war Distance: 278.2 mm
%pre_cg-w-war
_cg-w-war Specified CG for Front Shock Lower
_cg-w-war is greater than 100 mm away from the default location
_cg-w-war Your location: 1528.66 -477.09 543.73
_cg-w-war Default location: 1543.94 -457.12 673.34
_cg-w-war Distance: 132.0 mm
%pre_cg-w-war
_cg-w-war Specified CG for Front Shock Lower
_cg-w-war is greater than 100 mm away from the default location
_cg-w-war Your location: 1528.66 477.09 543.73
_cg-w-war Default location: 1543.94 457.12 673.34
_cg-w-war Distance: 132.0 mm
%pre_bus-w-war
_bus-w-war Damping rate for Front 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 Front 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 Front 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 Front 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 Front Hub Compliance 9 bushing
Moderate Braking - Steady State Simulation 523
Vehicle Simulations - Reports

_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 Front Hub Compliance 9 bushing
_bus-w-war in the Torsional direction is greater than 10%
_bus-w-war of the stiffness rate.
Rear Suspension Data Auditing

%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 Simulation

Example postprocessed Output

==================================================
= MODERATE BRAKING - STEADY STATE RESULTS =
==================================================
524 Adams/Chassis
Vehicle Simulations - Reports

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
Weight Distribution = 58.87 % Front
Initial Vehicle Velocity = 96.56 kph
*** VEHICLE PERFORMANCE ***
Vehicle Pitch Gradient = -4.247 (deg/g)
Body-on-Chassis Pitch Gradient = -3.924 (deg/g)
Front Suspension Dive Gradient = 82.550 (mm/g)
Rear Suspension Lift Gradient = 122.774 (mm/g)
Front Toe Change Gradient = -2.649 (deg/g)
Front Caster Change Gradient = -8.741 (deg/g)
Front Camber Change Gradient = -3.375 (deg/g)
Pedal Force at 0.35 g = 176.200 (N)
Pedal Force at 0.70 g = 0.000 (N)
Driver's H-point Gradient = 6.900 (mm/g)
*** VEHICLE STATISTICS DURING TEST ***
Front Front Rear Rear
Left Right Left Right
Long. Pedal Slip Slip Slip Slip
Accel Force Ratio Ratio Ratio Ratio
(g) (N) (%) (%) (%) (%)
----------------------------------------------------------------------------
0.00g 0.000 0.008 0.008 0.060 0.059
0.05g 25.355 -0.066 -0.065 -0.049 -0.049
0.10g 50.682 -0.141 -0.141 -0.165 -0.165
0.15g 75.927 -0.222 -0.220 -0.291 -0.291
0.20g 101.095 -0.309 -0.307 -0.430 -0.430
0.25g 126.192 -0.405 -0.402 -0.582 -0.582
0.30g 151.226 -0.509 -0.506 -0.752 -0.751
0.35g 176.200 -0.624 -0.619 -0.944 -0.942
0.40g 201.123 -0.748 -0.741 -1.162 -1.160
* The gradients are calculated at 0.1g

On Center Simulation

Example postprocessed Output

===================================================
= 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

Weight Distribution = 53.33 % Front


Initial Vehicle Velocity = 120.00 kph
*** CHARACTERISTICS ***
Midrange of SWA = 12.00 (deg)
Midrange of Lateral Acceleration = 0.16 (g)
Off Center SWA Range bound = 22.20 (deg)
*** STEER ANGLE vs YAW GAIN ***
On Center Yaw Gain = 21.00 (deg/sec/100 deg SWA)
Off Center Yaw Gain Left = 32.04 (deg/sec/100 deg SWA)
Off Center Yaw Gain Right = 33.09 (deg/sec/100 deg SWA)
Yaw Gain Linearity Left = 82.06 (%)
Yaw Gain Linearity right = 79.88 (%)
Yaw Gain Symmetry = 2.19 (%)
*** STEER TORQUE vs LATERAL ACCELERATION ***
Max. On Center Torque Gradient = 35.43 (N-M /g)
Deadband in g's = 0.10 (g)
Torque at 0 g = 1.82 (N-M)
*** STEER TORQUE vs STEER ANGLE ***
Deadband in degrees = 3.11 (deg)
Torque at 0 SWA = 0.35 (N-M)
Max. Torsional Rate = 0.36 (N-M / deg)
*** STEER ANGLE vs LATERAL ACCELERATION ***
Steering Sensitivity = 1.57 (g/100 deg SWA)
This report was generated with /usr/adams12/apre/post/report/oncenter.pl

Path-Corrected Lanechange Simulation

Example postprocessed Output

=======================================================
= 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

Rear Suspension Compliance Simulation

Example postprocessed Output

===============================================
= ADAMS REAR SUSPENSION COMPLIANCE TEST =
===============================================
Title: Vehicle1
Requester: user
526 Adams/Chassis
Vehicle Simulations - Reports

Date: Thu Jul 18 08:57:29 1996, adamspost_IRIX( v1.6)


Filename: vehicle1_rcomp.req
---------------------------------------------------------------------------------
LEFT RIGHT LEFT RIGHT
COMPLIANCE TEST PARAMETERS WHEEL WHEEL WHEEL WHEEL
---------------------------------------------------------------------------------
INITIAL CONDITIONS
Spindle Rise (- for rebound) = 105.35 105.35 mm
CONVERGING LATERAL COMPLIANCE TEST (Applied at Contact Patch)
Lateral Force Aligning Moment
------------------ -------------------
Toe change = 0.000 0.000 deg 0.000 0.000 deg
Lateral compliance steer = 0.000 0.000 deg/kN 0.000 0.000 deg/kN-M
Camber change = 0.000 0.000 deg 0.000 0.000 deg
Lateral camber compliance = 0.000 0.000 deg/kN 0.000 0.000 deg/kN-M
Lateral tire patch displ. = 0.000 0.000 mm 0.000 0.000 mm
Force and moment applied = 4500 4500 N 45 45 N-M
PARALLEL LATERAL COMPLIANCE TEST (Applied at Contact Patch)
Lateral Force Aligning Moment
------------------- -------------------
Toe change = 0.070 -0.070 deg -0.002 0.002 deg
Lateral compliance steer = 0.016 -0.016 deg/kN -0.043 0.043 deg/kN-M
Camber change = 0.000 0.000 deg 0.000 0.000 deg
Lateral camber compliance = 0.000 0.000 deg/kN 0.000 0.000 deg/kN-M
Lateral tire patch displ. = -15.277 15.278 mm 0.012 -0.012 mm
Force and moment applied = 4500 4500 N 45 45 N-M
LONGITUDINAL COMPLIANCE TEST (Applied at Wheel Center)
Reaward Force Forward Force
------------------- -------------------
Toe change = 0.000 0.000 deg 0.000 0.000 deg
Long. compliance steer = 0.000 0.000 deg/kN 0.000 0.000 deg/kN
Wheel center recession = 2.096 2.096 mm 2.161 2.161 mm
Wheel center recession rate= 0.47 0.47 mm/kN 0.48 0.48 mm/kN
Wheel center force applied = 4500 4500 N 4500 4500 N
LONGITUDINAL COMPLIANCE TEST (Applied at Contact Patch)
Reaward Force Forward Force
------------------- -------------------
Toe change = 0.000 0.000 deg 0.000 0.000 deg
Long. compliance steer = 0.000 0.000 deg/kN 0.000 0.000 deg/kN
Caster change = 2.070 2.070 deg 2.406 2.406 deg
Long. caster compliance = 0.460 0.460 deg/kN 0.535 0.535 deg/kN
Contact Patch force applied= 4500 4500 N 4500 4500 N
Positive Sign Convention : toe-in, top of tire cambered out, tire patch moving inboard

RideMotion Simulation

Example postprocessed Output

=============================================
= 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

Minimum Right Toe Angle = 0.078 (deg)


Maximum Right Caster Angle = 4.964 (deg)
Minimum Right Caster Angle = 4.945 (deg)
Maximum Right Camber Angle = -0.590 (deg)
Minimum Right Camber Angle = -0.606 (deg)

Sinusoidal Steer Simulation

Example postprocessed Output

=============================================
= 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

Steady State Drift

Example postprocessed Output

==================================================
= 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

Initial Vehicle Velocity = 55.00 mph


Straight Steer Angle = -0.02 deg (Left)
Straight Steering Torque = 0.00 in-lbs (Left)
*** FRONT SUSPENSION GEOMETRY DURING TEST ***
LEFT FRONT RIGHT FRONT
Longitudinal Toe Caster Camber Toe Caster Camber
Distance Change Change Change Change Change Change
(feet ) (deg) (deg) (deg) (deg) (deg) (deg)
---------------------------------------------------------------
0.10 sec = 0.0 0.000 0.000 0.000 0.000 0.000 0.000
2.00 sec = 153.5 -0.008 0.069 0.021 0.015 0.067 -0.017
4.00 sec = 315.2 -0.008 0.072 0.021 0.017 0.070 -0.017
6.00 sec = 477.0 -0.008 0.071 0.021 0.017 0.070 -0.017
8.00 sec = 638.7 -0.008 0.071 0.021 0.017 0.070 -0.017
10.00 sec = 800.4 -0.008 0.071 0.021 0.017 0.070 -0.017
*** FORCES AND DISPLACEMENTS ***
Lateral Normal Steering Steering Left Frt Right Frt
Drift Lateral Wheel Wheel Lateral Lat. Force Lat. Force
To Right Motion Torque Angle Accel. Change Change
(feet ) (in/ft^2) (in-lbs) (deg) (gs) (lbs) (lbs)
--------------------------------------------------------------------
0.10 sec = 0.0 1.716E-04 1.65 0.034 0.00003 0.00 0.00
2.00 sec = 0.1 7.706E-05 0.05 -0.329 0.00287 4.60 4.58
4.00 sec = 0.7 8.171E-05 0.00 -0.353 0.00290 4.69 4.33
6.00 sec = 1.6 8.310E-05 0.00 -0.354 0.00290 4.69 4.33
8.00 sec = 2.8 8.377E-05 0.00 -0.354 0.00290 4.69 4.33
10.00 sec = 4.5 8.416E-05 0.00 -0.354 0.00290 4.69 4.33

Steering (Front and Rear)

Example postprocessed Output

===========================================
= 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

Max and Min Steering Ratio are with respect to


front rack travel or pitman arm rotation
Overall Steering Ratio is averaged over all time steps

Steering Simulation

Example postprocessed Output

=====================================
= 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 (%)

Step Steer Simulation

Example postprocessed Output

=======================================
= 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

Yaw Rate = 11.48 deg/sec


Lateral Acceleration = 0.51 G's
Roll Angle = 4.69 degrees
Sideslip Angle = 3.24 degrees
Vehicle Velocity = 54.95 mph
Left Front Tire Load = 445.28 lbs
Right Front Tire Load = 2560.43 lbs
Left Rear Tire Load = 1095.49 lbs
Right Rear Tire Load = 3015.54 lbs
Steering Wheel Angle = 73.56 deg Right
*** VEHICLE HANDLING PARAMETERS ***
Weight Distribution = 43.285 % front
Lateral Load Transfer Dist. = 52.614 % front
Lat. Accel. Response Time = 0.497 sec to 90%
Yaw Rate Response Time = 0.448 sec to peak
TAU-BETA = 1.453 deg-sec

Straight Line Acceleration Simulation

Example postprocessed Output

==================================================
= 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 Deceleration Simulation


Swept Steer Simulation 531
Vehicle Simulations - Reports

Example postprocessed Output

=============================================
= 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

Swept Steer Simulation

Example postprocessed Output

===========================================================
= 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

Understeer Gradient = 4.967 deg/g


Slip Angle Understeer Gradient = 0.191 deg/g
Roll Gradient = 9.064 deg/g
Sideslip Gradient = 4.996 deg/g
Steering Sensitivity = 0.821 g/100 deg SWA
Lateral Load Transfer Dist. = 52.665 % Front
Roll Couple Distribution = 1.125
*** HANDLING VARIABLES ***
Steer Steering Wheel Roll Yaw Sideslip
Angle Torque Angle Rate Angle
(deg) (in-lbs) (deg) (deg/sec) (deg)
-------------------------------------------------------------------
0.10 g = 12.18 56.44 0.789 2.611 0.357
0.20 g = 23.59 109.99 1.675 5.086 0.772
0.30 g = 35.96 166.56 2.583 7.551 1.288
0.40 g = 51.03 229.75 3.536 9.838 1.994
0.50 g = 75.80 299.23 4.590 12.012 3.036
0.55 g = 95.67 319.53 5.177 13.149 3.774
*** TIRE LOADS ***
ETS Left Front Right Front Left Rear Right Rear
Understeer Tire Load Tire Load Tire Load Tire Load
(deg/g) (lbs) (lbs) (lbs) (lbs)
--------------------------------------------------------------------
0.10 g = 4.369 1351.8 1726.2 1849.0 2192.8
0.20 g = 4.593 1147.4 1926.3 1669.3 2376.7
0.30 g = 5.357 937.2 2127.4 1486.9 2568.0
0.40 g = 8.544 716.5 2329.4 1302.0 2771.2
0.50 g = 18.265 474.9 2542.9 1109.8 2990.3
0.55 g = 25.728 336.7 2658.3 1011.4 3110.3

Throttle Off In a Turn

Example postprocessed Output

=================================================
= 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

Long. Accel. Yaw Rate Lat. Accel. SideSlip


(g's) (deg/sec) (g's) (deg)
--------------------------------------------------------------------
0.00g 14.510 -0.398 -1.167

Throttle On In a Turn Simulation

Example postprocessed Output

================================================
= 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

S-ar putea să vă placă și