Sie sind auf Seite 1von 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".