Tutorials and Examples For tutorials of overall product use, see:
?Getting Started Using Adams/Car
Adams/Car
648
Example Four-Post Analysis
Example Four-Post Analysis
Although this is an Adams/Car example, you can use the general concepts presented here to customize
any template-based product.
?Setting Up and Running an Analysis: Teaches the expert user how to build and run a full-vehicle analysis with the four-post test rig.
?Creating and Running a Macro: Introduces the concepts of creating and running a macro for the scenario given above.
Tutorials and Examples
649
Example Event Files Example Event Files
In Adams/Car, XML became the default file format for Driving Machine analyses. Although Adams/Car still supports driver control files (.dcf), it now automatically converts them to .xml. The .xml files are referred to as event files. Although the contents of the two files types look different, they contain the same event information. You work with .xml files through the Event Builder.
In the shared Adams/Car database, we provide files in both .dcf and .xml format. These files are stored
in the driver_controls.tbl directory/table.
Adams/Car
650
Example .dcd File
Example .dcd File
The following shows the architecture of a .dcd file and all the options you can set for a .dcd file. It
contains options, logic, and general rules that you must follow when creating a .dcd file.
[MDI_HEADER]
FILE_NAME = filename.dcd
FILE_TYPE = 'dcd'
FILE_VERSION = 1.0 FILE_FORMAT = 'ASCII'
(COMMENTS)
{comment_string}
'Any comment'
[UNITS]
LENGTH = 'meter' || 'millimeter' || 'centimeter' || 'kilometer' || etc.
FORCE = 'newton' || 'kilogram_force' || etc. ANGLE = 'deg' MASS = 'kg'
TIME = 'sec'
[CLOSED_LOOP]
comment = string
steering_control = 'none' || 'curvature' || 'path' || 'lat_acc'
speed_control = 'none' || 'lon_vel' || 'lon_acc' || 'lat_acc' || 'path'
ordinal = 'distance' || 'time'
lon_vel_max = float
lon_vel_min = float
lon_acc_max = float
lon_acc_min = float
lat_acc_max = float
lat_acc_min = float
(DATA)
$ steering, speed
$ 1 Case{none, none} -- null case, no data required!!
$ 2 Case{none, lon_vel}
$ 3 Case{none, lon_acc}
$ 4 Case{none, lat_acc} -- NOT VALID
$ 5 Case{none, path} -- NOT VALID
{ ( distance || time ) && ( lon_vel || lon_acc ) }
$ 6 Case{curvature, none} -- Must have distance with curvature { distance && curvature }
$ 7 Case{curvature, lon_vel}
$ 8 Case{curvature, lon_acc}
$ 9 Case{curvature, lat_acc}
$10 Case{curvature, path} -- NOT VALID
{ ( distance || time ) && curvature && ( lon_vel || lon_acc
|| lat_acc ) }
$11 Case{path, none}
$12 Case{path, lon_vel}
$13 Case{path, lon_acc}
$14 Case{path, lat_acc}
{ x && y && ( lon_vel || lon_acc || lat_acc ) }
$15 Case{path, path}
{ x && y && time }
$16 Case{lat_acc, none} -- NOT VALID
Tutorials and Examples
651
Example .dcd File
$17 Case{lat_acc, lon_vel}
$18 Case{lat_acc, lon_acc}
$19 Case{lat_acc, lat_acc} -- NOT VALID
$20 Case{lat_acc, path} -- NOT VALID
{ ( distance || time ) && lat_acc && ( lon_vel || lat_acc ) } [OPEN_LOOP]
ordinal = 'time' || 'distance'
{distance || time steering throttle brake gear clutch}*
0.0 0.0 0.0 0.0 2 0.0
0.1 0.0 0.0 0.0 2 0.0
*You can select distance or time and any combination of steering, throttle, brake, gear, and clutch
.Example corresponding to $ 2 Case{none,lon_vel}:
.....
[CLOSED_LOOP]
STEERING_CONTROL = 'NONE'
SPEED_CONTROL = 'LON_VEL'
ORDINAL = 'TIME'
(DATA)
{ TIME, LON_VEL }
0.0 27.777
0.1 27.777
0.2 27.776
0.3 27.775
0.4 27.774
0.5 27.773
.....
Example corresponding to $ 7 Case{curvature,lon_vel}:
.....
[CLOSED_LOOP]
STEERING_CONTROL = 'CURVATURE'
SPEED_CONTROL = 'LON_VEL'
ORDINAL = 'DISTANCE'
(DATA)
{ DISTANCE, CURVATURE, LON_VEL }
0.0 0.000 27.777
1.0 0.002 27.777
2.0 0.004 27.777
3.0 0.006 27.776
4.0 0.008 27.775
5.0 0.010 27.774
6.0 0.010 2
7.773
7.0 0.010 27.774
8.0 0.010 27.774
9.0 0.010 27.774
10.0 0.010 27.774
11.0 0.010 27.774
12.0 0.010 27.774
13.0 0.010 27.774
.....
Adams/Car
652
Example Suspension Loadcase File
Example Suspension Loadcase File
In Adams/Car, you can use loadcase files to specify different types of suspension analyses. The following
is an example loadcase file.
$-----------------------------------------------MDI_HEADER
[MDI_HEADER]
FILE_TYPE = 'lcf'
FILE_VERSION = 4.0
FILE_FORMAT = 'ASCII'
$-----------------------------------------------UNITS
[UNITS]
LENGTH = 'mm'
ANGLE = 'degrees'
FORCE = 'newton'
MASS = 'kg'
TIME = 'second'
$
$Generation Parameters: (Do Not Modify!)
$ loadcase = 1
$ nsteps = 10
$ bump_disp = 100.00 rebound_disp = -100.00
$ steering_input = angle
$ stat_steer_pos = 0.00
$
$-----------------------------------------------mode
[MODE]
STEERING_MODE = 'angle'
VERTICAL_MODE = 'length'
$-----------------------------------------------data
[DATA]
$COLUMN: input type: type of input data: side:
$ (c1) wheel z disp / force left
$ (c2) wheel z disp / force right
$ (c3) lateral force (y) left
$ (c4) lateral force (y) right
$ (c5 aligning torque (z-axis) left
$ (c6) aligning torque (z-axis) right
$ (c7) brake force (y) left
$ (c8) brake force (y) right
$ (c9) driving force (y) left
$ (c10) driving force (y) right
$ (c11) steering force / steer angle / rack travel
{ whl_z_l whl_z_r lat_l lat_r align_l align_r brake_l brake_r drive_l drive_r steer}
-100.0000 -100.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
-80.0000 -80.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
-60.0000 -60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
-40.0000 -40.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
-20.0000 -20.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.000
20.0000 20.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
40.0000 40.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
60.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
80.0000 80.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
100.0000 100.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
653
Tutorials and Examples Example Wheel-Envelope Input File
Example Wheel-Envelope Input File
The following is an example of a wheel-envelope input file (.wen) that you can use to control a wheel-envelope analysis.
$--------------------------------------------MDI_HEADER [MDI_HEADER]FILE_TYPE = 'wen'FILE_VERSION = 5.0 FILE_FORMAT = 'ascii'$--------------------------------------------UNITS [UNITS]LENGTH = 'mm'FORCE = 'newton'ANGLE = 'deg'MASS = 'kg'TIME = 'sec'$--------------------------------------------MODE [MODE]STEERING_MODE = 'angle'VERTICAL_MODE = 'length'$--------------------------------------------GRID [GRID] BOUNDARY_STEERING_GRID = 100.0 BOUNDARY_WHEEL_GRID = 20.0INTERIOR_STEERING_GRID = 100.0 INTERIOR_WHEEL_GRID = 20.0$--------------------------------------------DATA [DATA]$COLUMN: input type: type of input data: side:$ (c1) wheel z disp / force left $ (c2) wheel z disp / force right $ (c3) lateral force (y) left $ (c4 lateral force (y) right $ (c5) aligning torque (z-axis) left $ (c6) aligning torque (z-axis) right $ (c7) brake force (y) left $ (c8 brake force (y) right $ (c9) driving force (y) left $ (c10) driving force (y) right $ (c11) steering steer angle / rack travel $ {whl_z_l whl_z_r lat_l lat_r align_l align_r brake_l brake_r drive_l drive_r steer}-120.0 -120.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -500.080.0 80.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -500.090.0 90.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -300.0120.0 120.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -200.0120.0 120.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 200.0
Note:For wheel-envelope input files, Adams/Car ignores columns three through ten: (left and right) lateral force, aligining torque, brake force, and driving force.
Adams/Car
654
Example Wheel-Envelope Input File
85.0 85.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 350.0
80.0 80.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 500.0
60.0 60.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 500.0
30.0 30.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 450.0
-30.0 -30.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 450.0
-75.0 -75.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 500.0
-120.0 -120.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 500.0
Tutorials and Examples
655
Example Wheel-Envelope Output File Example Wheel-Envelope Output File
A wheel-envelope output file (.wev) contains a header and a data table, as explained next.
The first three lines comprise the header and contain the following information, in this order:
?Type of file
?Adams dataset title
?Date and time of file creation
The table that follows the header contains the following information:
?The first column shows the solution step number
?Columns 2-4 show the data for the left wheel center x, y, z
?Columns 5-7 show the data for the left wheel axis point x, y, z
?Columns 8-10 show the data for the right wheel center x, y, z
?Columns 11-13 show the data for the right wheel axis point x, y, z
The following is an example of a wheel-envelope output file:
Adams/Car Wheel Envelope Analysis Output File - acar_v10.0
Adams/Car Assembly
2000-01-19 16:41:21
1-4.2702-673.57205.00-348.83-1611.7170.297.0293670.69205.00303.631620.7107.88
2-4.6463-681.45225.00-344.63-1621.7206.15 6.7629678.55225.00307.971628.3139.91
3-4.9532-687.82245.00-340.16-1630.0239.60 6.5706684.92245.00311.281634.4170.26
4-5.2433-692.82265.00-334.67-1637.0271.40 6.3755689.93265.00314.351639.0198.89
5-5.5240-696.55285.00-328.07-1643.0301.70 6.1779693.66285.00317.431642.1225.76
6-5.7905-699.08305.00-320.38-1648.0330.44 5.9864696.18305.00320.671643.8250.76
7-6.0372-700.45325.00-311.59-1652.1357.51 5.8099 697.55325.00324.251644.1273.76
8-6.2583-700.71345.00-301.72-1655.3382.78 5.6583697.79345.00328.311643.0294.55
9-6.4469-699.89 365.00-290.74-1657.8406.03 5.5424696.93365.00333.041640.3312.88
10-6.5953-698.01385.00-278.64-1659.4426.98 5.4752695.00385.00338.631636.2328.39 ..........
Adams/Car
656
Example Plot Configuration File
Example Plot Configuration File
The following is an example of an Adams/Car plot configuration file:
$----------------------------------------------------------------------PAGE
[PAGE]
PAGE_LAYOUT = 11.0
NUMBER_OF_PLOTS = 1.0
PAGE_NAME = page_1
HEADER_LEFT_LINES = 1.0
HEADER_LEFT_LINE_0_TEXT = 'Header Left'
HEADER_LEFT_TEXT_FONT_SIZE = 9.0
HEADER_LEFT_LINES = 1.0
HEADER_LEFT_COLOR = 788529153.0
FOOTER_RIGHT_LINES = 1.0
FOOTER_RIGHT_LINE_0_TEXT = 'Footer Right'
HEADER_LEFT_LINES = 1.0
HEADER_LEFT_LINE_0_TEXT = 'Header Left'
FOOTER_RIGHT_TEXT_FONT_SIZE = 9.0
FOOTER_RIGHT_COLOR = 788529153.0
$----------------------------------------------------------------------PLOT
[PLOT]
INDEX = 0.0
NAME = 'plot_1'
TIME_LOWER_LIMIT = 0.0
TIME_UPPER_LIMIT = 0.0
AUTO_DATE_STAMP = 1.0
AUTO_ANALYSIS_NAME = 1.0
AUTO_SUBTITLE = 0.0
AUTO_TABLE_HEADER = 1.0
(LEGEND)
{placement xloc yloc zloc fill }
2 55.46 85.0
3 0.00 1
(PLOT_BORDER)
{color line_style line_weight}
788529153 1 1.0
(PRIMARY_GRID)
{color line_style line_weight}
788529165 1 0.5
(SECONDARY_GRID)
{color line_style line_weight}
788529165 1 0.5
(LEGEND_BORDER)
{color line_style line_weight}
788529153 1 1.0
(NOTES)
NUMBER_OF_NOTES = 3.0
(NOTE_1)
{name font color autopos rotation alignment xloc yloc zloc isDate isAnalysis
numStrings}
'analysis' 9 788529153 0 0.0 2 54.3200 4.7836 0.0000 0 1 0 1
STRING_1_TEXT = 'Analysis: test1_parallel_travel'
(NOTE_2)
{name font color autopos rotation alignment xloc yloc zloc isDate isAnalysis
numStrings}
'date' 9 788529153 0 0.0 2 117.8513 4.7836 0.0000 1 0 0 1
STRING_1_TEXT = '15:52:54 11-MAY-98'
(NOTE_3)
Tutorials and Examples
657
Example Plot Configuration File
{name font color autopos rotation alignment xloc yloc zloc isDate isAnalysis numStrings}
'NOTE_3' 10 788529163 1 0.0 4 82.6197 56.0575 0.0000 0 0 0 1
STRING_1_TEXT = 'This is my note'
(PLOT_AXES)
{axis_name type label scaling divisions low_limit up_limit color font
rotation alignment placement axis_offset axis_color label_autopos
label_offset label_xloc label_yloc tic_color minor_divs auto_divs use_divs
incs trailing_zeros dec_places sci_lower sci_upper num_font num_color}
'vaxis' 'vertical' 'No Units' 'linear' 8 0 0 788529153 9 90.0 3 0 0.0
788529153 0 10.9 43.4 49.3 788529153 2 1 1 1.0 0 4 -4 5 9.0 788529153
'haxis' 'horizontal' 'Time (sec)' 'linear' 3 0 0 788529153 9 0.0 2 3 0.0 788529153 0 6.5 86.1 4.8 788529153 2 1 1 5.0 0 4 -4 5 9.0 788529153
$----------------------------------------------------------------PLOT_CURVE [PLOT_CURVE]
NAME = 'curve_1'
PLOT = 'plot_1'
VERTICAL_AXIS = 'vaxis'
HORIZONTAL_AXIS = 'haxis'
HORIZONTAL_EXPRESSION = 'toe_angle.TIME'
VERTICAL_EXPRESSION = 'toe_angle.right'
Y_UNITS = 'no_units'
X_UNITS = 'time'
LEGEND_TEXT = 'Right'
COLOR = 'red'
STYLE = 'solid'
SYMBOL = 'none'
LINE_WEIGHT = 2.0
HOTPOINT = 0.0
INCREMENT_SYMBOL = 1.0
Adams/Car Adams/Car Dynamic Suspension Analysis 658Adams/Car Dynamic Suspension Analysis
This example demonstrates the ability to carry out Dynamic Suspension Analysis . Earlier, the Suspension Assembly was limited to carry out only quasi-static simulation. Now, your suspension assembly is simulated with Adams/Solver Simulate/Dynamic command.
This feature allows you to directly provide a RPCIII file or define View Functions to specify Jack and Steering motion as a function of displacement, force etc.
Model Description
Investigate the model and carry out a Dynamic Analysis
Here you first analyze a double wishbone suspension with rigid lower control arm
1.Start Adams/Car , Select Standard Interface .
2.Create a new Suspension assembly: File - New - Suspension Assembly . Fill the dialog box as indicated below. To select the subsystems, Right-click - Search -
and pinion steering system is provided.
A dynamic suspension analysis is carried
out to actuate the wheel pads across a
range of frequencies. We are interested in
looking at the lower control arm bushing
force and how the force changes by
replacing the rigid lower control arm by
a flexible body. In addition, we use the
flex body swap dialog box to switch a
rigid lower control arm with a flexible
one. We then plot the stress on the
flexible body node and visualize it.
Tutorials and Examples
659
Adams/Car Dynamic Suspension Analysis
3.The suspension assembly should be displayed.
4.To simulate using the Dynamic Solver Statements, go to Simulate - Suspension Analysis -
Dynamic.
5.You will use View Functions to define the vertical displacement of the Jack. The following
function steps up the bounce-rebound amplitude from 10 mm to 30 mm with a frequency of 2 Hz: step(time,2,10*sin(4*pi*time),8,30*sin(4*pi*time))
(Tire Forces can be added using the function like Static Loads Analysis)
Adams/Car
660
Adams/Car Dynamic Suspension Analysis
6.To animate the results, from the Review menu, select Animation Controls. Animate the model
and observe the change in the suspension travel.
Review the results
Plot the bushing force in the lca_front bushing:
1.Hit the F8 key in Adams/Car to switch to Adams/PostProcessor.
2.Locate the bkl_lca_front_force and bkr_lca_front_force REQUEST under user-defined
REQUESTs:
Tutorials and Examples
661
Adams/Car Dynamic Suspension Analysis
The fz_front component corresponds to magnitude of the force in the Z direction. Plot this quantity to obtain a figure similar to the following:
Change Rigid Lower Control arm to be a Flexible Body
Here you use the Flex body Swap dialog box feature available in the Standard interface to replace the
left rigid lower control arm with a flexible body. The MNF file used for representing this flex body is created in Nastran.
To replace the lower control arm:
1.Go to Adjust - General Part - Rigid to Flex. This displays the flex body swap dialog box.
2.Right click the Current Part Field - Pick and select the Left Lower control arm. In the MNF File
field, Right-click- Search -
Adams/Car
662
Adams/Car Dynamic Suspension Analysis
3.Click on the Connections tab next and highlight the Move column and click Preserve
Expression button and click OK.
Tutorials and Examples
663
Adams/Car Dynamic Suspension Analysis
4.Now, the rigid lower control arm in red is replaced by the white flexible body.
Simulate the Model
You again carry out a dynamic analysis with this model now containing a flexible body.
1.Go to Simulate - Suspension Analysis - Dynamic.
https://www.sodocs.net/doc/b617814030.html, the Output Prefix to be Rigid_Flex and keep the remaining dialog box unchanged.
After the simulation is successful, animate the model to make sure it is behaving as expected.
Review & Compare Results
Here you plot the bushing force for the lower control arm and compare the force on left and right side.
To review the results:
1.Locate the bkl_lca_front_force and bkr_lca_front_force REQUEST under user-defined
REQUESTs:
Adams/Car
664
Adams/Car Dynamic Suspension Analysis
2.Because of the left lower control arm being a flexible body, note the difference in the bushing
force.
Optional: Load Durability Plugin to display Stresses and Identify the Hotspots
Here you will load the Durability Plugin and identify the hot-spots on the flexible lower control arm and
also plot the nodal stresses. For better visualization, in the Adams/Car Standard Interface change the
background color from Black to Gray (Settings - View Background Color).
To Display Stresses and animate the flex body:
1.Change to Adams/Postprocessor and switch to Animation mode.
2.Go to View - Load Animation - select Rigid_Flex_dynamic to load the animation.
3.Go to Tools - Plugin Manager and check the load Adams/Durability option.
Tutorials and Examples
665
Adams/Car Dynamic Suspension Analysis
4.In the Animation tab right click the Component field and select the flexible body
gel_lower_control_arm_flex. This only displays the flexible body and not the whole model.
5.Select the Contour Plots tab; set Contour Plot Type to Von Mises Stress and check Display
Legend.
6.Select the Hot Spots tab; check Display HotSpots and fill the dialog box as shown below. You
are interested in looking at the top 2 hotspots on the flexible body.
7.Play the animation; you would observe the change in stress with the hot spots being identified.
Adams/Car
666
Adams/Car Dynamic Suspension Analysis
8.From the above exercise, you can note that Node with ID 709 experiences the maximum Von
Mises Stress. You can now, plot the stress at this node. Go to Durability menu at the top and
select Nodal Plots. The dialog for Nodal Plots pops up. In the Select Node List field, fill in 709,
Check Von Mises and click OK.
9.Switch back to Plotting mode in the Adams/PostProcessor, Set the Source to be Result Sets;
select gel_lower_control_arm_flex_Stress and component to be node_709_Von_Mises. Your
plot should look something like shown below.