Car Msc2011
Car Msc2011
2 Adams/Car
About Adams/Car
About Adams/Car
Adams/Car, part of the MSC Adams 2011 suite of software, is a specialized environment for modeling vehicles. It allows you to create virtual prototypes of vehicle subsystems and analyze the virtual prototypes much like you would analyze the physical prototypes. Using Adams/Car, you can quickly create assemblies of suspensions and full vehicles, and then analyze them to understand their performance and behavior. You create assemblies in Adams/Car by defining vehicle subsystems, such as front and rear suspensions, steering gears, anti-roll bars, and bodies. You base these subsystems on their corresponding standard Adams/Car templates. For example, Adams/Car includes templates for double-wishbone suspension, MacPherson strut suspension, rack-and-pinion steering, and so on. If you have expert-user access, you can also base your subsystems on custom templates that you create using the Adams/Car Template Builder. When you analyze an assembly, Adams/Car applies the analysis inputs that you specify. For example, for a suspension analysis you can specify inputs to:
Move the wheels through bump-rebound travel and measure the toe, camber, wheel rate, roll
amount of Ackerman, that is, the difference between the left and right wheel-steer angles. Based on the analysis results, you can quickly alter the suspension geometry or the spring rates and analyze the suspension again to evaluate the effects of the alterations. For example, you can quickly change a rear suspension from a trailing-link to a multi-link topology to see which yields the best handling characteristics for your vehicle. Once you complete the analysis of your model, you can share your work with others. You can also print plots of the suspension characteristics and vehicle dynamic responses. In addition, you can access other users' models without overwriting their data.
Benefits of Adams/Car
Adams/Car enables you to work faster and smarter, letting you have more time to study and understand how design changes affect vehicle performance. Using Adams/Car you can:
Explore the performance of your design and refine your design before building and testing a
physical prototype.
Analyze design changes much faster and at a lower cost than physical prototype testing would
require. For example, you can change springs with a few mouse clicks instead of waiting for a mechanic to install new ones in your physical prototype before re-evaluating your design.
Welcome to Adams/Car 3
About Adams/Car
Vary the kinds of analyses faster and more easily than if you had to modify instrumentation, test
4 Adams/Car
About Adams/Car
6 Adams/Car
Starting Adams/Car
Starting Adams/Car
In the Windows environment, you start Adams/Car from the Start button. In the UNIX environment, you start Adams/Car from the Adams Toolbar. For more information, see Running and Configuring Adams. This topic describes how you start the two Adams/Car Interface Modes, standard interface or template builder.
configured to run in standard-interface mode. Select OK. The Adams/Car Standard Interface appears. To start in the UNIX environment: 1. At the command prompt, enter the command to start the Adams Toolbar, and then press Enter. The standard command that MSC.Software provides is adamsx, where x is the version number, for example adams2011. The Adams Toolbar appears. 2. Select the Adams/Car tool . The Welcome Dialog Box appears on top of the Adams/Car main window. 3. Do one of the following:
If the Welcome dialog box contains the options Standard Interface and Template Builder,
configured to run in standard mode. Select OK. The Adams/Car Standard Interface appears.
8 Adams/Car
Interface Modes
Adams/Car has two interface modes:
Standard Interface - You use it when working with existing templates to create and analyze
assemblies of suspensions and full vehicles. Users with standard and expert access can use the Standard Interface.
Template Builder - If you have expert-user access, you use the Template Builder to create new
templates for use in the Standard Interface. When you create a new component in the Template Builder, your product automatically adds a prefix based on the entity type and the symmetry. Your product uses a naming convention to let you easily determine an entitys type from the entitys name. Learn about the naming convention and see a table that lists the prefixes of various entities. If you have expert-user access, you use the Template Builder to create new templates for use in the Standard Interface. Using the Template Builder, you can assemble standard components, such as springs, parts, and bushings, to define the topology of your system, such as a suspension or a single valvetrain in an engine. To switch between modes: Do one of the following:
From the Tools menu, select [Product Name] Standard Interface or select [Product Name]
Template Builder.
Press F9.
Interface. Therefore, the standard user cannot make topological modifications to templates, but can operate on subsystems, varying design parametrics and analysis inputs.
Expert user - Expert users have access to modeling capabilities available in theTemplate
Builder. Therefore, expert users can open templates and modify their topological information, as well as create new templates. If you are an expert user, when you launch your Adams product, it prompts you to select either Standard Interface or Template Builder.
The private configuration file is not located in the installation directory. Never change the acar.cfg file located in the installation
access the Template Builder and other development tools that are located under the Tools menu. Expert users can use the MDI_ACAR_PLUS_AVIEW keyword in the private configuration file to access Adams/View. Learn about accessing Adams/View. To change the value of this keyword, you must edit the private configuration file (.acar.cfg) using a text editor and modify the corresponding string. The following gives you expert access: ! Desired user mode (standard/expert) ENVIRONMENT MDI_ACAR_USERMODE EXPERT When you start a new session, your template-based product reflects the changes to the private configuration file.
10 Adams/Car
Viewing Objects
Showing, Hiding, and Selecting Objects in the Database Navigator Managing the Select List Filtering Objects in the Database Navigator Sorting Objects in the Database Navigator Setting Highlighting in the Database Navigator
Changing Objects
Setting Appearance of Objects Through the Database Navigator Renaming Objects Through the Database Navigator Adding Comments Through the Database Navigator
model_1 . These objects do not have parents. Double-click the name of a model, in this case model_1, to find all the objects belonging to that model.
To display the Database Navigator, do any of the following: From the Tools menu, select Database Navigator.
Execute an editing command, such as Modify, from the Edit menu when no object is currently
selected.
Request to view information about an object using the Info command on the Edit pop-up menu. Browse for the name of an object to enter in a dialog box using the Browse command.
12 Adams/Car
To show or hide objects below a single object: Double-click an object with a plus or minus by it. To expand or collapse all objects by one level: In the lower right corner of the navigator window, select the + or - button. To hide all objects: In the lower right corner of the navigator window, select the - button. You can use the Database Navigator to select any object in the database. You can also select more than one object to complete a command. You can create a list of selected objects on which to perform options by choosing Select List from the pull down menu at the top of the Database Navigator. To select a single object: In the tree list, click the object and select OK. If the Database Navigator is not in multi-select mode, you can also double-click the object to select it. To use the mouse to select a continuous set of objects: 1. In the tree list, drag the mouse over the objects you want to select or click on one object, hold down the Shift key, and click the last object in the set. All objects between the two selected objects are highlighted. 2. Select OK. To use the Up and Down arrow keys to select a continuous set of objects: 1. In the tree list, click on the first object, hold down the Shift key, and then use the Up or Down arrows to select a block of objects. 2. Select OK. To select a noncontinuous set of objects: 1. In the tree list, click on an object, hold down the Ctrl key, and click on the individual objects you want to select. 2. Select OK. To clear any selection in the tree list: Hold down the Ctrl key and click the selected object to clear its highlighting.
To view the select list: From the pull-down menu, select Select List. The selected objects appear in the text box to the right. To add objects to a select list: 1. From the pull-down menu, select Select List. 2. From the Tree list or Main Window, select the objects to be on the select list as explained in the previous section. 3. Select Add. 4. Select Apply. To remove objects from the select list: 1. From the pull-down menu, select Select List. 2. From the list that appears on the right, select the objects to be removed. 3. Select Remove. 4. Select Apply. To clear all objects from the select list: 1. From the pull-down menu, select Select List. 2. Select Clear. 3. Select Apply.
14 Adams/Car
precedence over the size you specify globally for the modeling database.
State of the object during a simulation: active or inactive.
To set the appearance of objects: 1. Select an object from the Database Navigator Tree list.
2. Use the options in the dialog box to set the appearance of the object. To inherit an attribute from a parent of the object, select None from any of the pull-down menus. Learn more with Display Attribute dialog box. Tip: For transparency, the higher the value, the more transparent the object is, allowing other objects to show through. The lower the value, the more opaque the object is, covering other objects. However, setting the transparency of objects can have a negative impact on graphical performance if you are using a graphics card without hardware acceleration for OpenGL. Instead of setting an objects transparency, consider setting the objects render mode to wireframe.
3. To set the scope of the appearance changes, you can select either:
Object - Only apply to the selected object. Siblings - Apply changes to all objects of the same type that are children of the parent of the
selected object.
All - Apply changes to objects matching the filter you set in the Filter text box.
4. Select Apply.
16 Adams/Car
To display model topology of parts and connections: From the Database Navigator pull-down menu, select Topology by Parts or Topology by Constraints. To graphically view the topology of parts: 1. From the Database Navigator pull-down menu, select Graphical Topology. 2. From the Tree list or Main Window, select an object. Model Topology by Part You can select to have your template-based product list each part in the Model, along with the parts it is connected to and what constraints or forces are affecting it. For example, the following shows the information that appears in the Information window or Database Navigator when you display the connections by parts for a model called model_1. Topology of model: model_1 Ground Part: ground Part ground Is connected to: LINK_1 via JOINT_2 (Revolute Joint) LINK_6 via JOINT_1 (Revolute Joint) LINK_1 via FORCE_1 (Single_Component_Force) Part LINK_1 Is connected to: LINK_5 via JOINT_3 (Revolute Joint) ground via JOINT_2 (Revolute Joint) ground via FORCE_1 (Single_Component_Force)
Part LINK_5 Is connected to: LINK_1 via JOINT_3 (Revolute Joint) LINK_6 via JOINT_4 (Revolute Joint) Part LINK_6 Is connected to: LINK_5 via JOINT_4 (Revolute Joint) ground via JOINT_1 (Revolute Joint) Model Topology by Connections When you select to display model topology by connection, your template-based product displays each constraint and force with the parts that they connect and act on. Your template-based product also displays any unconnected parts. The following sample shows the information that appears when you select to display topology by connections for a model with three parts, named model_1. Topology of model: model_1 Ground Part: ground JOINT_1 connects LINK_2 with ground (Revolute Joint) JOINT_2 connects LINK_3 with LINK_4 (Revolute Joint) JOINT_3 connects LINK_2 with LINK_3 (Revolute Joint) Unconnected Parts: LINK_1 Graphically Viewing Model Topology In graphical topology, the Database Navigator displays a representation of the selected part and shows its connections to other parts. The connections represent the joints or forces between the parts.
18 Adams/Car
Each time you select a different part in the Tree list of the Database Navigator, the graphical display changes to show the select part at its center.
3. From the tree list or Main Window, select an object. The objects associated with the selected object appear in the text box to the right. To set up automatic navigation of the objects: Select Auto Navigate.
To save the current associativity information to a file: Select Save to File. About Auto Navigation When you select Auto Navigate, the Database Navigator lets you view the associativity of objects that you select from the Tree list and any objects listed in the window on the right. For example, if you have a model with a joint motion, and then select to view the associativity of that motion, you see a joint listed in the right window, as shown below. With Auto Navigate selected, you can just select that joint from the right window to view its associativity. If it were not selected, you would have to select the joint from the tree list to view its associativity. In addition, when you select the joint in the right window, the Database Navigator also highlights it in the tree list.
20 Adams/Car
To display object information: 1. From the Database Navigator pull-down menu, select Information. 2. From the Tree list or Main Window, select an object. The information about the object appears in the window to the right. To save the information to a file: Select Save to File. To return to the information about a previous object:
Select
To display model topology by parts, do one of the following: From the Tools menu, select Model Topology Map.
In your template-based product, on the Status Bar, from the Information tool stack, select the
To display model topology by connections: On the status toolbar, from the Information tool stack, select the Model Topology by Constraints tool .
Managing Information
Clearing the Information Window Saving Information in the Information Window Displaying a Text File in the Information Window Copying Text in the Information Window Setting the Information Mode
22 Adams/Car
Information about the object appears in the Information window. To use the Database Navigator to display information about objects in the Information window: 1. On the Status bar, select the Info tool from the Information tool stack. The Database Navigator appears. 2. Select the object about which you want to display information. Learn about selecting objects. 3. Select OK. The information window appears. To display object information once you've displayed the Information window, do one of the following: In the text box at the top of the Information window, enter the name of the object, and then select Apply.
If the object name already appears in the Information window, place the text cursor in the name
To display an object's children: In the Information window, select Children. To display an object's parent, do one of the following: In the Information window, select Parent.
In the Information window, place the text cursor in the name of the parent and select Apply.
24 Adams/Car
To display a text file when the Information window is not displayed: 1. On the Tools menu, select Show File. The Info Window Read dialog box appears. 2. In the File Name text box, you can either:
Enter the name of the file. Browse for a file: right-click the File Name text box, and then select Browse to display the
File Selection dialog box. 3. Select OK. The Information window appears with the text of the file as its content.
Using Wildcards
You can use wildcards to narrow any search, set the type of information displayed in a window, such as the Database Navigator or the Log file, or specify a name of an object in a dialog box. This Character: * (asterisk) ? [ab] Zero or more characters Any single character Any one of the characters in the brackets
This Character: [^AB] [a-c] {AB, bc} Any character other than the characters following the caret symbol (^) in the brackets Any one character in a range enclosed in brackets Any of the character strings in the braces
Tips on Using Wildcards Here are some tips for entering wildcards:
Case is insignificant, so xYz is the same as XYz. You can match alternative sequences of characters by enclosing them in braces and separating
them with commas. For example, the pattern a{ab,bc,cd}x matches aabx, abcx, and acdx.
You can form character sets that match a single character using brackets [ ]. For example, [abc]d
[abcdef1234].
You can use a backslash (\) to include a special character as part of the character set. For
example, [AB\]CD] includes the five characters a, b, ], c, and d. Here are some examples of more complex patterns and possible matches:
x*y - Matches any object whose name starts with x and ends with y. This would include xy, x1y,
and xaby.
x??y - Matches only those objects with four-character long names that start with x and end with
as the third letter. This would include thx1138, rex, and fizzy.
26 Adams/Car
Setting Preferences
Setting Preferences
Setting Screen and Printer Fonts
You can change the font your template-based product uses to display text in a view, such as the name of a part or a note on the screen, or to print text to a printer. The fonts available for displaying text in a view are those available with your operating system. The fonts available for printing text are a fixed set of 12 fonts. Note that your printer may not support all of these printer fonts. Learn about Printing Models. To select a screen or printer font: 1. On the Settings menu, select Fonts. The Fonts dialog box appears. 2. In the Screen Font text box, enter the name of the font you want your template-based product to use to display text in a view. To browse for a font, right-click the text box, select Browse, and then select a font. 3. Set Postscript Font to the font you want to use to print text. 4. Select OK.
2. In the Start In text box, enter the working directory. For more information, see your Windows online help.
Newtons.
MKS - Sets length to meters, mass to kilograms, and force to Newtons. CGS - Sets length to centimeters, mass to grams, and force to Dyne. IPS - Sets length to inches, mass to pound mass, and force to PoundForce.
28 Adams/Car
In addition, you can set the size of the icons either in current units or as a factor of their current size. Learn more about how to set the display of screen icons by database and object type.
Setting Screen Icon Display by Database Setting Screen Icon Display by Object Type
For information on quickly toggling the display of all screen icons, see Displaying View Accessories. For information on setting the display of icons for individual objects, see Setting Object Appearance through Edit -> Appearance Command.
types of objects.
Off - Turns off all icons regardless of how you set the icon display for individual objects or
types of objects. 3. In the New Size text box, enter the size you want for the screen icons. Note that any changes you make to the size of icons for individual objects or types of objects take precedence over this size setting. 4. To save the settings for each new database in your template-based product settings file (*BS.cmd), select Save new size as default. Learn about Saving and Restoring Settings.
5. Select OK. To reset the screen icon display to the previous values: On the Icon Settings dialog box, select Reset.
To set screen icon display options for objects of a particular type: 1. On the Settings menu, select Icons. The Icon Settings Dialog Box appears. 2. Set Specify Attributes for to the type of object for which you want to set the screen icon options. 3. From the Visibility area of the Icon Settings dialog box, select whether or not you want to turn on screen icons for the selected object type. You can select:
On - Turns on the display of screen icons for the selected type of object. Off - Turns off the display of screen icons for the selected type of object. Remember, however,
that turning on the display of screen icons for the entire database overrides this setting.
Inherit - Lets the object type simply inherit the display settings from its parent. For example,
options without affecting the visibility of the icons. 4. Enter the size you want for the icons or select the amount by which you want to scale the icons. The scale factor is relative to the current size set. A scale factor of 1 keeps the icons the same size. A scale factor less than 1.0 reduces the size of the icons and a scale factor greater than 1.0 increases the size of the icons. Note that these changes take precedence over the size you specify globally for the modeling database. 5. Enter the color you want to use for the icons.
30 Adams/Car
6. To browse for or create a color, right-click the Color text box, and then select Browse or Create. 7. Set Name Visibility Option to whether or not you want the names of objects of the selected type displayed in the view. Refer to Step 3 for an explanation of the choices. 8. Select OK.
To use a dialog box to toggle on and off the display of view accessories: 1. Click the Main window. 2. On the View menu, select View Accessories, and then select the accessories that you want to turn on or off from the View Accessories dialog box that appears. 3. Enter the title you want displayed in the main window, and then press Enter.
32 Adams/Car
4. On the Window menu in the View Accessories dialog box, select Exit. Tip:
Type a lowercase g while the cursor is in the main window to toggle on and
To toggle the display between wireframe and smooth shaded mode: Type an uppercase S in the main window.
34 Adams/Car
Measuring the Distance Between Points In Delta mode, you can use your mouse and the coordinate window to find the distance between two points. To measure the distance between two points: 1. Move the cursor to the point in the main window where you want to begin, and press and hold down the mouse button. 2. Drag the cursor to the next point. As you drag the cursor, your template-based product displays the distance the cursor moves in the coordinate window. 3. To end delta mode, release the mouse button.
Command Navigator
Enables you to enter Adams/View commands without having to know the entire syntax of the commands. See Command Navigator dialog box help. The Command Navigator displays a list of all Adams/View command Keywords. A plus (+) in front of a keyword indicates that the command has more keywords below it but they are hidden. A minus (-) indicates that all keywords below the keyword are displayed. No indicator in front of a keyword indicates that there are no more keywords below the object. When you select an object with no indicator, a dialog box appears in which you enter parameters for executing the command.
36 Adams/Car
About Commands The commands that you enter in the command window or Command Navigator are made up of keywords, parameters for the keywords, and parameter values as shown next: {keywords} {parameters=values} In a command:
Keywords correspond to menu selections. Parameters correspond to dialog box choices. Parameter values correspond to values you enter or select in the dialog boxes.
For example, the following command contains the keyword constraint followed by other keywords, then by parameters, such as the name of the joint. In the example, an ! indicates a comment and an & at the end of a line indicates that the command continues onto the next line. constraint create joint revolute & !{keywords} joint_name=.model_1.JOINT_1 & !{parameter=value} i_marker_name=.model_1.PART_1.MAR_3 & !& for continuation j_marker_name=.model_1.ground.MAR_1 & friction_enabled = no Syntax Rules for Entering Commands There are several rules that you must follow when you enter commands in the command window. For example, the commands must be entered in the order shown below. Because commands are case insensitive, you can type upper or lowercase letters or a mix of both.
To help you enter commands correctly, your template-based product checks for syntax errors whenever you enter a space, comma, or equal sign (except in a string or expression) in the command window. If it detects an error, it displays a message above the command information area. You cannot proceed until you correct the error.
Syntax Rules for Entering Values The values that you can enter in commands are data that have a particular type. There are five data types that template-based product commands support: integer, real, string, matrix, and database object references. The following table lists the data types and their use. Data type: Integer Real String Object Use: Whole numbers in the range -maxint ... +maxint, where maxint is machine dependent (usually around two billion) Most numeric values Character strings of varying length Database objects
between parameters and their values is optional. For strings, you must use a backslash (\) in front of special characters to ensure that your template-based product does not try to interpret the characters. These characters include quotation marks (") and backslashes. For example, to be sure to include the quotation marks in the string: This is a "string", you would enter: string "This is a \"string\"." To get a single backslash into the string, you, therefore, enter double backslashes. For example, to specify d:\users, you would enter: "d:\\users..." Note also for path names on Windows, you can use backslashes as the separators, but you are not required to do so. You can write portable path names by using the forward slash so your template-based product interprets the following as the same path: "d:\\users\\efhl\\some.file" "d:/users/efhl/some.file"
38 Adams/Car
Miscellaneous Command Information Continuing Commands You can continue a command you enter in the command window for as many lines as necessary. To continue a command, place an ampersand (&) at the end of a line and then continue the command on the next line. Note that a command must be entered all at once. Mixing Comments and Commands If you want to mix comments and commands (so that your comments appear in the Log file), use one of the formats below: To create: A comment alone on one line A command followed by a comment on one line command A command followed by a comment on one line, with the command continuing on the next line command A command followed by a comment on one line, with the comment continuing on the next line, and the command continuing on the following line command Enter: !comment <CR> !comment<CR> &!comment<CR> continue command &!comment<CR> &!comment<CR> continue command
Entering Abbreviations You can enter abbreviations for commands and parameters when you are entering commands directly in the command window. You should always use full keywords for macros and command files to avoid any future compatibility problems. Also note that if you use abbreviations, your template-based product takes longer to execute your commands because it must substitute an abbreviation with its full command. Verifying Command Input Your template-based product verifies command input whenever you enter a space, comma, or equal sign (except in a string or expression) in the command window. If your template-based product detects an error, it displays a message above the command information area. You cannot proceed until you correct the error. Reviewing Commands You can use the scroll bar at the side of the command information area to view the last 50 commands that were entered.
Getting Help Completing Command Parameters In the command window, you can get help with possible parameter values for modeling objects and files. For example, you can get a list of possible marker names in your model or you can display the File Browser to help you find a file. Learn about Markers. To get assistance with values for a parameter: 1. Enter the parameter name but do not include the parameter value. For example, enter the command mar del mar=. 2. Type ? in the command line. If the parameter value requires a modeling object, the command window displays a list of possible objects in your current model. If the parameter value requires a file, the File Browser appears. 3. Copy or select the desired object and place it in the parameter value. Grouping Operations into an Undo Block As you issue commands from the command window, you can group them into undo blocks. By grouping them into undo blocks, you can use a single Undo command to reverse all the operations in the block. You can define undo blocks around macros, command files, or any group of commands. You can nest them to any level. To create an undo block: 1. Enter the following command in the command window to mark the beginning of the block: UNDO BEGIN_BLOCK 2. Issue all the commands to be included in the undo block. 3. To close the block, enter the command: UNDO END_BLOCK Once you have closed the undo block, any individual commands that you issue that are not in the undo block or any nested undo blocks within the undo block are not affected by an Undo command. Once you close the undo block, you cannot open it again. The following is an example of an undo block with individual commands surrounding it and several undo operations that were issued. The undo commands reverse all operations that were performed to create the model and part. MODEL CREATE... UNDO BEGIN_BLOCK PART CREATE... MARKER CREATE... UNDO BACKWARD ! Undo the MARKER CREATE above, not entire undo block MARKER CREATE... GEOM CREATE... UNDO END_BLOCK PART DELETE...
40 Adams/Car
BACKWARD ! Undo the PART DELETE command BACKWARD ! Undo the entire undo block FORWARD ! Restore the entire undo block BACKWARD ! Undo the entire undo block again BACKWARD ! Undo the MODEL CREATE command
CREATE command.
The third UNDO BACKWARD command after the Undo block undoes the entire contents of the
undo block.
The UNDO FORWARD reverses the undo of the entire undo block as if the undo block were a
single command. The limit on the number of commands your template-based product remembers does not apply to commands within an undo block. You may notice slowed system performance if you store too many commands in a single undo block.
Message Window
Provides you with messages on the status of Adams/View and displays helpful information while you are using Adams. Adams/View displays messages about the execution of a command in the message window. By default, the message window only displays messages about commands you execute from the user interface. You can also set it to display messages about commands that you execute from the Command window, Command Navigator, and Adams/View command files. Learn about Managing Messages.
Information Window
Adams/View uses the Information window to display many different types of information about your model, simulation, or motion data. In addition to just viewing information about your model, you can perform a variety of operations in the Information window. The information includes:
Topology on the different objects in your model Object information, such as information about a part or a view Model verification results Measurements from one coordinate system marker to another Result set component information View attributes Results from a system command you run using the Tools -> System Command
Learn about:
Displaying Object Information and Accessing Information Window Viewing Model Topology Map Through Information Window Verifying Your Model
Does the following Executes the command but leaves the dialog box open so you can execute the command again. Displays an object's parent. Displays an object's children. Select to display the modify dialog box for the object displayed in the text box at the top of the Information window. Select if you want to display more information about the object such as children of the object, its geometry, whether or not commands are associated with it, and its attributes like color and visibility. Removes all current information in the window. Allows you to read information from a saved file. Allows you to save the information.
Database Navigator
Displays the types of objects appropriate for the command you are executing and shows objects in their database hierarchy. You can browse for objects or set it to rename objects, view information about the objects and view dependencies. You can also set a filter for the types of objects displayed in the Database Navigator.
42 Adams/Car
Learn more about Database Navigator. For the option: Pull-Down Menu Do the following: Use the pull-down menu to choose a mode option. Select one:
Browse (the default; the options on this page describe Browse) Display Attribute Rename Comments Information Topology By Parts Topology By Connections Graphical Topology Associativity Select List
Filter
Select if you want to filter the types and names that you want displayed in the Database Navigator. Then, enter the name of the objects you want to display in the text box and use the pull-down menu to the right to select the type of object(s) you want to display. You can also use the pull-down menu below the Filter text box to only display those objects that are active or inactive. Use the pull-down menu to choose how you want the objects sorted. You can also select to not sort the objects so they appear in the order they are stored in the modeling database. Off by default. Select if you want an object to appear selected in the main window and the reverse. Use the plus sign (+) or the minus (-) (--) signs to display or hide all of the children hidden/shown in the tree view.
Sort by
Highlight
If you select to display the results in the log file, you can keep the command results with the other commands that you execute so that you can cut and paste the information together into a new file. To execute a system command within your template-based product: 1. On the Tools menu, select System Command. The Execute System Command dialog box appears. 2. In the Command Text text box, enter the operating system command that you want to execute. See your operating system documentation for more information. 3. Select whether or not you want the output of the command to be displayed in the Information window or the log file. 4. Select OK.
Note:
You can change the name of the log file through the initialization file .mdi_init. For more information, see Running and Configuring Adams.
44 Adams/Car
Viewing the Log File in Your Template-Based Product You can use the Log File command on the Tools menu to display the log file. You can keep the dialog box open as you execute commands so you can keep track of the commands and messages that you receive. To help you use the log file as a command file, your template-based product marks any messages as comments so that it does not try to execute them when you import the command file. It indicates a comment by placing an exclamation mark (!) in front of the message. Your template-based product also displays as comments any commands that it executes when it starts up. To help you distinguish the startup commands from messages, your template-based product follows the exclamation mark (!) with the command prompt (>>). To display the log file: 1. On the Tools menu, select Log File. The Display Log File dialog box appears. 2. Select Info to display all messages written to the log file. The default is to display only warnings, errors, and fatal messages. Updating the Log File Your template-based product does not update the Display Log File dialog box each time you execute a command. Therefore, if you want to see the commands that you executed since you opened the dialog box, you must update the log file. To update the contents of the log file: From the Display Log File dialog box, select Update. Setting the Log File Information When you display the log file, your template-based product displays only warnings, errors, and fatal messages that you have received. You can change the type of messages that your template-based product displays as well as display the commands that your template-based product has executed. You can also display only lines that contain certain information, such as display only commands that create links, and remove any duplicate lines that occur if you encounter the same error again. To set the type of information displayed in the Display Log File dialog box: 1. Select the Show only lines of type check box and then select one of the following:
Info - Displays all commands that you have executed in your template-based product. Warning - Displays non-fatal messages that warn you of possible problems with commands
you entered.
Error - Displays fatal messages that your template-based product did not understand and,
2. If desired, select Show only lines containing and enter the text that the line must contain in the text box. You can also enter wildcards. 3. Select Apply. To remove duplicate lines: From the Display Log File dialog box, select Suppress duplicate lines.
46 Adams/Car
To display information about your product: 1. From the Help menu, select About <product name>. 2. View the information, and then select OK. Tip: From the Status bar, select .
Building Models
48 Adams/Car
Subsystems
Subsystems
You only use subsystems in the Standard Interface. You can either create new subsystems or read in existing ones. When you create a new subsystem, you must reference an existing template. When you use an existing subsystem, the template associated with it is automatically read in. Subsystems are based on templates and allow standard users to change the parametric data of the template as well as the definition of some of the components. For example, you can change the location of hardpoints and modify parameter variables. See Generating a Subsystem. The template-based products organize the basic components that make up a full assembly or subassembly into subsystems. For example, subsystems can include suspensions, wheels, drivelines, chassis, and so on. Subsystems contain descriptions of the component that they model. These descriptions consist of:
Design data, such as wheel radii, toe angles, and locations of various points in the subsystems,
springs, and tires. A bushing property file, for example, contains a description of the bushing's stiffness and damping characteristics.
Reference to a template that defines the subsystem's construction, including the kinds of parts
and how the parts interact and attach to one another. For example, a template that defines a rack and pinion steering system defines a rack part, a pinion part, and a housing part. It also defines that the rack slides in the housing, that the pinion rotates in the housing, and that the rack and pinion are geared together. Since the construction of all rack and pinion steering systems is similar, all subsystems describing a rack and pinion steering system can reference the same template. Learn more about subsystems:
Opening Subsystems Getting Subsystem Information Creating Subsystems Updating Subsystems Synchronizing Subsystems Adding Subsystems Replacing Subsystems Removing Subsystems Setting Subsystem Activity Saving Subsystems Closing Subsystems Subsystem Modes
Building Models 49
Subsystems
Opening Subsystems
When you open a subsystem that specifies a flexible representation of a rigid part, your template-based product replaces the equivalent rigid body from the template with the flexible body. Learn about flexible bodies. To open an existing subsystem: 1. In Standard Interface, from the File menu, point to Open and then select Subsystem. 2. Press F1 and then follow the instructions in the dialog box help for Open Subsystem. 3. Select OK. Notice that once the subsystem is open, the Edit and Adjust menus become active. We recommend that you familiarize yourself with each menu item.
Creating Subsystems
You create subsystems by selecting a template that defines the topology and default data for your subsystem. Using the Standard Interface, you can modify the default data to match your design. We supply several templates with each product. For example, for Adams/Car users, we supply templates that represent MacPherson strut and double-wishbone suspension subsystems. Using the Template Builder you can create templates for your company-specific topologies. When creating a new subsystem, you can reference the property files that the template references, or reference other property files held either in a different database or with a different file name, as indicated by the dashed lines in the Example Model Architecture. A collection of subsystems merged together forms an assembly. To create a subsystem: 1. In the Standard Interface, from the File menu, point to New, and then select Subsystem. 2. Press F1 and then follow the instructions in the dialog box help for New Subsystem.
50 Adams/Car
Subsystems
3. Select OK.
Updating Subsystems
Resets the values of a subsystem to those stored in a subsystem file. You can update a subsystem using any subsystem file that is based on the same template as the subsystem in session. When you update a subsystem, your template-based product does not reload the template. Note:
To update a subsystem: 1. In the Standard Interface, from the File menu, point to Manage Subsystems, and then select Update. 2. Press F1 and then follow the instructions in the dialog box help for Update Subsystem. 3. Select OK.
Synchronizing Subsystems
When you synchronize a subsystem, you apply the values of the selected master subsystem to one or more subsystem instances using the automated subsystem update feature. You can synchronize the subsystems in session that are based on the same subsystem file. The subsystem mode flags (kinematic or compliant) of the target subsystems will be retained. For example, you may have several instances of one subsystem open in your session under several assemblies. If you modify one subsystem and want to propagate those changes to every instance of the subsystem, you can use the synchronize subsystems functionality. To synchronize subsystems: 1. In the Standard Interface, from the File menu, point to Manage Subsystems, and then select Synchronize. 2. Press F1 and then follow the instructions in the dialog box help for Synchronize Subsystem. 3. Select OK.
Adding Subsystems
When you add a subsystem into an assembly, your template-based product disassembles the assembled model, opens the subsystem, and then reassembles the model to include the new subsystem. To add a subsystem: 1. From the File menu, point to Manage Assemblies, and then select Add Subsystem.
Building Models 51
Subsystems
2. Press F1 and then follow the instructions in the dialog box help for Add Subsystem. 3. Select OK. Your template-based product does the following:
Disassembles the assembly, which includes 'unassigning' communicators. Opens the new subsystem under the existing assembly. Reassembles the assembly, which includes re-assigning the communicators.
Replacing Subsystems
When you replace a subsystem in an assembly with a new subsystem, your template-based product disassembles the assembled model, deletes the subsystem, opens the new subsystem, and then reassembles the model to include the new subsystem. To replace a subsystem: 1. From the File menu, point to Manage Assemblies, and then select Replace Subsystem. 2. Press F1 and then follow the instructions in the dialog box help for Replace Subsystem. Select OK. Your template-based product does the following:
Disassembles the assembly, which includes 'unassigning' communicators. Deletes the subsystem from the existing assembly. Opens the new subsystem underneath the existing assembly. Reassembles the assembly, which includes re-assigning the communicators.
Removing Subsystems
When you remove a subsystem from the assembly to which it belongs, your template-based product disassembles the assembled model, deletes the subsystem, and then reassembles the model. To remove a subsystem: 1. From the File menu, point to Manage Assemblies, and then select Remove Subsystem. 2. Press F1 and then follow the instructions in the dialog box help for Remove Subsystem. 3. Select OK. Your template-based product does the following:
Disassembles the assembly, which includes 'unassigning' communicators. Deletes the subsystem from the assembly. Reassembles the assembly, which includes re-assigning the communicators.
52 Adams/Car
Subsystems
assembly.
Reassembles the assembly (with the activated subsystem now taking part), which includes re-
assigning the communicators. If deactivating the subsystem, your template-based product does the following:
Disassembles the assembly, which includes 'unassigning' communicators. Deactivates the subsystem, which means that it is not actually removed from the assembly, but
simply ignored.
Reassembles the assembly (with the deactivated subsystem not considered), which includes
Saving Subsystems
You save subsystems in ASCII format, and you can publish subsystems to databases so other users can share them. We support two formats: TeimOrbit File Format and XML File Format. If your subsystem contains a flexible part, your template-based product saves information about the part, as well as the marker-node association, in the PART_ASSEMBLY block of the subsystem file. Your template-based product writes one block for a single flexible part or two for paired parts, of which one is flexible. To save a subsystem: While viewing a subsystem, from the File menu, do one of the following:
Building Models 53
Subsystems
Select Save (or use the keyboard shortcut, Ctrl + s) - Your template-based product saves the
TeimOrbit version of the subsystem to the default writable database and prompts you if a subsystem already exists. For save options, select Save As.
Point to Save As, and then select Subsystem - Press F1 and then follow the instructions in the dialog box help for Save Subsystem. Select OK.
To save a subsystem that is part of an assembly: 1. View the subsystem you want to save:
From the View menu, select Subsystem. Set Subsystem to the subsystem you want to save. Select OK.
TeimOrbit version of the subsystem to the default writable database and prompts you if a subsystem already exists. For save options, select Save As.
Point to Save As, and then select Subsystem - Press F1 and then follow the instructions in the dialog box help for Save Subsystem. Select OK.
Closing Subsystems
You can close a subsystem without first saving it to a Database. To close a subsystem: 1. In the Standard Interface, from the File menu, point to Close, and then select Subsystem. 2. Press F1 and then follow the instructions in the dialog box help for Close Subsystem. 3. Select OK.
Subsystem Modes
A subsystem exists in one of two modes - kinematic or compliant. When you toggle a subsystem between these two modes, certain elements such as joints and bushings may be enabled or disabled. When you create a joint, you define it to be active always or only in kinematic mode. Conversely, when you create a bushing, you define it to never be inactive or be inactive only in the kinematic mode. This allows you to use the same subsystem for both Dynamic Analysis and Kinematic Analysis.
Minor Roles
You assign a minor role, or function, to every subsystem. The minor role of a subsystem is stored in a variable as a string. This string will also be written to the subsystem file. You select a minor role to
54 Adams/Car
Subsystems
identify how your product should use the subsystem when creating an assembly of subsystems for Analysis. A minor role defines the subsystem's location.
Adams/Car - A minor role can be front or rear. The following are the minor roles for
Adams/Car: any, front, rear, and trailer. If you create a new subsystem with the minor role front based on a steering template, during assembly Adams/Car connects your front steering subsystem to a front suspension subsystem, but not a rear suspension subsystem. If you create a new subsystem with the minor role any, during assembly Adams/Car connects your new subsystem to any other active subsystem having matching communicators.
Publishing Subsystems
When you publish a subsystem, you copy the subsystem file and all its associated property files to the target database, which is the database where your template-based product saves all files. You can also select to publish the subsystem's template file. As you publish the subsystem, you can choose to write over existing files or create backups of the files. You can also select to update the in-session subsystem data to point to the target database or to have the subsystem retain the existing references. The subsystem you are publishing must be currently opened in the standard interface, and the target database must be writable. Learn about setting the writable database. You can also publish an entire assembly. Learn about publishing an assembly. To publish a subsystem: 1. From the Tools menu, point to Database Management, and then select Publish Subsystem. 2. Press F1 and then follow the instructions in the dialog box help for Publish an Open Subsystem. 3. Select OK.
Building Models 55
Assemblies
Assemblies
Assemblies represent a collection of subsystems, along with a test rig, which when assembled form a system that you can analyze using Adams/Solver. In Adams/Car for example, a steering subsystem and a front-suspension subsystem, plus a suspension test rig, form the basis of a suspension assembly that you can analyze for kinematic behavior. In the Standard Interface, you can create, open, save, and analyze assemblies. You can also publish assemblies to databases so other users can share them. Learn about publishing assemblies. Learn more about assemblies:
Opening Assemblies Getting Assembly Information Creating Generic Assemblies Updating Assemblies Saving Assemblies Closing Assemblies Publishing Assemblies
Opening Assemblies
To open an existing assembly: 1. In Standard Interface, from the File menu, point to Open and then select Assembly. 2. Press F1 and then follow the instructions in the dialog box help for Open Assembly. 3. Select OK. Notice that once the subsystem is open, the Edit, Adjust, and Simulate menus become active. We recommend that you familiarize yourself with each menu item.
56 Adams/Car
Assemblies
Updating Assemblies
You can re-read an assembly file, in case you modified the file by an alternative process. For example, if you edit in a text editor an assembly file stored in the shared database, you can reflect this change in your template-based product by using the update assembly functionality. To update an assembly: 1. In the Standard Interface, from the File menu, point to Manage Assemblies, and then select Update. 2. Press F1 and then follow the instructions in the dialog box help for Update Assembly. 3. Select OK.
Saving Assemblies
You save assemblies in ASCII or binary format:
ASCII Assemblies - An ASCII assembly file references subsystems, but does not contain
subsystem data. If you want your assembly to be updated with the current template/subsystem files, you should save your assemblies in ASCII format. When you open an ASCII-format assembly, your template-based product opens each individual subsystem, which in turn accesses the current version of each corresponding template.
Binary Assemblies - A binary assembly is a static snapshot of what's currently in your session.
That is, when you reopen a binary assembly, you will return to the exact state at which you left. Adams/Car ignores any subsequent modifications made to templates and/or subsystems, which were originally used to create the assembly, when you open the binary assembly. Therefore, if you want your assembly to be updated with the current template/subsystem files, you should save your assemblies in ASCII format. Binary assemblies can be very useful, however, if you are working on a project where the templates will not change, and a static snapshot of the assembly is sufficient. Note that saving an assembly as a binary will not save the plots, nor the setting for simulation (hold_solver_license). It will, however, save the analyses associated with the assembly, and you could re-create plots using a plot configuration file. Learn about plot configuration files.
Building Models 57
Assemblies
To save an assembly: 1. From the File menu, select Save or Save As. 2. If you selected:
Save - Your template-based product saves the ASCII version of the assembly to the default
writable database. Your template-based product prompts you if it detects subsystem changes. It also prompts you if the assembly already exists in the database. For save options, select Save As.
Save As - Press F1 and then follow the instructions in the dialog box help for Save Assembly.
Select OK.
Closing Assemblies
To close an assembly: 1. In the Standard Interface, from the File menu, point to Close, and then select Assembly. 2. Press F1 and then follow the instructions in the dialog box help for Close Assembly. 3. Select OK.
Publishing Assemblies
When you publish an assembly, you copy each subsystem file included in the assembly definition, including the associated property files for each subsystem, to the target database, which is the database where your template-based product saves all files. You can also select to publish each subsystem's template file. As you publish the assembly, you can select to write over existing files or create backups of the files. You can also select to update the in-session assembly data to point to the target database or to have the assembly retain the existing references. The assembly you are publishing must be currently opened in the standard interface, and the target database must be writable. Learn about setting the writable database. You can choose to publish only a subsystem, not an entire assembly. Learn about publishing a subsystem. To publish an assembly: 1. From the Tools menu, point to Database Management, and then select Publish Assembly. 2. Press F1 and then follow the instructions in the dialog box help for Publish an Open Assembly. 3. Select OK.
58 Adams/Car
Property Files
Property Files
Property files are ASCII-based files that contain data for modeling components, such as valve spring, cams, and bushings. Because property files are flat text files, you can use any text editor to create or modify them. You use property files to:
Apply the same characteristics or parameters to many components within a template or
subsystem. In Adams/Car for example, a suspension might contain many bushings with the same properties. In this case, all the bushings could reference the same property file.
Share a component between different templates and subsystems.
You can reference property files in different subsystems and templates, as shown in the Example Model Architecture. All property file types are specified in the configuration file (acar.cfg). When you edit property files, you can save them either with the existing file name or with a new file name. Learn about managing property files through configuration files. Property files are grouped in classes and stored in databases. Every class (such as bushings and dampers) is filed in the corresponding Database table (in this case, bushings.tbl and dampers.tbl). A subset of property files define force-displacement or force-velocity characteristics for springs, dampers, bumpstops, reboundstops, and bushings. For those components, you use the Curve Manager or Property File Editor to create, edit, and view property files. You can access the Curve Manager from the Tools menu. From within dialog boxes, you can edit property files using the Curve Manager/Property File Editor tool and view property files using the View File tool .
Building Models 59
Templates
Templates
Templates are parametric models, built by expert users within the Template Builder. Templates define the default geometric data and topology of models, such as a double-wishbone suspension, an engine cranktrain, or an aircraft landing gear. The components within a template are parametrically defined such that you can use a single template within numerous subsystems. Templates are intended to be a generic representation of a mechanical system, such that a template that is common to a number of different vehicles can be reused in each of those vehicles. For example, assume that you have two cars, a small car and a large car and that each of the two cars have a double-wishbone front suspension. You could use a double-wishbone template in each of the two vehicles. The only difference is that the large car requires stiffer springs, larger A arms, different dampers, and so on. The basic topology is the same: it is the components/properties that are changed. It is the subsystem file that references the topology of the template but changes the characteristics of the suspension by referencing different springs, parts, dampers, and so on. Templates provide a quick way to experiment with different subsystems and still retain the basic design components that are required. A template in its most fundamental form cannot be used in the Standard Interface without first being referenced by a subsystem file. See Generating a Subsystem. You can modify the data of a template by changing the values of design parameters. Hardpoints, parameter variables, and property files are the design parameters of templates, where:
Hardpoints define locations for geometry, attachments, and construction frames. Parameter variables contain strings, integers, and real values that you can modify in the Standard
Templates contain communicators to enable the exchange of information with other templates. Learn more about templates:
Opening Templates Creating Templates Saving Templates Closing Templates Major Roles Location of Templates
Opening Templates
When using the Template Builder for the first time, we recommend that you first open some of the example templates we provide and familiarize yourself with them.
60 Adams/Car
Templates
To open an existing template: 1. From the File menu, select Open. 2. Press F1 and then follow the instructions in the dialog box help for Open Template. 3. Select OK. Note: Notice that once the template is open, the Edit and Build menus become active. We recommend that you familiarize yourself with each menu item.
Creating Templates
To ensure that an analysis will work with your new template, when you create a template you must make sure that the template is compatible with other templates and with the test rigs. The template must contain the proper output communicators. To create a template: 1. From the File menu, select New. 2. Press F1 and then follow the instructions in the dialog box help for New Template. 3. Select OK. Note: Notice that once the template is open, the Edit and Build menus become active. We recommend that you familiarize yourself with each menu item.
Saving Templates
Using the Template Builder, you can save your files in ASCII or Binary File Format. Saving your files in ASCII format provides the benefit of small file sizes and being human readable. On the other hand, saving your files in binary format ensures faster processing, but does not have the benefits associated with ASCII format. When saving a template that includes a flexible part, your template-based product saves the part as rigid. To save a template: 1. From the File menu, select Save or Save As. 2. If you selected:
Save - Your template-based product saves the binary version of the template to the default
writable database and prompts you if the template already exists. For save options, select Save As.
Save As - Press F1 and then follow the instructions in the dialog box help for Save Template.
Select OK.
Building Models 61
Templates
Closing Templates
You can close a template without first saving it to a Database. To close a template: 1. From the File menu, select Close. 2. Press F1 and then follow the instructions in the dialog box help for Close Template. 3. Select OK.
Major Roles
You assign a major role, or function, to every template. The choices in the Major Role option menu correspond to the available major roles for a template. A major role is a property of a template. A subsystem inherits the major role of the type on which it is based. In Adams/Car, examples of major roles are: suspension, steering, and body. Note that for each major role (for example, suspension, steering, and so on) Adams/Car allows only one active subsystem with the minor role any. The choices in the Minor Role option menu correspond to the available minor roles for an Adams/Car subsystem.
Location of Templates
The templates are located in the templates.tbl table, or directory, of your template-based product's shared database. The shared database is usually located in your product's installation directory. For location details, see your system administrator.
62 Adams/Car
Test-Rig Templates
Test-Rig Templates
You can extend the functionality of your templates by converting them into test-rig templates, also referred to as test rigs. In the template-based products, test rigs are almost completely comparable to regular templates. The basic topological difference between test rigs and regular templates is that besides containing parts that are attached using attachments and forces, test rigs also contain actuator elements, such as motions and forces, to excite the assembly. Just like regular templates, test rigs also contain communicators to enable the exchange of information with other templates. You use test rigs when creating assemblies. A collection of subsystems and a test rig form an assembly. Note that the name of a test rig is always preceded by a period and two underscores, that is .__. For example, .__MY_TESTRIG. This is a convention used by all template-based products to differentiate between templates (period and one underscore, ._), subsystems (period, .), and test rigs (period and two underscores, .__). Learn about test rigs:
Process Overview Creating Test-Rig Templates Saving Test-Rig Templates Converting Templates into Test Rigs Adding Test Rigs to Binaries
Process Overview
The process of working with test-rig templates involves the following steps: For Adams/Car: 1. Creating a template and saving it in ASCII format as explained in Creating Test-Rig Templates and Saving Test-Rig Templates. 2. Modifying the ASCII template file to become an ASCII command file, which is now the test rig, as explained in Converting Templates into Test Rigs. 3. Saving the ASCII command file into a binary file as described in Adding Test Rigs to Binaries.
Building Models 63
Test-Rig Templates
3. Select OK. Note: You must specifically set the minor roles of communicators in test-rig templates to any. Do not set them to inherit. You set the minor roles to any because generally a template test rig should be capable of connecting with any subsystem.
writable database and prompts you if the template already exists. For save options, select Save As.
Save As - Press F1 and then follow the instructions in the dialog box help for Save Template.
Select OK. 3. Depending on the template-based product you are using, continue as follows:
If working in Adams/Car go to Converting Templates into Test Rigs.
64 Adams/Car
Test-Rig Templates
{comment_string} 'Simple Double Wishbone Suspension' $--------------------------------------------TEMPLATE_HEADER [TEMPLATE_HEADER] MAJOR_ROLE = 'suspension' TIMESTAMP = '1999/07/15,17:21:32' HEADER_SIZE = 5 You should remove all the lines from the beginning of the file up to, and including, the line containing the HEADER_SIZE attribute. Modifying Adams/View Variables Templates and test rigs in template-based products have information that is stored in Adams/View variables to determine how the template is used. All templates, including test rigs, have three required variables: major role, minor role, and model class. Test rigs, however, have an additional required Adams/View variable called test rig class. When you create the test-rig template, your template-based product automatically creates the first three variables. You must, however, manually create the last variable, the test rig class variable. The following sections introduce the variables:
Major Role Minor Role Model Class Test-Rig Class
Major Role The major role of templates and test rigs is stored in an Adams/View variable called role. The major role of a test rig is always analysis. When creating a test rig, make sure that you set the major role as shown next: variable create & variable_name = .__acme_4PostRig.role & string_value = "analysis" & comments = "Memory for Adams/Car major role" Minor Role The minor role of templates and test rigs is stored in an Adams/View variable called minor_role. The minor role of a test rig is typically any. Setting the minor role to any is very important if you are designing a test rig that is supposed to work with other subsystems that can have different minor roles. In Adams/Car for example, a suspension test rig should work with either front, rear, or trailer-type suspensions. If the minor role of the test rig were defined as front, the test rig would hook up only to front suspensions.
Building Models 65
Test-Rig Templates
Set the minor role as shown next: variable create & variable_name = .__acme_4PostRig.minor_role & string_value = "any" & comments = "Memory for Adams/Car minor role" Model Class Every assembly in template-based products has a specific model class. The model class of an assembly is stored in an Adams/View variable called model_class. Your template-based product automatically creates this variable when you create the assembly. Currently, in template-based products, there are four model classes defined: template, subsystem, testrig, and assembly. Set your model class as shown next: variable create & variable_name = .__acme_4PostRig.model_class & string_value = "testrig" & comments = "Memory for Adams/Car model class" Test-Rig Class You can associate any test rig with a particular class of assembly. In Adams/Car for example, the test rig .__MDI_SUSPENSION_TESTRIG is associated with suspension assemblies. The assembly class of a test rig is stored in an Adams/View variable called testrig_class. Set the test rig class as shown next: variable create & variable_name = .__acme_4PostRig.testrig_class & string_value = "full_vehicle" & comments = "Memory for Adams/Car testrig class" You can reference the variable testrig_class directly from the graphical user interface. In Adams/Car for example, this variable is used in the suspension assembly and the full-vehicle assembly dialog boxes. Each of these two dialog boxes contain an option menu from which you can select the test rig to be included in the new assembly. The option menu will only contain test rigs that are compatible with the particular class of assembly you specified. The following steps describe how you can reference testrig_class from the Adams/Car interface. You can follow the same basic steps for the other template-based products. To reference testrig_class from the Adams/Car interface: 1. From the File menu, point to New, and then select Suspension Assembly. 2. From the pull-down menu for Suspension Test Rig option, select the Test Rig you want to use in your assembly. To fill out the entire dialog box Press F1 and then follow the instructions in the dialog box help for New Suspension Assembly. 3. Select OK.
66 Adams/Car
Test-Rig Templates
When you add this command to the acar_build.cmd file, Adams/Car reads in and stores the test rig in the private or site binary, making the test rig available for use whenever you start an Adams/Car private or site session. As as additional option, you can rename your test rig file from the .tpl extension to a .cmd extension to reflect the fact the test rig is now a command file. Learn about Creating and Modifying Macros.
Building Models 67
Communicators
Communicators
Communicators are the key elements in template-based products that enable the exchange of information between subsystems, templates, and the test rig in your assembly. An assembly requires two directions of data transfer between its subsystems. To provide for these two directions of data transfer, the template-based products have two types of communicators:
Input communicators - Request information from other subsystems or test rigs. Output communicators - Provide information to other subsystems or test rigs.
In Adams/Car for example, a mount communicator in the rack and pinion steering templates outputs the rack part name so that tie rods of suspension templates can attach to the rack. In addition, a mount communicator in the steering template inputs a part name. The steering template uses the part name to determine where to attach the steering column. Learn more about communicators:
Creating/Modifying Input Communicators Creating/Modifying Output Communicators Communicator Entity Class Communicator Roles Communicator Naming Matching Communicators During Assembly Displaying Communicator Information Testing Communicators Communicators in the Suspension Test Rig Communicators in the SDI Test Rig Matching Communicators with Test Rigs
68 Adams/Car
Communicators
Exchanges: Adams/Solver array name. Motion name. Parameter variable name. Spline name. Adams/Solver variable name. You must use an Adams/Solver variable, not an Adams/View variable. Unlike an Adams/View variable, an Adams/Solver variable's computation occurs during analysis. Your template-based product generates Adams/Solver variables as state variables. Part name to provide connections between subassemblies. As a shortcut, the template-based products also automatically create input mount communicators when you create a mount part.
The following entity classes do not have symmetry and, therefore, are always single, by default: Differential equation Differential equation name.
Building Models 69
Communicators
Exchanges: Creation of a marker output communicator results in the creation of a new marker whose location is defined by a user-input construction frame and which is located on a user-input part. The identity of this marker is passed through this communicator to provide both location and part information. If the construction frame is part of a symmetrical pair, the template-based products create an input communicator for each construction frame in the pair. Joint name. Joint name. Bushing name. The location of the named hardpoint or construction frame. If the hardpoint is part of a symmetrical pair, the template-based products create two input communicators, one for each hardpoint in the pair. Part name. The orientation of the named construction frame. A parameter variable name of the type real. A parameter variable name of the type integer.
You can define a communicator's minor role when you create it. For example, if you want to provide input to or output from subsystems of specific roles, then you set the minor role for communicators when you create them. We recommend, however, that you do not set a communicator's minor role. Instead, let the subsystem determine the minor role by setting it to inherit, in which case the communicator inherits the minor role from the subsystem in which it is embedded. For example, in Adams/Car a suspension template might be used to define either a front or rear suspension subsystem. By letting the subsystem determine the minor role, the assembly process attaches a steering system to the front suspension and not to the rear.
70 Adams/Car
Communicators
Communicator Naming
After you create a communicator, your template-based product assigns a prefix to the name. For example, it creates a prefix, cil_ where:
ci indicates it is an input communicator. If it were an output communicator, the template-based
based product would use an r. If it were a single communicator, it would have an s (cis). If you create a mount part, your template-based product automatically creates an input communicator of the class mount. It uses the name of the mount part as the name of the communicator and appends the prefix ci[lrs]_ to it, depending on whether or not it is a left, right, or single communicator. For example, if you create a mount part of mtl_rack_mount, your template-based product creates an input communicator with the name cil_rack_mount, where the l indicates it is for the left side. As you name communicators, you should ensure that any input and output communicators that exchange information have identical matching names. In Adams/Car for example, the name you give to communicators that exchange a part name during assembly might be ci_strut_mount and co_strut_mount, each of which has a matching name of strut_mount. In addition, if you are working with MSC.Software templates, you must ensure that you use the same naming conventions as the MSC.Software templates. Learn about matching communicators.
If all pieces of information match, your template-based product determines an input/output communicator pair. If an input communicator does not have a corresponding output communicator, your template-based product returns a warning message, and, if the input communicator belongs to the class mount, the template-based product assigns the mount part to ground. You can still analyze the model even if it does not have matching communicators. In fact, you may find this helpful if you want to run an analysis of a subsystem without attaching another subsystem to it. In Adams/Car for example, the following pairs of input and output communicators match and exchange a part name during assembly.
Building Models 71
Communicators
Sample of Matching Input and Output Communicators The pair: cil_strut_mount col_strut_mount cil_strut_mount col_strut_mount cil_strut_mount col_strut_mount Belongs to the class: From minor role: To minor role: mount mount mount mount mount mount front any any front front front
You can match an input communicator with only one output communicator. You can, however, match an output communicator with any number of input communicators. You should always check the warning messages during the assembly, especially if the warning refers to an input communicator of class mount that does not get assigned and is, therefore, attached to ground.
Testing Communicators
You can perform a test to verify that you have correctly specified input and output communicators in your template. You can use this test to determine whether or not you need to add or modify communicators to correctly create an assembly. When you perform the test, you specify the model names of one or more existing templates or test rigs. Although you can specify a single template, you should specify all the templates containing communicators that transfer information between the selected template. You must specify a minor role for each template, subsystem, or test rig you chose to test.
72 Adams/Car
Communicators
After you perform the test, your template-based product lists the matching input and output communicators, the unmatched input communicators, and the unmatched output communicators for the templates, subsystems, and test rigs you selected. You can save the test information to a file. To test communicators: 1. From the Build menu, point to Communicator, and then select Test. 2. Press F1 and then follow the instructions in the dialog box help for Test Communicators. 3. Select OK. The Information window appears. It contains a list of the communicators that match other communicators and a list of those that do not. It shows the matched communicators followed by the unmatched communicators. The lists include the names of the input and output communicators and the names of the templates to which they belong. Often, you'll see many communicators that are unmatched. Many of these communicators are related to subsystems or test rigs that you do not currently have open. If you want to fully test the communicators in your template, you should open the other templates with which you want the template to communicate. In Adams/Car for example, if you are creating a suspenion template, the template must be able to communicate with a steering template and the suspension test rig.
ci[lr]_camber_angle.
s indicates a single communicator, as in cis_steering_rack_joint.
Receives: Camber angle value from the suspension subsystem. Sets the correct orientation of the test rig wheels. Location of the differential. Toe angle value from the suspension subsystem. Sets the correct orientation of the test rig wheels. Part to which the test rig wheels can attach.
ci[lr]_diff_tripot ci[lr]_toe_angle
location parameter_real
any any
ci[lr]_suspension_mount
mount
any
Building Models 73
Communicators
Receives: Upright part from suspension subsystem. Not matched (fixed to ground). Location of the wheel center from the suspension subsystem. Test rig wheels attach to the suspension at that location. Integer value stored in the suspension template/subsystem that indicates the activity of the drivetrain. Part to which differential outputs are constrained. Integer value stored in the leaf spring template (currently not available). Steering-rack translational joint from the steering subsystem. Steering-wheel revolute joint from the steering subsystem. Array used in the suspension characteristic calculations; comes from the suspension subsystems.
cis_driveline_active
parameter_integer any
mount
any
cis_suspension_parameters_ARRAY array
Output Communicators in Suspension Test Rig From minor role: any any
Outputs: Leaf Spring toolkit. It is currently not supported in the standard product. Suspension, vehicle, and test-rig parameters array IDs used by suspension characteristics calculations routines. Outputs the ge[lr]_diff_output parts. Outputs array of Adams IDs used by the conceptual suspension module. Outputs array of Adams IDs used by the conceptual suspension module.
74 Adams/Car
Communicators
Receives: Output from the body subsystem. It indicates the part that represents the body. Marker from the body subsystem. It is used to measure path, roll, and sideslip error in a constant radius cornering maneuver. Marker from the body subsystem. It is used in Adams/SmartDriver simulations. Adams/Solver variable for engine revolute speed, in rotations per minute, from the powertrain subsystem. Adams/Solver variable for engine revolute speed, in radians per second, from the powertrain subsystem. Marker used to measure the distance traveled in the forward direction of the vehicle, from the body subsystem. Real parameter variable for final drive ratio, from the powertrain subsystem. Steering-rack translational joint from the steering subsystem. Steering-wheel revolute joint from the steering subsystem. Output from brake subsystem (maximum brake signal value). Output from powertrain subsystem (maximum engine rpm value). Output from powertrain (maximum number of allowed gears).
cis_driver_reference cis_engine_rpm
marker solver_variable
any any
cis_engine_speed
solver_variable
any
cis_measure_for_distance
marker
any
parameter_intege any r
Building Models 75
Communicators
Receives: Output displacement limits from steering subsystem. Used by the Standard Driver Interface. Output force limits from steering subsystem. Used by the Standard Driver Interface. Output angle limits from steering subsystem. Used by the Standard Driver Interface. Output from steering subsystem. Output from powertrain (maximum value of throttle signal). Output from powertrain subsystem (minimum engine rpm value, used for shifting strategy). Output from powertrain (it is a differential equation used to measure crankshaft acceleration; its integral is used for engine rpm). Spline for transmission gears (output from powertrain: reduction ratios for every gear). The transmission input engine variable from the powertrain template. Clutch slip differential equation from the powertrain template. The clutch initial displacement (engine crankshaft torque at static equilibrium) from the powertrain template. The hub parts (wheel carriers) from suspension templates (front and rear) The hub parts (wheel carriers) from suspension templates (front and rear)
cis_transmission_spline
spline
front rear
76 Adams/Car
Communicators
Output Communicators in SDI Test Rig From minor role: any any any any any any any
Belongs to the class: solver_variable solver_variable solver_variable parameter_real solver_variable solver_variable diff
Outputs: Brake demand to the brake subsystem. Clutch demand to the powertrain subsystem. Desired velocity Adams/Solver variable. Other subsystems can reference it. Initial engine RPM real variable to the powertrain subsystem. Throttle demand to the powertrain subsystem. Transmission (gear) demand to the powertrain subsystem. Differential equation computed during quasistatic prephase, used to control the vehicle longitudinal dynamics. X,Y,Z location of standard tire reference marker (positioned appropriately at the correct height, including 2% of road penetration).
cos_std_tire_ref
location
any
.__MDI_SUSPENSION_TESTRIG. The template must also contain the proper output communicators.
If the template is a suspension template (for example, its major role is suspension), the template
must contain a suspension parameters array. The suspension parameters array identifies to the suspension analysis how the steer axis should be calculated and whether the suspension is independent or dependent. For example, for a suspension template to be compatible with the suspension test rig, the suspension template must contain either the mount or the upright output communicators. In the following table, the notation [lr] indicates that there is both a left and right communicator of the specified name.
Building Models 77
Communicators
Output Communicators in Suspension Templates The communicator: co[lr]_suspension_mount co[lr]_wheel_center co[lr]_toe_angle co[lr]_camber_angle Belongs to the class: mount location parameter_real parameter_real From minor role: inherit inherit inherit inherit inherit Receives: suspension_mount suspension_upright wheel_center toe_angle camber_angle
co[lr]_suspension_upright mount
The co[lr]_suspension_mount output communicators publish the parts to which the test rig wheels should mount. As you create these communicators, ensure that you set their minor role to inherit. By setting the minor role to inherit, the communicator takes its minor role from the minor role of the subsystems that use your suspension template. The co[lr]_wheel_center output communicators publish the location of the wheel centers to the test rig so the test rig can locate itself relative to the suspension. As you create these types of communicators, make sure that you also leave their minor role set to inherit. The toe and camber communicators (co[lr]_toe_angle and co[lr]_camber_angle) publish, to the test rig, the toe and camber angles set in the suspension so the test rig can orient the wheels correctly.
78 Adams/Car
Communicators
74 Adams/Car
Creating Components
You can create components only in the Template Builder. The Template Builder design leads you through a step-by-step process for creating components: the Build menu is organized such that you can start at the top of the menu, building basic components, and work your way down, attaching these basic components together and building increasingly complex components. For information about a certain component, see the topic for that component. The following example shows how you can create arm geometry. You follow the same basic steps to create any other component listed under the Build menu. To create arm geometry: 1. From the Build menu, point to Geometry, point to Arm, and then select New. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Arm Geometry. 3. Select one of the following:
OK if you want to execute the command and close the dialog box. Apply if you want to execute the command but keep the dialog box open so you can continue
to work in it.
Cancel if you decide not to execute the command and close the dialog box.
Modifying Components
Depending on the component you want to modify, one or more of the following methods will be available:
Modifying Component Parameters Modifying Component Property File Replacing Instance Definition
Modifying Component Parameters You can modify component parameters in either interface, as follows:
In the Template Builder - After you create components in the Template Builder, you can
opening or creating a subsystem file. The standard user can modify only selected parameters in the Standard Interface. The following examples show how you can modify component parameters in either interface. You use the same basic steps to modify any components parameters.
76 Adams/Car
In Standard Interface, to modify arm geometry: 1. Right-click an arm geometry, and then select Modify. 2. Press F1 and then follow the instructions in the dialog box help for Modify Arm. 3. Select OK. Note: You can only change a limited number of parameters in the Standard Interface.
In Template Builder, to modify arm geometry: 1. From the Build menu, point to Geometry, point to Arm, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Arm Geometry. 3. Select OK. Modifying Component Property File You can modify property files using either of the following:
Any text editor - When working in any of the template-based products, you can open a text
editor, such as vi on UNIX and Notepad on NT, display the property file referenced by the component you want to change, modify any of the parameters as needed, and then save your changes.
The Curve Manager - You can modify some property files as explained in Modifying Property Files Using the Curve Manager.
Modifying Property Files Using a Text Editor If you want to modify a property file using a text editor, you can find the location of the particular database that a property file uses by following the steps outlined next. To find the location of a database: From the Tools menu, point to Database Management, and then select Database Info. The Information window appears, displaying the path of the database. Modifying Property Files Using the Curve Manager You can use the Curve Manager to modify a select set of property files. To modify Adams/Car property files: 1. From the screen, right-click the component you want to modify, for example a spring, point to the component name, and then select Modify. The Modify Spring dialog box appears. 2. Select the Curve Manager tool The Curve Manager appears. .
3. Change any parameters as needed. Replacing Instance Definition Another way of modifying components is to change the definition of the component you are using with another definition of the same component. For example, you can replace a coil spring with an air spring. The following example shows how you can change a component's definition. You follow the same basic steps to change the definition of other components. Components currently supported include: air spring, bushing, damper, and spring, as well as applicationspecific components. Note:
In Adams/Car you can change the component definition only in the Standard Interface.
To change component definition: 1. In Standard Interface, right-click a component, point to its name, and then select Replace Instance. 2. Press F1 and then follow the instructions in the dialog box help for Replace Instance Definition. 3. Select OK.
Deleting Components
You can delete components only in the Template Builder. If you try to delete a component that is dependent on other components, your template-based product informs you that the component is dependent on others, and if you delete it, the dependents also are deleted. Because not all the components you can create and delete in the Template Builder have a graphical representation, you cannot delete some components by right-clicking on them. The following procedures explain how you can delete both types of components: those that have a graphical representation as well as those that dont. To delete components that do not have graphical representation: 1. From the Build menu, point to the component you want to delete, and then select Delete. The appropriate Delete dialog box appears. 2. Fill in the dialog box as appropriate, and then select either of the following:
OK if you want to execute the command and close the dialog box. Apply if you want to execute the command but keep the dialog box open so you can continue
78 Adams/Car
Checks if the component has dependencies, and if the component does have dependencies, it
Prefix: ci[lrs]_ co[lrs]_ css_ da[lrs]_ fb[lrs]_ ff[lrs]_ ge[lrs]_ gk[lrs]dif_ gk[lrs]red_ gp[lrs]_ gr[lrs]dif_ gr[lrs]red_ graarm gracyl_ graell_ gralin_ graout_ gs[lrs]_ gv[lrs]_ hp[lrs]_ ip[lrs]_ jf[lrs]_ jk[lrs]_ jm[lrs]_ jo[lrs]_ mt[lrs]_ nr[lrs]_ ns[lrs]_ ph[lrs]_ pt[lrs]_ pv[lrs]_ re[lrs]_ sw[lrs]_
Entity type: Input communicator Output communicator Condition sensor Damper (Adams/Car only) Flexible body User-function feedback channel General part Gear differential (kinematically active) Gear reduction (kinematically active) General parameter Gear differential (always active) Gear reduction (always active) Arm geometry Cylinder geometry Ellipse geometry Link geometry Outline geometry General spline General variable Hardpoint Interface part Joint force actuator Joint (kinematically active) Joint motion actuator Joint (always active) Mount part Nonlinear rod Spring Hidden parameter variable Point torque actuator Parameter variable Reboundstop (Adams/Car only) Switch part
80 Adams/Car
Entity type: Tire force (Adams/Car only) User-defined entity Wheel part (Adams/Car only)
Hardpoints
Hardpoints contain location information and are the basic building blocks for most other components. Hardpoints have no orientation. If you need components that hold both location and orientation information, use construction frames. Hardpoints and construction frames are also referred to as coordinate references. You use the Template Builders Build menu to create, modify, and delete hardpoints. When you create hardpoints, you can define them symmetrically or as a single point in space. When defining hardpoints symmetrically, you could, for example, define a left hardpoint and the right hardpoint is automatically generated as a parametric point. Creating a Hardpoint To create a hardpoint: 1. From the Build menu, point to Hardpoint, and then select New. 2. Press F1 and then follow the instructions in the dialog box help for Create Hardpoint. 3. Select OK. Modifying a Hardpoint In Standard Interface, to modify a hardpoint: 1. From the Adjust menu, point to Hardpoint, and then select Modify. 2. Press F1 and then follow the instructions in the dialog box help for Modify Hardpoint Location. 3. Select OK. In Template Builder, to modify a hardpoint: 1. From the Build menu, point to Hardpoint, and then select Modify. 2. Press F1 and then follow the instructions in the dialog box help for Modify Hardpoint Location. 3. Select OK. Modifying Several Hardpoints at a Time If you want to modify several existing hardpoints at a time, you can use a table editor to do so. In Standard Interface, to modify several hardpoints at a time: 1. From the Adjust menu, point to Hardpoint, and then select Table. 2. Press F1 and then follow the instructions in the dialog box help for Hardpoint Modification Table. 3. Select Apply.
82 Adams/Car
Hardpoints
In Template Builder, to modify several hardpoints at a time: 1. From the Build menu, point to Hardpoint, and then select Table. 2. Press F1 and then follow the instructions in the dialog box help for Hardpoint Modification Table. 3. Select Apply.
Construction Frames
Construction frames contain both location and orientation information, and are the basic building blocks for many other components. When you need only location and no orientation information, hardpoints are the correct components to use. Hardpoints and construction frames are also referred to as coordinate references. You can define construction frames symmetrically. To easily locate and orient construction frames without having to worry about complex rotations and translations, you can use various options:
Summary of Location Dependency Options Summary of Orientation Dependency Options
To create or modify a construction frame: 1. From the Build menu, point to Construction Frame, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Construction Frames. 3. Select OK.
84 Adams/Car
Parts
Parts
You can build the following types of parts in Template Builder:
General Parts Interface Parts Flexible Bodies Nonlinear Beams Mount Parts Switch Parts
General Parts
A general part is a rigid part that is defined by its location, orientation, mass, inertia, and center of gravity. Note that the computed mass properties are not parametric. Your template-based product does not update the mass properties when the geometry changes, if hardpoints have changed position, for example. If you want to have the part mass re-computed based upon a parts geometry, you must explicitly have your template-based product compute the mass properties based on the changed geometry by calculating the mass for the general part, using the Build or Adjust menus. Alternatively, you can change the mass properties to user-defined values by modifying the general part using the Build or Adjust menus. In the Standard Interface, general parts are enhanced to be either rigid or flexible. Learn about flexible parts. Creating or Modifying a General Part In Standard Interface, to create or modify a general part: 1. From the Adjust menu, point to General Part, and then select Modify. 2. Press F1 and then follow the instructions in the dialog box help for Modify General Part. 3. Select OK. In Template Builder, to create or modify a general part: 1. From the Build menu, point to Parts, point to General Part, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify General Part. 3. Select OK. Calculating the Mass of a General Part You can calculate the mass based on material properties (steel, aluminum, and so on) or enter a material density. The mass will be based on the volume of the associated geometry.
Using the General Part Wizard You can use the general part wizard to create simple geometry. Using the general part wizard allows the Template Builder to automatically calculate mass and inertia properties. You can create either a link or an arm and choose the material properties. To use the general part wizard: 1. From the Build menu, point to Parts, point to General Part, and then select Wizard. 2. Press F1 and then follow the instructions in the dialog box help for General Part Wizard. 3. Select OK.
Interface Parts
Interface parts let you connect flexible bodies to the rest of your template. You cannot use joints or bushings to connect general parts and flexible bodies: you must use interface parts. To create or modify interface parts: 1. From the Build menu, point to Parts, point to Flexible Body, point to Interface Part, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Interface Part. 3. Select OK.
Flexible Bodies
Template-based products use descriptions of flexible bodies, named modal neutral files (MNF), from a finite element (FEM) program. The MNF is a binary, platform-independent file that combines compact storage and efficiency of data access. The information in an MNF includes:
Geometry (locations of nodes and node connectivity) Nodal mass and inertia Mode shapes Generalized mass and stiffness for mode shapes
The Template Builder uses a method of modeling flexible bodies named modal flexibility. Modal flexibility assigns a set of mode shapes (eigenvectors) to a flexible body. The principle of linear
86 Adams/Car
Parts
superposition is then used to combine the mode shapes at each time step to reproduce the total deformation of the flexible body. This method can be very useful in problems that are characterized by high elasticity and moderate deflections. In Standard Interface, to modify a flexible body: 1. If the displayed subsystem or assembly has a flexible part, from the Adjust menu, point to Flexible Body, and then select Modify. 2. Press F1 and then follow the instructions in the dialog box help for Modify Flexible Body. 3. Select OK. In Template Builder, to create or modify a flexible body: 1. From the Build menu, point to Parts, point to Flexible Body, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Flexible Body. 3. Select OK.
Nonlinear Beams
A nonlinear beam consists of one cylindrical/rectangular segment or several segments connected to each other at Coordinate References. The cylindrical elements can have hollow cross sections to represent pipes. The segments form a shaft with a stiffness appropriate to the cross-sectional area and material stiffness. Using a nonlinear beam offers you a quick and easy way to deliver flexibility during early design stages. The mass and inertia properties of a nonlinear beam are determined according to the outer radius, inner radius, and material type, with the cylinder wall thickness = (outer radius - inner radius). Nonlinear beams can be:
Rigid - A rigid nonlinear beam is a sequence of cylinders that belongs to one part. You can use
rigid nonlinear beams to model links that do not have a simple straight-line shape.
Flexible - For a flexible nonlinear beam, your template-based product creates a separate part for each hardpoint you specify. Your template-based product cuts into two pieces the cylinder
between two hardpoints, with each belonging to one of the two parts associated with the hardpoints. The two halves are then connected elastically by a beam element. You can use flexible nonlinear beam to model components such as anti-roll bars. To create or modify a nonlinear beam: 1. From the Build menu, point to Parts, point to Nonlinear Beam, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Nonlinear Beam. 3. Select OK.
Mount Parts
A mount part is a massless part that acts as an alias for another part in a separate template. You can use this alias part as you would use the real part when creating joints, springs, contacts, and so on. A mount part is fixed to ground by default. If there are matching communicators of type mount found during the assembly process, the template-based product fixes the mount part to the part specified as the value of the corresponding output communicator. To create or modify a mount part: 1. From the Build menu, point to Parts, point to Mount, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Mount Part. 3. Select OK.
Switch Parts
A switch part is a massless part that enables flexible topology. You can use this switch part as you would use any real part when creating joints, springs, bushings, and so on. Your template-based product has a list of real parts related to each switch part. At any time, the switch part is fixed to one and only one of the parts on the part list. A switch part lets you explore two different topological solutions. For example, a suspension may connect either directly to a chassis or to a subframe, depending on the subsystems active during assembly. The switch part makes these topological solutions possible. Following assembly, switch parts are automatically deleted. When you choose a new part in the Switch to Part pull-down menu, the switch part changes the part it is fixed to, and all the joints and forces acting on the switch part will act on the new part. The switch part concept allows you to model and investigate different topologies. See Switch Part Example for Adams/Car. Creating or Modifying Switch Parts In Standard Interface, to modify a switch part: 1. From the Adjust menu, select Switch Part. 2. Press F1 and then follow the instructions in the dialog box help for Modify Switch Part. 3. Select OK. In Template Builder, to create or modify a switch part: 1. From the Build menu, point to Parts, point to Switch, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Switch Part. 3. Select OK.
88 Adams/Car
Parts
Removing Switch Parts To remove a switch part: 1. From the Tools menu, select Remove Switch Part. 2. Press F1 and then follow the instructions in the dialog box help for Switch & Remove Switch Parts. 3. Select OK.
Markers
A marker defines a local coordinate system on any part in your model or on ground. A marker has a location (the origin of the coordinate system) and an orientation. To create or modify a marker: 1. From the Build menu, point to Marker, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Marker. 3. Select OK.
90 Adams/Car
Geometry
Geometry
Geometry components in the template-based products allow you to easily build parametric representations of standard parts. If mass and inertia information is unavailable, you can automatically calculate the mass of the general part based on the size of the geometry. You can build the following geometry components:
Arm Geometry Link and Cylinder Geometry Ellipsoid Geometry Outline Geometry
Note that the computed mass properties, based on geometry, are not parametric. Your template-based product does not update the mass properties when the geometry changes, if hardpoints have changed position, for example. If you want to have the part mass re-computed, based upon a parts geometry, you must explicitly have your template-based product compute the mass properties based on the changed geometry, by Calculating Mass for the General Part, using the Build or Adjust menus. Alternatively, you can change the mass properties to user-defined values by modifying the General Part, using the Build or Adjust menus.
Arm Geometry
An arm part is a solid triangular plate defined by three Coordinate References and a thickness. If necessary, you can automatically update the mass and inertia properties of the general part. In Adams/Car, you could use the arm geometry to view the control arm of a MacPherson suspension. In Standard Interface, to modify arm geometry: 1. Right-click an arm geometry, and then select Modify. 2. Press F1 and then follow the instructions in the dialog box help for Modify Arm. 3. Select OK. In Template Builder, to create or modify arm geometry: 1. From the Build menu, point to Geometry, point to Arm, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Arm Geometry. 3. Select OK.
The link geometry consists of a cylinder whose ends you define using two hardpoint locations
and a radius. You can use links to view the tie rods of certain suspensions.
You define the cylinder using a construction frame, rather than two hardpoints. The centerline of
the cylinder follows the z-axis of the construction frame. You can define the cylinder so that it has length in both the positive and negative z-axis. You can use cylinders to view the strut rods of certain suspensions. If necessary, you can automatically update the mass and inertia properties of the general part. Creating or Modifying Link Geometry In Standard Interface, to modify link geometry: 1. Right-click a link, and then select Modify. 2. Press F1 and then follow the instructions in the dialog box help for Modify Link. 3. Select OK. In Template Builder, to create or modify link geometry: 1. From the Build menu, point to Geometry, point to Link, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Link Geometry. 3. Select OK. Creating or Modifying Cylinder Geometry To create or modify link geometry: 1. From the Build menu, point to Geometry, point to Cylinder, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Cylinder Geometry. 3. Select OK.
Ellipsoid Geometry
An ellipsoid geometry is defined by a Coordinate Reference and a user-specification of x, y, and z dimensions. You can use ellipsoids to represent spherical elements of your template. A sphere is an ellipsoid whose x, y, and z radii have the same values. You can use two different methods of defining an ellipsoid:
Use a link to define the radius and then specify a scaling factor in each of the orthogonal axes Define a measurement in each axis
If necessary, you can automatically update the mass and inertia properties of the general part.
92 Adams/Car
Geometry
To create or modify ellipsoid geometry: 1. From the Build menu, point to Geometry, point to Ellipsoid, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Ellipsoid Geometry. 3. Select OK.
Outline Geometry
You can use the outline to draw a line between different hardpoint locations. You can choose to define either an open or a closed outline. In general, you would use outlines to visualize the general form of parts. For example, you would add outline geometry to represent the subframe of a vehicle. Because the geometry entity has no thickness, you cannot update the mass and inertia properties of an outline. To create or modify outline geometry: 1. From the Build menu, point to Geometry, point to Outline, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Outline Geometry. 3. Select OK.
Attachments
When working with template-based products, you can use two types of attachments:
Joints Bushings
Joints
Joints define a rigid connection between two parts and help define the motion of the parts. The following table lists the joints the template-based products support, along with information about their degrees of freedom (DOF): Joint name: Number of DOF: Translational Revolute Cylindrical Spherical Planar Fixed Inline Inplane Orientation 1 1 2 3 3 0 4 5 3 Type of motion DOFs allow: Translation of one part with respect to another while all axes are co-directed. Rotation of one part with respect to another along a common axis. Translation and rotation of one part with respect to another. Three rotations of one part with respect to the other while keeping two points, one on each part, coincident. The x-y plane of one part slides with respect to another. No motion of any part with respect to another. One translational and three rotational motions of one part with respect to another. Two translational and three rotational motions of one part with respect to another. Constrains the orientation of one part with respect to the orientation of another one, leaving the translational degrees of freedom free. Three translational and one rotational motions of one part with respect to another. Three translational and two rotational motions of one part with respect to another. Two rotations of one part with respect to the other while remaining coincident and maintaining a constant velocity through the spin axes. Two rotations of one part with respect to the other while remaining coincident.
Parallel_axes
Perpendicular 5 Convel 2
Hooke
94 Adams/Car
Attachments
You can use different parametric orientation options to define the location and direction of the joint. To create or modify a joint: 1. From the Build menu, point to Attachments, point to Joint, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Joint Attachment. 3. Select OK.
Creating and Modifying Bushings When working in Template Builder, you can create bushings and then modify them. When working in Standard Interface, you can only modify bushings. Learn about the Interface Modes. Nonlinear Bushings To create a nonlinear bushing: 1. From the Build menu, point to Attachments, point to Bushing, and then select New. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Bushing Attachment. 3. Select OK.
To modify a nonlinear bushing in the Template Builder: 1. To display the modify dialog box, do one of the following:
From the Build menu, point to Attachments, point to Bushing, and then select Modify. To load
the parameters for a specific bushing, you must specify the bushing you want to modify.
Right-click a bushing, point to its name, and then select Modify. The dialog box has the bushing
parameters already loaded. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Bushing Attachment. 3. Select OK. To modify a nonlinear bushing in the Standard Interface: 1. In Standard Interface, right-click a bushing, point to its name, and then select Modify. The dialog box has the bushing parameters already loaded. 2. Press F1 and then follow the instructions in the dialog box help for Modify Bushing. 3. Select OK. Linear Bushings To modify a linear bushing in the Standard Interface: 1. Right-click a bushing, point to its name, and then select Modify. The dialog box has the bushing parameters already loaded. 2. Press F1 and then follow the instructions in the dialog box help for Modify Linear Bushing. 3. Select OK. Stiffness Forces Computation In the expressions that follow:
i, j k, l are indices whose integer values of 1 to 3 indicate application to the x, y, and z coordinate
directions, respectively
All uppercase letters represent constants
The Transformed Displacement, q Adams/Solver computes the stiffness forces based on a bushing displacement vector, q, which is determined by transformation to account for any inter-axial coupling. Therefore: For uncoupled directions
qk = rk
For coupled directions
( k D ) , q is given by:
96 Adams/Car
Attachments
q k = m sgn ( r k )
D
with
m =
rl
l=1
and r k
= Hk xk Qk
xk rk qk D
- Displacement of the modeled bushing in the k direction - Displacement of the physical bushing in the k direction - Ordinate (lookup point) in the stiffness force characteristic - Scalar magnitude of the bushing displacement vector
and the user-specified constants are: - Horizontal (displacement) scaling for the kth direction (disp_scale); can be used to perform unit conversions - Displacement offset for the kth direction (disp_offset);can be used to specify an offset between the modeled bushing and the physical bushing (perhaps caused by the rotational preload introduced by the assembly process)
Hk Qk
This formulation allows the elements of the displacement vector, x, to be scaled up by a user-specified factor, H, and/or offset by a user-specified displacement offset, Qk, to determine the transformed displacement vector, qk, which becomes the lookup point in the selected stiffness force characteristic (see next). The Stiffness Force, f For uncoupled directions
f k = G k V k y k ( q k' v k )
For coupled directions
( k D ) , f, is given by:
f k = G k V k w k y k ( q k' v k )
with
rk -. w k = -----m
Where the Adams internal variables are: - Stiffness component of the force in the kth direction, determined by accounting for preload, scaling factors, and inter-axial coupling - Force returned internally by the user-defined (positive-positive) bushing stiffness characteristic for the kthdirection - Weighting of the returned force for the kth direction (0 to 1, for coupled directions only)
fk yk wk
and the user-specified constants are: - Force offset (preload) for the kth direction (force_offset) - Vertical (force) scaling for the kth direction (stiffness_force_scale)
Gk Vk
See the following sections for the precise mathematical descriptions of the two alternative coupling formulations. Note about the scaling factors, V and H: Note: Regardless of the bushing formulation, a doubling of the scale factor, V, results in a doubling of the restoring force provided by the bushing for a given displacement in that direction. In contrast, doubling of H:
Results in a doubling of the restoring force for bushings whose force-displacement
displacement characteristics are nonlinear. Expressing the Stiffness Force Characteristic You can use a number of formulations to express the stiffness force characteristic of the bushing, by appropriately setting the integer value of stiffness_type (see above), and providing the necessary data in the .adm file. Learn how the Stiffness Force Characteristics are expressed in the .adm file. Linear The linear characteristic is straightforward, and is defined using a stiffness, k:
y i ( q i', v i ) = y i ( q i ) = ( k i q i )
Piecewise Linear The piecewise linear characteristic is defined as:
98 Adams/Car
Attachments
y ( q, v ) = y ( q ) = k 1 q +
where:
m1
l=1
( kl + 1 kl ) ( q bl ), q > bl
qi k l i l
- The i-direction component of the (transformed) bushing displacement - The lth stiffness for the ith direction l1 - The breakpoint where the stiffness changes between k i and - The number of straight-line slopes that describe the characteristic ki l
b mi
Note that
bi
l+1
Figure 1
Smoothed Piecewise Linear The smoothed piecewise linear definition is similar to the piecewise, but with smoothing across each change in slope, such that the gradient of the force-displacement curve (for example, the stiffness) becomes continuous:
dy spw ------------ = k1 + dq
with:
m1
0 2 l ( 3 2 l ) ( kl + 1 kl ) l=1 1
l 0 0 < l < 1 l 1
e - q b l - 2 l = --------------------------e
where (noting that for clarity, the subscript i, indicating direction, has been dropped):
q kl bl e m
- The (transformed, scaled and offset) bushing displacement - The lth stiffness - The breakpoint (value of displacement) where the stiffness changes between
l ki
ki
l1
and
- The displacement over which each change in stiffness is smoothed to prevent discontinuities in stiffness - The number of straight-line slopes that describe the underlying characteristic
This gradient is integrated analytically from zero displacement q, to find the force-displacement curve. The constant of integration is set such that if there were no smoothing, the curve would pass through the origin. As smoothing is introduced, this constant of integration (the vertical offset of the forcedisplacement curve) is adjusted such that the smoothed curve continues to overlay the unsmoothed curve in regions where there is no smoothing (such as those for high values of displacement). Note that this means that if the origin is contained within a smoothing interval, then the smoothed force-displacement curve may not pass exactly through the origin, but that you can safely vary the smoothing interval, knowing that as the displacement moves from a smoothed into an unsmoothed region, the behavior will converge to that of the unsmoothed piecewise curve. Note that as with the piecewise formulation, b i > b i is a necessary condition for all n. Setting e to zero collapses this formulation to the piecewise formulation.
l+1 l
100 Adams/Car
Attachments
A typical characteristic from this formulation will look similar to the following (where the plot shows the effect of varying the smoothing interval from 0.3 mm to 10 mm):
Figure 2
AKIMA Spline The nonlinear, AKIMA spline characteristic is defined using a single Adams AKIMA spline. The restoring force is than determined directly from this spline:
y i ( q i', v i ) = y i ( q i ) = AKISPL ( q i, 0, ID i )
Hysteretic (Dual-Spline) The hysteretic definition of the stiffness characteristic also incorporates some damping (velocitydependence) of the force, according to the following:
y i ( q i', v i ) = AKISPL ( q i, v i, ID i )
where:
v i = STEP ( p i, P, 1, P, 1 )
with:
E pi = Ai x i i
where: - Horizontal (velocity) scaling for the ith direction (vel_scale) - Velocity offset for the ith direction (vel_offset) - Velocity saturation point (m/s) for the i direction (for hysteretic bushings only) - Scaled and offset velocity in the i direction - Velocity (rate of change of model bushing displacement) in the i direction - Transformed, and saturated
Ai Ei Pi pi
x i
vi
x i
Such that, for v < -v, the force_neg_vel_values only are used, and for v > vel_threshold, only the force_pos_vel_values are used. When v is between these values, the two force characteristics are interpolated according to the STEP function described above. Note that for very large values of P, the hysteresis disappears, and the characteristic approaches a simple displacement-dependent AKIMA spline:
y i ( q i', v i ) y i ( q i ) = AKISPL ( q i, 0, ID i )
102 Adams/Car
Attachments
The following is an example of the typical behavior of a hysteretic bushing, excited to increasing amplitude:
Displacement
Force
Damping Forces Computation Adams/Solver computes the damping forces based on a transformed (scaled, and offset) bushing velocity vector, p, defined as:
- Rate of change of the true bushing displacement, x Pi - Scaled and offset bushing velocity (the point in the force lookup)
Ai Ei
- Horizontal (velocity) scaling for the ith direction (vel_scale) - Velocity offset for the ith direction (vel_offset) , to be scaled up by a user-specified
factor H, and/or offset by a user-specified displacement d, to determine the transformed displacement vector q, which is used as the lookup point in the definition of the stiffness force characteristic for the bushing. For each direction, the damping force, c is given by:
where the user-specified constant: Bi - Is the vertical (force) scaling for the ith direction (damping_force_scale) Expressing the Damping Force Characteristic You can use several methods to specify the damping properties in each coordinate direction, as explained next. None This option simply deactivates damping for the given coordinate direction:
Linear The linear characteristic is straightforward, and is defined using a damping constant, c:
For a linear characteristic, the parameter damping_value should be set equal to the required stiffness, c.
104 Adams/Car
Attachments
AKIMA Spline The nonlinear, AKIMA spline characteristic is defined using a single Adams AKIMA spline. The damping-force characteristic is then determined directly from this spline:
where:
qi
- The i-direction component of the (transformed) bushing displacement - The lth stiffness for the ith direction - Breakpoint where the stiffness changes between and
Note that
A typical characteristic from this formulation will look similar to the following:
Figure 3
Stiffness Fraction ("k-fraction") The stiffness fraction damping method simply ensures that the damping coefficient increases in proportion to the local stiffness of the bushing at the current operating point. The damping force in each direction is determined by first identifying the local stiffness as being the modulus of the rate of change of the stiffness force in that direction with respect to a displacement in the same direction. This stiffness magnitude is then multiplied by the k-fraction, k, (damping_value) and multiplied by the appropriate component of the transformed velocity, p:
For an uncoupled linear bushing (D = 0 or 1, stiffness_type = 1), this reduces to a constant damping coefficient and a typical viscous damping characteristic.
Learn how the stiffness damping characteristics are expressed in the .adm file.
106 Adams/Car
Attachments
Bushings are implemented using a FIE(ld)SUB. 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. Coupling Specification The value of D for the bushing is specified directly as shape in the FIELD statement for the bushing:
FIELD/id, I=idi, J=idj, FUNCTION=USER(branch, shape, txa, tya, tza, rxa, rya, rza)
0 2
- Rectangular (no coupling). The force in each direction is dependent only on the displacement in that direction. - Cylindrical (that is, x-y coupling). The forces in the x and y directions are each dependent on the displacement of the bushing in both the x and y directions. The force in the z direction is independent (that is, it depends only on the displacement in z). - Spherical (that is, x-y-z coupling). The force in each direction depends on the displacements in all translational directions, and the torque in each direction depends on the angular displacements in all rotational directions.
Note that the selected shape factor (coupling) always applies to both the translational and rotational behavior of the bushing. The next six parameters in the FIELD statement, all of which are required, should contain the Adams array IDs of the arrays containing the data, which expresses the stiffness and damping characteristic for the direction:
FIELD/id, I=idi, J=idj, FUNCTION=USER(branch, shape, txa, tya, tza, rxa, rya, rza)
Each of the referenced arrays must be included in the .adm file, and should be in the following form:
ARRAY/id, NUM=
stiffness_type, stiffness_value, stiffness_force_scale, damping_type, damping_value, damping_force_scale, force_offset, disp_offset, disp_scale, vel_offset, vel_scale
All of those parameters are required, and are described in detail in the following sections.
Stiffness Force Characteristic You can use a number of formulations to express the stiffness force characteristic of the bushing, by appropriately setting the integer value of stiffness_type (see above), and providing the necessary data in the .adm file. Linear (stiffness_type = 1) For a linear characteristic, the parameter stiffness_value should be set equal to the required stiffness, k. Piecewise Linear (stiffness_type = 4) When you select this stiffness type, you must provide an additional array in the .adm file, and you must set the value of stiffness_value (see above) equal to the integer Adams ID of that additional array. That additional array must be of the form: ARRAY/id, NUMBERS = n, k(0), b(1), k(1), ... , b(n), k(n) where:
- The number of slopes that define the stiffness characteristic. This number must be an integer and greater than 1 (note that for bushings with a single slope defining the stiffness characteristic, the linear stiffness type, stiffness_type = 1, should be used) - The breakpoints. The values of displacement, or of angular displacement, at which the slope changes. These values must be real and in ascending order, but may be negative. - The breakpoint where the slope (stiffness) changes from k(m-1), for displacements lower than b(m), and to k(m) for displacements greater than b(m). - The slopes, all of which must be real and positive for a physical, passive bushing. Their units are stiffness (force/displacement) or angular stiffness (torque/angular displacement). Note that k(0) extends to minus infinity and k(n) to plus infinity.
Note that the set k(0), b(1), k(1), ... , b(n), k(n) must contain precisely 2n-1 values, so that the total number of elements in the array must be 2n. Smoothed Piecewise Linear (stiffness_type = 5) When you select this stiffness type, you must provide an additional array in the .adm file, and you must set the value of stiffness_value (see above) equal to the integer Adams ID of this new array. For the smoother piecewise characteristic, the new array must be of the form: ARRAY/ID, NUMBERS = s, n, k(0), b(1), k(1), ... , b(n), k(n)
108 Adams/Car
Attachments
where:
s n
- The interval over which changes of slope are smoothed. This number must be a real value greater than zero, in units of displacement. - The number of slopes that define the stiffness characteristic. This number must be an integer and greater than 1 (note that for bushings with a single slope defining the stiffness characteristic, the linear stiffness type, stiffness_type = 1, should be used). - The breakpoints. The values of displacement, or of angular displacement, at which the slope changes. These values must be real and in ascending order, but may be negative. - The breakpoint where the slope (stiffness) changes from k(m-1), for displacements lower than b(m), and to k(m) for displacements greater than b(m). - The slopes, all of which must be real and positive for a physical, passive bushing. Their units are stiffness (force/displacement) or angular stiffness (torque/angular displacement). Note that k(0) extends to minus infinity and k(n) to plus infinity.
Note that the set k(0), b(1), k(1), ... , b(n), k(n) must contain precisely 2n-1 values, so that the total number of elements in the array must be 2n+1. AKIMA Spline (stiffness_type = 2) The nonlinear, AKIMA spline characteristic is defined using a single Adams AKIMA spline, specified by setting stiffness_value equal to the Adams ID of the spline. That spline must be supplied in the dataset, but can be shared among several directions and/or bushings. Hysteretic Dual-Spline (stiffness_type = 3) To specify this stiffness characteristic, the .adm file must include both a two-element array (whose integer ID is placed in stiffness_value), of the form: ARRAY/id, NUM = sid, P where the terms are defined as:
sid P
- The Adams ID of the 3D spline that specifies the hysteretic characteristic - The (positive) velocity threshold above which the bushing characteristic becomes independent of the velocity
and the associated Adams spline, of the form: SPLINE/sid, ,X= [displacement_values] ,Y= -1.0, [force_neg_vel_values] ,Y= 1.0, [force_pos_vel_values]
Damping Force Characteristic For the stiffness characteristic, a number of methods exist for specifying the damping properties in each coordinate direction: None (damping_type = 0) This setting of damping_type simply deactivates damping for the given coordinate direction: Linear (damping_type = 1) For a linear characteristic, the parameter damping_value should be set equal to the required stiffness, c. AKIMA Spline (damping_type = 2) The nonlinear, AKIMA spline characteristic is defined using a single Adams AKIMA spline, specified by setting damping_value equal to the Adams ID of the spline. The damping force characteristic is then determined directly from this spline:
Note the sign convention here. Within the spline definition, an increase in x (transformed velocity) should generally yield an increase in the y value (damping force). The same Adams AKIMA spline can be used for more than one direction of the same bushing (optionally, with different scaling), and/or for more than one instance of a bushing within the same model. Piecewise Linear (damping_type = 3) When you select this damping type, exactly as with the equivalent stiffness type, you must provide an additional array in the .adm file, and you must set the value of damping_value (see above) equal to the integer Adams ID of that additional array. That array must be of the form: ARRAY/id, NUMBERS = n, k(0), b(1), k(1), ... , b(n), k(n) where:
- The number of slopes that define the damping characteristic. This number must be an integer, and greater than 1 (note that for bushings with a single slope defining the damping characteristic, the linear damping type, damping_type = 1, should be used). - The breakpoints. The values of velocity, or of angular velocity, at which the slope of the damping characteristic changes. These values must be real and in ascending order, but may be negative.
110 Adams/Car
Attachments
- The breakpoint where the slope (damping coefficient) changes from c(m-1), for velocities lower than b(m), to c(m) for velocities greater than b(m) - The slopes, all of which must be real and positive for a physical, passive bushing. Their units are those of damping (that is, force/velocity) or rotational daming (that is, torque/angular velocity). Note that c(0) extends to minus infinity and c(n) to plus infinity.
Note that the set c(0), b(1), c(1), ... , b(n), c(n) must contain precisely 2n-1 values, so that the total number of elements in the array must be 2n. Stiffness Fraction ("k-fraction") (damping_type = 4) For the stiffness-fraction damping characteristic, the parameter damping_value should be set equal to the required stiffness fraction, k.
Forces
You can build the following types of forces in Template Builder:
Springs Dampers Bumpstops Reboundstops
Your template-based product models air springs as simple action-reaction forces between two parts. Each air spring references an air-spring property file that tabulates spring force against trim load and deflection from trim length. Trim load is the nominal load in the spring for a given trim length and internal pressure. Before analysis, your template-based product reads the data from the referenced property file and stores it in a three-dimensional SPLINE. During analysis, Adams/Solver computes the air-spring force by interpolating the SPLINE data using the Akima method. Air springs include an auto-trim feature, where you can specify a desired trim height of the suspension and the air spring's trim load is automatically adjusted during static equilibrium analysis to achieve the trim height. To use an air spring in a subsystem, select a coil spring and use the replace option from the shortcut menu to replace the coil spring with an air spring. Learn about air springs:
Modifying Air Springs Auto Trim Load Calculation of Air-Spring Force
112 Adams/Car
Forces
Creating and Modifying Springs When working in Template Builder, you can create springs and then modify them. When working in Standard Interface, you can only modify springs. Learn about the interface modes. Nonlinear Springs To create a nonlinear spring: 1. From the Build menu, point to Forces, point to Spring, and then select New. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Spring. 3. Select OK. To modify a nonlinear spring in the Template Builder: 1. To display the modify dialog box, do one of the following:
From the Build menu, point to Forces, point to Spring, and then select Modify. To load the
parameters for a specific spring, you must specify the spring you want to modify.
Right-click a spring, point to its name, and then select Modify. The dialog box has the spring
parameters already loaded. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Spring. 3. Select OK. To modify a nonlinear spring in the Standard Interface: 1. In Standard Interface, right-click a spring, point to its name, and then select Modify. The dialog box has the spring parameters already loaded. 2. Press F1 and then follow the instructions in the dialog box help for Modify Spring. 3. Select OK. Linear Springs To modify a linear spring in the Standard Interface: 1. Right-click a spring, point to its name, and then select Modify. The dialog box has the spring parameters already loaded. 2. Press F1 and then follow the instructions in the dialog box help for Modify Linear Spring. 3. Select OK. About Linear Springs Your template-based product (using the Adams/Solver SPRINGDAMPER) calculates the spring force as follows: Spring Force = - K*(DM(I,J) - OffsetCalc) where:
K - The linear stiffness defined in the spring property file. DM - The instantaneous distance between the I and J coordinate references. OffsetCalc - Depends on the free length defined in the spring property file and in the spring
install methods. Spring Install Methods The three spring install methods are:
Preload - The desired spring load at the current position of the I and J coordinate references. Installed Length - The installed length of the spring at the current position of the I and J
coordinate references.
Use Hardpoints - The installed length of the spring equals the distance between the I and J
coordinate references. When you submit the model to Adams/Solver, the spring-damper statement that your template-based product creates, has the form: SPRINGDAMPER/id, I=I_id, J=J_id , K=K , C=0 , LENGTH=OffsetCalc , FORCE=0 , TRANSLATIONAL About Nonlinear Springs Your template-based product (using the Adams/Solver SFORCE) interpolates a force versus spring length or spring deflection table using Akima's method. If you are using a force versus length table, the force is calculated as follows: Spring Force = AKISPL(OffsetCalc + DM(I, J), 0, Spline) If you are using a force versus deflection table, the force is calculated as follows: Spring Force = AKISPL(OffsetCalc - DM(I, J), 0, Spline) where:
AKISPL - Adams/Solver function that interpolates data stored in a SPLINE. OffsetCalc - Depends on the free length defined in the spring property file and in the spring install
methods.
DM - The instantaneous distance between the I and J coordinate references. Spline - A reference to a SPLINE statement.
114 Adams/Car
Forces
Preload - The desired spring load at the current position of the I and J coordinate references. Installed Length - The installed length of the spring at the current position of the I and J
coordinate references.
Use Hardpoints - The installed length of the spring equals the distance between the I and J
coordinate references. When you submit the model to Adams/Solver, the SFORCE statement that your template-based product creates, has the form: SFORCE/id, I=I_id, J=J_id , FUNCTION=AKISPL(OffsetCalc + DM(I_id, J_id), 0, Spline)\ , TRANSLATIONAL About Spring Property Files The spring component supports the following types of Property Files:
TeimOrbit linear-spring property files (extension .lsf). See TeimOrbit File Format. Learn more about this file format with the help of Spring dialog box. TeimOrbit nonlinear-spring property files (extension .spr). Standard TeimOrbit nonlinear-spring
property files correspond to nonlinear, deflection-based spring formulation, as explained in About Nonlinear Springs.
XML spring property file (See XML File Format). The XML spring property file supports linear
and nonlinear force characteristics and allows you to choose between specifying force versus spring deflection or spring length, as described in About Nonlinear Springs. You work with XML files in the Property File Editor. Modifying Air Springs To modify an air spring in the Standard Interface: 1. In Standard Interface, right-click an air spring, point to its name, and then select Modify. The dialog box has the air-spring parameters already loaded. 2. Press F1 and then follow the instructions in the dialog box help for Modify Spring. 3. Select OK. Auto Trim Load An Adams/Solver differential equation sets an air spring's trim load. The differential equation calculates the trim load that corresponds to the desired trim length during static equilibrium analyses. Its value is then locked to the last value calculated during static analyses for all the subsequent transient simulations. F = USER (1117, trimLength, Imarker, Jmarker) where:
1117 - Branch ID
trimLength - The desired displacement, as specified in the property file, which you can edit using the Property File Editor. I/J marker - The air spring's I and J markers of the SFORCE.
Calculation of Air-Spring Force An Adams/Solver SFORCE computes the air-spring force. The SFORCE function is: force = AKSIPL((trimLength DM (marker I, marker j)), (trimLoad), splineID) where:
AKSIPL - Is the Adams/Solver function that interpolates data using Akimas method. trimLength - Is the distance between the upper and lower spring seats when the suspension is at
trim height. trimLength is a positive real value read from the air-spring property file.
DM(marker I, marker J) - Is the distance between the upper and lower spring seats. TrimLoad is the load in the spring when the suspension is at trim height. The load corresponds to the trim load you specified, or, if you select auto trim load, it corresponds to a differential
equation.
Creating and Modifying Dampers When working in Template Builder, you can create dampers and then modify them. When working in Standard Interface, you can only modify dampers. Learn about the interface modes. Nonlinear Dampers To create a nonlinear damper: 1. From the Build menu, point to Forces, point to Damper, and then select New. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Damper. 3. Select OK.
116 Adams/Car
Forces
To modify a nonlinear damper in the Template Builder: To display the modify dialog box, do one of the following:
From the Build menu, point to Forces, point to Damper, and then select Modify. To load the
parameters for a specific damper, you must specify the damper you want to modify.
Right-click a damper, point to its name, and then select Modify. The dialog box has the
To modify a nonlinear damper in the Standard Interface: 1. Right-click a damper, point to its name, and then select Modify. The dialog box has the damper parameters already loaded. 2. Press F1 and then follow the instructions in the dialog box help for Modify Damper. 3. Select OK. Linear Dampers To modify a linear damper in the Standard Interface: 1. Right-click a damper, point to its name, and then select Modify. The dialog box has the damper parameters already loaded. 2. Press F1 and then follow the instructions in the dialog box help for Modify Linear Damper. 3. Select OK. About Linear Dampers In addition to the standard definition of a damper (based on an AKIMA spline interpolation of a force velocity two-dimensional spline), Adams/Car offers a linear-damper model. The linear-damper model allows you to define a single damping term. The force exerted by the damper between the I and J parts at the desired locations follows the well-known formula: Force = -c dx/dt where dx/dt is the time derivative of the radial relative displacement between marker I and marker J. About Nonlinear Dampers The force-velocity formula is based on:
VR - Relative velocity of marker I with respect to marker J Damper property file
The damper property file defines the two-dimensional spline. The independent variable is the translational velocity of the I and J markers, and the dependent variable is the force exerted between the two parts at the I and J marker locations. You can also specify gas preload force for nonlinear dampers using XML-format property files. To specify gas preload: 1. Right-click a damper, point to its name, and then select Modify. The Modify Damper dialog box appears. 2. Specify an XML property file. 3. Select the Curve Manager tool 4. Select the Properties tab. 5. Under Gas Preload, 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 interpolating a spline. The independent value of the spline
Creating and Modifying Bumpstops When working in Template Builder, you can create bumpstops and then modify them. When working in Standard Interface, you can only modify bumpstops. Learn about the interface modes.
118 Adams/Car
Forces
To create a bumpstop: 1. From the Build menu, point to Forces, point to Bumpstop, and then select New. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Bumpstop. 3. Select OK. To modify a bumpstop in the Template Builder: To display the modify dialog box, do one of the following:
From the Build menu, point to Forces, point to Bumpstop, and then select Modify. To load
the parameters for a specific bumpstop, you must specify the bumpstop you want to modify.
Right-click a bumpstop, point to its name, and then select Modify. The dialog box has the
To modify a bumpstop in the Standard Interface: In Standard Interface, right-click a bumpstop, point to its name, and then select Modify. The dialog box has the bumpstop parameters already loaded.
Press F1 and then follow the instructions in the dialog box help for Modify Bumpstop. Select OK.
Calculation of Force Characteristics The XML (XML File Format) bumpstop property file supports various methods and options for calculating force characteristics. It supports the following methods to determine the elastic-force component:
polynomial - The formulation of the force is based on a third-order polynomial whose equation
The elastic force becomes active only when the instantaneous distance between the markers on the two parts is less than the impact length. The impact length term depends on the distance type. If you select Clearance, the impact length becomes: dmCalc - Clearance where:
Clearance - Value you specify dmCalc - Initial displacement computed between the I and J markers
In an XML bumpstop property file, you can also enable a damping characteristic. If you enable the damping characteristic, the force is dependent on the deflection and velocity of the I and J markers. Damping (viscous) forces can be:
linear - If you include in the property file a linear damping value other than zero, then the total
force exerted between the I and J parts is equal to the sum of the elastic force specified above and the following damping force: Fdamping = STEP MAX(0, impact_length - DM(i,j)), 0, 0, 0.1, dampingRate * VR ( marker i, marker j )) nonlinear (spline based) - If you include in the property file a nonlinear damping value, then the total force exerted between the I and J parts is equal to the sum of the elastic force specified above and the following damping force: F damping = STEP MAX(0, impact_length - DM(i,j)), 0, 0, 0.1, -
120 Adams/Car
Forces
AKISPL ( VR ( marker i, marker j ), 0, dampingSpline )) About Bumpstop Property Files The bumpstop component supports the following types of property files:
TeimOrbit (TeimOrbit File Format) bumpstop property files (extension .bum). Standard
TeimOrbit bumpstop property files correspond to nonlinear elastic forces with linear damping equal to 0 formulation. Learn more with Bumpstop dialog box help.
XML (XML File Format) bumpstop property file. The XML bumpstop property file enables data
sharing with other MSC.Software applications, such as Adams/Chassis, and allows greater flexibility and a wider range of bumpstop formulation choices. In particular, the new XML bumpstop property file supports various methods and options for the calculation of force characteristics, as explained in Calculation of Force Characteristics. You work with XML files in the Property File Editor.
Creating and Modifying Reboundstops When working in Template Builder, you can create reboundstops and then modify them. When working in Standard Interface, you can only modify reboundstops. Learn about the interface modes. To create a reboundstop: From the Build menu, point to Forces, point to Reboundstop, and then select New.
Press F1 and then follow the instructions in the dialog box help for Create/Modify Reboundstop Select OK.
To modify a reboundstop in the Template Builder: To display the modify dialog box, do one of the following:
From the Build menu, point to Forces, point to Reboundstop, and then select Modify. To
load the parameters for a specific reboundstop, you must specify the reboundstop you want to modify.
Right-click a reboundstop, point to its name, and then select Modify. The dialog box has the
To modify a reboundstop in the Standard Interface: In Standard Interface, right-click a reboundstop, point to its name, and then select Modify. The dialog box has the reboundstop parameters already loaded.
Press F1 and then follow the instructions in the dialog box help for Modify Reboundstop. Select OK.
Force Calculation The force in a rebound stop always acts to keep two parts from moving farther apart. The force is active only when the distance between the parts as computed by dm(i,j) exceeds the impact length. You specify the impact length directly or indirectly as the initial clearance in the rebound stop. When you specify a clearance, the impact length is calculated from the clearance as follows: dmCalc + Clearance where:
Clearance is the value you specify dmCalc is the initial displacement computed between the i and j markers
Further, the force in a rebound stop is the sum of an elastic force and a damping force. The XML property file supports various options for calculating either force. The options available for calculating elastic force (F elastic) are:
polynomial - The for calculated using a third-order polynomial. The Adams/Solver function
expression is:
F elastic = POLY(MAX(0,DM(i, j) - impact_length),0,0,- linearRate,quadraticRate,-cubicRate) nonlinear (spline based) - The force is interpolated using Akima's method based on force vs.
deflection data.
F elastic = -1.0*(AKISPL(MAX(0,DM( i , j ) - impact_length),0,Spline))
122 Adams/Car
Forces
The damping force always acts in opposition to the velocity. In an XML (XML File Format) reboundstop property file, the options for calculating damping force are:
linear - You specify the dampingRate, and the damping force is the product of dampingRate,
velocity, and a STEP function. The STEP function depends on the displacement in the rebound stop and ensures the damping force is continous with displacement.
Fdamping = STEP (MAX(0, DM(I,J) - impact_length), 0, 0, 0.1, -dampingRate * VR ( marker i, marker j )) nonlinear (spline based) - The damping force is interpolated using Akimas method from a
table of force vs. velocity. Again, a STEP function dependent on the displacement in the rebound stop ensure that the damping force is continous with displacement.
F damping = STEP (MAX(0, DM(I,J) - impact_length), 0, 0, 0.1, -AKISPL VR ( marker i, marker j ), 0, dampingSpline ))
About Reboundstop Property Files The reboundstop component supports the following types of property files:
TeimOrbit (TeimOrbit File Format) reboundstop property files (extension .reb) - Standard
TeimOrbit reboundstop property files correspond to nonlinear elastic forces with linear damping equal to 0 formulation. Learn more with Reboundstop dialog box help.
XML (XML File Format) reboundstop property file - The XML reboundstop property file enables
data sharing with other MSC.Software applications, such as Adams/Chassis, and allows greater flexibility and a wider range of reboundstop formulation choices. In particular, the new XML reboundstop property file supports various methods and options for the calculation of force characteristics, as explained in Calculation of Force Characteristics. You work with XML files in the Property File Editor.
124 Adams/Car
Adjustable Forces
An adjustable force is a special Template Builder user-defined element (UDE). You can use adjustable forces for a variety of conditions, to satisfy static parameters in your model. For example, if you want to set the length of a rod to be a specific length during static analysis, the adjustable force will vary until the desired end condition is satisfied. In Adams/Car for example, a typical application is to use an adjustable force to set toe and camber values during a static suspension analysis. You might use two parts to define the tie rod and attach them by a translational joint. You would then apply an adjustable force between the two parts to set toe and camber values. When the vehicle reaches static equilibrium without the use of adjustable forces, the toe and camber alignments might not be the ones that you want. You use adjustable forces to define toe and camber angles at static equilibrium position. Adjustable forces act between two appropriate parts and perform a series of adjustments during static equilibrium to minimize the error between the current computed toe/camber angle and the desired toe/camber. You might, for example, use two parts for the tie rod, constrain them using a translational joint, and then apply an adjustable force between the two parts to set static toe angle. The current formulation creates a single-component force that acts between the two parts. The force function uses stiffness and damping values that you can set. The user-defined force uses a differential equation to minimize the error between desired and computed angles.
The _double_wishbone_torsion template distributed in the shared car database contains an example of an adjustable force. If more than one adjustable force is defined in a model, you must use the pattern statement within the adjustable force definition. The pattern statement defines the order in which adjustable forces are active. The following table defines four adjustable forces. Adjustable force: Front left toe Front right toe Front left camber Front right camber Rear left toe Rear right toe Rear left camber Rear right camber 10 10 01 01 10 10 01 01 Pattern 1: Pattern 2: 1010 1010 0101 0101 1010 1010 0101 0101 Pattern 3: 10101010 10101010 01010101 01010101 10101010 10101010 01010101 01010101
In Pattern 1, two separate static analyses would be run. In the first analysis, the toe adjustable forces would be active. During the second analysis, the camber adjustable forces would be active. In Pattern 2, four separate static analyses would be run and the same order as in Pattern 1 would be repeated. Because the camber is directly affected by the toe change and the toe change is affected by the camber, it is often desirable to build up patterns such that you can find a static solution by running a number of separate static analysis. Pattern 3 is an example of eight separate static analyses. Once the static analysis has been run, one of two things will happen depending on whether the lock with motion was set for the adjustable force. For example, in Adams/Car an adjustable force might be created between the tie rod inner and tie rod outer parts. If the adjustable force is locked with motion, then after the statics is complete, Adams/Car will create a fixed joint between the two tie rod parts, fixing the displacement between these parts for subsequent dynamic analyses. But if the adjustable force is not locked, then the same force between the tie rod parts at the end of the static analysis will be maintained during subsequent dynamic analyses. In Standard Interface, to modify an adjustable force: 1. From the Adjust menu, select Adjustable Force. 2. Press F1 and then follow the instructions in the dialog box help for Modify Adjustable Force. 3. Select OK. In Template Builder, to create or modify an adjustable force: 1. From the Build menu, point to Adjustable Force, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Adjustable Force.
126 Adams/Car
3. Select OK.
Gears
We provide two constraint-based gear options within the Template Builder:
Differential gear - The differential gear applies a reduction ratio between an input joint and the
symmetric output joint pair. The joint can be either revolute or cylindrical. The motion direction can be inverted between the input and output joints and a toggle exists to switch between the two different modes, allowing the reduction ratio to always be positive. The reduction ratio is based on the following equation: input motion = reduction ratio * (output motion1- output motion2)/2 You can define the differential gear to be kinematically active, allowing the element to be turned on or off depending on the type of analysis you are running: compliant or kinematic.
Reduction gear - The reduction gear applies a reduction ratio between the input and output
joint. Either joint type can be translational, revolute, or cylindrical. Additionally, the motion direction can be inverted between the input and output joints and a toggle exists to switch between the two different modes, allowing the reduction ratio to always be positive. When you enter a cylindrical joint in the input or output Joint text box, an additional text box becomes active. Because either the rotational or translational degree of freedom of the cylindrical joint can be used, you must specify if the rotational or translational motion will be the output for the gear. The reduction ratio is based on the following equation:
input motion = reduction_ratio * output motion
You can define the differential gear as being kinematically active, allowing the element to be turned on or off depending on the type of analysis you are running: compliant or kinematic. Note:
Actuators
We provide several actuator options with the Template Builder. An actuator lets you define an element that can apply a force or motion function to a collection of modeling components. For example, you might want to create a motion on a valvetrain system, or steer a vehicle around a corner. These components include joints and parts but are not limited only to these. Learn more about actuators:
About Actuators Joint-Force Actuators Joint-Motion Actuators Point-Point Actuators Point-Torque Actuators Variable Actuators Set Function Set Activity
About Actuators
When used with appropriate feedback channels, actuators provide a very powerful method to control your system. Actuators differ from adjustable forces due to their behavior during dynamic analyses, with actuators remaining active, whereas adjustable forces are either locked in place or replaced by a fixed joint. If you create actuators as a symmetrical pair, then you can define separate left and right functions. You can use the Function Builder to define functions. Each actuator can have an application area and an identifier. The application area provides information about the intended purpose of the actuator. The identifier should be used to describe the actuator instance for this application area. A typical example would be: Application area = steering Identifier = steering_wheel_angle (e.g. for a motion type actuator) These two additional parameters support a more dynamic use of actuators. For example, to allow de/activation and function assignment on the assembly level by adding additional means for browsing and filtering. Note that they are currently not required by your template-based product. You can define limits for each actuator in the same way that you would define limits in a test laboratory to prevent damage caused by excessive actuator force or travel. Although you can define limits for force, displacement, velocity, and acceleration, it is not required that you do so.
128 Adams/Car
Actuators
You can define the activity of the actuator as either active or not active. You can define the activity either from the dialog box or from the menu option Set Activity located under the Actuators menu. Learn about defining the activity.
Joint-Force Actuators
A joint-force actuator defines either a translational or rotational Single-Component Force acting between two parts that a user-defined joint connects. You can select three types of joints:
Revolute joint - Selecting a revolute joint causes the Template Builder to automatically switch
to rotational and disable the Type of Freedom option. The single-component force will be a rotational force acting between the two bodies that the revolute joint connects.
Translational joint - Selecting a translational joint causes the Template Builder to automatically
switch to translational and disable the Type of Freedom option. The single-component force will be a translational force acting between the two bodies that the translation joint connects.
Cylindrical joint - Selecting a cylindrical joint makes an additional text box active. Because
either the rotational or translational degree of freedom of the cylindrical joint can be used, you must specify if the rotational or translational force will be used. This allows you to decide between the creation of a torque or a force, based on the selection of either the rotational or translational type of freedom.
Learn more about actuators, such as creating symmetrical pairs, using application area and identifier attributes, and defining limits.
To create/modify a joint-force actuator: 1. From the Build menu, point to Actuators, point to Joint Force, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Joint Force Actuator. 3. Select OK.
Point-Point Actuators
A point-point actuator defines an action-reaction translational single-component force acting between the two parts that I Part and J Part parameters specify. You define the direction of the resulting force by selecting the two points of force application, which can be either hardpoint or construction frame locations.
Learn more about actuators, such as creating symmetrical pairs, using application area and identifier attributes, and defining limits.
To create/modify a point-point actuator: 1. From the Build menu, point to Actuators, point to Point Torque, and then select New/Modify.
2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Point Point Actuator. 3. Select OK.
Joint-Motion Actuators
A joint-motion actuator defines either a translational or rotational motion acting between two parts that a user-defined joint connects. You can select three types of joints:
Revolute joint - Selecting a revolute joint causes the Template Builder to automatically switch
to rotational and disable the Type of Freedom option. The motion will be a rotational motion acting between the two bodies that the revolute joint connects.
Translational joint - Selecting a translational joint causes the Template Builder to automatically
switch to translational and disable the Type of Freedom option. The motion will be a translational motion acting between the two bodies that the translational joint connects.
Cylindrical joint - Selecting a cylindrical joint makes an additional text box active. Because
either the rotational or translational degree of freedom of the cylindrical joint can be used, you must specify if the rotational or translational motion will be used. This allows you to decide between the creation of a rotational or a translational motion based on selection of either the rotational or translational type of freedom.
Learn more about actuators, such as creating symmetrical pairs, using application area and identifier
attributes, and defining limits. To create/modify a joint-motion actuator: 1. From the Build menu, point to Actuators, point to Joint Motion, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Joint Motion Actuator. 3. Select OK.
Point-Torque Actuators
A point-torque actuator defines an action-reaction or action-only rotational single-component torque acting between the two parts that the I Part and J Part parameters specify. You define the direction of the resulting torque within the dialog box. Many of the parametric functions discussed in Construction Frames are available to define the position and orientation of the resulting actuator. If you define the actuator as action only, then the J Part text box is disabled and no reaction is exerted.
Learn more about actuators, such as creating symmetrical pairs, using application area and identifier
attributes, and defining limits. To create/modify a point-torque actuator: 1. From the Build menu, point to Actuators, point to Point Torque, and then select New/Modify.
130 Adams/Car
Actuators
2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Point Torque Actuator. 3. Select OK.
Variable Actuators
A variable actuator is a user-defined element consisting of a data element variable and a series of additional elements, such as strings and arrays. A variable actuator can be particularly useful where either parts or joints cannot be referenced. An example of a variable actuator is the velocity of a vehicle: the function could define a changing velocity which is then referenced by several other modeling components.
Learn more about actuators, such as creating symmetrical pairs, using application area and identifier attributes, and defining limits.
To create/modify a variable actuator: 1. From the Build menu, point to Actuators, point to Variable, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Variable Actuator. 3. Select OK.
Set Function
You can use the set function menu item to modify or replace the function that you defined. You can use the Function Builder to define functions. To set actuator function: 1. From the Build menu, point to Actuators, and then select Set Function. 2. Press F1 and then follow the instructions in the dialog box help for Actuator Set Function. 3. Select OK.
Set Activity
You can use the set activity menu option to set the actuator to be either active or not active. The not active option is particularly useful when actuator elements are not required. To set actuator activity: 1. From the Build menu, point to Actuators, and then select Set Activity. 2. Press F1 and then follow the instructions in the dialog box help for Actuator Set Activity. 3. Select OK.
Condition Sensors
A condition sensor is a user-defined element that consists of a data element array and strings. It references an existing variable class element (data element variable or measure solver computed), which is then tied to the label and unit strings by the array. The array also encapsulates a request (for plotting convenience) and a units conversion factor. In essence, a condition sensor represents a relationship between a measurable solver quantity (the variable class object) and a string label identifier that can be used in an event file (.xml) to define a condition for Adams/Car full-vehicle analyses. Use of Condition Sensors in Adams/Car Adams/Car browses the assembly for condition sensor elements prior to each vehicle analysis and updates the data element end_conditions_array with the derived list. At the beginning of the simulation, the Standard Driver Interface (SDI) then uses the specified end condition measure string in the driver control file to identify the associated variable class object in the dataset, that calculates the quantity the end condition sensor should compare to the target value. This architecture allows you to extend the provided set of standard end conditions. If, for example, a ramp-steer like custom vehicle event should be ended when the turn radius falls short of a certain threshold, you could:
add a variable class element to calculate the desired turn radius variable name = .__MDI_SDI_TESTRIG.body_turn_radius function = (vx2 + vy2)1.5 / (vx*ay - vy*ax) add a condition sensor referencing the variable above label = "radius" variable = .__MDI_SDI_TESTRIG.body_turn_radius units = length
Then, you could use this new condition sensor with the following line in your driver control file: (END_CONDITIONS) {measure test value allowed_error filter_time delay_time group} 'RADIUS' '|<' 20000.0 500.0 0.0 0.0 Creating or Modifying Condition Sensors To create/modify condition sensors: 1. From the Build menu, point to Condition Sensors, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify Condition
Sensor.
3. Select OK.
132 Adams/Car
Feedback Channels
Feedback Channels
A feedback channel is a special user-defined element that contains a series of entities such as Adams/Solver measures and Adams/View variables. Creating a feedback channel effectively corresponds to creating a measure (Adams/Solver variable). It is then possible to display the measure. For information on creating, displaying, and managing strip charts based on measures, see the Adams/View online help. Feedback channels are used in the __MDI_SUSPENSION_TESTRIG for the controller. Your templatebased product creates two channels:
Raw_channel - Controls an absolute value. Offset_channel - Controls desired inputs for a deviation.
You can create feedback channels either as a symmetrical pair or individually. Each feedback channel has an application area and a unique identifier. The application area provides information about the intended purpose of the feedback channel. For example, you may want to specify an application area for engine velocity with the identifier specifying that the velocity will be at the crank. The following are possible naming schemes: Application area = engine_velocity Identifier = engine_velocity_crank If you create feedback channels as a symmetrical pair, then you can define separate left and right functions. You can use the Function Builder to define functions. You can offset the raw signal of the feedback channel by a desired real value. Entering a real number in this text box causes the Template Builder to create an additional measure whose function is the same as the raw channel, but it is offset by the specified value. Creating or Modifying User-Function Feedback Channel To create or modify a user-function feedback channel: 1. From the Build menu, point to Feedback Channels, point to User Function, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify User-Function Feedback Channel. Setting Function You can use the set function menu to modify or replace the function that you defined. Note that you have the option to specify a routine instead of a function. To set feedback channel function: 1. From the Build menu, point to Feedback Channels, and then select Set Function.
2. Press F1 and then follow the instructions in the dialog box help for Set Feedback Channel Function. Setting Offset You can use the set offset menu to modify the offset applied to the raw measured channel. You can toggle the activity of the offset on or off. To set feedback channel offset: 1. From the Build menu, point to Feedback Channels, and then select Set Offset. 2. Press F1 and then follow the instructions in the dialog box help for Set Feedback Channel Offset.
134 Adams/Car
General Parameters
The general parameter is an Adams/View variable whose real value is based on a value stored in a property file data block. The property file must be in the neutral file format of your template-based product. When your template-based product reads the property files, it updates the general parameter variable entity with the appropriate real value stored in the property file. The data block and attribute names in the Create General Parameter dialog box identify the data that is being accessed from the property file. Adams/Car uses a general parameter to model the piston area within a steering system. The steering system includes a data block as follows: $------------------------------------------------GENERAL_PARAMETER [GENERAL_PARAMETER] USAGE = 'rack_piston_area' SYMMETRY = 'single' PROPERTY_FILE = 'mdids://acar_shared/steering_assists.tbl/mdi_steer_assist.ste' DATA_BLOCK = 'STEERING_ASSIST' ATTRIBUTE_NAME = 'piston_area' The parameter DATA_BLOCK refers to the sub-block (steering_assist) in which the parameter can be found. The USAGE keyword describes the name of the attribute whose value must be located. The example below shows the data for the piston_area referenced above: $----------------------------------------------------STEERING_ASSIST [STEERING_ASSIST] piston_area <area> = 490.87 In this case, the general parameter variable (rack_piston_area) is set to 490.87. If your template-based product does not find the specified data blocks in the selected property file, then it issues a warning and the general parameter retains its default value (0.0).
To create or modify a general parameter: 1. From the Build menu, point to General Data Elements, point to Parameter, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify General Parameter. 3. Select OK.
General Splines
The general spline is a spline whose values are stored in a property file. The property file must be in the neutral file format of your template-based product. This method of creating splines allows great flexibility: you can define the splines in your model depending on the numerical content of the selected property files. When your template-based product reads the property files, it updates the spline entities with the appropriate referenced values stored in the property files. The data that is being accessed from the property file is identified by the data block and data sub-block names in the Create General Spline dialog box. This allows for a very quick and efficient way to modify your data, without manually modifying the data within an Adams spline. For example, you could store the boost curve characteristics of many different steering systems in separate property files and then test different steering systems by referencing those property files. If your template-based product does not find the specified data blocks in the selected property file, then it issues a warning and the spline retains its default values. You can also create a spline using the Build -> Data Element -> Spline menus.This spline differs from the general spline in a couple of subtle different ways:
A data element spline stores its data within the template and does not reference an external data
file defined by the neutral file format (TeimOrbit). Therefore, simple changes in data require that you manually manipulate this spline in the Template Builder.
Because you cannot make variations to the spline data within the standard user environment, you
cannot carry out what-if scenarios, which you can easily do with the general spline. Adams/Car uses a general spline to model steering characteristics. The steering subsystem includes a data block as follows: $----------------------------------------------------GENERAL_SPLINE [GENERAL_SPLINE] USAGE = 'steering_assist' SYMMETRY = 'single' TYPE = 'two_dimensional' PROPERTY_FILE = 'mdids://acar_shared/steering_assists.tbl/mdi_steer_assist.ste' CURVE_NAME = 'steering_assist' (COMMENTS) {comment_line} 'Example of a steering assist spline'
136 Adams/Car
The parameter steering_assist then refers to a sub-block of information within your property file. When your product reads the property file, it populates the general spline with the data. The following shows the data block for the steering_assist spline: $----------------------------------------------------STEERING_ASSIST [STEERING_ASSIST] piston_area <area> = 490.87 (XY_DATA) {tbar_deflection <angle> delta_pressure <MPa>} -3.00 -4.00 -2.20 -4.00 -1.80 -3.60 -1.50 -3.00 -1.00 -2.00 -0.50 -1.00 0.00 0.00 0.50 1.00 1.00 2.00 1.50 3.00 1.80 3.60 2.20 4.00 3.00 4.00 This mechanism lets you generate and use both 2D and 3D splines with data stored within your database structure by simply selecting the property file that stores the data and defining the data block. To create or modify a general spline: 1. From the Build menu, point to General Data Elements, point to Spline, and then select New/Modify. 2. Press F1 and then follow the instructions in the dialog box help for Create/Modify General Spline. 3. Select OK.
General Variables
The general variable is an Adams/Solver (data element) variable whose real value is stored in a property file data block. The property file must be in the neutral file format of your template-based product. When your template-based product reads the property files, it updates the general variable entity with the appropriate real value stored in the property file. The data block and attribute names in the Create General Variable dialog box identify the data that is being accessed from the property file. The mechanism described for the general parameter is equally applicable to the general variable. If your template-based product does not find the specified data blocks in the selected property file, then it issues a warning and the general variable function retains its default value (0.0). To create or modify a general variable: 1. From the Build menu, point to General Data Elements, point to Variable, and then select New/Modify.
2. Press F1 and then follow the instructions in the dialog box help for Create/Modify General Variable. 3. Select OK.
Parameter Variables
You can use parameter variables to parameterize various elements and entities in your template-based product. There are three types of parameter variables:
String - Does not contain units information, only a string value. Integer - Does not contain units information, only an integer value. Real - Can contain both a real value and a units specification.
Regardless of the parameter variable type, you can choose to hide the parameter variable from the standard user. When you designate a parameter variable as hidden, the standard user will not be able to access it using the Modify Parameter Variable dialog box in the Standard Interface.
Requests
You can use the Create Request dialog box to create a request statement and auxiliary variables used by your template-based product. A request statement indicates a set of data you want Adams/Solver to output in the request file (.req). You can explicitly do the following:
Output a set of displacements, velocities, accelerations, or forces with respect to existing markers in your template. Learn about markers. Define the generic request function Use the user-written subroutine REQSUB to define nonstandard output. For information on user-
written subroutines, see Adams/Solver Subroutines. For information on creating requests, see the Adams/View online help.
Data Elements
Data elements include arrays, curves, splines, matrices, and strings. For information on data elements, see the Adams/View online help
System Elements
System elements let you create general differential and/or algebraic equations. For information on system elements, see the Adams/View online help
138 Adams/Car
140 Adams/Car
Template Basics
Template Basics
Your template-based product's library includes a variety of templates. Templates define the topology, major role, and default parameters for subsystems. This tab includes template information that is specific to your product. For general template information, as well as information about the other files that make up model architecture, see Building Models.
example, in templates, parameter variables often store angles for a suspension or the orientation of axes.
Communicators - Communicators used in the template. Notes - Miscellaneous information about the template.
When we refer to communicator and parameter names, we often use the notation [lr] to indicate that there is both a left and right communicator or parameter of the specified name.
When building templates, keep in mind the assembly process. That is, make sure that your templates can communicate to each other and can communicate to the test rigs you specify. In Adams/Car, communicators define how models communicate.
Template Updates
The 2005 Driving Machine employs vehicle controllers developed by MSC.Software, commonly known as Machine Control, which replaces DriverLite functionality, and Adams/SmartDriver. You must update Adams/Car 2003 powertrain and body templates to make the compatible with the enhanced Driving Machine in Adams/Car. To better control speed and path, the 2005 Driving Machine needs additional information about the vehicle. In particular, the speed controller uses a feed-forward function to ensure quick and accurate response. However, this requires information about the available engine brake torque, engine drive torque, brake torque, and aerodynamic drag. You supply this information by creating new output communicators in your templates powertrain and body/aerodynamic templates. In addition, you must also enter vehicle parameter data, such as overall steering ratio that is stored in the assembly file. Powertrain Template Update You should update powertrain templates by creating new output communicators to match the following input communicators in the testrig used by the Driving Machine:
testrig.cis_max_engine_driving_torque testrig.cis_max_engine_braking_torque testrig.cis_engine_speed testrig.cis_engine_map
Maximum engine driving and braking torques For closed-loop machine control, the maximum engine driving and braking torques must be communicated to the Driving Machine. The machine control uses these values in its feed forward computations when determining the needed throttle and brake inputs to achieve a target longitudinal acceleration. The Driving Machine expects powertrain templates to provide these torques as Solver Variables. The torques should depend on the engine speed. You must add two output communicators to your powertrain template and the corresponding entities that are output. The entities are data element solver variables that compute the maximum driving and maximum braking torques the powertrain subsystem produces at the current engine speed. Note that without this information machine control of the vehicle speed and/or longitudinal acceleration will be unreliable. In the powertrain.tpl and .powertrain_lt.tpl template files distributed in the shared car database, there are Adams/Solver VARIABLEs with functions computing the maximum powertrain torque (fully open throttle) and maximum powertrain brake torque (closed throttle): AKISPL(MAX(0,VARVAL(engine_speed)/ucf_angle_to_radians),1,gss_en gine_torque)
142 Adams/Car
Template Basics
AKISPL(MAX(0,VARVAL(engine_speed)/ucf_angle_to_radians),0,gss_en gine_torque) These functions interpolate the 3D engine map spline at the current engine speed for at full throttle (max engine driving torque) and closed (0) throttle position (max engine braking torque). The output communicators you create to output these Adams/Solver VARIABLE are: Name: engine_driving_torque Matching Name: engine_maximum_driving_torque Entity Type: solver_variable Minor Role: inherit Entity: engine_driving_torque Name: engine_braking_torque Matching Name: engine_maximum_braking_torque Entity Type: solver_variable Minor Role: inherit Entity: engine_braking_torque Engine Map If your powertrain contains an engine map spline (torque vs. engine speed and throttle position), you can output the spline to the Driving Machine via an output communicator to achieve better control of speed and longitudinal acceleration. However, the engine map is optional. Define the engine_map output communicator as: Name: engine_map Matching Name: engine_map Entity Type: spline Minor Role: inherit Entity: gss_engine_torque In the templates powertrain.tpl and powertrain_lt.tpl distributed in the shared car database, the engine_map output communicators reference the gss_engine_torque spline entity. In your own templates, choose the appropriate spline. The engine speed is a solver variable outputting the engine speed in radians/s. Engine speed In the case of a closed-loop controller on the vehicle forward velocity, you must define an output communicator in your powertrain template, as follows: Name: engine_speed Matching Name: engine_speed
Entity Type: solver_variable Minor Role: inherit Entity: engine_speed The solver variable, engine_speed, represents the engine rotational velocity expressed in angular/time units [rad/second]. In the powertrain template distributed in the shared car database , engine_speed is defined as MAX(0,DIF(._powertrain.engine_omega)). The __mdi_sdi_testrig references the output communicator you define and SmartDriver uses that communicator in the smart_driver_controller_inputs_array. The SmartDriver controller input array references various entities used to sense certain vehicle states. Adding the engine_speed communicator enables the longitudinal controller so you can perform a constant-speed maneuver or any other type of closed-loop machine control. Aero Drag Force If your vehicle model includes aerodynamic forces, then the drag force affects the longitudinal dynamics of the vehicle. The feed-forward speed controller can account for the drag force when predicting the throttle position needed to follow velocity or acceleration profile, if you create an output communicator that passes the aerodynamic drag force to the __mdi_sdi_testrig. If your vehicle model does not include aerodynamic forces, then you do not need to create an output communicator for the drag force. The chassis template delivered in the shared car database, for example, has an aerodynamic force modeled using a GFORCE. The GFORCEs drag (longitudinal) force component is measured in a solver VARIABLE named aero_drag_force with this function expression: GFORCE(aero_forces,0,4,aero_drag_reference_marker) Then, the aerodynamic drag is output to the __mdi_sdi_testrig using output communicator of type solver variable: Name: aero_drag_force Matching Name: aero_drag_force Entity Type: solver_variable Minor Role: inherit Entity: aero_drag_force Other Vehicle Parameters Some sets of quantities that are used by the Adams/SmartDriver lateral and longitudinal controllers cannot be easily inferred from the vehicle model. These quantities are defined in the test rig as parameter variables and are easily accessible. To modify vehicle parameters, display the Set Full-Vehicle Parameters dialog. From the Simulate menu, point to Full Vehicle Analysis, and then select Set FullVehicle Parameters. In the resulting dialog box, you can set the following ratios that affect the lateral dynamics of the vehicle, providing Adams/SmartDriver information about the characteristics of the steering system. Bad values
144 Adams/Car
Template Basics
almost certainly guarantee solver failure in closed-loop events or, if successful, the vehicle will most certainly be off course.
Steering Ratio - Dimensionless ratio between the steering wheel angle and the road wheel
angle. You can obtain this value by running a steering analysis on the front suspension and steering assembly.
Steering Rack Ratio - Ratio (angle/length) between the steering hand wheel and the rack
displacement expressed in S.I. units. This parameter influences the response of the controller only when driving by force/displacement. The following parameters help Adams/SmartDriver in predicting and calculating the brake signal:
Max. Front/Rear Brake Torque - Maximum torque, expressed in model units, representing the
torque generated for each front/rear brake in condition of maximum brake demand, also expressed in model units.
Brake Bias - Front to rear dimensionless ratio. It can be computed as max_front_brake_torque /
(max_front_brake_torque + max_rear_brake_torque). These parameters are saved to the assembly file, as well as to the test rig in session.
define all key locations in your model. They are the most elementary building blocks that you can use to parameterize locations and orientations for higher-level entities. Hardpoint locations define most parts and attachments. Hardpoints are only defined by their coordinate locations.
Creating parts - Once youve defined hardpoints, you create parts and define them using the hardpoints that you created. In this tutorial, you create two types of parts: General Parts, such as control arm and wheel carrier, and Mount Parts. Creating attachments - Finally, you create the attachments, such as joints and bushings, and
parameters which tell Adams/Car how the parts react in relation to one another. You can define attachments for the compliant and kinematic analysis modes. The compliant mode uses bushings, while the kinematic mode uses joints. Before you begin to build a template, you must decide what elements are most appropriate for your model. You must also decide which geometries seem most applicable to each part or whether you want any geometry at all. Once youve decided, you create a template and create the basic topology for it.
Templates
Disc-Brake System
Overview The disc-brake system template represents a device that applies resistance to the motion of a vehicle.
Figure 1
Disc-Brake System
Template name _brake_system_4Wdisk Major role Brake. Application Full-vehicle Analysis to simulate the effect of braking on the dynamics of the vehicle. Description The disc-brake system template represents a simple model of a brake system. It applies a rotational torque between the caliper and the rotor.
146 Adams/Car
Templates
Files referenced None. Topology The caliper part is mounted to the suspension upright, while the rotor is mounted to the wheel. A rotational SFORCE is applied between the two parts. Parameters The toe and camber values that the suspension subsystem publishes define the spin axis orientation. In addition, the braking torque is expressed as a function of a number of parameters. The following table lists the parameters in the template. The parameter: front_brake_bias front_brake_mu front_effective_piston_radius front_piston_area front_rotor_hub_wheel_offset front_rotor_hub_width front_rotor_width max_brake_value rear_brake_mu rear_effective_piston_radius rear_piston_area rear_rotor_hub_wheel_offset rear_rotor_hub_width rear_rotor_width Limitations The disc-brake template is a simple model of a brake system. It does not model the complex interaction between the rotor and caliper. Communicators Mount parts provide the connectivity between the template and suspension subsystems. Input Communicators receive information about the toe and camber suspension orientation and the wheelcenter location. Input to the brake system is brake demand. Takes the value: Real Real Real Real Real Real Real Real Real Real Real Real Real Real No units No units mm mm2 mm mm mm No units No units mm mm2 mm mm mm Its units are:
The following table lists the communicators in the template. The communicator: ci[lr]_front_camber_angle ci[lr]_front_rotor_to_wheel ci[lr]_front_toe_angle ci[lr]_front_wheel_center ci[lr]_front_suspension_ upright ci[lr]_rear_rotor_ro_wheel ci[lr]_rear_suspension_ upright ci[lr]_rear_toe_angle ci[lr]_rear_camber_angle ci[lr]_rear_wheel_center cis_brake_demand cos_max_brake_value Belongs to the class: parameter_real mount parameter_real location mount mount mount parameter_real parameter_real location solver_variable parameter_real front front front front front rear rear rear rear rear any inherit Has the role:
148 Adams/Car
Templates
Notes:
The torque on the rotor depends on a number of parameters. The front right torque function is: T = 2 x PistonArea x BrakeLinePressure x x EffectivePistonRadius x STEP where:
BrakeLinePressure is calculated as follows:
Note that although the term is constant, in reality, simple hydraulic systems allow dynamic front and rear proportioning of the brake pressure depending on a number of factors, including longitudinal slip angle of the tires and dynamic load transfer.
BrakeDemand is the force on the pedal (N) as it is output from the analysis. 0.1 is a conversion factor that converts into pressure the force applied on the
pedal.
STEP is the function of the rotation of the rotor to wheel and suspension upright
markers. The function prevents backward spinning of the wheels. STEP is a simple function that measures the WZ rotation of the marker on the rotor with respect to the marker on the upright and reverses the sign of the applied torque if the wheel is spinning backward.
Double-Wishbone Suspension
Overview A double-wishbone suspension is one of the most common suspension designs. It uses two lateral control arms to hold the wheel carrier and control its movements.
Figure 2
Double-Wishbone Suspension
Template name _double_wishbone Major role Suspension Application Suspension and full-vehicle assemblies
150 Adams/Car
Templates
Description The double-wishbone template represents the most common design for doublewishbone suspensions. You can use the template as a front steerable suspension or as a rear non-steerable suspension. You can set subsystems based on this template to kinematic or compliant mode. In kinematic mode, Adams/Car replaces the bushings that connect the control arms to the body mount part with a corresponding purely kinematic constraint. Adams/Car also does this for the top mount and lower strut mount. You can deactivate the subframe part, as well as the halfshafts. A spring acts between the upper mount part and the lower strut. A bumpstop acts between the upper and lower strut parts. Files referenced Bushings, springs, dampers, and bumpstops property files Topology The lower wishbone connects to a subframe or to the mount if you've deactivated the subframe. The upper wishbone connects to the body mount part. A spherical joint constrains the upright part to the upper and lower arms. A spherical joint also connects the tie rods to the uprights. Tie rods attach to mount parts through convel joints. Convel joints also connect the tripots to the drive shafts. A static rotation control actuator locks the rotational degree of freedom of the hub during quasi-static analyses. The joint: jklrev_lca jolsph_lca_balljoint jolsph_tierod_outer jolcon_tierod_inner josfix_subframe_rigid jklhoo_top_mount_kinematic jolsph_uca_balljoint jolcyl_lwr_upr_strut jklrev_uca jklhoo_lwr_strut_kinematic joltra_tripot_to_differential jolcon_drive_sft_int_jt jolcon_drive_sft_otr Connects the part: gel_lower_control_arm gel_upright gel_tierod gel_tierod ges_subframe gel_upper_strut gel_upper_control_arm gel_lower_strut gel_upper_control_arm gel_lower_strut gel_tripot gel_tripot gel_drive_shaft To the part: ges_subframe gel_lower_control_arm gel_upright mtl_tierod_to_steering mts_subframe_to_body mtl_strut_to_body gel_upright gel_upper_strut mtl_uca_to_body gel_lower_control_arm mtl_tripot_to_differential gel_drive_shaft gel_spindle
Parameters Toe and camber variables define wheel spin axis, spindle part, and spindle geometry. The following table lists the parameters in the template. The parameter: phs_driveline_active phs_kinematic_flag pvs_subframe_active pv[lr]_toe_angle pv[lr]_camber_angle pv[lr]_drive_shaft_offset Takes the value: Integer Integer Integer Real Real Real No units No units No units Degrees Degrees mm Its units are:
152 Adams/Car
Templates
Communicators Mount parts provide connectivity from the template to body subsystems and the differential. Output Communicators publish toe, camber, steer axis, and wheel-center location information to the appropriate subsystems and the test rig. The following table lists the input and output communicators. The communicator: ci[lr]_ARB_pickup ci[lr]_strut_to_body ci[lr]_tierod_to_steering ci[lr]_tripot_to_differential ci[lr]_uca_to_body cis_subframe_to_body co[lr]_arb_bushing_mount co[lr]_camber_angle co[lr]_droplink_to_ suspension co[lr]_suspension_mount co[lr]_suspension_upright co[lr]_toe_angle co[lr]_tripot_to_differential co[lr]_wheel_center cos_driveline_active cos_engine_to_subframe cos_rack_housing_to_suspension_subframe cos_suspension_parameters_ARRAY Belongs to the class: location mount mount mount mount mount mount parameter_real mount mount mount parameter_real location location parameter_integer mount mount array Has the role: inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit
Note:
The integer parameter variables allow you to activate and deactivate the subframe part and the driveshafts. The kinematic flag variable toggles between kinematic and compliant mode.
Figure 3
Template name _double_wishbone_flex Major role Suspension Application Suspension and full-vehicle assemblies Description Flexible bodies replace the left and right rigid lower control arms.
154 Adams/Car
Templates
MNF files referenced LCA_left_shl.mnf and LCA_right_shl.mnf. In addition, because of the way the node IDs are numbered, you can swap the default modal neutral files with LCA_left_tra.mnf and LCA_right_tra.mnf. Topology In addition to the general topology described for the Double-Wishbone Suspension, this template uses interface parts to connect the flexible bodies to the rest of the suspension. Node IDs define the location of interface parts. Parameters, Communicators & Notes Refer to the Double-Wishbone Suspension.
Figure 4
Major role Environment Application With the optional Adams/Driver module Description The ISO road course template consists of shell elements and frustums, and represents a closed circuit with an ISO lane-change section. Files referenced Geometry elements (shells) reference shell files stored in the Adams/Car shared database in the shell_graphics.tbl directory. The shell files are Iso_road_inr.shl, Iso_road_otr.shl, and Iso_road_c.shl. Topology All the graphic elements are created on the ground part. Parameters Contains no parametric information. Communicators Contains no communicators. Note:
The corresponding Adams/Driver representation of this course is available as a trace on the x-y plane and lane width in the driver_roads.tbl directory. The file is called ISO_road_course.drd. You can use the file to run full-vehicle analyses with Adams/Driver. Including the ISO road course template in your full-vehicle assembly adds a graphical representation of the circuit.
MacPherson Suspension
Overview The MacPherson suspension design in this template is similar to the SLA geometry, and is probably the most often used suspension for passenger cars in the world. It uses a telescopic strut incorporating a
156 Adams/Car
Templates
damper element. The upper end is fixed to the body and the lower end is located by linkages. The MacPherson design provides advantages in packaging, and it is generally used for front-wheel-drive cars.
Figure 5
MacPherson Suspension
Template name _macpherson Major role Suspension Application Suspension and full-vehicle assemblies Description The MacPherson suspension template represents the most common design for MacPherson suspensions. You can use the template as a front steerable suspension or as a rear non-steerable suspension. You can set the subsystems based on this template to kinematic or compliant mode. In kinematic mode, Adams/Car replaces the bushings with the corresponding kinematic constraints. The bushings connect
the control arm and the damper strut to the body mount parts. You can also activate or deactivate driveshafts. A spring acts between the upper strut part and the lower strut. Bumpstops and reboundstops are also present. Files referenced Bushings, springs, dampers, bumpstops, and reboundstops property files Topology The MacPherson suspension template represents a standard design employing a one-piece lower control arm (also known as A-arm) and a subframe. The upright to which the wheel mounts is located by the lower control arm, the tie rod, and the strut. The lower control arm regulates the fore-aft and lateral motions of the upright. The tie rod controls steering rotation of the upright, and the strut controls the vertical motion of the upright and the side and front view rotations, as well. A static rotation control actuator locks the rotational degree of freedom of the hub during quasi-static analyses. The following table lists the topological information of the left side of the MacPherson suspension. The joint: jklrev_lca jolsph_lca_balljoint jolcyl_strut jolsph_tierod_outer jolcon_tierod_inner jksfix_subframe_rigid jklhoo_top_mount_kinematic joltra_tripot_to_differential jolcon_drive_sft_int_jt jolcon_drive_sft_otr jolrev_spindle_upright Connects the part: gel_lower_control_arm gel_upright gel_upright gel_tierod gel_tierod ges_subframe gel_upper_strut gel_tripot gel_tripot gel_drive_shaft gel_spindle To the part: ges_subframe gel_lower_control_arm gel_upper_strut gel_upright mtl_tierod_to_steering mts_subframe_to_body mtl_strut_to_body mtl_tripot_to_differential gel_drive_shaft gel_spindle gel_upright
158 Adams/Car
Templates
Parameters Toe and camber variables in the template define the wheel spin axis, spindle part, and spindle geometry. The following table lists the parameters in the templates. The parameter: phs_driveline_active phs_kinematic_flag pv[lr]_toe_angle pv[lr]_camber_angle pv[lr]_drive_shaft_offset Takes the value: Integer Integer Real Real Real Its units are: No units No units Degrees Degrees mm
Communicators Mount parts provide the connectivity from the template to the body subsystems and differential. Output communicators publish toe, camber, steer axis, and wheel-center location information to the appropriate subsystems and test rig. The following table lists the input and output communicators in the template. The communicator: ci[lr]_ARB_pickup ci[lr]_strut_to_body ci[lr]_tierod_to_steering ci[lr]_tripot_to_differential cis_subframe_to_body co[lr]_arb_bushing_mount co[lr]_camber_angle co[lr]_droplink_to_ suspension co[lr]_suspension_mount co[lr]_suspension_upright co[lr]_toe_angle co[lr]_tripot_to_differential co[lr]_wheel_center cos_driveline_active cos_rack_housing_to_ suspension_subframe cos_suspension_parameters_ARRAY Belongs to the class: location mount mount mount mount mount parameter_real mount mount mount parameter_real location location parameter_integer mount array Has the role: inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit
Note:
The integer parameter variables let you activate and deactivate the driveshafts. The kinematic flag variable toggles between kinematic and compliant mode replacing the joints with the corresponding elastic elements. For example, Adams/Car replaces the revolute joints that connect the lower control arms to the subframe with bushings
160 Adams/Car
Templates
Multi-Link Suspension
Overview The multi-link suspension represents an independent suspension model for use as a rear suspension.
Figure 6
Multi-Link Suspension
Template name _multi_link Major role Suspension Application Suspension and full-vehicle assemblies Description The multi-link suspension template represents a common rear independent suspension design. It includes a subframe (represented by the outline graphics) that is connected to the upper arm, to the lateral links, and to the track rod. The suspension is nonsteerable and intended to be used as a rear suspension only.
Files referenced Springs, dampers, and bushings property files Topology Spherical joints, which are active in kinematic mode, connect the uprights to links. Bushings connect the trailing links to the mount parts. Springs and dampers act between the trailing links and the body. A static rotation control actuator locks the rotational degree of freedom of the hub during quasi-static analyses. The following table provides a topological map of the template. The joint: jklsph_hub_tl jklhoo_trailing_link_body jklrev_ula_sbf joltra_dpr_upr_dpr_lwr jklsph_dpr_lwr_tl jklhoo_dpr_spring_seat_upper jksfix_sbf_body jklsph_hub_ll jklsph_hub_tr jklhoo_sbf_ll jklhoo_sbf_tr jklsph_hub_ula joltra_tripot_to_differential jolcon_drive_sft_int_jt jolcon_drive_sft_otr jolrev_spindle_upright Parameters Toe and camber variables in the template define the wheel spin axis, spindle part, and spindle geometry. The following table lists the parameters in the templates. The parameter: phs_driveline_active phs_kinematic_flag pvs_subframe_active Takes the value: Integer Integer Integer No units No units No units Its units are: Connects the part: gel_Upright gel_Trailing_Link gel_upper gel_Damper_Upper gel_Damper_Lower gel_Damper_Upper ges_Subframe gel_Upright gel_Upright ges_Subframe ges_Subframe gel_Upright gel_tripot gel_tripot gel_drive_shaft gel_spindle To the part: gel_Trailing_Link mtl_trailing_link_body ges_Subframe gel_Damper_Lower gel_Trailing_Link mtl_Spring_Seat_Upper mtl_body_sbf_front gel_lateral gel_Track_Rod gel_lateral gel_Track_Rod gel_upper mtl_tripot_to_differential gel_drive_shaft gel_spindle gel_Upright
162 Adams/Car
Templates
The following table lists the communicators in the template. The communicator: ci[lr]_body_sbf_front ci[lr]_body_sbf_rear ci[lr]_Spring_Seat_Upper ci[lr]_trailing_link_body ci[lr]_tripot_to_differential co[lr]_camber_angle co[lr]_suspension_mount co[lr]_suspension_upright co[lr]_tripot_to_differential co[lr]_wheel_center cos_driveline_active cos_suspension_ parameters_ARRAY Belongs to the class: mount mount mount mount mount parameter_real mount mount location location parameter_integer array Has the role: inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit
Note:
The integer parameter variables let you activate and deactivate the subframe part and the driveshafts. The kinematic flag variable toggles between kinematic and compliant mode.
Figure 7
Parallel-Link Steering
Template name _parallel_link_steering Major role Steering Application Suspension and full-vehicle assemblies Description A recirculating ball steering gear transmits motion from the steering wheel to the pitman arm. The pitman arm rotates to impart motion to the center link and idler arm. The translation of the center link pulls and pushes the tie rods to steer the wheels.
164 Adams/Car
Templates
Files referenced Steering assist and torsion bar deflection property file. The default property file is mdi_steer_assis.ste, stored in the steer_assist.tbl directory of the shared Adams/Car database. Topology The recirculating ball steering gear consists of three major parts:
Ball screw Rack Sector
The steering wheel rotates the steering input shaft. A torsion bar attaches the steering input shaft to a ball screw. The ball screw imparts translational motion to the steering gear through a coupler. The steering gear, in turns, rotates the sector through a coupler, which is connected directly to the pitman arm shaft. The following table maps the topology of the template. The joint: joshoo_column_intermediate joshoo_intermediate_shaftinput josrev_steering_wheel joscyl_steering_column josfix_column_housing_to_housing_ mount jolsph_centerlink_arm jolrev_pitman_arm_steering_gear josrev_ball_screw_steering_gear josrev_input_shaft_steering_gear jostra_rack_steering_gear josfix_steering_gear_housing josper_centerlink_pitman_arm vfo_steering_assist gksred_ball_screw_input_shaft_lock grsred_steering_wheel_column_lock Connects the part: ges_steering_column ges_intermediate_shaft ges_steering_wheel ges_steering_column ges_column_housing ges_center_link gel_arm ges_ball_screw ges_input_shaft ges_rack ges_steering_gear_housing ges_center_link ges_rack To the part: ges_intermediate_shaft ges_input_shaft ges_column_housing ges_column_housing mts_steering_column_to_body gel_arm swl_steering_gear_mount swl_steering_gear_mount swl_steering_gear_mount swl_steering_gear_mount swl_steering_gear_mount gel_arm swl_steering_gear_mount
To the part:
Parameters A parameter variable switches between kinematic and compliant mode, effectively defining the status of the ball screw input shaft lock reduction gear. Communicators The following table lists the communicators in the template. The communicator: ci[lr]_steering_gear_to_body cis_steering_column_to_ body co[lr]_tierod_to_steering cos_max_rack_ displacement cos_max_rack_force cos_max_steering_angle cos_max_steering_torque cos_steering_rack_joint cos_steering_wheel_joint Belongs to the class: Has the role: mount mount mount parameter_real parameter_real parameter_real parameter_real joint_for_motion joint_for_motion inherit inherit inherit front inherit inherit inherit inherit inherit inherit
ci[lr]_steering_gear_to_suspension_subframe mount
Note:
The parallel-link steering template contains general spline elements. The general spline element gss_torsion_bar spline provides torque as a function of the angular deflection of the input shaft relative to the ball screw. A switch part is also present. It allows you to explore two different topological solutions. You can rigidly connect the steering gear to the body or to the suspension_subframe part.
166 Adams/Car
Templates
Figure 8
Template name _pitman_arm Major role Steering Application Suspension and full-vehicle assemblies Description A recirculating ball steering gear transmits motion from the steering wheel to the pitman arm. The pitman arm rotates to impart motion to the draglink. The draglink pulls and pushes the tie rod and steers the wheels.
Files referenced The point torque actuator references the torsion_bar datablock in the mdi_steering.ste property file, stored in the Adams/Car shared database, under the steer_assists.tbl table or directory. Topology The recirculating ball steering gear consists of three major parts:
Ball screw Rack Sector
The steering wheel rotates the steering input shaft. The steering input shaft attaches to the ball screw through a torsion bar, currently locked by a coupler. The ball screw imparts translational motion to the rack, through a coupler. The rack, in turns, rotates the sector through a coupler. The sector is connected directly to the pitman arm shaft. The pitman arm drags the draglink, which is directly connected to the right wheel, and pulls the tie rod, connected to the left wheel. Spherical joints connect the draglink and tie rod. The following table maps the topology of the template. The joint: joshoo_intermediate_shaft_i nput josrev_steering_wheel joscyl_steering_column Connects the part: ges_intermediate_shaft ges_steering_wheel ges_steering_column To the part: ges_intermediate_shaft ges_input_shaft ges_column_housing ges_column_housing mts_steering_column_to_body
joshoo_column_intermediate ges_steering_column
josfix_column_housing_to_h ges_column_housing ousing_mount josrev_pitman_arm_steering _gear jossph_centerlink_arm josrev_input_shaft_steering_ gear josrev_ball_screw_steering_ gear jostra_rack_steering_gear jossph_draglink_to_tierod
mts_steering_gear_to_suspension ges_idle_arm _subframe ges_idle_arm ges_input_shaft ges_ball_screw ges_rack ges_draglink ges_draglink mts_steering_gear_to_suspension _subframe mts_steering_gear_to_suspension _subframe mts_steering_gear_to_suspension _subframe ges_tierod
168 Adams/Car
Templates
A parameter variable switches between kinematic and compliant mode, effectively defining the status of the ball screw input shaft lock reduction gear. Communicators The following table lists the Communicators in the template. The communicator: ci[lr]_steering_gear_to_suspension_subframe cis_steering_column_to_ body cos_tierod_to_steering cos_draglink_to_steering cos_steering_wheel_joint Belongs to the class: mount mount mount joint_for_motion joint_for_motion Has the role: inherit inherit front inherit inherit
Note:
The pitman arm steering system template does not interface with any of the Adams/Car shared database suspension templates because those suspension templates have tie rods. To correctly assemble the pitman arm steering to a suspension subsystem, you must remove the tie rods from the suspension. The draglink and the tie rod have to be mounted to the left and right upright parts.
Powertrain System
Overview The Adams/Car shared database includes a powertrain template, powertrain.tpl. The template models an engine, manual transmission, and a limited-slip differential that may be used for a front engine, frontwheel-drive vehicle, or a rear engine, rear-wheel-drive vehicle.
Figure 9
Powertrain
Template name _powertrain Major role Powertrain Application Full-vehicle assemblies Description The powertrain system template represents an engine, clutch, transmission, and differential:
170 Adams/Car
Templates
Engine model - Consists of a single part (ges_engine) representing the total mass and inertia of
the engine block, clutch housing, and transmission. A general spline element (gss_engine_torque) represents the engine's steady-state torque versus engine speed and throttle position. Before any analysis, gss_engine_torque is updated by reading the engine torque versus engine speed and throttle from a powertrain property file. For example, mdids://acar_shared/powertrains.tbl/V8_240HP_400Nm.pwr. See Torque versus Engine Speed and Throttle Position for this property file. To allow for larger integration time steps during simulation, the engine crankshaft is not included as a part in the templates. Instead of a rotating crankshaft part, a differential equation (engine_omega) integrates the engine crankshaft's rotational acceleration (Adams/Solver requires one integration time step for each 60 degrees of part rotation). The engine crankshaft's rotational acceleration is the difference between the engine torque and the clutch torque divided by the engine rotational inertia.
Clutch model - The clutch torque is modulated by the clutch demand, which ranges in value
closed.
A clutch demand of one means that the driver has pushed the clutch pedal completely to the
floor and the clutch is open. You can set the values of clutch demand, for which the clutch is completely closed or open, using the parameter variables pvs_clutch_closed and pvs_clutch_open. The clutch develops torque only when it is at least partially closed and there is some slip displacement or slip speed between the engine crankshaft and the transmission input shaft. When the clutch is closed, it acts like a torsional spring-damper, except that the maximum clutch torque developed is limited by the clutch capacity, which you can modify (pvs_clutch_capacity). You also set the clutch's torsional stiffness and damping. When the clutch is partially closed, the clutch stiffness and damping, as well as the clutch capacity (torque), are scaled by the clutch demand. The clutch slip speed is the difference between the engine crankshaft and the transmission input shaft rotational speeds. When the clutch is closed, the clutch slip displacement is the integral of the clutch slip speed. When the clutch is open, the clutch slip displacement decays to zero with a time constant given by pvs_clutch_tau.
Transmission model - The transmission model is simple: it applies the gear ratio selected by the
gear demand, and has no rotating inertia. The clutch torque is multiplied by the selected gear ratio and applied to the differential input shaft. The differential input shaft speed is likewise multiplied by the same ratio to determine the transmission input shaft speed. You can set the number of gears and the ratio for each gear:
A gear number of zero (0) represents neutral. A gear number of minus one (-1) represents reverse.
Differential model - The differential model has rotating left and right output shaft parts that
connect to half-shafts in suspension subsystems. The differential input shaft speed is the average of the left and right output shaft speeds multiplied by the final drive ratio you enter. Likewise, the transmission output torque is multiplied by the final drive ratio and then split equally between the two output shafts. A reaction torque is applied about the longitudinal axis to the ges_engine part. The differential model includes a limited slip torque that acts between the left and right differential output shafts. The torque depends on the difference between the output shaft speeds. The limited slip torque-speed characteristic is read from a property file in the differentials.tbl. Files referenced The file, V12_engine_map.pwr, stored in the powertrains.tbl directory, defines the engine map. The differential references the MDI_viscous.dif property file, stored in the differentials.tbl directory. The MDI_viscous.dif property file defines the slip torque-speed relationship as a two-dimensional spline. Topology The powertrain template contains very simple topological information because it is a functional representation of the powertrain. The only general rigid parts, besides the engine body, are the diff outputs and the revolute joints that connect the rigid bodies to the engine body. Parameters The following table lists the powertrain system template parameters. The parameter: phs_kinematic_flag Takes the value: Integer Its units are: No units Description: When flag = 1, engine is rigidly mounted to chassis; when flag = 0, engine is mounted on bushings. Set from the Adjust menu. Maximum torque clutch can sustain with zero slip speed. Value of clutch demand at which clutch is fully closed. Value should be less than pvs_clutch_open and in the range of 0 and 1.
pvs_clutch_capacity pvs_clutch_close
Real Real
Torque No units
pvs_clutch_damping pvs_clutch_open
Real Real
Torsional_damping Clutch damping torque per unit of clutch slip speed. No units Value of clutch demand at which clutch is open.
172 Adams/Car
Templates
Description: Clutch torque developed per unit of clutch slip. Time constant for clutch slip decay when clutch is open. Proportional gain used in EMS idle speed control Value of throttle demand that corresponds to the maximum capability of the EMS system Value of throttle demand at which EMS system engages idle speed control Engine idle speed in RPM. Engine rotational inertia. Must be greater than zero. Maximum engine speed in RPM. Differential input shaft (pinion) to ring gear ratio. Transmission input shaft to output shaft ratio for gears 1 through 6. 1 = include powertrain graphics; 0 = do not include powertrain graphics Number of gear ratios in the transmission. Value of throttle demand for which throttle is fully open (throttle demand = 0 is throttle closed).
pvs_ems_trottle_off
Real
No units
pvs_engine_idle_speed Real pvs_engine_inertia pvs_engine_rev_limit pvs_final_drive pvs_gear_[1-6] pvs_graphics_flag Real Real Real Real Integer
pvs_max_gears pvs_max_throttle
Integer Real
No units No units
Communicators Mount parts provide the connectivity from the template to the body subsystems. Output communicators publish information, such as engine RPM and transmission spline. The following tables list the input and output communicators in the powertrain system template.
Input Communicators The communicator: ci[lr]_diff_tripot ci[lr]_tire_force cis_clutch_demand cis_engine_to_subframe cis_initial_engine_rpm cis_powertrain_to_body cis_sse_diff1 cis_throttle_demand cis_transmission_demand Entity class: location force solver_variable mount parameter_real mount diff solver_variable solver_variable From minor role: inherit inherit inherit inherit any inherit inherit inherit inherit Matching name: tripot_to_differential tire_force clutch_demand engine_to_subframe initial_engine_rpm powertrain_to_body sse_diff1 throttle_demand transmission_demand
174 Adams/Car
Templates
Output Communicators The communicator: co[lr]_output_torque co[lr]_tripot_to_differential cos_clutch_displacement_ic cos_default_downshift_rpm cos_default_upshift_rpm cos_diff_ratio cos_engine_idle_rpm cos_engine_map cos_engine_max_rpm cos_engine_rpm cos_engine_speed Entity class: force mount solver_variable parameter_real parameter_real parameter_real parameter_real spline parameter_real solver_variable parameter_real To minor role: inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit Matching name: output_torque tripot_to_differential clutch_displacement_ic min_engine_speed max_engine_speed diff_ratio engine_idle_rpm engine_map engine_revlimit_rpm engine_rpm engine_speed engine_maximum_driving _torque engine_maximum_brakin g_torque max_gears max_throttle powertrain_gse transmission_input_omeg a transmission_spline
parameter_integer inherit parameter_real gse solver_variable spline inherit inherit inherit inherit
Note:
The engine and clutch portion of the powertrain is implemented as a GSE (general state equation) element in solver. The gsesub associated with this element is available here. The solver_variable "analysis_type" indicates whether the analysis is steady-state or dynamic. When the analysis_type is steady-state the engine torque map and transmission gear ratios are ignored.
Figure 10
Template name _quad_link_axle Major role Suspension Application Suspension and full-vehicle assemblies
176 Adams/Car
Templates
Description The quad-link axle suspension template represents a common design for solid axles suspensions. You can use the template as a front steerable suspension or as rear nonsteerable suspension. You can set subsystems based on this template to kinematic or compliant mode. In kinematic mode, Adams/Car replaces the bushings that connect the lower and upper links to the body mount part with the corresponding purely kinematic constraints. Files referenced Bushing, spring, and damper property files Topology Spherical joints connect the upper and lower links to the solid axle. The draglink is attached to the bell crank. The bell crank moves the tie rod, which steers the wheels. Revolute joints connect the uprights to the solid axle. A joint force actuator locks the hub to the wheel carrier. The following table maps the topology of the template. The joint: jklhoo_lower_link_frame jklhoo_upper_link_frame jklsph_upper_link_axle jklsph_lower_link_axle jolrev_knuckle_axle josrev_bell_crank_axle jossph_draglink_pitman_arm joshoo_draglink_bell_crank jossph_tierod_knuckle jolrev_bearing josinp_tie_rod_bell_crank Parameters Toe and camber variables define wheel spin axis, spindle part, and spindle geometry. The following table lists the parameters in the template. The parameter: phs_kinematic_flag Takes the value: Its units are: Integer No units Connects the part: gel_lower_link gel_upper_link gel_upper_link gel_lower_link gel_knuckle ges_bell_crank ges_draglink ges_draglink ges_tierod gel_hub ges_tierod To the part: mtl_lower_link_frame mtl_lower_link_frame ges_axle ges_axle ges_axle ges_axle mts_draglink_steering ges_bell_crank gel_knuckle gel_knuckle ges_bell_crank
Mount parts provide the connectivity from the template to body subsystems and steering. Output communicators publish toe, camber, steer axis, and wheel center location information to the appropriate subsystems and the test rig. The following table lists the input and output communicators. The communicator: ci[lr]_lower_link_frame ci[lr]_spring_upper_to_body ci[lr]_upper_link_frame cis_draglink_steering co[lr]_camber_angle co[lr]_suspension_mount co[lr]_suspension_upright co[lr]_toe_angle co[lr]_wheel_center Belongs to the class: Has the role: mount mount mount mount parameter_real mount mount parameter_real location inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit
Note:
The kinematic flag variable toggles between kinematic and compliant mode.
178 Adams/Car
Templates
Figure 11
Template name _rack_pinion_steering Major role Steering Application Suspension and full-vehicle assemblies Description A series of hooke joints, which connect the three steering column shafts, transmit motion from the steering wheel to the pinion. A revolute joint connects the lower column shaft to the rack housing. A bushing (torsion bar) connects the shaft to the pinion. A revolute joint connects the pinion to the rack housing. In kinematic mode, a reduction gear is active and connects the steering input shaft revolute joint to the pinion revolute joint. The underlying Adams/View entity (a coupler) is active only in kinematic mode. The reduction gear (pinion to rack) converts pinion rotational motion to the rack translational motion. A
translational joint constrains the rack to the rack housing. An additional VFORCE provides the steering assist force. Files referenced Property file, mdi_steer_assis.ste, stored in the steer_assist.tbl of the shared Adams/Car database. It defines the steering assist vector force. Topology The following table maps the topology of the template. The joint: joshoo_column_intermediate joshoo_intermediate_shaftinput jostra_rack_to_rackhousing josrev_steering_wheel josrev_pinion joscyl_steering_column_to_body josrev_steering_input_shaft jksfix_rigid_rack_housing_mount steering_assist_vforce gksred_input_shaft_pinion_lock grsred_steering_wheel_column_lock grsred_pinion_to_rack Parameters A parameter variable switches between kinematic and compliant mode. You can set the activity of the steering assist vector force through the hidden parameter variable, steering_assist_active. A series of parameters define the maximum values of angle, rack displacement, rack force, and steering-wheel torque. Connects the part: ges_steering_column ges_intermediate_shaft ges_rack ges_steering_wheel ges_pinion ges_steering_column ges_steering_shaft ges_rack_housing ges_rack josrev_steering_wheel josrev_pinion To the part: ges_intermediate_shaft ges_steering_shaft ges_rack_housing mts_steering_column_to_body ges_rack_housing mts_steering_column_to_body ges_rack_housing sws_rack_house_mount ges_rack_housing joscyl_steering_column_to_bo dy jostra_rack_to_rackhousing
josrev_steering_input_shaft josrev_pinion
180 Adams/Car
Templates
Communicators The following table lists the input and output communicators. The communicator: cis_rack_housing_to_ suspension_subframe cis_rack_to_body cis_steering_column_to_ body co[lr]_tierod_to_steering cos_max_rack_ displacement cos_max_rack_force cos_max_steering_angle cos_max_steering_torque cos_steering_rack_joint cos_steering_wheel_joint Belongs to the class: mount mount mount mount parameter_real parameter_real parameter_real parameter_real joint_for_motion joint_for_motion Has the role: inherit inherit inherit front inherit inherit inherit inherit inherit inherit
Note:
The rack and pinion steering system template contains general spline elements. The gss_torsion_bar spline gives the torque as a function of the angular deflection of the input shaft relative to the pinion. The template also contains a switch part, which lets you explore two different topological solutions. You can connect the steering rack housing to the body or to the suspension_subframe.
Figure 12
Template name _driveline_rwd Major role Driveline Application Full-vehicle assemblies Description The rotational motion of the front propshaft is transmitted to the rear shaft and from there to the diff outputs. Diff outputs should be connected to the driving wheels. Files referenced Bushing property files Topology The rear driveline template consists of a two-piece propshaft, a slip yoke, and a differential. For convenience, the template includes the propshaft input part for applying motion or torque. The propshaft input part attaches to the powertrain through a revolute joint. A bearing supports it at its aft.
182 Adams/Car
Templates
The front propshaft attaches to the support bearing through an inline joint primitive that prevents translation of the front propshaft perpendicular to the propshaft's spin axis. Hooke joints transmit the motion to the slip yoke part. The slip yoke supports and transmits torque to the rear propshaft through a translational joint. The differential input shaft receives torque from the rear propshaft through a hooke joint. The differential is an open design rather than a limited slip. Four bushings mount it to the body. Setting kinematic mode fixes the differential housing to the body and deactivates the bushings. The following table maps the topology of the template. The joint: josrev_diff_input jolrev_diff_output jorrev_diff_output joshoo_propshaft_at_diff joshoo_propshaft_input_to_ front joscon_propshaft_front_to_ yoke jostra_propshaft_rear_to_yoke josrev_propshaft_input_to_ trans jksfix_diff_housing_to_body Connects the part: ges_diff_input gel_diff_output ger_diff_output ges_propshaft_rear ges_propshaft_input ges_propshaft_front ges_propshaft_rear ges_propshaft_input ges_diff_housing To the part: ges_diff_housing ges_diff_housing ges_diff_housing ges_diff_input ges_propshaft_front ges_slip_yoke ges_slip_yoke mts_propshaft_input_to_powertrai n mts_diff_housing_to_body ges_propshaft_front mts_propshaft_support_to_body mts_propshaft_support_to_body mts_propshaft_support_to_body jolrev_diff_output jorrev_diff_output jorrev_diff_output
josinl_support_bearing_to_propshaft_f ges_support_bearing ront josori_support_bearing_orientation josinp_support_bearing_ location jksinl_support_bearing_to_ body grsdif_differential grsdif_differential grsdif_differential Parameters ges_support_bearing ges_support_bearing ges_support_bearing josrev_diff_input josrev_diff_input jolrev_diff_output
The parameter variable final_drive_ratio defines the pinion to ring ratio. Limitations The rear driveline template uses a number of rotating parts. If the driveline dynamics are not of interest to you, then it is more efficient to apply direct drive torque to the wheels, because the rotating parts in the template might slow the numerical integration during the Analysis.
Communicators Output communicators of the type mount publish the left and right differential output shafts to the suspension templates and subsystems. The following table lists the input and output communicators. The communicator: ci[lr]_tripot_to_differential cis_diff_housing_to_body cis_driveline_torque cis_propshaft_input_to_ powertrain cis_propshaft_support_to_ body co[lr]_tripot_to_differential Belongs to the class: location mount solver_variable mount mount mount Has the role: rear inherit inherit inherit inherit rear
Rigid Chassis
Overview The rigid chassis template represents the base frame of a vehicle.
Figure 13
Rigid Chassis
184 Adams/Car
Templates
Major role body Application Suspensions, tires, and steering systems in full-vehicle assemblies Description A single rigid body part models the chassis. Files referenced Shell elements create the chassis graphic. All the shell files are stored in the Adams/Car shared database, in the shell_graphics.tbl directory. Topology The ges_chassis part is unconstrained. Parameters The rigid chassis template defines a series of parameter variables, most of which are used to compute the aerodynamic forces acting on the body. The following table lists the parameters in the template. For a detailed description of the force function, see Force Function Description. The parameter: pvs_aero_drag_active pvs_aero_frontal_area pvs_air_density pvs_drag_coefficient Force function description Adams/Car expects air density and area parameter variables to be in model units. As a result of an air stream interacting with the vehicle, forces and moments are imposed on the vehicle. Out of the three forces and three moments, only the most relevant ones are modeled in the template. The aerodynamic general force takes into consideration the drag force (longitudinal force) and torque (pitching moment and torque along the y-axis of the vehicle, in the SAE coordinate system). In detail: F = 0.5 x AirDensity x DragCoeff x Area x VX(chassis)2 T = F x DZ (RideHeight) The pitching moment acts to transfer weight between the front and rear axles. It arises because the drag does not act at the ground plane. Therefore, it accounts for the elevation of the drag force. Real Real Real Takes the value: Integer No units Area Density No units Its units are:
Limitations The rigid body modeling of the chassis does not account for torsional stiffnesses and other effects. You could create a more accurate representation of a chassis frame by connecting the multiple rigid bodies though spring dampers to take into account torsional stiffnesses and using modal flexibility. Communicators The rigid chassis template defines a series of mount part communicators. The assembly process matches them with the corresponding output communicators created in suspensions, steering, and other subsystems. The following table lists the communicators. Note that the output communicator
186 Adams/Car
Templates
tierod_to_steering (rear) allows the tierod_to_steering mount parts in the rear suspension to connect to the chassis body. The communicator: co[lr]_spring_to_body co[lr]_strut_to_body co[lr]_tierod_to_steering co[lr]_tv_link co[lr]_uca_to_body co[lr]_upr_link_fr co[lr]_upr_link_rr cos_aero_drag_force cos_body cos_body_subsystem cos_chassis_path_ reference cos_concept_to_body cos_diff_housing_to_body cos_driver_reference cos_measure_for_distance cos_powertrain_to_body cos_propshaft_support_to_body cos_rack_to_body cos_steering_column_to_ body cos_subframe_to_body cos_aero_force Belongs to the class: mount mount mount mount mount mount mount force mount mount mount mount mount mount mount mount mount mount mount mount force inherit inherit rear inherit any inherit inherit inherit inherit inherit inherit inherit rear inherit inherit inherit rear inherit inherit inherit inherit Has the role:
Note:
The rigid chassis light template (_rigid_chassis_lt) is exactly the same as the rigid chassis template (_rigid_chassis), but without the shell graphic geometry.
Figure 14
Template name _antiroll_simple Major role Antiroll Application Suspension and full-vehicle analyses Description The anti-roll bar system template provides a simple model of anti-roll bar (also known as stabilizer bar). It consists of two bar halves connected by a torsional spring-damper component.
188 Adams/Car
Templates
Files referenced Bushing property files Topology A revolute joint connects the two bar halves of the anti-roll bar system. Bushings then attach the bar halves to the body or to the suspension subframe. Drop links transmit the suspension motion to the bar ends. The drop links attach to the suspension with spherical joints and to the bar ends with convel joints. The following table maps the topology of the anti-roll bar system template. The joint: jo[lr]sph_droplink_ upper_bal jo[lr]con_droplink_to_arb josrev_arb_rev_joint arb_torsion_spring (rotational spring) Parameters A parameter variable (pvs_torsional_stiffness) defines the torsional stiffness of the spring-damper component. The following table lists the parameter, its value, and units. The parameter: pvs_torsional_stiffness Limitations The anti-roll bar system template represents a simple approximation of a stabilizer bar. For more complex solutions, you would need to create a more accurate representation of the bar through the discretization of rigid bodies, nonlinear rods, or flexible bodies. Communicators Mount parts provide the connectivity to the suspension subsystems. An output communicator exports information about the location of the ARB pick-up point. Takes the value: Real variable Its units are: Nmm/Degrees Connects part: ge[lr]_droplink ge[lr]_droplink ger_arb ger_arb ge[lr]_arb gel_arb gel_arb To part: mt[lr]_droplink_to_suspension
The following table lists the communicators that the template uses. The communicator: ci[lr]_arb_bushing_mount ci[lr]_droplink_to_suspension co[lr]_ARB_pickup Belongs to the class: mount mount location inherit inherit inherit Has the role:
Notes:
The spring-damper component applies a rotational action-reaction force between the two bar halves. The following linear equation describes the torque applied at the i marker: Ta = -C(da/dt) - Kt (a - ANGLE) + TORQUE where:
C is the damping term (defaults to 0 in the template). Kt is the torsional stiffness. a is the angle between the bar halves. ANGLE is the initial angular displacement. TORQUE is the torsional preload. Torque applied on the j marker is equal and
Tire System
Overview The tire system template provides three basic functions:
Supports vertical load. Develops longitudinal forces for acceleration and braking.
190 Adams/Car
Templates
Figure 15
Tire System
Template name _handling_tire Major role Wheel Application Full-vehicle analyses Description The tire system template consists of wheel parts rigidly connected to mount parts. The tire contact patch forces are transformed in forces and torques applied at the hub. A series of user-written subroutines perform the force calculation depending on the tire property file that you selected. The contact type (string element) and the road property file determine the road model. For additional information about using Adams/Tire in Adams/Car, see the Adams/Tire online help. Files referenced The tire system template references a tire property file for each wheel part. The default tire property file is mdi_tire01.tir, stored the tires.tbl directory of the Adams/Car shared database.
Topology A fixed joint connects the wheel part to the spindle mount part. Communicators Mount parts provide connectivity to the suspension subsystems, and output communicators publish information about tire forces and wheel orientation. The following table lists the communicators in the tire system template. The communicator: ci[lr]_camber_angle ci[lr]_suspension_mount ci[lr]_toe_angle ci[lr]_wheel_center cis_driveline_active co[lr]_rotor_to_wheel co[lr]_wheel_orientation cos_tire_forces_array_left cos_tire_forces_array_right Belongs to the class: parameter_real mount parameter_real location parameter_integer mount orientation array array inherit inherit inherit inherit inherit inherit rear inherit inherit Has the role:
192 Adams/Car
Templates
Figure 16
Template name _double_wishbone_torsion Major role Suspension Application Suspension and full-vehicle assemblies Description In the torsion bar double-wishbone suspension template, a torsion bar spring replaces the coil spring used in the standard Double-Wishbone Suspension. The torsion bar consists of two bar halves connected by a
rotational SFORCE (joint torque actuator). The rotational SFORCE exerted between the two bar halves is a function of a torsional stiffness and of the relative rotation along the torsion bar longitudinal axis. Files referenced Refer to the Double-Wishbone Suspension. Topology The torsion bar consists of two bar halves connected by a cylindrical joint and a joint torque actuator. The first half is rigidly connected to the lower control arm, and the second half is fixed to the mount part and gets rigidly connected to the chassis if you use the suspension in full-vehicle assemblies. Parameters The torsion bar double-wishbone suspension template includes additional parameter variables besides those described in the Double-Wishbone Suspension. The variable defining the torsional stiffness defines the torsion bar stiffness. Also, another parameter variable defines the torsional preload applied between the lower control arm and the torsion bar. The following table lists the additional parameters. The parameter: pv[lr]_tbar_stiffness pvs_tbar_preload Communicators Refer to the Double-Wishbone Suspension. Note: Takes the value: Real Real Its units are: Nmm/Degrees Nmm
The torsion bar double-wishbone suspension template includes a toe adjustment. It uses an adjustable force Adams/Car element to reach a desired toe angle at static equilibrium.
194 Adams/Car
Templates
Figure 17
Template name _trailing_arm Major role Suspension Application Suspension and full-vehicle assemblies Description The trailing arm suspension template is a simple non-steerable suspension design. You can deactivate the driveline simply by selecting inactive in the Toggle Driveline Activity dialog box. Note that it is possible to define the spring concentric to the damper just by moving the spring upper- and lower-seat hardpoints. Files referenced Bushing, spring, damper, bumpstop, and reboundstop property files
Topology Trailing arms to the left and right sides mount to a rigid subframe that in turns connects to the body mount part through bushings. The arms alone locate the wheel centers. Springs and dampers act between the arms and the body mount parts. A static rotation control actuator locks the rotational degree of freedom of the hub during quasi-static analyses. You can set the suspension to kinematic or compliant mode. Kinematic mode allows purely kinematic connections between the upper strut parts, arms, subframe, and mount parts, while compliant mode replaces the kinematic joints with their corresponding elastic elements. The following table maps the topology of the template. The joint: jklhoo_upr_strut_to_body jklrev_arm_inner_ pivot jksfix_subframe_to_body_fixed jklhoo_lwr_strut_to_arm jolcyl_lwr_upr_ strut joltra_tripot_to_ differential jolcon_drive_sft_ int_jt jolrev_spindle_ upright Parameters The driveline offset variable defines the driveline geometry. Toe and camber variables define wheel spin axis, spindle part, and spindle geometry. The parameter: phs_kinematic_flag pv[lr]_toe_angle pv[lr]_drive_shaft_offset phs_driveline_active pv[lr]_camber_angle Real Real Integer Real Takes the value: Integer Its units are: No units Degrees mm No units Degrees Connects the part: mtl_strut_to_body gel_arm ges_subframe gel_lower_strut gel_upper_strut gel_tripot gel_tripot gel_spindle To the part: gel_upper_strut ges_subframe mts_subframe_to_body gel_arm gel_lower_strut mtl_tripot_to_differential gel_drive_shaft gel_arm
196 Adams/Car
Templates
Communicators Mount parts provide the connectivity from the template to the body subsystems. Output communicators publish toe, camber, steer axis, and wheel-center location information to the appropriate subsystems and the test rig. The following table lists the input and output communicators. The communicator: ci[lr]_spring_to_body ci[lr]_strut_to_body ci[lr]_tripot_to_differential cis_subframe_to_body co[lr]_camber_angle co[lr]_suspension_mount co[lr]_suspension_upright co[lr]_toe_angle co[lr]_tripot_to_differential co[lr]_wheel_center cos_driveline_active cos_suspension_ parameters_ARRAY Belongs to the class: mount mount mount mount parameter_real mount mount parameter_real location location parameter_integer array inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit Has the role:
Note:
The kinematic flag variable toggles between kinematic and compliant mode.
Figure 18
Template name _twist_beam Major role Suspension Application Suspension and full-vehicle assemblies Description The twist beam suspension template represents a common rear dependent suspension design. It does not include a subframe. The suspension is non-steerable and intended to be used as a rear suspension only. The twist beam is a flexible body generated using shell elements. Interface parts connect the flexible body to the rest of the suspension.
198 Adams/Car
Templates
You can toggle the suspension between kinematic and compliant modes. In addition, you can deactivate driveshafts. Files referenced Springs, dampers, and bushings property files. Also, the flexible body references the file PonteV.mnf, stored in the flex_bodies.tbl directory of the Adams/Car shared database. Topology A static rotation control actuator locks the rotational degree of freedom of the hub during quasi-static analyses. The following table maps the topology of the twist beam suspension. The joint: jklhoo_upr_strut_to_body jolcyl_lwr_upr_strut joltra_tripot_to_differential jolcon_drive_sft_int_jt jolcon_drive_sft_otr jolhoo_strut_to_beam jklrev_beam_to_body jolrev_spindle_to_beam Parameters In the twist beam suspension, toe and camber variables parameterize wheel spin axis, spindle part, and spindle geometry. The following table lists the parameters in the template. The parameter: phs_driveline_active phs_kinematic_flag pv[lr]_toe_angle pv[lr]_camber_angle pv[lr]_drive_shaft_offset Takes the value: Integer Integer Real Real Real No units No units Degrees Degrees mm Its units are: Connects the part: mtl_strut_to_body gel_upper_strut gel_tripot gel_tripot gel_drive_shaft gel_lower_strut ipl_beam_to_subframe gel_spindle To the part: gel_upper_strut gel_lower_strut mtl_tripot_to_differential gel_drive_shaft gel_spindle ipl_damper_lwr mts_body ipl_spindle_to_beam
Communicators The following table lists the communicators in the template. The communicator: ci[lr]_spring_to_body ci[lr]_strut_to_body ci[lr]_tripot_to_differential cis_body co[lr]_camber_angle co[lr]_suspension_mount co[lr]_toe_angle co[lr]_tripot_to_differential co[lr]_wheel_center cos_driveline_active cos_suspension_parameters_ARRAY Belongs to the class: mount mount mount mount parameter_real mount parameter_real location location parameter_integer array Has the role: inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit inherit
Note:
The integer parameter variables let you activate and deactivate the driveshafts. The kinematic flag variable toggles between kinematic and compliant mode.
200 Adams/Car
Templates
Reviewing Results
204 Adams/Car
Requests
Requests
Requests contain standard displacement, velocity, acceleration, or force information that can help you investigate the results of simulations. You can also define other quantities (such as pressure, work, energy, momentum, and more) that you want output during a simulation. Adams stores the requests in request files (.req).
For more examples, investigate templates in the shared database that have the group kinematic_mode_active, which is used for the Kinematic Mode option.
Request 907
Request 907 (req907) outputs displacement, velocity, accelerations, and body side-slip angle depending on the value of par(2) in the parameter list. Req907 is compatible with both dynamic and steady-state type analyses. The definition of the parameters array and the resulting output is: par(1) = Branch Flag 907 par(2) = Request Type: 0 = Displacement(Angles in radians) 1 = Velocities (Translational vel. in KPH) (Angular velocity in radians/s) 2 = Accelerations (Translational acc. G's) (Rotational acc. in radians/s/2) 3 = Body Side Slip Angle in Radians par(3) = id I marker par(4) = id J marker par(5) = id RM marker Any results with a magnitude less than 1e-7 are set to zero.
206 Adams/Car
legend text and its attributes, axes positions and their attributes
The mathematical expressions to be displayed for the plot axes The primary and secondary grid attributes for each plot The presentation of the plot i.e. whether it should show actual curves or the curve data in tabular
format
The text/images to be displayed for the header/footer of each page The date and analysis stamp related details The Note and Spec Line related details
The files now support multiple plots per page, and each plot can contain multiple axes. You can crossplot multiple analyses of the same type using one plot configuration file. Plot configuration files are TeimOrbit files and are stored in your database in the plot_configs.tbl directory. See TeimOrbit File Format.
You can access the plot configuration file functionality in Adams/PostProcessor. Learn about creating a plot configuration file through the interface. Learn about using plot configuration files. Note:
To modify plots and curves, you can use the command statement in each block to invoke macros, which must contain the modification commands. The macros must be contained in your current binary file, which can be either private or site.
To use this option, you must have a macro that defines the commands to be executed. To view the plots defined in a plot configuration file: 1. From the Review menu, select Postprocessing Window or press F8. 2. From the File menu, point to Import, and then select Plot Config File. The File Import dialog box appears. 3. In the Analyses text box, enter the analysis or analyses from which you want to view results. 4. In the Plot Configuration File text box, enter the name of the plot configuration file defining the plots that you want to view. 5. In the Plot Title text box, enter the title to appear at the top of the plots. 6. Select Cross Plotting to plot analysis data on existing plots containing data from other analyses. If you selected multiple analyses in the Analyses text box, your template-based product automatically plots the data from the different analyses on the same plots. 7. If you have customization command keywords in the plot configuration file you selected in Step 4, then select Execute Custom Macro. Your template-based product invokes the macro which executes any commands that customize the plots. 8. Select OK.
208 Adams/Car
Your template-based product saves the command keyword with your plotting configuration file. After it creates the plots and curves, your plotting configuration file invokes the macro which contains the commands. 13. Select OK. 14. This exports the plot configuration file with the specified name. If you specify images for the header/footer of any page, these image files are copied to the location where the plot configuration file is saved.
Page Data Block The Page data block has the following structure: PAGE_LAYOUT NUMBER_OF_PLOTS PAGE_NAME HEADER/FOOTER Header/Footer data: This section will be present only if you have specified text/image for any section (Left, Center or Right) of Header or Footer. The entries are present only for those sections for which the text/image is specified. Plot Data Block The plot data block has the following structure: INDEX NAME TIME_LOWER_LIMIT TIME_UPPER_LIMIT LEGEND (subblock) PLOT_BORDER (subblock) PRIMARY_GRID (subblock) SECONDARY_GRID (subblock) LEGEND_BORDER (subblock) GRAPH_AREA (subblock) SPEC_LINE (subblock) NOTES (subblock) PLOT_AXES_FORMAT (subblock) PLOT_AXES_LABELS (subblock) PLOT_AXES_TICS (subblock) PLOT_AXES_NUMBERS (subblock)
210 Adams/Car
COMMAND
command_keyword
After your template-based product creates each plot, it executes the following commands if you defined a command keyword: acar custom_plots <command_keyword> & plot_name=<plot_name> The command acar custom_plots <command_keyword> must already be created in the current session, either interactively or already present in the acar.bin, file. Plot-Curve Data Block The plot-curve data block has the following structure: NAME PLOT VERTICAL_AXIS HORIZONTAL_AXIS HORIZONTAL_EXPRESSION HORIZONTAL_COMPONENT VERTICAL_EXPRESSION VERTICAL_COMPONENT Y_UNITS X_UNITS LEGEND_TEXT COLOR red, blue, yellow, magenta, cyan, black, white, skyblue, midnight_blue, blue_gray,dark_gray, silver, peach, maize STYLE solid, dash, dotdash, dot SYMBOL none, x, o, plus, star, at LINE_WEIGHT Real value from 1-4 COMMAND command_keyword HOTPOINT INCREMENT_SYMBOL After your template-based product creates each curve, it executes the following commands if you defined a command keyword: acar custom_plots <command_keyword> & analysis=<analysis> & plot_name=<plot_name> & vertical_data=<y> & horizontal_data=<x> & curve_name=<curve_name> The command acar custom_plots <command_keyword> must already be created in the current session, either interactively or already present in the acar.bin, file.
212 Adams/Car
'subtitle' 'subtitle' 'BLACK' 'horizontal' 'center_bottom' 84.0,89.5 7 no no 1 STRING_1_TEXT = 'Subtitle Strimg' {name type color placement alignment location font autopos autogenerate numStrings} 'header' 'table header' 'BLACK' 'horizontal' 'center_bottom' 0.0,0.1 1 no yes 1 STRING_1_TEXT = 'Subtitle Strimg' {name type color placement alignment location font autopos autogenerate numStrings} 'my_NOTE' 'note' 'BLACK' 'vertical' 'left_top' 95.4,58.7 10 yes no 1 STRING_1_TEXT = 'Note String' (PLOT_AXES_FORMAT) {axis_name type color placement scaling offset primary limits} 'vaxis' 'vertical' 'BLACK' 'left' 'linear' 0.0 yes 0.000000,0.000000 'haxis' 'horizontal' 'BLACK' 'bottom' 'linear' 0.0 yes 0.000000,0.000000 (PLOT_AXES_LABELS) {axis_name label color placement alignment font autopos offset location} 'vaxis' 'No Units' 'BLACK' 'vertical' 'center_bottom' 7 0 9.4 -0.8,48.3 'haxis' 'Time (sec)' 'BLACK' 'horizontal' 'center_top' 7 0 5.0 84.0,3.2 (PLOT_AXES_TICS) {axis_name auto_divisions use_divisions divisions increments minor_divisions color} 'vaxis' 'yes' 'yes' 4 5.000 2 'BLACK' 'haxis' 'yes' 'yes' 3 5.000 2 'BLACK' (PLOT_AXES_NUMBERS) {axis_name trailing_zeros decimal_places scientific_range font color} 'vaxis' 0 4 -4,5 7.0 'BLACK' 'haxis' 0 4 -4,5 7.0 'BLACK' $---------------------------------------------------------------PLOT_CURVE [PLOT_CURVE] NAME = 'new_curve_1' PLOT = 'my_plot' VERTICAL_AXIS = 'vaxis' HORIZONTAL_AXIS = 'haxis' HORIZONTAL_EXPRESSION = 'toe_angle.TIME' HORIZONTAL_COMPONENT = 'toe_angle.TIME' VERTICAL_EXPRESSION = 'toe_angle.left' VERTICAL_COMPONENT = 'toe_angle.left' Y_UNITS = 'no_units' X_UNITS = 'time' LEGEND_TEXT = '1029:Toe angle.left' COLOR = 'red' STYLE = 'solid' SYMBOL = 'NONE' LINE_WEIGHT = 2.0 HOTPOINT = 0.0 INCREMENT_SYMBOL = 1.0 $----------------------------------------------------------------PLOT_CURVE [PLOT_CURVE] NAME = 'new_curve_2' PLOT = 'my_plot' VERTICAL_AXIS = 'vaxis' HORIZONTAL_AXIS = 'haxis' HORIZONTAL_EXPRESSION = 'steer_angle.TIME' HORIZONTAL_COMPONENT = 'steer_angle.TIME' VERTICAL_EXPRESSION = 'steer_angle.right' VERTICAL_COMPONENT = 'steer_angle.right' Y_UNITS = 'no_units' X_UNITS = 'time'
LEGEND_TEXT = '1031:Steer Angle.right' COLOR = 'blue' STYLE = 'dash' SYMBOL = 'NONE' LINE_WEIGHT = 2.0 HOTPOINT = 0.0 INCREMENT_SYMBOL = 1.0
214 Adams/Car
Running Analyses
Using Adams/Car to analyze a virtual prototype is much like ordering a test of a physical prototype. You specify the virtual prototype by opening or creating an assembly that contains the appropriate components, or subsystems, that make up the prototype. For example, you create suspension assembly containing suspension and steering subsystems and the suspension test rig. In Adams/Car, you can run suspension and full-vehicle analyses.
214 Adams/Car
amount of Ackerman, which is the difference between the left and right wheel steer angles. You specify the inputs to the analysis by typing them directly into an analysis dialog box or by selecting a loadcase file that contains the desired inputs. During the analysis, the test rig articulates the suspension assembly in the specified number of steps and applies the inputs you specified. At each step, Adams/Car calculates over 38 suspension characteristics, such as toe and camber angle, track change, wheel-base change, wheel rate (vertical stiffness), and foreaft wheel center stiffness. You can plot these characteristics and use them to determine how well the suspension controls the motions of the wheels. Based on the results, you can alter the suspension geometry or spring rates and analyze the suspension again to evaluate the effects of the alterations. The following figure shows an overview of the suspension analysis process.
External-File Analyses
You can perform two types of external-file analyses:
Loadcase Analysis Wheel-Envelope Analysis
Loadcase Analysis A loadcase analysis reads the analysis inputs (for example, vertical wheel travel, steering travel, and static loads) from one or more existing loadcase files. When you supply more than one loadcase file, Adams/Car performs one analysis for each loadcase file. See an Example Suspension Loadcase File. A loadcase analysis requires a suspension subsystem. Each loadcase analysis produces a separate set of output files, such as .gra, .req, and .out.
216 Adams/Car
To set up a loadcase analysis: 1. From the Simulate menu, point to Suspension Analysis, and then select External Files. 2. Enter the necessary parameters as explained in the dialog box help for External Files. 3. Select OK. Wheel-Envelope Analysis A wheel-envelope analysis generates wheel-center positions and orientations for use in packaging the wheel/tire within the wheel well (fender). The analysis sweeps the wheels through their vertical and steering travel in fixed increments based on information stored in a wheel-envelope input file (.wen). The positions and orientations for the left and right wheel centers are output to a wheel-envelope output file (.wev) for import into computer-aided design (CAD) packages. See an Example Wheel-Envelope Input File and Example Wheel-Envelope Output File. A wheel-envelope analysis requires suspension and steering subsystems. A wheel-envelope input file has the same format as a static loadcase file, however, Adams/Car ignores columns three through ten: left and right lateral force, aligning torque, brake force, and driving force. You can create or modify wheel-envelope input files using the Curve Manager. To set up a wheel-envelope analysis: 1. From the Simulate menu, point to Suspension Analysis, and then select External Files. 2. Specify one or more wheel-envelope input files that define the vertical wheel and steering inputs. 3. Press F1 and then follow the instructions in the dialog box help for External Files. 4. Select OK.
Steering Analysis
A steering analysis steers the wheels over the specified steering-wheel angle or rack travel displacement from the upper to the lower bound. The application of steering motion results in a wheel displacement at the specified wheel height. A steering analysis requires a suspension and a steering subsystem. To set up a steering analysis: 1. From the Simulate menu, point to Suspension Analysis, and then select Steering. 2. Enter the necessary parameters as explained in the dialog box help for Suspension Analysis: Steering. 3. Select OK.
Wheel-Travel Analyses
A wheel-travel analysis allows you to look at how the characteristics of a suspension change throughout the vertical range of motion of the suspension. You can perform three types of wheel-travel analyses. As a minimum, all wheel-travel analyses require a suspension subsystem. These analyses can also include a steering subsystem.
Opposite Wheel-Travel Analysis Parallel Wheel-Travel Analysis Single Wheel-Travel Analysis
The force limits for the left/right_vertical jack force are implemented as real numbers and are defaulted to -2.0E+04 and 4.0E+04 Newton. You can modify the force limits in the Template Builder using the actuator modify dialog box (because actuators in Adams/Car are a topological element) or using the Command Navigator and modifying the corresponding variables.
218 Adams/Car
For example, to modify the left-side actuator force limits from the default values in the Standard Interface after having an assembly already opened, you go to: Tools -> Command Navigator -> Variable -> Modify. In the Variable Modify dialog box, select the desired limit variable (.assembly.testrig.jfl_jack_force.force_limits, in this case) and modify the values to the new force limits. Opposite Wheel-Travel Analysis An opposite wheel-travel analysis moves the left and right wheel through equal, but opposite, vertical amounts of travel to simulate body roll. The left and right wheels move over the specified jounce and rebound travel, 180o out of phase with each other. You specify the parameters to define the vertical wheel travel and the fixed steer value when you submit the analysis. To set up an opposite wheel-travel analysis: 1. From the Simulate menu, point to Suspension Analysis, and then select Opposite Wheel Travel. 2. Enter the necessary parameters as explained in the dialog box help for Opposite Wheel Travel Analysis. 3. Select OK. Parallel Wheel-Travel Analysis A parallel wheel-travel analysis keeps the left wheel and right wheel heights equal, while moving the wheels through the specified bump and rebound travel. To set up a parallel wheel-travel analysis: 1. From the Simulate menu, point to Suspension Analysis, and then select Parallel Wheel Travel. 2. Enter the necessary parameters as explained in the dialog box help for Suspension Analysis: Parallel Travel. 3. Select OK. Single Wheel-Travel Analysis A single wheel-travel analysis moves one wheel, either the right or left, through the specified jounce and rebound travel while holding the opposite wheel fixed in a specified position. To set up a single wheel-travel analysis: 1. From the Simulate menu, point to Suspension Analysis, and then select Single Wheel Travel. 2. Enter the necessary parameters as explained in the dialog box help for Single Wheel-Travel Analysis. 3. Select OK.
Definition of Compliance Matrix The compliance matrix for a system, [C], is defined as the partial derivatives of displacements with respect to applied forces: [C] = [∂X/∂F] If a system is assumed to be linear, the compliance matrix can be used to predict the system movement due to force inputs:
{ X } = [C ]{F}
From this perspective, matrix element cij is the displacement of system degree of freedom i due to a unit force at degree of freedom j. Adams/Car uses a 12 x 12 matrix relating the motion of the left and right wheel centers to units forces and torques applied to the wheel centers. This matrix has the form shown next:
220 Adams/Car
For example, element C(3,3) is the vertical motion of the left wheel center due to a unit vertical force applied at the left wheel center. Element C(3,9) is the vertical motion of the left wheel center due to a unit vertical force applied at the right wheel center. For an independent suspension without a stabilizer bar, C(3,9) is zero since a vertical force on the right wheel will not cause motion of the left wheel. The other elements of the compliance matrix are defined similarly. Steer Axis Computation Adams/Car needs the steer axis of a suspension to compute suspension characteristics, such as caster angle, kingpin inclination, scrub radius, and caster moment arm or caster trail. When you create a suspension template in Adams/Car, you must select the method Adams/Car will use to compute the steer axis and provide the necessary input information. Adams/Car offers two methods for calculating suspension steer axes:
Geometric Method Instant Axes Method
Both methods give accurate results, but the instant axis method is more general, because it can be used when the steer axis cannot be determined geometrically, such as in a five-link suspension. Currently, for a new suspension template the default is the geometric method.
Geometric Method Using the geometric method, Adams/Car calculates the steer axis by passing a line through two noncoincident points located on the steer axis. To use the geometric method, you must identify a part or parts and two hardpoints that fix the steer axis. For example, in a double wishbone suspension you might identify the wheel carrier part and Hardpoints located at the upper and lower ball joints. For a MacPherson strut suspension, you might identify the wheel carrier part and a hardpoint located at the lower ball joint for one point, and the strut rod and a hardpoint located where the strut attaches to the body for the second point. Instant Axes Method Using the instant axes method, Adams/Car calculates the left and right steer axes from the suspension's compliance matrix. While the calculation is performed numerically, it is best described in physical terms. To calculate the steer axis at a given suspension position, Adams/Car first locks the spring travel and applies an incremental steering torque or force in all directions (3 forces and 3 torques). Then, from the resulting translation and rotation of the wheel carrier parts, Adams/Car calculates the instant axis of rotation for each wheel carrier. The instant axes of rotation are the steer axes. To use the instant axes method, you must identify a part and a hardpoint where Adams/Car should lock the spring travel. Adams/Car locks the spring travel by locking the vertical motion of the part you identify at the chosen hardpoint location. You can use any part and hardpoint, provided that locking the vertical motion of that part at that location locks the spring travel. For example, in suspensions using coil or leaf springs, a good choice is the lower spring seat (such as, the part and hardpoint where the spring acts on the suspension). For a double wishbone suspension sprung by a torsion bar on the lower control arm, choose the lower control arm at its connection to the wheel carrier. Locking the vertical motion of the lower control arm at this location eliminates rotation in the torsion bar. Do not choose the wheel center location and wheel carrier. If you do, Adams/Car calculates inaccurate steer axes. In almost all suspensions, the wheel center lies outboard of the steer axis and the steer axis is angled rearward (caster angle > 0) and inward (kingpin inclination > 0) relative to vertical. When the wheels are steered (for example, rotated about the steer axis), the motion of the wheel centers has a vertical component. Locking the vertical motion of the wheel carrier at the wheel center eliminates this vertical component and gives an inaccurate steer axis. When no steering subsystem is present, the steer axis that the instant axis method calculates is typically inaccurate for a steerable suspension because the inner tie rods attach to ground and are not free to move laterally. Therefore, when a steering subsystem is present, the motion Adams/Car excites by applying an aligning torque to the wheel carrier is not comparable to the steering motion.
Dynamic Analysis
A dynamic analysis actuates the suspension at the contact patch via user defined runtime function expressions or by referencing existing RPC3 files. It is also possible to define a runtime function expression for the steering motion, therefore combining vertical excitation with steering sweeps.
222 Adams/Car
Note that the Computation of Suspension and Steering Characteristics is currently not available for dynamic suspension analyses. To set up a dynamic analysis: 1. From the Simulate menu, point to Suspension Analysis, and then select Dynamic. 2. Enter the necessary parameters as explained in the dialog box help for Suspension Analysis: Dynamic. 3. Select OK.
{ 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
For wheel-envelope input files, Adams/Car ignores columns three through ten: (left and right) lateral force, aligining torque, brake force, and driving force.
$--------------------------------------------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.0 INTERIOR_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
224 Adams/Car
$ {whl_z_l whl_z_r lat_l lat_r align_l align_r brake_l brake_r drive_l drive_r steer}
$ (c10) driving force (y) right $ (c11) steering steer angle / rack travel
-120.0 -120.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -500.0 80.0 80.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -500.0 90.0 90.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -300.0 120.0 120.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -200.0 120.0 120.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 200.0 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
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 2 3 4
-4.6463 -681.45 225.00 -344.63 -1621.7 206.15 6.7629 678.55 225.00 307.97 1628.3 139.91 -4.9532 -687.82 245.00 -340.16 -1630.0 239.60 6.5706 684.92 245.00 311.28 1634.4 170.26 -5.2433 -692.82 265.00 -334.67 -1637.0 271.40 6.3755 689.93 265.00 314.35 1639.0 198.89
5 6 7 8 9 10 ...
-5.5240 -696.55 285.00 -328.07 -1643.0 301.70 6.1779 693.66 285.00 317.43 1642.1 225.76 -5.7905 -699.08 305.00 -320.38 -1648.0 330.44 5.9864 696.18 305.00 320.67 1643.8 250.76 -6.0372 -700.45 325.00 -311.59 -1652.1 357.51 5.8099 697.55 325.00 324.25 1644.1 273.76 -6.2583 -700.71 345.00 -301.72 -1655.3 382.78 5.6583 697.79 345.00 328.31 1643.0 294.55 -6.4469 -699.89 365.00 -290.74 -1657.8 406.03 5.5424 696.93 365.00 333.04 1640.3 312.88 -6.5953 -698.01 385.00 -278.64 -1659.4 426.98 5.4752 695.00 385.00 338.63 1636.2 328.39 .......
226 Adams/Car
For steered suspensions, Adams/Car analyses also output the following steering characteriscs:
Ackerman Ackerman Angle Ackerman Error Caster Moment Arm (Mechanical Trail) Ideal Steer Angle Outside Turn Diameter Percent Ackerman Scrub Radius
Description
The aligning torque steer compliance is the change in steer angle due to unit aligning torque on the wheel. The aligning torque camber compliance is the change in camber angle due to a unit aligning torque on the wheel. A positive aligning torque acts to steer the wheel to the left. For a positive steer angle, the wheel turns to the left. For a positive camber angle, the top of the wheel tilts away from the body.
Angle/(Force*Length)
alt_steer_compliance.left alt_steer_compliance.right alt_camber_compliance.left alt_camber_compliance.right
Method
alt_steer_compliance.left = C(6,6) + C(6,12) alt_steer_compliance.right = C(12,6) + C(12,12) alt_camber_compliance.left = C(4,6) + C(4,12) alt_camber_compliance.right= -C(10,6) + C(10,12)
Figure 1
228 Adams/Car
Camber Angle
Note: This help file is shared by several Adams products.
Description
Camber angle is the angle the wheel plane makes with respect to the vehicle's vertical axis. It is positive when the top of the wheel leans outward from the vehicle body. Note that the inclination angle, a measurement available in full-vehicle analyses, is the angle the wheel plane makes with respect to the road surface. The inclination angle is used for tire calculations.
Angle
camber_angle.left camber_angle.right
Figure 2
Camber Angle
Caster Angle
Note: This help file is shared by several Adams products.
Description
Caster angle is the angle in the side elevation (vehicle XZ plane) between the steering (kingpin) axis and the vehicle's vertical axis. It is positive when the steer axis is inclined upward and rearward. Adams computes the steer axis using the geometric or instant axis method.
Angle
caster_angle.left caster_angle.right Steer (kingpin) axis unit vectors - left and right Road vertical unit vector (z) Road longitudinal unit vector (x)
Method
Adams uses the direction cosines in the x- and the z-directions of the kingpin axis to calculate caster angle, such that: sx = steer_axis road_x_axis sz = steer_axis road_z_axis caster_angle = rtod * arctan(sx/sz)
Figure 3
Caster Angle
230 Adams/Car
Description
Dive braking is the amount of front suspension compression per G of vehicle braking. Included in dive is suspension compression due to weight transfer plus suspension extension due to brake forces. Positive dive indicates that the front suspension compresses in braking. Lift braking is the amount of rear suspension extension per G of vehicle braking. Included in lift is suspension extension due to weight transfer plus compression due to brake forces. Positive lift indicates that the rear suspension extends in braking.
Length
dive.left dive.right
Inputs
Compliance matrix Fraction of braking applied at this axle Loaded tire radius Tire stiffness Whole vehicle CG height Total vehicle weight Wheelbase
Method
Adams first computes the longitudinal force percentage due to braking: Fleft = Fright = Brake Ratio / 2.0 and then the vertical force percentange due to weight transfer: Wleft = Wright = Whole vehicle CG height/ (2 x Wheelbase) For rear anti-lift, the weight transfer is a negative value. These are forces at each wheel per unit total braking force. Vertical deflections due to the vertical force are: Zwleft = Wleft x C(3,3) + Wright x C(3,9) Zwright = Wleft x C(9,3) + Wright x C(9,9) Vertical deflections due to tractive forces are as follows, where Rl is the loaded radius of the tire: ZFleft = Fleft [C(3,1) - Rl x C(3,5)] + Fright[C(3,7) - Rl x C(3,11)] ZFright = Fleft [C(9,1) - Rl x C(9,5)] + Fright[C(9,7) - Rl x C(9,11)] The dive is: dive.left = (ZFleft + ZWleft + Wleft / Kt) Vehicle Weight dive.right = (ZFright + ZWright + Wright / Kt) Vehicle Weight
232 Adams/Car
The stiffness of the suspension in the fore-aft direction is relative to the body, measured at the wheel center. Force/Length
fore_aft_wheel_center_stiffness.left fore_aft_wheel_center_stiffness.right
Compliance matrix Adams applies equal unit forces acting longitudinally at the wheel centers. It calculates the fore-aft wheel center stiffness as follows: fore_aft_wheel_center_stiffness.left = 1 / C(1,1) fore_aft_wheel_center_stiffness.right = 1 / C(7,7)
Description
The swing arm is the imaginary arm extending from the wheel's front elevation instant center of rotation to the wheel center. The swing arm has a positive length when the instant center is inward of the wheel center. The angle of the swing arm is the angle it makes to the horizontal. A positive angle is when the arm slopes outward and upward from the center of rotation to the wheel center. The magnitude of the swing-arm length is limited to a maximum of 1000 meters.
Length; Angle
fr_view_swing_arm_angle.left fr_view_swing_arm_angle.right fr_view_swing_arm_length.left fr_view_swing_arm_length.right
Inputs
Compliance matrix
Method
The change in vertical and lateral position and the front view rotation of the left wheel center due to a unit vertical force at the left wheel center is:
+ Z left )
left
12
left
( Y
Z left )
The change in vertical and lateral position and the front view rotation of the right wheel center due to a unit vertical force at the right wheel center is:
234 Adams/Car
The right front view swing arm length and angle are: fr_view_swing_arm_length.right =
( Y right + Z right )
1 ( ( Y right )
12
fr_view_swing_arm_angle.right = tan
( Z right ) )
right
Figure 4
Description
The kingpin inclination angle is the angle in the front elevation between the steer axis (the kingpin axis) and the vehicle's vertical axis. It is positive when the steer axis is inclined upward and inward. Angle
kingpin_incl_angle.left kingpin_incl_angle.right
Inputs Method
Kingpin axis unit vectors - left and right Adams uses the direction cosines in the y-direction and the z-direction of the kingpin axis to calculate the kingpin inclination angle: ( DCOSY DCOSZ ) 1 kingpin_incl_angle.right = tan ( DCOSY DCOSZ ) kingpin_incl_angle.left = tan 1
Figure 5
Kingpin Location
Note: This help file is shared by several Adams products.
The kingpin location is the location in global coordinates of the intersection of the steer axis (the kingpin axis) and the wheel-center (spin) axis. Length
kingpin_location.left_X kingpin_location.left_Y kingpin_location.left_Z kingpin_location.right_X kingpin_location.right_Y kingpin_location.right_Z
236 Adams/Car
Inputs Method
Adams uses one of two methods to compute the kingpin location. Ideally, if the user selects the Steer Axis Calculation method Instant Axis, Adams will use the compliance matrix to find the kingpin location. This method uses a small steering input and finds the location on the wheel that doesnt translate when steering about the kingpin axis. T = wheel center translation vector A = wheel center orientation vector R = vector from wheel center to kingpin axis wcpos = wheel center position kpps = kingpin position A point on the kingpin axis will not translate due to a steer input. To find this point relative to the wheel center, compute a radius vector from the wheel center to the kingpin axis such that: 0 = T + R X A Solving this equation for R yields: R = -T X A / (|A|*|A|) To locate the Kingpin axis add R to the wheel center position: kppos = wcpos + R Alternatively, if the user selects the Steer Axis Calculation method Geometric, Adams will use the I Coordinate Reference as the kingpin location. This method relies on the user to select an appropriate location. Due to suspension compliance, the resulting location may be slightly different than the input location.
Description
The deflections at the wheel center due to unit lateral forces applied simultaneously at the tire contact patches. The forces are oriented as if in a right turn. Adams reports the lateral translational deflection, steer deflection (rotational deflection about the vertical axis), and the camber deflection (rotational deflection about the longitudinal axis). Positive deflection indicates a deflection to the right. Positive steer is a steer to the left. Positive camber compliance is when the wheels lean outward at the top. Deflection - length; Camber and steer - angle
lat_force_defl_compliance.left lat_force_defl_compliance.right lat_force_steer_compliance.left lat_force_steer_compliance.right lat_force_camber_compliance.left lat_force_camber_compliance.right
238 Adams/Car
Inputs Method
When the force is applied at the tire contact patch, Adams computes the deflection due to both the lateral force at the wheel center and the moment created around the wheel center. The total compliances are:
lat_force_defl_compliance.left = +[C(2,2) + Rl x C(2,4) + C(2,8) + Rl x C(2,10)] lat_force_defl_compliance.right = +[C(8,2) + Rl x C(8,4) + C(8,8) + Rl x C(8,10)] lat_force_steer_compliance.left = +[C(6,2) + Rl x C(6,4) + C(6,8) + Rl x C(6,10)] lat_force_steer_compliance.right = +[C(12,2) + Rl x C(12,4) + C(12,8) + Rl x C(12,10)] lat_force_camber_compliance.left = +[C(4,2) + Rl x C(4,4) + C(4,8) + Rl x C(4,10)] lat_force_camber_compliance.right = -[C(10,2) + Rl x C(10,4) + C(10,8) + Rl x C(10,10)]
Figure 6
Lift/Squat Acceleration
Note: This help file is shared by several Adams products.
Description
Lift is the amount of front suspension extension (rebound) per G of vehicle acceleration. Squat is the amount of rear suspension compression (jounce) per G of vehicle acceleration. Lift and squat arise when the suspension reacts to longitudinal tractive forces, weight transfer forces, and, in dependent suspensions, to the differential input and output torques. Length Front suspensions:
lift.left lift.right
Rear suspensions:
squat_acceleration.left squat_acceleration.right
Inputs
Suspension geometry:
Track
240 Adams/Car
Method
The suspension lift or squat during acceleration arises due to the tractive forces, weight transfer, and, in live axles, due to the differential input and output torques, as well. The longitudinal tractive forces at the tire contact patches are: Fleft = Fright = -drive_ratio / 2.0 The vertical forces at the tire contact patch due to weight transfer are: VWleft = VWright = - cg_height / (2 * Wheelbase) Live axles also react to the drive torques (input torque to the differential pinion and the left and right output torque from the differential). Given the longitudinal tractive forces, the input torque (TI) to the differential is:
TI = tire_loaded_radius * abs(Fleft + Fright) / axle_ratio
And the vertical force at the tire contact patches due to the drive torque is: VTleft = -VTright = TI / Track The left and right output torque from the differential is: TOleft = - tire_loaded_radius * Fleft TOright = - tire_loaded_radius * Fright The vertical deflections of the suspension due to drive torque are: ZDleft = VTleft * C(3,1) + TOleft * C(3,5) + VTright * C(3,7) + TOright * C(3,11) + VTleft / tire_stiffness ZDright = VTleft * C(9,1) + TOleft * C(9,5) + VTright * C(9,7) + TOright * C(9,11) + VTright / tire_stiffness Independent suspensions do not react to the drive torques. Therefore, ZDleft = ZDright = 0.0 The vertical deflections of the suspension due to tractive forces are: ZFleft = Fleft * C(3,1) + Fright * C(3,7) ZFright = Fright * C(9,7) + Fleft * C(9,1) The vertical deflections of the suspension due to weight transfer forces are: ZWleft = VWleft C(3,3) + VWright C(3,9) + VWleft / tire_stiffness ZWright = VWleft C(9,3) + VWright C(9,9) + VWright / tire_stiffness Finally, the lift/squat per G of acceleration is: lift.left / squat_acceleration.left = (ZDleft + ZFleft + ZWleft) * sprung_mass * Ag lift.right / squat_acceleration.right = (ZDright + ZFright + ZWright) * sprung_mass * Ag
Description
Percent anti-dive braking for a front suspension and percent anti-lift braking for a rear suspension are the ratio of vertical suspension deflections caused by braking forces and torques to the deflections caused by weight transfer. During braking, the vertical deflections in a suspension from weight transfer can, in part, be cancelled by the vertical deflections caused by braking forces and torques in the suspension. Suspensions that exhibit this characteristic are said to have anti-dive or anti-lift geometry. For front suspensions, percent anti-dive braking is positive when deflections caused by braking forces and torques act to extend or rebound the suspension. For rear suspensions, percent anti-lift braking is positive when the deflections caused by the braking forces and torques act to compress or jounce the suspension.
% Front suspensions:
anti_dive_braking.left anti_dive_braking.right
Rear suspensions:
anti_lift.left anti_lift.right
242 Adams/Car
Inputs
Method
The brake forces at the tire contact patch per G of longitudinal deceleration are: Fleft = Fright = sprung_mass * Ag * brake_ratio / 2 The brake torques reacted that the suspension reacts to are: BTleft = loaded_tire_radius * Fleft BTright = loaded_tire_radius * Fright The weight transfer forces that the suspension reacts to are: WTleft = sprung_mass * Ag * cg_height / wheelbase / 2 WTright = sprung_mass * Ag * cg_height / wheelbase / 2 The brake forces and torques that cause the suspension deflections are: ZBleft = Fleft * C(3,1) + Fright * C(3,7) + BTleft * C(3,5) + BTright * C(3,11) + Fleft / tire_stiffness ZBright = Fleft * C(9,1) + Fright * C(9,7) + BTleft * C(9,5) + BTright * C(9,11) + Fright / tire_stifness The weight transfer forces that cause the suspension deflections are: ZWleft = WTleft * C(3,3) + WTright * C(3,9) + WTleft / tire_stiffness ZWright = WTleft * C(9,3) + WTright * C(9,9) + WTright / tire_stiffness Finally, the percent anti-dive and percent anti-lift are: anti_dive_braking.left = anti_lift.left = 100 * ZBleft / ZWleft anti_dive_braking.right = anti_lift.right = 100 * ZBright / ZWright
Description
Percent anti-lift for a front suspension and percent anti-squat for a rear suspension are the ratio of vertical suspension deflections caused by tractive forces and drive torques to the deflections caused by weight transfer. During acceleration, the vertical deflections in a suspension from weight transfer can, in part, be cancelled by the vertical deflections caused by tractive forces and drive torques in the suspension. Suspensions that exhibit this characteristic are said to have anti-lift or anti-dive geometry. Note that a suspension that does not transmit tractive forces and drive torques (drive_ratio = 0.0) has zero anti-lift or anti-squat. For front suspensions, percent anti-lift is positive when deflections caused by tractive forces and drive torques act to compress or jounce the suspension. For rear suspensions, percent anti-squat is positive when the deflections caused by the tractive forces and drive torques act to extend or rebound the suspension.
% Front suspensions:
anti_lift.left anti_lift.right
Rear suspensions:
anti_squat.left anti_squat.right
244 Adams/Car
Inputs
Suspension geometry:
Track
Method
The longitudinal tractive forces at the tire contact patches are: Fleft = Fright = -drive_ratio / 2.0 The vertical forces at the tire contact patch due to weight transfer are: VWleft = VWright = - cg_height / (2 * Wheelbase) Live axles also react with the drive torques (input torque to the differential pinion and output torque from the differential). Given the longitudinal tractive forces, the input torque (TI) to the differential is: TI = tire_loaded_radius * abs(Fleft + Fright) / axle_ratio And the vertical force at the tire contact patches due to the drive torque is: VTleft = -VTright = TI / Track The left and right output torque from the differential is: TOleft = - tire_loaded_radias * Fleft TOright = - tire_loaded_radias * Fright The vertical deflections of the suspension due to drive torque are: ZDleft = VTleft * C(3,1) + TOleft * C(3,5) + VTright * C(3,7) + TOright * C(3,11) + VTleft / tire_stiffness ZDright = VTleft * C(9,1) + TOleft * C(9,5) + VTright * C(9,7) + TOright * C(9,11) + VTright / tire_stiffness Independent suspensions do not react to the drive torque. Therefore, ZDleft = ZDright = 0.0 The vertical deflections of the suspension due to tractive forces are: ZFleft = Fleft * C(3,1) + Fright * C(3,7) ZFright = Fright * C(9,7) + Fleft * C(9,1) The vertical deflections of the suspension due to weight transfer forces are: ZWleft = VWleft C(3,3) + VWright C(3,9) + VWleft / tire_stiffness ZWright = VWleft C(9,3) + VWright C(9,9) + VWright / tire_stiffness
The left and right percent anti-lift for front suspensions and percent anti-squat for rear suspensions are:
anti_lift.left / anti_squat.left = 100 * (ZFleft + ZDleft) / ZWleft anti_lift.right / anti_squat.right =100 * (ZFright + ZDright) / ZWright
246 Adams/Car
Ride Rate
Note: This help file is shared by several Adams products.
Ride rate is the spring rate of the suspension relative to the body, measured at the tire contact patch. Force/Length
ride_rate.left ride_rate.right Compliance matrix Tire stiffness
Adams computes ride rate as the equivalent rate of the wheel rate and tire rate in series. Ks = Wheel rate (see Wheel Rate) Kt = Vertical tire rate Ktotal = Ks x Kt / (Ks + Kt)
Ride Steer
Note: This help file is shared by several Adams products.
Description
Ride steer is the slope of the steer angle versus the vertical wheel travel curve. Ride steer is the change in steer angle per unit of wheel center vertical deflection due to equal vertical forces at the wheel centers. Positive ride steer implies that the wheels steer to the right, as the wheel centers move upward. Angle/length
ride_steer.left ride_steer.right
Inputs Method
Compliance matrix Change in Wheel Orientation Using the compliance matrix, Adams first calculates the change in wheel orientation (W) due to unit forces applied at both wheel centers: Wl/dF = C(4, 3) - C(4, 9) , C(5, 3) - C(5, 9) , C(6, 3) - C(6, 9) Wr/dF = C(10, 3) - C(10,9) , C(11, 3) - C(11, 9) , C(12, 3) - C(12,9) Change in Wheel-Center (Spin) Vector Orientation The change in the left wheel-center (spin) vector (d(wcvl)) and the right wheel (spin) vector (d(wcvr) are vectors of partial derivatives given by the cross product of the change in wheel orientation with the wheel-center vector: d(wcvl)/dF = Wl x wcvl d(wcvr)/dF = Wr x wcvr Change in Steer Angle The change in steer angle due to a change in wheel-center vector orientation is also a vector of partial derivatives given by: d(steer_anglel)/d(wcvl) sxl**2 ) ) { syl, -sxl, d(steer_angler)/d(wcvr) sxr**2 ) ) { syr, -sxr, where: sxl = wcvl o x; The x component of the left wheelcenter (spin) vector syl = wcvl o y; The y component of the left wheelcenter (spin) vector\sxr = wcvr o x; The x component of the right wheel-center (spin) vector syr = wcvr o y; The y component of the right wheel-center (spin) vector The change in steer angle due to unit vertical forces at both wheel centers is computed by the chain rule: d(steer_anglel) /dF = ( -d(steer_anglel)/d(wcvl) ) o ( d(wcvl) / dF ) d(steer_angler)/dF = ( -d(steer_angler)/d(wcvr) ) o ( d(wcvr) / dF ) = 0 = 0 (-1.0 / ( syl**2 + } (-1.0 / ( syr**2 + }
248 Adams/Car
Change in Wheel-Center Vertical Travel The change in wheel-center vertical travel (dz) due to unit vertical forces applied at both wheel centers is: dzl /dF = { C(3,3) + C(3,9) } dzr /dF = { C(9,3) + C(9,9) }
Using the chain rule one final time, the ride steer is:
Description
Roll camber coefficient is the rate of change of wheel inclination angle with respect to vehicle roll angle. Positive roll camber coefficient indicates an increase in camber angle per degree of vehicle roll. Unitless
roll_camber_coefficient.left roll_camber_coefficient.right
Inputs
Method
Adams applies opposing unit forces acting vertically at the tire contact patches. The height difference between the tire contact patches is the following, where Kt is the vertical tire rate: DZ = C(3,3) - C(3,9) - C(9,3) + C(9,9) + 2/Kt The vehicle roll angle is the rotation of the line through the tire contact patches: Av = DZ / track Adams measures the wheel inclination with respect to the line through the tire contact patches, which has two components. The first is from the vertical movement of the tire contact 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: 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: roll_camber_coefficient = (Av - Ac) / Av = 1 - Ac / Av
Figure 7
Roll Camber
250 Adams/Car
Description
Roll caster coefficient is the rate of change in side view steer axis angle with respect to vehicle roll angle. A positive roll caster coefficient indicates an increase in caster angle per degree of vehicle roll. This calculation assumes that the steer axis (kingpin) is fixed in the suspension upright as in a double-wishbone or MacPherson strut suspension. The calculation, however, is not valid for suspensions where the steer axis is not fixed in the suspension upright, for example, a five-link front suspension used in Audi A4.
Unitless
roll_caster_coefficient.left roll_caster_coefficient.right Compliance matrix Tire stiffness Track width
Method
Adams applies opposing unit forces acting vertically at the tire contact patches. The height difference between the tire contact patches is the following, where Kt is the vertical tire rate: DZ = C(3,3) - C(3,9) - C(9,3) + C(9,9) + 2/Kt The vehicle roll angle is the rotation of the line through the tire contact patches: Av = DZ / track The rotational compliance at the wheel center due to the vertical force is: Ac = C(5,3) - C(5,9) (left side) = C(11,3) - C(11,9) (right side) The roll caster is then: roll_caster_coefficient = Ac / Av
Description
Roll center location is the point on the body where the moment of the lateral and vertical forces exerted by the suspension links on the body vanishes. Length
roll_center_location.lateral_from_half_track roll_center_location.vertical roll_center_location.lateral_to_left_patch roll_center_location.lateral_to_right_patch
252 Adams/Car
Inputs Method
Adams applies unit vertical forces (perpendicular to the road) at the tire contact and measures the resulting contact patch displacements in the vertical and lateral direction (front view). Adams projects lines perpendicular to the contact patch displacements for both the left and right patches. The roll center lies at the intersection of these lines. Adams reports errors when the motions of the left and right patches are parallel (just as it occurs with a fully trailing arm suspension). Therefore, the projected lines have no intersection. Adams also reports an error when the motion of the left and/or right patches is very small for a unit vertical force (for example, the suspension is very stiff). Finally, Adams limits the distance from the roll center to the left and right patches to +/- 1000 meters.
Figure 8
Roll Steer
Note: This help file is shared by several Adams products.
Description
Roll steer is the change in steer angle per unit change in roll angle, or the slope of the steer-angle-verses-roll-angle curve. Roll steer is positive when for increasing roll angle (left wheel moving up, right wheel moving down) the steer angle increases (wheels steer toward the left). Unitless
roll_steer.left roll_steer.right Wheel center spin axis unit vector (wcv) left and right Track Tire stiffness (Kt) Compliance matrix
254 Adams/Car
Method
Using the compliance matrix, Adams first calculates the change in roll angle and the change in the wheel-center vector orientation due to a roll moment (the roll moment is a unit vertical force upward at the left contact patch and a unit force downward at the right contact patch). Then, Adams calculates the change in steer angle due to the change in wheel-center vector orientation. Finally, Adams applies the chain rule to calculate the roll steer. Change in Roll Angle The change in roll angle is: d(roll_angle)/d(roll_moment) = ( C(3,3) - C(3,9) C(9,3) + C(9,9) + 2.0/Kt ) / Track Change in Wheel-Center Spin Vector Orientation The changes in orientation of the left wheel (Wl) and of the right wheel (Wr) due to a unit upward force at the left contact patch and a unit downward force at the right contact patch are: Wl = { C(4, 3) - C(4, 9) , C(5, 3) - C(5, 9) , C(6, 3) - C(6, 9) } Wr = { C(10, 3) - C(10,9) , C(11, 3) - C(11, 9) , C(12, 3) - C(12, 9) } The change in the left wheel-center (spin) vector (d(wcvl)) and the right wheel (spin) vector (d(wcvr) are vectors of partial derivatives: d(wcvl)/d(roll_moment) = Wl x wcvl d(wcvr)/d(roll_moment) = Wr x wcvr Change in Steer Angle The change in steer angle due to a change in wheel-center vector orientation is also a vector of partial derivatives given by: d(steer_anglel)/d(wcvl) = (-1.0 / ( syl**2 + sxl**2 ) ) { syl, -sxl, 0 } d(steer_angler)/d(wcvr) = (-1.0 / ( syr**2 + sxr**2 ) ) { syr, -sxr, 0 } where: sxl = wcvl o x; The x center (spin) vector syl = wcvl o y; The y center (spin) vector sxr = wcvr o x; The x center (spin) vector syr = wcvr o y; The y center (spin) vector component of the left wheelcomponent of the left wheelcomponent of the right wheelcomponent of the right wheel-
The change in steer angle for a change in roll moment is computed using the chain rule: d(steer_anglel)/d(roll_moment) = ( d(steer_anglel)/d(wcvl) ) o ( d(wcvl)/d(roll_moment) ) d(steer_angler)/d(roll_moment) = ( d(steer_angler)/d(wcvr) ) o ( d(wcvr)/d(roll_moment) ) Roll Steer And applying the chain rule one last time, the roll steer is roll_steer.left = ( d(steer_anglel)/d(roll_moment) ) / ( d(roll_angle)/d(roll_moment) ) roll_steer.right = ( d(steer_angler)/d(roll_moment) ) / ( d(roll_angle)/d(roll_moment) ) Request Statements Nomenclature REQUST/id, FUNCTION=USER(900,17,characteristics_input_array_id)
Bold, uppercase text, such as Wl, are vectors. Bold, lowercase text, such as wcvl, are unit vectors. X is the vector cross product operator. o is the vector dot product operator. * is the scalar multiplication operator.
Side-View Angle
Note: This help file is shared by several Adams products.
The side-view angle is the wheel carrier side-view rotation angle. It is positive for a clockwise rotation, as seen from the left side of the vehicle. Angle
side_view_angle.left side_view_angle.right
256 Adams/Car
Description
The swing arm is an imaginary arm extending from the wheel's side elevation instant center of rotation to the wheel center. For front suspensions, the sign convention is that when the instant center is behind the wheel center, the swing arm has a positive length. For rear suspensions, the sign convention is the opposite: when the instant center is ahead of the wheel center, the swing arm has a positive length. The angle of the swing arm is the angle it makes to the horizontal. A positive angle for a positive length is when the arm slopes downward from the wheel center. A positive angle for a negative length arm is when the arm slopes upward from the wheel center. The magnitude of the swing-arm length is limited to a maximum of 1000 meters.
Length, Angle
side_view_swing_arm_angle.left side_view_swing_arm_angle.right side_view_swing_arm_length.left side_view_swing_arm_length.right
Inputs Method
Compliance matrix The change in vertical and longitudinal position and the side view rotation of the left wheel center due to a unit vertical force at the left wheel center is: DX left = C(1,3) DZ left = C(3,3) D left = C(5,3) The left side view swing arm length and angle are: side_view_swing_arm_length.left = (DX left 2 + DZ left 2)1/2 / D left side_view_swing_arm_angle.left = tan-1 (DX left / DZ left) The change in vertical and longitudinal position and the change in side view rotation of the right wheel center due to a unit vertical force at the right wheel center is: DX right = C(7,9) DZ right = C(9,9) D right = C(11,9) The right side view swing arm length and angle are: side_view_swing_arm_length.right = (DXright 2 + DZright 2) 1/2 / D right side_view_swing_arm_angle.right = tan-1 (DXright / DZ right)
Figure 9
258 Adams/Car
Suspension roll rate is the torque, applied as vertical forces at the tire contact patches, per degree of roll, measured through the wheel centers. Force-Length/Angle
susp_roll_rate.left susp_roll_rate.right Compliance matrix Track width
Adams uses opposing unit forces as the applied torque: T = F x track = track The resulting vertical distance between wheel centers is:
Figure 10
Toe Angle
Note: This help file is shared by several Adams products.
Description
Toe angle is the angle between the longitudinal axis of the vehicle and the line of intersection of the wheel plane and the vehicle's XY plane. Adams reports toe angle in radians. It is positive if the wheel front is rotated in towards the vehicle body.
Angle
toe_angle.left toe_angle.right
Wheel center axis unit vectors - left and right Adams uses the direction cosines in the x- and y-directions of the wheel center axis relative to the road to calculate toe angle, such that: toe_angle.left = tan-1 (DCOSX/DCOSY) toe_angle.right = tan-1 (-DCOSX/DCOSY)
Figure 11
Toe Angle
260 Adams/Car
Total roll rate is the torque, applied as vertical forces at the tire contact patches, per degree of roll, measured at the tire contact patches. Force-Length/Angle
total_roll_rate.left total_roll_rate.right Compliance matrix Tire stiffness Track width
Method
Adams uses opposing unit forces as the applied torque: T = F x track = track The resulting vertical distance between wheel centers is the following, where Kt is the tire stiffnesses:
Z = C ( 3, 3 ) C ( 3 , 9 ) C ( 9 , 3 ) + C ( 9, 9 ) + 2 K t
The rotation of the line through the tire contact patches is:
= Z track
The roll rate is: total_roll_rate = T/ = track 2
Total Track
Note: This help file is shared by several Adams products.
Description
Total track is the distance measured along the line passing through the left and right tire contact points with the left and right road parts (pads) and then projected onto the right road plane. The tire contact point lies at the intersection of two lines:
The first line is formed by the intersection of the wheel plane with the
road plane.
The second line is perpendicular to the first and passes through the
wheel center. The wheel plane is perpendicular to the wheel spin axis and passes through the wheel center. The left and right road planes behave differently, depending on your coordinates:
In vehicle coordinates, the left and right road planes remain
perpendicular to the vehicle's vertical axis, but lie at different heights. If you run an opposite wheel-travel using vehicle coordinates, the left and right road planes remain un-rolled (flat) relative to the vehicle body (ground in a suspension analysis).
In ISO coordinates, the left and right road planes form one plane that
rotates about the vehicle's longitudinal axis to simulate rolling of the suspension relative to the road. If you run an opposite wheel-travel analysis using ISO coordinates, the right road plane and left road plane are identical, as if the suspension was rolled relative to a flat road. The total_track (distance between tire contact points) projected onto the right road plane is foreshortened, and therefore, is less than the total track output. Also, the distance from the road plane to the wheel center depends on the tire deflection, which depends on the tire stiffness and the force required to deflect the suspension to a given position. Units Request Names Length
total_track
262 Adams/Car
Inputs Method
where:
ROAD is a data structure filled with a series of kinematic
characteristics of the suspension. ROAD (Y,CPPLEFT) returns, for example, the Y component of the left contact patch position.
CPP represents the instantaneous coodinates of contact points
Wheel Rate
Note: This help file is shared by several Adams products.
Wheel rate is the vertical stiffness of the suspension relative to the body, measured at the wheel center. Force/Length
wheel_rate.left wheel_rate.right
Compliance matrix Adams computes suspension 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. wheel_rate.left = 1 / (C(3,3) + C(3,9)) wheel_rate.right = 1 / (C(9,3) + C(9,9))
Ackerman
Note: This help file is shared by several Adams products.
Description
Ackerman is the difference between the left and right wheel steer angles. A positive Ackerman indicates that the right wheel is being steered more to the right than to the left. Angle
ackerman.left ackerman.right
Steer angle (see Steer Angle) Adams/Car computes Ackerman by subtracting the right steer angle from the left steer angle: ackerman = Right steer angle Left steer angle
Ackerman Angle
Note: This help file is shared by several Adams products.
Ackerman angle is the angle whose tangent is the wheel base divided by the turn radius. Ackerman angle is positive for right turns. Angle
ackerman_angle.left ackerman_angle.right
264 Adams/Car
Inputs Method
Figure 12
Ackerman Angle
Ackerman Error
Note: This help file is shared by several Adams products.
Description
Ackerman error is the difference between the steer angle and the ideal steer angle for Ackerman geometry. Because Adams/Car uses the inside wheel to compute the turn center, the Ackerman error for the inside wheel is zero. For a left turn, the left wheel is the inside wheel and the right wheel is the outside wheel. Conversely, for a right turn, the right wheel is the inside wheel and the left wheel is the outside wheel. Positive Ackerman error indicates the actual steer angle is greater than the ideal steer angle or the actual is steered more to the right.
Units
Angle
ackerman_error.left ackerman_error.right Steer angle (see Steer Angle) Ideal steer angle (see Ideal Steer Angle)
ackerman_error.left = (left steer angle - left ideal steer angle) ackerman_error.right = (right steer angle - right ideal steer angle)
Description
Caster moment arm is the distance from the intersection of the kingpin (steer) axis and the road plane to the tire contact patch measured along the intersection of the wheel plane and road plane. Caster moment arm is positive when the intersection of the kingpin axis and road plane is forward of the tire contact patch. Length
caster_moment_arm.left caster_moment_arm.right
266 Adams/Car
Inputs
Kingpin axis position, a point on the kingpin axis (Rs) - left and right Kingpin (steer) axis unit vector (s) - left and right Tire contact patch position (Rp) - left and right Wheel center axis unit vector (w) - left and right The road normal unit vector (k)
Methods
Adams/Car first finds the intersection of the kingpin axis and the road plane. Note that by convention, the kingpin axis unit vector is directed upward, away from the road, and the road plane has zero height. The intersection of the kingpin axis and the road plane (Rkr) is: Rsr = Rs - (Rs o k)/(s o k) s Next, Adams/Car finds a unit vector (l) directed rearward along the line of intersection between the wheel plane and the road plane: l = k x w / | k x w | (left side) l = k x -w / | k x -w | (right side) The distance along l from the contact patch to the intersection of the kingpin axis and the road plane is: caster_moment_arm = (Rp - Rkr) o l
Figure 13
Description
Ideal steer angle is the steer angle in radians that gives Ackerman steer geometry or 100% Ackerman. For Ackerman steer geometry, the wheel-center axes for all four wheels pass through the turn center. Note that Adams/Car uses the steer angle of the inside wheel to determine the turn center for Ackerman geometry. Therefore, the ideal steer angle and the steer angle are equal for the inside wheel. When making a left turn, the left wheel is the inside wheel. Conversely, when making a right turn, the right wheel is the inside wheel. A positive steer angle indicates a steer to the right. Angle
ideal_steer_angle.left ideal_steer_angle.right Turn radius (see Steer Angle) Tire contact patch position (Rp) - left and right Wheelbase
Method
y )] )] y
<0 y >0 y
Rp(right) o
|Inside wheel's ideal steer angle| > |outside wheel's ideal steer angle|
268 Adams/Car
Description
Outside turn diameter is the diameter of the circle defined by a vehicle's outside front tire when the vehicle turns at low speeds. Adams/Car determines the circle by the tire's contact patch for a given steer angle. For a left turn, the right front wheel is the outside wheel. For a right turn, the left front wheel is the outside wheel. Length
outside_turn_diameter.left outside_turn_diameter.right Turn radius (see Turn Radius) Track width Wheelbase
Method
Percent Ackerman
Note: This help file is shared by several Adams products.
Description
Percent Ackerman is the ratio of actual Ackerman to ideal Ackerman expressed as a percentage. Percent Ackerman is limited to the range from -999% to 999%. Percent Ackerman is positive when the inside wheel's steer angle is larger than the outside wheel's steer angle. %
percent_ackerman.left percent_ackerman.right Steer angle (see Steer Angle) Ideal steer angle (see Ideal Steer Angle) Ackerman (see Ackerman)
Method
ackerman = Right steer angle - Left steer angle ideal_ackerman = Right ideal steer angle - Left ideal steer angle percent_ackerman = 100 x Ackerman/Ideal Ackerman
Scrub Radius
Note: This help file is shared by several Adams products.
Description
Scrub radius is the distance from the intersection of the kingpin (steer) axis and the road plane to the tire contact patch measured along the projection of the wheel-center axis into the road plane. Scrub radius is positive when the intersection of the kingpin axis and the road plane is inboard of the tire contact patch. Length
Units
270 Adams/Car
Request Names
scrub_radius.left scrub_radius.right
Inputs
Kingpin axis position (Rs) - left and right Kingpin (steer) axis unit vector (s) - left and right Tire contact patch position (Rp) - left and right Wheel-center axis unit vector (w) - left and right The road normal unit vector (k)
Method
Adams/Car first finds the intersection of the kingpin axis and the road plane. Note that by convention the kingpin axis unit vector is directed upward, away from the road, and the road plane has zero height. The intersection of the kingpin axis and the road plane (Rkr) is: Rsr = Rs - (Rs o k)/(s o k) s Next Adams/Car finds the projection (m) of the wheel-center axis (w) onto the road plane M = (k x w) x k m = M / | M | The distance from the contact patch to the intersection of the kingpin axis and the road plane along m is: scrub_radius = (Rp - Rkr) o m
Figure 14
272 Adams/Car
Steer Angle
Note: This help file is shared by several Adams products.
Description
Steer angle is the angle measured from the vehicle heading to the line formed by the intersection of the wheel plane with the ground plane. Steer angle is positive when a wheel is rotated to the right as if the vehicle were making a right turn. Angle
steer_angle.left steer_angle.right
Wheel-center axis unit vectors - left and right Adams/Car uses the direction cosines of the x-direction and the y-direction of the wheel-center axis constructed from the wheel-center orientation to calculate steer angle: steer_angle.left = tan-1 (-DCOSX/|DCOSY|) steer_angle.right = tan-1 (DCOSX/|DCOSY|)
Description
The steer axis offset is the shortest distance from the steer (kingpin) axis to the wheel center. The steer axis offset is measured in the plane perpendicular to the steer axis and passing through the wheel center. The steer axis offset is always positive. The steer axis offset-longitudinal is the component of the steer axis offset along the intersection of the wheel plane with the plane perpendicular to the steer axis and passing through the wheel center. The steer axis offsetlongitudinal is positive when the wheel center is forward of the steer axis. The steer axis offset-lateral is the component of the steer axis offset along the projection of the wheel-center axis into the plane perpendicular to the steer axis and passing through the wheel center. The steer axis offset - lateral is positive when the wheel center lies outboard of the steer axis.
Length
steer_axis_offset.off_left steer_axis_offset.off_right steer_axis_offset.lon_left steer_axis_offset.lon_right steer_axis_offset.lat_left steer_axis_offset.lat_right
Inputs
Wheel-center position (WCP) left and right Wheel-center (spin) axis unit vector (wcv) left and right Kingpin (steer) axis position (KPP) left and right Kingpin (steer) axis unit vector (kpv) left and right
274 Adams/Car
Method
First, define longitudinal and lateral directions in a plane perpendicular to the steer (kingpin) axis using the kingpin axis vector and the wheel-center (spin) vector.
R = WCP - KPP
The steer axis offset-longitudinal is:
Figure 15
Request Statements
Offset: REQUST/id, FUNCTION=USER(900,44,characteristics_input_array_id)\ Longitudinal offset: REQUST/id, FUNCTION=USER(900,45,characteristics_input_array_id)\ Lateral offset: REQUST/id, FUNCTION=USER(900,46,characteristics_input_array_id)\
Nomenclature
Bold text in uppercase letters, such as R, shows vectors. Bold text in lowercase letters, such as u_lon, shows unit vectors. X is the vector cross product operator. o is the vector dot product operator. * is the scalar multiplication operator.
Turn Radius
Note: This help file is shared by several Adams products.
Description
The turn radius is the distance measured in the ground plane from the vehicle center line to the turn center along the y-axis (see the figure for Ackerman Angle). Turn radius is positive for right turns and negative for left turns. Length
turn_radius.left turn_radius.right
276 Adams/Car
Inputs
Steer angle (see Steer Angle) Track width Wheelbase Wheel-center orientations - left and right
Method
Adams/Car determines the inside wheel by checking the sign of the steer angles. It computes turn radius using the inside tire orientation. Left turn:
turn_radius.left = - [Wheel Base (DCOSY/DCOSX) + Track/2]
Right turn:
turn_radius.right = [Wheel Base x (DCOSY/DCOSX) + Track/2]
suspension)
Braking force at the contact patch (creates a brake torque on the suspension) Overturning moment at the contact patch Aligning torque at the contact patch Drive your suspension with a set of closed-loop controllers to vary: Wheel-center displacements Contact patch displacements Wheel vertical forces Perform roll angle sweeps at constant total vertical force (sum of vertical force on the left and
right wheels)
278 Adams/Car
also known as the spindle) in your suspension template to which the test rig wheel tires mount.
wheel_center_location (communicator entity class: location) - Contains the wheel-center
location that Adams/Car uses to locate the test rig relative to the suspension.
toe_angle and camber_angle (communicator entity class: parameter real) - Contain the static toe
and camber angles that Adams/Car uses to orient the test-rig wheels.
suspension_upright (communicator entity class: mount) - Points to the suspension upright in
your suspension template. The suspension test rig creates a perpendicular joint primitive between the suspension mount (that is, the hub) and the suspension upright to lock wheel rotation during suspension analyses. The following make up the suspension test rig:
Vertical Actuators Suspension Test Rig Tire Static Loads Loadcase Files
Vertical Actuators The left and right vertical actuators apply forces to drive the test-rig tables, and in turn, the suspension, up and down. An integral controller computes the actuator force necessary to achieve the desired wheel
center or contact patch positions. However, the forces in the actuators are limited by default to -22,000 N in rebound and 40,000 N in jounce. The vertical actuators are standard joint force actuators (pairs of action-only translational forces). You can modify the force limits using the Adams/Car Template Builder through the menus Build -> Actuator -> Joint Force -> Modify. Suspension Test Rig Tire The suspension test rig includes left and right wheel and tire UDE instances that are compatible with Adams/Tire. The test rig tables contact these tires to drive the suspension's vertical travel. These tires also apply the contact patch loads (read from the loadcase spline) to the suspension. The suspension test rig sets the simulation type string to SUSPENSION to inform Adams/Tire you are performing a suspension analysis. About RIGID_WHEEL and LIVE_TIRE When working with these tires you can modify them to select either of the following:
RIGID_WHEEL - The tire transmits both compression and tension force allowing the test rig to
the tire and table goes to zero, the tire separates from the table. Therefore, when using a LIVE_TIRE, the test rig cannot pull the suspension into rebound. However, the force of gravity and the suspension spring will typically drive the suspension into rebound until the suspension hits the rebound bumper. For the equations for RIGID_WHEEL and LIVE_TIRE,
radius is the distance, measured in the plane of the wheel, from the wheel center to the contact
patch
r is the unit vector directed from the contact patch to the wheel center n is the unit vector normal to the table
RIGID_WHEEL When you select RIGID_WHEEL, you enter the tire stiffness and unloaded radius. Adams/Car sets the tire property file string to RIGID_WHEEL and passes the stiffness and radius you entered to Adams/Tire through an ARRAY statement. Adams/Tire calculates the tire vertical force using the following equation: force = tire_stiffness*(unloaded_radius - radius) (r o n) LIVE_TIRE When you select LIVE_TIRE, you must enter a tire property file. Adams/Tire opens the property file and reads the unloaded radius and vertical stiffness. These values are automatically converted to the proper
280 Adams/Car
units for your suspension assembly. Other parameters in the tire property file are ignored. Adams/Tire calculates the tire vertical force using the following equation: force = max(0.0, tire_stiffness*(unloaded_radius - radius) (r o n)) Static Loads You can specify forces, torques, and displacements as inputs to your suspension analyses. These inputs are stored in the loadcase spline. The loadcase spline contains a linear interpolation at discrete time intervals, between the upper and lower values. The following table shows how forces and torques are expressed in the reference frames : Forces/Torques in Reference Frames Reference frame: Force/torque: Lateral force (cornering) Longitudinal force (traction) Overturning moment Rolling resistance torque Aligning torque Loadcase Files Adams/Car supports old suspension loadcase files (version 5) as follows:
Vertical Mode = Length - Corresponds to wheel_center_height Vertical Mode = Force - Corresponds to an open-loop vertical force
282 Adams/Car
Tire Test Rig
2. Predefined Test Rig analyses database files can be selected by clicking on File Open.
3. In the Registered Databases select mdids://acar_shared/ and pure_cornering_test.xml from the folder and then click Open.
4. Each line represents one simulation with the Tire Test Rig. Clicking on one of the cells in the Name column will allow you to define the simulation specifications in detail. For example clicking on '3000 N' will bring you into the Tire tab.
5. By clicking the Run It button, all specified simulations will be run with the solver and simulation settings as shown. After each simulation the simulation results will be imported into the Adams Postprocessor and a set of standard plots will be created. 6. By clicking the Add button a new analysis will be added with a name specified in the Name box. 7. The set of simulations can be saved in an .xml database file and re-loaded for another session.
The 'Property File' cell defines the property file to be used in this simulation, while the 'Mass', 'Ixx', 'Iyy' and 'Izz' define the mass and inertia of the wheel and tire (see also Defining Wheel Inertia). With 'Left' and 'Right' the tire characteristics may be mirrored depending on the mounted side of the tire defined in the tire property file (see section Left and Right Side Tires in the PAC2002 documentation).
284 Adams/Car
Tire Test Rig
2. Road
Explanation A 2D flat road will be used A 2D flat road with a cleat (plank) positioned at a location (Time to Cleat) x (Initial long. Velocity) is used. For the Initial long. Velocity definition, see the Kinematics tab. The 'Height', 'Length' and the 'Angle' of the cleat can be specified. The 'Angle' is the angle in between the plank's xaxis with the road's x-axis.
user_defined
Explanation The road will be fixed to ground, no movements of the road. In the 'Road Motion' cell an Adams (Motion displacement) function expression can be defined to specify a rotational movement of the road around the Test Rig's x-axis. The rotation axis of the camber motion is located at zero road height.
forward_moving_road In the 'Road Motion' cell an Adams (Motion displacement) function expression can be defined to specify a forward movement of the road along the Test Rig's x-axis. lateral_moving_road In the 'Road Motion' cell an Adams (Motion displacement) function expression can be defined to specify a lateral movement of the road along the Test Rig's y-axis.
upward_moving_road In the 'Road Motion' cell an Adams (Motion displacement) function expression can be defined to specify an upward movement of the road along the Test Rig's z-axis.
286 Adams/Car
Tire Test Rig
3. Kinematics
Options
Explanation The initial forward velocity of the wheel with respect to ground at the start of the simulation The tire unloaded radius, required to position the wheel exact at the tire radius distance above the road at the beginning of the simulation. By clicking Load from File the unloaded radius will be imported from the tire property files specified under tab Tire.
derived
The initial rotational velocity (used at the start of the simulation) of the wheel will be calculated using the 'Tire Radius' and the 'Initial Long. Velocity'. The user can specify the initial rotational velocity of the wheel in the cell at the right of this drop down box.
user_defined
Options free_rolling
long_slip_sweep A rotational motion will be applied to the wheel starting at the negative 'Longitudinal Slip Sweep Amplitude' value towards the positive 'Longitudinal Slip Sweep Amplitude' at the end of the simulation. The slip value is based on the 'Initial Long. Velocity' and the 'Tire Radius'. Note:
Vertical/Longitudinal tab is equal to the 'Initial Long.
This is true only when the 'Constant Velocity' in the Velocity'. Small offsets of the Slip Sweep amplitude may occur due to differences in loaded and effective radius modeling in the tire model.
motion
A rotational displacement motion that is applied to the wheel can be defined at the right of the drop down box.
288 Adams/Car
Tire Test Rig
4. Vertical/Longitudinal
Input Vertical
Options force
Explanation A vertical load/force expression, for a vertical force on the wheel center, can be defined in the cell at the right of this drop down box. For a constant vertical load value the 'Static Load' input box can be used. When the 'force' option is used the wheel can move without any constraints in vertical direction.
motion
A vertical motion is applied to the wheel center based on the function expression defined at the right side of the drop down box. A zero motion displacement means that the distance in between the wheel center and the road is equal to the Tire Radius defined under tab Kinematics. A positive displacement causes a tire deflection. A force along the x-axis of the tire Test Rig on the wheel center can be defined in the box at the right of this drop down box. A displacement motion along the x-axis on the wheel center will be applied as defined at the right of this drop down box. For a displacement equal to a constant velocity, the 'Constant Velocity' input box can be use. The Use Initial Velocity button will import the Initial Long. Velocity value defined under the Kinematics tab.
Longitudinal
force motion
Options
Explanation The anti-lock controller is not applied. A simple anti-lock (torque) controller is applied to the wheel. An expression can defined for a rotational torque along the wheel spin axis.
Options sweep
Explanation A sine rotational motion is applied along the vertical axis of the wheel (at the wheel center). A static steer angle and the amplitude of the sweep can be specified. One complete sine period will be performed over the duration of the simulation. An Adams expression can be specified for the rotational motion of the wheel around the vertical axis.
user_function
290 Adams/Car
Tire Test Rig
Input Inclination
Options sweep
Explanation A sine rotational motion is applied along the longitudinal axis (xaxis) of the wheel (at the wheel center). A static steer angle and the amplitude of the sweep can be specified. One complete sine period will be performed over the duration of the simulation. An Adams expression can be specified for the rotational motion of the wheel around the longitudinal axis.
user_function
6. Spring Damper The Spring Damper tab specifies the properties of a spring in between the wheel center and the ground.
Options -
Explanation The preload force of the spring in between the wheel center and the ground The stiffness rate of the spring in between the wheel center and the ground The damping rate of the spring in between the wheel center and the ground
The 'Current Field Unit' informs about the units for the selected input box. The plots generated in the Adams PPT will be in the MMKS unit system by default.
292 Adams/Car
Tire Test Rig
Note:
When switching units, the inputs contain the Adams expressions for a motion or a sforce are not converted. This can be checked by selecting the input box: the 'Current Field Unit' will remain blank!
virtual prototype.
View the vehicle states and other characteristics through plots.
You can specify inputs to the analysis by typing them into an analysis dialog box or by selecting a driver control file that contains the desired inputs. After specifying the prototype assembly and its analysis, Adams/Car, like your company's testing department, applies the inputs that you specified and records the results. To understand how your prototype behaved during the analysis, you can plot the results. After viewing the results, you might modify the prototype and analyze it again to see if your modifications improve its behavior. The following figure shows an overview of the full-vehicle analysis process.
294 Adams/Car
Assembling a Vehicle Adams/Car creates a full-vehicle assembly from a set of subsystems that you select. An assembly lets you quickly put together full vehicles from previously tested and verified subsystems and switch between subsystems depending on the analysis that you want to perform. The associated component property files, such as springs and bushings, must also exist in your database. If a suspension subsystem uses mount parts, such as the spring top mounting to a subframe, you must read the subframe subsystem into the assembly. If you do not read in the required mount subsystems, Adams/Car connects any mount parts to the global ground part instead of the absent mount subsystem. Therefore, the mount point cannot move with the full vehicle, which causes the Adams/Car analysis to fail. Checking a Vehicle Before submitting your model for analysis, visually check its assembly. The Adams/Car default view is front isometric view. From the front view, you should be able to see obvious assembly problems. You should also check your vehicle from the side because it provides a more useful view for positioning the subsystems. As you view your assembly from different angles, check for obvious problems, such as:
Is the front suspension in the correct place? Is the body graphic positioned correctly? Are the wheels somewhere near the same height?
All the analyses currently available are based on the Driving Machine. Therefore, to perform open-loop, closed-loop, and quasi-static analyses, you must select the .__MDI_SDI_TESTRIG in your assemblies. Always check whether you selected the correct test rig for the analysis you want to perform. If you selected an incorrect test rig, create another assembly using the correct test rig. To check the test rig: 1. From the File menu, point to Info, and then select Assembly. 2. In the Assembly Name text box, enter the name of your assembly. 3. Select OK. Adams/Car displays the Information window, with the test rig name listed at the top of the window.
Setting up the Analysis To set up full-vehicle analyses: 1. From the Simulate menu, point to Full-Vehicle Analysis, and then select the analysis you want to set up. 2. Enter the parameters needed to control the analysis. 3. Typically, each transient analysis can be preceded by a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies. A quasi-static prephase analysis consists of a straight analysis or a skidpad analysis, depending on the type of analysis you selected. If you do not select the quasi-static option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. 4. For dialog box help, select F1. 5. Select OK.
296 Adams/Car
Performs a dynamic analysis by running each of the mini-maneuvers listed in the DcfMini
classes in the event file You can view and modify the event file (.xml) using the Event Builder. The Event Builder allows you to modify existing parameters for the entire maneuver, such as step size and hmax, to modify specific minimaneuver information, and add mini-maneuvers. The following line calls the control subroutine EventInit:
control/ routine=abgVDM::EventInit, function=user(3,1,10,0,2,5,7,17)
The call to this subroutine passes 8 parameters, as described next. Note that each number in the array (3,1,10,0,2,5,5,17) is listed after the description of that parameter.
par(1) 3: ID of STRING statement containing .XML event filename = 3 par(2) ID of ORIGO marker = 1 par(3) ID of ARRAY statement containing initial condition SDI parameters = 10 par(4) ID of ARRAY statement containing ids of parts for which initial velocity are not set = 0 par(5) ID of ARRAY holding Vehicle Parameters. = 2 par(6) ID of main Driving Machine ARRAY. = 5 par(7) ID ISO EAS Marker = 7 par(8) ID of ARRAY containing the ids of extensible end condition sensor elements = 17
If you look at the corresponding Adams/Solver dataset (.adm), you will see that STRING/3 contains the name of the event file: ! adams_view_name='testrig_dcf_filename' STRING/3 , STRING =example_crc.xml All standard Adams/Car events generate an event file in XML format, similar to the one referenced in the example above, but .dcf files in TeimOrbit format are still supported, both in the Event Builder and at the solver level. This means that you can replace the above string and reference a .dcf file in TeimOrbit format. The file will be automatically converted to XML format. By modifying the .acf file, you can now execute all mini-maneuvers defined in the event file, or just run the initialization and then execute one mini-maneuver at a time. Full-vehicle analysis .acf files by default call the Driving Machine initialization routine, then call the RunAll method. You can, however, modify the .acf file and use the following commands for more control over your analysis:
control/ routine=abgVDM::EventRunAll, function=user(0) - Runs all the active mini-maneuvers
Using this flexibility within the event control subroutine enables you to use the power of the acf language to make changes and re-submit your solution to Adams/Solver. The language parameters for the .acf file are documented in the Adams/Solver online help. Running with External Adams/Solver How you run Adams/Solver depends on the platform you are on:
On Windows - The location of your .acf, .adm, and event files is important. Open a DOS shell
(from the Start menu, point to Programs, point to Accessories, and then select Command Prompt) and change directory to the location where your files are stored (cd temp\run).
On UNIX - Open a shell and change directory to the location of your files (cd
/usr/home/user/temp/run). To run external Adams/Solver: Issue the command: adamsxx acar ru-solver filename.acf where:
xx corresponds to the version of Adams that you are using filename.acf is the name of your acf file
Reading Results After you run the analysis, you can use Adams/PostProcessor to animate and view the results. Note:
To control the execution of the various mini-maneuvers defined in the XML event
file you need to issue the EventInit control subroutine command first. This instructs Adams/Car to build a list of quasi-static and transient events as they are defined in the event file.
To execute each mini-maneuver in the event file, you should issue a control/
3D Road Analysis
A 3D road analysis simulates your vehicle assembly traversing a three-dimensional road representation and the obstacles or characteristics contained in that 3D road. The road file (.rdf/.xml) is used by both the tire subsystems to compute contact patch forces/moments, and by the lateral controller. The Driving Machine uses path information contained in the 3D road file to drive the vehicle along the specified course centerline. Example 3D road files are distributed in the shared Adams/Car database (3d_road_*). For more information about the 3D road, see Using the Road Builder.
298 Adams/Car
To set up a 3D road analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Course Events, and then select 3D Road. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: 3D Road. 3. Select OK.
Cornering Analyses
You use cornering analyses to evaluate your vehicle's handling and dynamic responses during various cornering-type maneuvers. Cornering analyses use both open- and closed-loop controllers of the steering, throttle, brake, gear, and clutch signals to investigate various vehicle behaviors. You can investigate both steady-state and limit cornering to characterize responses such as understeer/oversteer gradients, weight transfer, and so on. Note:
Adams/Car creates an event file (.xml) that defines the analysis. The Driving Machine uses the event file to control the vehicle. Adams/Car stores the event file in the working directory so you can refer to it as needed and examine it using the Event Builder.
Braking-In-Turn Analysis The braking-in-turn analysis is one of the most critical analyses encountered in everyday driving. This analysis examines path and directional deviations caused by sudden braking during cornering. Typical results collected from the braking-in-turn analysis include lateral acceleration, variations in turn radius, and yaw angle as a function of longitudinal deceleration. In a braking-in-turn analysis, you can set the Driving Machine to drive your full vehicle, as follows:
Drive down a straight road, turn onto a skidpad, and then accelerate to achieve a desired lateral
acceleration
Run a quasi-static skidpad setup, which places the vehicle on a skidpad with predefined lateral
acceleration
The Driving Machine holds the longitudinal speed and radius constant for a time to let any transients settle. It then applies a brake signal to the vehicle to control the vehicle deceleration at a constant rate (units in g). Depending on the controller type, the Driving Machine does either of the following:
Open-loop - Locks the steering wheel Closed-loop - Maintains the skidpad radius
The Driving Machine maintains the braking for the given duration of the maneuver or until the vehicle speed drops below 2.5 meters/second. You can use the plot configuration file, mdi_fva_bit.plt, in the shared Adams/Car database to generate the plots that are typically of interest for this type of analysis. To set up a braking-in-turn analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Cornering Events, and then select Braking-In-Turn. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: Braking-In-Turn. 3. Select OK. Constant-Radius Cornering Analysis For constant-radius cornering analysis, the Driving Machine drives your full vehicle down a straight road, turns onto a skidpad, and then gradually increases velocity to build up lateral acceleration. One common use for a constant radius cornering analysis is to determine the understeer characteristics of the full vehicle. To set up a constant-radius cornering analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Cornering Events, and then select Constant Radius Cornering. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: Constant-Radius Cornering. 3. Select OK. Cornering with Steer Release Analysis The vehicle performs a dynamic constant-radius cornering to achieve the prescribed conditions (radius and longitudinal velocity or longitudinal velocity and lateral acceleration). After the steady state prephase, the steering wheel closed-loop signal is released, simulating a release of the steering wheel. The analysis focuses primary on the path deviation, yaw characteristics, steering-wheel measurements, roll angle, roll rate, and side-slip angle.
300 Adams/Car
To set up an analysis of cornering with steer release: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Cornering Events, and then select Cornering w/Steer Release. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: Cornering Steer Release. 3. Select OK. Lift-off Turn-in Analysis This analysis examines path and directional deviations caused by suddenly lifting the throttle pedal during cornering and applying an additional ramp steering input. Typical results collected from the liftoff turn-in analyses include lateral acceleration, variations in turn radius, and yaw angle as a function of longitudinal deceleration. Adams/Car drives the vehicle through two distinct phases:
Cornering pre-phase: Adams/Car uses quasi-static calculations to set the vehicle at the correct
initial conditions for the desired lateral acceleration at the given radius.
Lift-off turn-in: The steer is ramped from the last value of the previous mini-maneuver at the
desired rate. The throttle signal is set to zero; the clutch can be engaged or disengaged. To set up a lift-off turn-in analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Cornering Events, and then select Lift-Off Turn-In. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: LiftOff Turn-In. 3. Select OK. Power-off Cornering Analysis The purpose of this maneuver is to determine the power-off effect on course holding and directional behavior of a vehicle, whose steady-state circular path is disturbed only by power-off. The Driving Machine drives the vehicle through two distinct phases:
An initial quasi-static setup that achieves the initial conditions. A power-off event where the throttle signal is stepped down from the value of the previous mini-
maneuver to zero. The lateral acceleration and skidpad radius define the initial conditions. Note that the significance of the results decreases with the skidpad radius. After reaching the initial steady-state driving conditions, the steering signal is kept constant and the accelerator pedal is released with a step signal profile. The release of the accelerator pedal is considered as the moment of power-off initiation, which you can define. Typical results collected from power-off cornering analyses include variations in the heading direction and longitudinal deceleration, as well as side-slip angle, yaw angle, and gradient.
To set up a power-off cornering analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Cornering Events, and then select Power-off Cornering. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: Power-Off Cornering. 3. Select OK.
Course Analyses
Course analyses are based on the Driving Machine and are of a course-following type, such as ISO lane change. In an ISO lane change analysis, the Driving Machine drives your full vehicle through a lane change course as specified in ISO-3888: Double Lane Change. You specify the gear position and speed at which to perform the lane change. The analysis stops after the vehicle travels 250 meters; therefore, the time to complete the lane change depends on the speed you specify. The course analyses include:
ISO Lane Change 3D Road
ISO Lane Change During an ISO lane change analysis, a longitudinal controller maintains the chassis velocity to the desired value, and a lateral controller module acts on the steering system to maintain the vehicle on the desired ISO lane-change path. Adams/Car uses an external file to define the path for the maneuver: iso_lane_change.dcd defines the trace of the desired path on the x-y plane. Note:
Adams/Car creates an event file (.xml) that defines the analysis and the different parameters. It uses the .xml file for the analysis and then leaves it in the working directory so you can refer to it as needed. The file that defines the path is stored in the shared_car_database, in the driver_data table, and is called iso_lane_change.dcd.
To set up an ISO lane change analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Course Events, and then select ISO Lane Change. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: ISO Lane Change. 3. Select OK.
302 Adams/Car
3D Road A 3D road analysis simulates your vehicle assembly using a three-dimensional road representation. The road file (.rdf) is used by both the tire subsystems to compute contact patch forces/moments, and by the lateral controller. The standard driver interface (SDI) uses path information contained in the 3D road file to drive the vehicle along the specified course. The shared car database includes several example 3D road files. To set up a 3D road analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Course Events, and then select 3D Road. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: 3D Road. 3. Select OK.
Drift Analysis In a drift analysis, the vehicle reaches a steady-state condition in the first ten seconds. A steady-state condition is one in which the vehicle has the desired steer angle and initial velocity values. In seconds 1 through 5 of the analysis, Adams/Car ramps the steering angle/length from the initial value to the desired value using a STEP function. In seconds 5 through the desired end time, it linearly ramps the throttle at the desired ramp rate. Note:
Adams/Car creates an event file (.xml) that defines the analysis and the different parameters. It uses the .xml file for the analysis and then leaves it in the working directory so you can refer to it as needed.
To set up a drift analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Open-Loop Steering Events, and then select Drift. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: Drift. 3. Select OK. Fish-Hook Analysis You use a fish-hook analysis is to evaluate dynamic roll-over vehicle stability. A fish-hook analysis consists of two mini-maneuvers (see Creating Mini-Maneuvers):
A quasi-static phase sets up the vehicle at the desired initial conditions. The second mini-maneuver runs the actual fish-hook analysis in which Adams/Car computes the
steering signal as a combination of step functions, and disengages the clutch. The maneuver provides a basis for evaluating a vehicle's transitional response and dynamic roll-over stability. The most important factors for this evaluation are: steering-wheel angle, lateral acceleration, yaw rate, and roll angle. Adams/Car conducts the analysis by driving at a constant speed, putting the vehicle in neutral, and turning one direction in a preselected steering-wheel angle and then turning the opposite direction in another preselected steering-wheel angle. To set up a fish-hook analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Open-Loop Steering Events, and then select Fish Hook. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: Fish Hook. 3. Select OK. Impulse-Steer Analysis In an impulse-steer analysis, the steering demand is a force/torque, single-cycle, sine input. The steering input ramps up from an initial steer value to the maximum steer value. You can run with or without cruise control. The purpose of the test is to characterize the transient response behavior in the frequency domain. Typical metrics are: lateral acceleration, and vehicle roll and yaw rate, both in time and frequency domain. To set up a impulse-steer analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Open-Loop Steering Events, and then select Impulse Steer. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: Impulse Steer. 3. Select OK.
304 Adams/Car
Ramp-Steer Analysis In a ramp-steer analysis, you obtain time-domain transient response metrics. The most important quantities to be measured are: steering-wheel angle, yaw angle speed, vehicle speed and lateral acceleration. During a ramp-steer analysis, Adams/Car ramps up the steering input from an initial value at a specified rate. To set up a ramp-steer analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Open-Loop Steering Events, and then select Ramp Steer. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: Ramp Steer. 3. Select OK. Single Lane-Change Analysis During a single lane-change analysis, the steering input goes through a complete sinusoidal cycle over the specified length of time. The steering input can be:
Length, which is a motion applied to the rack of the steering subsystem. Angle, which is angular displacements applied to the steering wheel. Force applied to the rack. Torque applied to the steering wheel.
To set up a single lane-change analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Open-Loop Steering Events, and then select Single Lane Change. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: Single Lane Change. 3. Select OK. Step Steer Analysis A step steer analysis yields time-domain transient-response metrics. The most important quantities to be measured are:
Steering-wheel angle Yaw rate Vehicle speed Lateral acceleration
During a step steer analysis, Adams/Car increases the steering input from an initial value to a final value over a specified time.
To set up a step steer analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Open-Loop Steering Events, and then select Step Steer. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: Step Steer. 3. Select OK. Swept-Sine Steer Analysis Sinusoidal steering inputs at the steering wheel let you measure frequency-response vehicle characteristics. This provides a basis for evaluating a vehicle transitional response, the intensity and phase of which varies according to the steering frequency. The most important factors for this evaluation are:
Steering-wheel angle Lateral acceleration Yaw rate Roll angle
During a swept-sine steer analysis, Adams/Car steers the vehicle from an initial value to the specified maximum steer value, with a given frequency. It ramps up the frequency of the steering input from the initial value to the specified maximum frequency with the given frequency rate. To set up a swept-sine steer analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Open-Loop Steering Events, and then select Swept-Sine Steer. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: Swept-Sine Steer. 3. Select OK.
Quasi-Static Analyses
Quasi-static analyses find dynamic equilibrium solutions for your full vehicle at increasing, successive values of lateral and/or longitudinal acceleration. Quasi-static analyses, in contrast to open-loop and closed-loop analyses, do not include transient effects and solve very quickly. For example, in a quasistatic analysis, a change in lateral acceleration from 0.1g to 0.5g does not show the lateral acceleration or yaw rate overshoot that a similar open-loop and closed-loop analysis might show. The following topics contain information on setting up quasi-static analyses, as well as a description of the types of quasi-static analyses:
Quasi-Static Constant-Radius Cornering Quasi-Static Constant-Velocity Cornering Quasi-Static Force Moment Method
306 Adams/Car
Quasi-Static Constant-Radius Cornering Analysis You perform a constant radius cornering analysis to evaluate your full vehicle's understeer and oversteer characteristics. The constant radius cornering analysis holds the turn radius constant and varies the vehicle velocity to produce increasing amounts of lateral acceleration. This analysis:
Uses a force-moment method to balance the static forces to 0 at each time step. Provides a faster solution than the corresponding dynamic analysis, but doesn't account for
longitudinal velocity varies. A CONSUB controls this analysis. For more information on CONSUB, see Welcome to Adams/Solver Subroutines. You can, for example, use the plot configuration file, mdi_fva_ssc.plt, in the shared Adams/Car database to generate the plots that are typically of interest for this analysis. Otherwise, in Adams/PostProcessor, you can create your own plots by selecting the desired requests and components. To set up a constant-radius cornering analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Quasi-Static Maneuvers, and then select Constant-Radius Cornering. 2. Enter the necessary parameters as explained in the dialog box help for Quasi-Static Constant Radius Cornering. 3. Select OK. Quasi-Static Constant-Velocity Cornering Analysis You perform a constant velocity cornering analysis to evaluate your full vehicle's understeer and oversteer characteristics. The constant velocity cornering analysis holds the vehicle velocity constant and varies the turn radius to produce increasing amounts of lateral acceleration. The input parameters for this analysis are similar to the steady-state cornering analysis except that you specify the vehicle longitudinal velocity instead of the turn radius. This analysis:
Uses a force-moment method to balance the static forces to 0 at each time step. Provides a faster solution than the corresponding dynamic analysis, but doesn't account for
transient effects.
Can be useful when exploring the limit handling characteristics of the vehicle due to a
If your powertrain model is based on a General State Equation subroutine, and has "977" as its first user parameter (for example, the shared powertrain template), this event will use the throttle to achieve the desired longitudinal acceleration. If you specify a negative longitudinal acceleration, the throttle will be used to control engine braking and thus deceleration, unless the additional power of the brakes is required to achieve the desired deceleration. A CONSUB controls this analysis. For more information on CONSUB, see Welcome to Adams/Solver Subroutines. You can use the plot configuration file, mdi_fva_ssc.plt, in the shared car database to generate the plots that are typically of interest for this analysis. To set up a constant-velocity cornering analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Quasi-Static Maneuvers, and then select Constant-Velocity Cornering. 2. Enter the necessary parameters as explained in the dialog box help for Quasi-Static Constant Velocity Cornering. 3. Select OK. Quasi-Static Force-Moment Analysis You perform a force-moment analysis to evaluate the stability and handling characteristics of your vehicle model. During the analysis, Adams/Car drives the vehicle at constant longitudinal speed and performs a series of analyses at different side-slip angles and steer angles. The analysis:
Represents a typical test in which the vehicle is constrained on a model flat-belt tire tester. Is based on the assumption that most of the stability and control characteristics can be obtained
from a study of the steady-state force and moments acting on the vehicle. You can present the results of a quasi-static force-moment analysis in tabular form or as diagrams and plots representing the computed forces and moments from the simulated test. The diagram created from the forces and moments acting on the vehicle is a portrait of the vehicle-maneuvering potential for specific operating conditions. If your powertrain model is based on a General State Equation subroutine, and has "977" as its first user parameter (for example, the shared powertrain template), this event will use the throttle to achieve the desired longitudinal acceleration. If you specify a negative longitudinal acceleration, the throttle will be used to control engine braking and thus deceleration, unless the additional power of the brakes is required to achieve the desired deceleration. A CONSUB controls this analysis. For more information on CONSUB, see Welcome to Adams/Solver Subroutines.
308 Adams/Car
To set up a force-moment analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Quasi-Static Maneuvers, and then select Force-Moment Method. 2. Enter the necessary parameters as explained in the dialog box help for Quasi-Static Force-Moment Method. 3. Select OK. Quasi-Static Straight-Line Acceleration Analysis A quasi-static straight-line acceleration analysis uses the static solver to perform multiple static analyses with each increasing time step representing an increase in straight line acceleration/deceleration. This technique uses a force-moment method to balance the static forces to 0 at each time step. This method provides a quicker solution than the dynamic analysis but doesn't include transient effects. If your powertrain model is based on a General State Equation subroutine, and has "977" as its first user parameter (for example, the shared powertrain template), this event will use the throttle to achieve the desired longitudinal acceleration. If you specify a negative longitudinal acceleration, and choose the deceleration method of "throttle off", only engine braking will be used to control the deceleration. If you choose "braking", the throttle will be used initially until the additional power of the brakes is required to control deceleration. To set up a straight-line acceleration analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Quasi-Static Maneuvers, and then select Straight-Line Acceleration. 2. Enter the necessary parameters as explained in the dialog box help for Quasi-Static Straight-Line Acceleration. 3. Select OK.
Adams/Car creates an event file (.xml) that defines the analysis and the different parameters. It uses the .xml file for the analysis and then leaves it in the working directory so you can refer to it as needed.
Acceleration Analysis During an acceleration analysis, the Driving Machine ramps the throttle demand from zero at your input rate (open loop) or you can specify a desired longitudinal acceleration (closed loop). You can specify either free, locked, or straight-line steering. An acceleration analysis helps you study the anti-lift and antisquat properties of a vehicle. To set up an acceleration analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Straight-Line Behavior, and then select Acceleration. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: Acceleration. 3. Select OK. Braking Analysis During a braking analysis, the Driving Machine ramps the brake input from zero at your input rate or lets you specify a longitudinal deceleration (closed loop). You can also specify either free or locked steering. The braking test analysis helps you study the brake-pull anti-lift and anti-dive properties of a vehicle. To set up a braking analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Straight-Line Behavior, and then select Braking. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: Braking. 3. Select OK. Power-off Straight Line Analysis This analysis allows you to examine operating behavior and directional deviations caused by suddenly lifting off the throttle pedal during a straight-line analysis. Typical results collected from the power-off straight-line analysis include variations in heading direction and longitudinal deceleration. Optionally, you can depress the clutch during the throttle lift-off. In this case, you specify the duration that it takes to depress the clutch. The Driving Machine drives the vehicle through two distinct phases:
Quasi-static setup - The vehicle is set up in a straight line, to reflect the initial longitudinal
velocity condition.
Power-off event - The throttle signal is stepped down, from the value of the initial set mini-
maneuver, to zero. To set up a power-off straight line analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, point to Straight-Line Behavior, and then select Power-off Straight Line.
310 Adams/Car
2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: Power-Off Straight Line. 3. Select OK.
File-Driven Analysis
The file-driven analysis lets you run an analysis described in an existing event file (.xml). Having direct access to event files lets you perform non-standard analyses on your full-vehicle assembly because all you have to do is generate a new event file describing the analysis.
Learn about the Driving Machine. Learn about Event Files.
To set up a file-driven analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, and then select File Driven Events. 2. Enter an Output Prefix. 3. If necessary, select a new Road Data File. Press F1 for more detailed information on any of the selections in this dialog box. 4. Right-click in the Driver Control Files text box and select an XML Event file from the file selection dialog box. 5. Select OK. Working with Event Files (.xml) You use event files (.xml) to describe the maneuvers you want the Driving Machine to perform. Event files (.xml) describe how you want the Driving Machine to drive your vehicle during a maneuver. The event file instructs the Driving Machine how fast to drive the vehicle, where to drive the vehicle (for example, on a 80 m radius skidpad), and when to stop the maneuver (for example, when lateral acceleration = 8 m/s2). Event files specify the kinds of controllers the Driving Machine should use for each of the available control signals (steering, throttle, brake, gear, and clutch). An event file can reference other files, primarily driver control data files (.dcd), to obtain necessary input data, such as speed versus time. Learn about referencing .dcd files. Event files organize complex maneuvers into a set of smaller, simpler steps called mini-maneuvers. An event file defines the static-setup and a list of mini-maneuvers. For each mini-maneuver, the event file specifies how the Driving Machine is to control the steering, throttle, brake, gear, and clutch. Learn about event files:
Creating Event Files Structure of Event Files Creating Mini-Maneuvers
Creating Event Files Before you can run a Driving Machine full-vehicle analysis, you must create (or use) an event file that contains one or more mini-maneuvers. To set up Driving Machine mini-maneuvers: 1. From the Simulate menu, point to Full-Vehicle Analysis, and then select Event Builder. The Event Builder dialog box has four major sections.
File name, initial speed and gear, and units used in a selected field (shown at the bottom of the
dialog box).
Static Set-up and Gear Shifting Parameters. Mini-maneuver parameters on tabs for each of the five control signals with open-loop Control
2. From the File menu, select New. 3. Enter the file name in the text box and click OK. The name appears in the Event File text box with a .xml extension. Initial default values appear in other text boxes. 4. If required, you can modify the initial Speed and Gear. 5. If required, you can modify values specified in the Static Set-up tab (for more information, see dialog box help for Event Builder). 6. Select the Gear Shifting Parameters tab. If required, you can modify values specified on this tab (for more information, see dialog box help for Event Builder). 7. If required, you can modify Machine Control control actions in the Trajectory Planning Parameter tab and Machine Control longitudinal and lateral PID Controller gains in the PID's Speed & Path and PID's Steering Output Parameters tabs (for more information, see dialog box help for Event Builder). 8. For MINI_1 (the default initial mini-maneuver), make selections for each of the control signal tabs (Steering, Throttle, Braking, Gear, and Clutch). Enter the necessary parameters as explained in the dialog box help for Event Builder to create the mini-maneuver. 9. Click the Conditions tab and enter the parameters required to end the mini-maneuver (for more information, see Specifying Conditions). 10. To create additional mini-maneuvers, click the button to the left of the mini-maneuver Name. This displays the Table Editor for mini-maneuvers. 11. In Table Editor mode, enter the name of your new mini-maneuver in the Name text box at the bottom of Event Builder. 12. Click Add. This adds a row to the Table Editor. You can edit any of the values in the row by clicking in the appropriate cell (for more information, see dialog box help for Event Builder).
312 Adams/Car
13. Continue adding mini-maneuvers as necessary. 14. To return to Property Editor mode, either double-click a name (in the Name column), or select the name, right-click, and then select Modify with Property Editor. 15. When you've finished creating your event file, select Save. After you create the file, you use it to run a file-driven analysis. Learn about Structure of Event Files. Using Event Files After you use the Event Builder to create or modify an event file, you use that event file to run a file-driven analysis. Creating Mini-Maneuvers A mini-maneuver is a set of smaller, simpler analysis steps, such as a straight-line mini-maneuver. Minimaneuvers are contained in event files (.xml). To create a mini-maneuver, you must specify controls signals (steering, throttle, braking, gear, and clutch) and its conditions. For each control signal, you specify the following:
Actuator type (steering only) Control method Control type Control mode
Learn more:
Specifying an Actuator Type Specifying a Control Method Specifying a Control Type Specifying a Control Mode Specifying Conditions
Specifying an Actuator Type When defining the steering control for a mini-maneuver, you must specify an actuator type. You use the actuator type to specify whether the Driving Machine steers the vehicle at the steering wheel or steering rack and whether the Driving Machine uses a force or motion. For example, when you set Actuator Type to rotation, the Driving Machine steers using a motion on the steering wheel. The actuator type you select for steering determines how the Driving Machine interprets the units of other parameters associated with the steering signal. For example, if you set Actuator Type to torque, the Driving Machine interprets the amplitude argument for an open-loop sinusoidal input as torque (with units of length*force). If you set Actuator Type to rotation, however, the Driving Machine interprets the amplitude as an angle.
Arguments
Driving Machine steers the vehicle by applying a force to the steering rack. Driving Machine steers the vehicle using a MOTION statement on the steering-wheel revolute joint. Driving Machine steers the vehicle by applying torque to the steering wheel. Driving Machine steers the vehicle using a motion on the steering rack translational joint.
Specifying a Control Method When defining any mini-maneuver, you must specify a control method for each control signal. Arguments
Open Machine SmartDriver
Open Control Method The Driving Machine output for the control signal is a function of time, and you must specify the function using the Control Type argument. You cannot switch from an open-loop control mini maneuver to a SmartDriver mini maneuver. You can, however, switch from SmartDriver in a preceding mini maneuver to open-loop control in a subsequent mini maneuver. Machine Control Method Setting Control Method to machine specifies the vehicle path, speed profile, and other parameters used by machine control. If you set machine control for gear and clutch, you must also supply the maximum and minimum engine speed. Machine control up-shifts to keep engine speed less than maximum and down-shifts to keep engine speed greater than minimum. If you set Control Method to machine for steering, then you should specify the target path, using the Steer Control argument. If you set Control Method to machine for throttle or brake, then you should specify the target speed profile, using the Speed Control argument. Note:
If you set Speed Control to lat_accel, then you must set Steer Control to skidpad. Machine control for throttle requires the use of machine control for braking.
Likewise, machine control for clutch requires machine control for gear.
314 Adams/Car
Arguments
Steer Control
Table/Plot editor that you access by selecting the Table Editor button.
file File Name - Enter the name of a file that contains the path data. path_map - To define this closed-loop steering condition, you can use a Table/Plot editor
that you access by selecting the Table Editor button. To define this closed-loop steering condition, you can use a Table/Plot editor that you access by selecting the Table Editor button.
skidpad Entry Distance - Specifies the length of the straight path preceding the turn. Note that
all paths are relative to the position of the vehicle at the end of the preceding minimaneuver. If the preceding mini-maneuver was a skidpad and you want the vehicle to continue on the same circle in the current mini-maneuver, then specify zero (0) for Entry Distance.
Radius - Specifies the radius of the skidpad. Turn Direction - Specifies which way the vehicle turns when traveling forward. straight - The vehicle travels forward from its current position along the tangent of the path
from the preceding mini-maneuver. If the vehicle was under open-loop steering control in the preceding mini-maneuver, then the vehicle travels forward in the direction of its current velocity. You don't need to specify additional arguments.
316 Adams/Car
Speed Contro
previous mini-maneuver. If this mini-maneuver is the first in the experiment, then the Driving Machine maintains the initial speed set in the EXPERIMENT block.
Velocity speed_s_map speed_t_map vel_polynomial Velocity - Specifies the vehicle speed as polynomial of time. The Driving Machine
computes the speed using the following relation: IF (Time < START_TIME): SPEED = VELOCITY IF ( TIME START_TIME ): SPEED = VELOCITY + ACCELERATION*(TIME - START_TIME)+ 1/2*JERK*(TIME-START_TIME)**2 where START_TIME is the starting time relative to the beginning of the mini-maneuver. Specify the following arguments: VELOCITY = value <length/time> ACCELERATION = value <length/time2> JERK = value <length/time3> START_TIME = value <time> Note that JERK is the time rate of change of acceleration. JERK = d(acceleration)/dt.
Acceleration Jerk Start Time
You can use a Table/Plot editor to define the various maps of speed and acceleration expressed as a function of time or distance traveled.
SmartDriver Control Method When you set Control Method to SmartDriver, you must also specify the Control Mode, the task, course file, as well as the maximum driving, braking, and turning accelerations. Arguments
Task
Course File
Displays the name of a .xml or .drd file that describes the path over which the Driving Machine or Adams/SmartDriver drive the vehicle. Select to choose a course file. Enter the maximum driving acceleration index. Valid values are 0 to 100. Enter the maximum left turn acceleration index. Valid values are 0 to 100. Enter the maximum braking acceleration index. Valid values are 0 to 100. Enter the maximum braking acceleration index. Valid values are 0 to 100. Enter the maximum right turn acceleration index. Valid values are 0 to 100.
Max Driving Acc Max LH Turn Acc Max Braking Acc Max Braking Acc Max RH Turn Acc
Specifying a Control Type For any of the control signals (steering, throttle, braking, and so on), when you set Control Method to open, Adams/Car enables the Control Type option. Arguments
constant
data_drive Specifies that the control signal comes from a driver control data file (.dcd), which you n specify. The Driving Machine opens the .dcd file and reads the appropriate data.
Dcd Filename - Enter the name of a .dcd file.
data_map function
Lets you specifies a series of discrete values as a function of time. Click the Open Loop Demand Map button that appears to enter values and view a plot of the values you enter. Specifies that you should use any valid Adams/Solver function expression based on time.
Function - Enter a time-based function. For example:
318 Adams/Car
impulse
The Driving Machine outputs an impulse to your vehicle constructed from a pair of cubic step functions. To define the impulse, you must specify the following arguments:
Start Time - The starting time of the impulse relative to the beginning of the
mini-maneuver. For example, if the mini maneuver starts at 1.2 seconds simulation time and Start Time = 0.3 seconds, then the impulse begins at 1.5 seconds simulation time.
Duration - The length in time of the impulse. Maximum Value - The height of the impulse. The impulse reaches its
maximum value relative to the start time at half the duration. Adams/Car computes the IMPULSE function as follows: Let T1 = ( TIME - START_TIME ) / DURATION/2.0 Let T2 = ( TIME - (START_TIME + DURATION/2.0) ) / DURATION/2.0 IF ( T1 < 0.0 ): OUTPUT = 0.0 IF ( 0 < T1 < 1.0 ): OUTPUT = MAXIMUM_VALUE * ( 3.0 - 2.0*T1)*T1*T1 IF ( T1 > 1.0 and T2 < 1.0 ) OUTPUT = MAXIMUM_VALUE( 1.0 - (3.0 -2.0*T2)*T2*T2 ) IF ( T2 > 1.0 ); OUTPUT = 0.0 The following plot illustrates the IMPULSE function:
ramp
The Driving Machine supplies a ramp input. To define the ramp, you must supply the following arguments:
Start Time Ramp Value
Adams/Car computes the RAMP function as follows: If ( time < START_TIME ) input = INITIAL_VALUE if ( time > START_TIME ) then input = INITIAL_VALUE + ( time - START_VALUE) * RAMP_VALUE Note: When using the RAMP function, the output value grows for the duration of the mini-maneuver.
320 Adams/Car
sine
The Driving Machine outputs a single-cycle sinusoid to your vehicle smoothed at the beginning and end by cubic-step functions. The duration of each cubic-step function is 1/100*CYCLE_LENGTH.
Start Time - The starting time of the sinusoid relative to the beginning of the
mini-maneuver. For example, if the mini-maneuver starts at 2.1 seconds simulation time and Start Time = 0.3 seconds, then the sinusoid begins at 2.4 seconds simulation time.
Amplitude - The amplitude of the sinusoid. Cycle Length - The length of time to complete one cycle of the sinusoid.
Adams/Car computes the SINE function as follows: Let T1 = (TIME - START_TIME) / CYCLE_LENGTH / 100.0 Let T2 = (TIME - (START_TIME + 0.99*CYCLE_LENGTH)) / CYCLE_LENGTH / 100.0 IF ( T1 < 0.0 ): OUTPUT = INITIAL_VALUE IF ( 0 < T1 < 1.0 ): OUTPUT = INITIAL_VALUE + AMPLITUDE * SIN( 2.0*PI*(TIME - START_TIME)/ CYCLE_LENGTH) * (3.0 2.0*T1)*T1*T1 IF ( T1 > 1.0 and T2 < 0.0 ) OUTPUT = INITIAL_VALUE + AMPLITUDE * SIN( 2.0*PI*(TIME - START_TIME)/ CYCLE_LENGTH) IF ( T1 > 1.0 and 0.0 < T2 < 1.0 ) OUTPUT = INITIAL_VALUE + AMPLITUDE * SIN( 2.0*PI*(TIME - START_TIME)/ CYCLE_LENGTH) (1.0 - (3.0 -2.0*T2)*T2*T2) IF ( T2 > 1.0: OUTPUT = INITIAL_VALUE The following plot illustrates the SINE function:
step
The Driving Machine inputs a STEP5 function to your vehicle model based on the following input parameters, which you must supply:
Start Time Duration Final Value
Adams/Car computes the STEP function as follows: If ( time < START_TIME ) then input = INITIAL_VALUE if ( START_TIME < time < START_TIME + DURATION ) then Let T = (TIME - START_TIME)/DURATION input = INITIAL_VALUE + ( FINAL_VALUE - INITIAL_VALUE)*( 3 - 2*T)*T**2 if ( time > START_TIME + DURATION ) then input = FINAL_VALUE Note that START_TIME is relative to the beginning of the mini-maneuver.
322 Adams/Car
swept_sine Sweeps the frequency of the output from the initial frequency to a maximum frequency at a given rate. Once the maximum frequency is achieved, the frequency remains constant. The amplitude of the swept sine function is fixed. To define swept sine, you must supply the following parameters:
Start Time - The starting time of the function, measured from the beginning of
the mini-maneuver.
Amplitude - The amplitude of the swept-sine function. Initial Frequency - The starting frequency of the swept-sine function in
<cycles/time>.
Frequency Rate - The rate the frequency is swept from the initial frequency to
Specifying a Control Mode If you set Control Method to open, you must also define the Control Mode as either absolute or relative. If Control Method is not open, Control Mode is always absolute. With all open-loop maneuvers, the value of the preceding mini maneuver is used as the starting point for the next mini-maneuver. This is irrespective of whether you set Control Mode to relative or absolute. For example, your vehicle is driving on a skid pad at 30 mph, with 20o of steering wheel, when the first mini-maneuver is finished. The steering-wheel angle for the next mini maneuver will be 20o. You can set Control Mode for the following open-loop control types:
constant data_driven data_map step
For these control types, Control Mode changes the meaning of the FINAL_VALUE input in the .xml. Control Mode has no effect on the rest of the Control Types, nor on machine, and SmartDriver control methods. The relative and absolute methods allow you to define the steering-wheel angle for the end of the next mini maneuver. Arguments
Absolute
Indicates that the final value is absolute. For example, for a step input to the steering where the initial steering is 10 degrees and the final value is 50 degrees, the steer at the end of the step equals 50 degrees. Indicates that the final value is relative to the initial value. For example, for a step input to the steering where the initial steering is 10 degrees and the final value is 50 degrees, the steer at the end of the step equals 60 degrees.
Relative
Here is another example. If at the beginning of the mini-maneuver the steering is 20o, the steering Control Method is set to open, the Control Type is set to step, and the FINAL_VALUE = 90.0, then FINAL_VALUE is relative to INITIAL_VALUE, and the steering angle at the end of the step input is 110o. If, however, Control Mode is set to Absolute, then the steering angle at the end of the step input equals the FINAL_VALUE of 90o Specifying Conditions Conditions specify when one mini-maneuver ends so the next one can begin. For example, you might end a mini-maneuver when the vehicle speed reaches 100 kph. You can also group end conditions together. For example, you might end a mini-maneuver when the vehicle speed reaches 100 kph and the lateral acceleration exceeds 5 m/s2. The event file supports conditions based on time, distance, velocity, acceleration, and many other vehicle control variables. Conditions reference a measure or solver variable by name to measure a given quantity in the model. The Conditions tab of the Event Builder shows one possible condition at a time in Property Editor mode. To add conditions or view other defined conditions, click the button to the left of the condition name to enter Table Editor mode. In Table Editor mode, you can see all defined conditions, add new conditions, modify conditions, or delete conditions. The Table Editor mode also lets you see the full set of arguments available for each condition.
324 Adams/Car
Arguments
Then, the end condition is satisfied if: 5 - 0.1 < Lateral acceleration < 5 + 0.1 Name Filter Name Filters the listed conditions based on the substring you specify. Shows the condition name (not editable).
Type
system
lat_velocity - Vehicle lateral velocity loc_accel - Vehicle longitudinal acceleration lon_dis- Vehicle longitudinal displacement with respect to the global
reference system.
pitch_angle - Angular displacement about the vehicle's lateral axis pitch_rate - Time derivative of pitch angle rack_tra_vel - Time derivative of rack displacement rack_travel - Displacement in the steering rack joint radius - Radius of vehicle trajectory roll_angle - Angular displacement about the vehicle's longitudinal axis roll_rate - Time derivative of vehicle roll angle side_slip_ang - Angle between the ground-plane projections of the vehicle's
origo marker
vert_dis - Vehicle vertical displacement with respect to the global reference
system
vert_velocity - Vehicle vertical velocity with respect to the global reference
system
yaw_accel - Angular acceleration about the vehicle's vertical axis yaw_angle - Angular displacement about the vehicle's vertical axis yaw_rate - Angular velocity about the vehicle's vertical axis
326 Adams/Car
Test
== - Equal to trigger value >> - Greater than the trigger value << - Less than the trigger value |==| - Absolute type value is equal to the trigger value |<<| - Absolute type value is less than the trigger value |>>| - Absolute type value is greater than the trigger value
Trigger Value
The value against which the measure is tested to determine if the end condition is satisfied. Except for ENGINE_SPEED, which uses RPMs, you must specify the value in modeling units as defined in the event file. The allowed difference between measure and value that still satisfies the test. Error must be positive and be specified in modeling units as defined in the event file (except engine_speed, which is in RPMs). For example, if the cells of the table are: The test must be satisfied continuously over the filter time to satisfy the end condition. filter time must be positive. Once the end condition is satisfied, delay the end of the mini-maneuver by delay time. You specify a name to group conditions together. All conditions having the same group name must be satisfied simultaneously to end a mini-maneuver. For example, you might specify two end conditions:
Longitudinal velocity equal to 20 m/s Lateral acceleration greater than 5 m/s/s Then you place the specified end
Error
conditions in the group mygroup. To end the mini-maneuver, the longitudinal velocity must be 20 m/s and the lateral acceleration must be greater than 5 m/s/s. Condition Type Select a condition type:
abort - When met, it causes the simulation to stop. end - When met, it causes the simulation to proceed to the next mini-
Referencing .dcd Files You can reference driver control data (.dcd) files through XML event files to specify data for the method of control of the vehicle. When referencing .dcd files, event files can obtain two types of data:
Open-loop data - Includes steering-wheel angle, throttle position, brake pressure, gear, and
Closed-loop data - Uses data from the dcd file to fix the vehicle path and speed for a mini-
maneuver. Examples of closed-loop data are the vehicle position {x, y} versus time (t) or path {x, y} versus distance traveled (s). Closed-loop data can also include vehicle speed and lateral acceleration which the Machine Control integrates to determine the desired vehicle path and speed. You reference .dcd files in your event files by selecting Machine for Steering/Throttle and Braking and browsing your databases for dcd files in the File Name text box. That is, using the file option for Machine Control means that you want to obtain control data from a .dcd file. 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/SmartDriver Analysis
The Adams/SmartDriver analysis lets you run an analysis described in an existing event file (.xml). You can drive the vehicle at the acceleration limits or some percentage of those limits. To set up an Adams/SmartDriver analysis: 1. From the Simulate menu, point to Full-Vehicle Analysis, and then select Adams/SmartDriver. 2. Press F1 and then follow the instructions in the dialog box help for Full-Vehicle Analysis: SmartDriver. 3. Select OK.
328 Adams/Car
1. From the Simulate menu, point to Full-Vehicle Analysis, and then select Tilt Table Analysis. 2. Enter the necessary parameters as explained in the dialog box help for Full-Vehicle Analysis: Tilt Table. 3. Select OK.
Driving Machine reads recorded open-loop signals and vehicle path and velocity data from text files named driver control data files (.dcd). To help you calculate the control signals, Adams/Solver passes vehicle information such as position, velocity, and acceleration, to the Driving Machine. The Driving Machine provides a means for defining and passing sets of command signals, feedback signals, and parameters for each of the five control signals (steering, throttle, brake, gear, and clutch).
330 Adams/Car
The following figure shows how the Driving Machine works in a virtual prototyping model.
or brake.
Input recorded steering, throttle, brake, gear, and clutch signal to your model. Stop a simulation, switch controllers, and change output-step size based on reaching a target
performance level, such as 100% or 50%, and input a path and speed as you would for Machine Control.
recorded data stored in external files or parametrically generated paths and profiles based on a few simple inputs.
332 Adams/Car
Standard-speed Test
When speed increases, the difference in path point spacing has no effect.
334 Adams/Car
Template Updates
The 2005 Driving Machine employs vehicle controllers developed by MSC.Software, commonly known as Machine Control, which replaces DriverLite functionality, and Adams/SmartDriver. To better control
speed and path, the 2005 Driving Machine needs additional information about the vehicle. In particular, the speed controller uses a feed-forward function to ensure quick and accurate response. However, this requires information about the available engine brake torque, engine drive torque, brake torque, and aerodynamic drag. You supply this information by creating new output communicators in your templates. In addition, you must also enter vehicle parameter data, such as overall steering ratio that is stored in the assembly file. For more information, see Working with Templates->Template Updates.
you want to input to a vehicle. To use a .dcd file, you must reference it from an event file (.xml). Driver control data files contain data for use by the Driving Machine. To instruct the Driving Machine to use the data from a .dcd file, you must reference the file in an event file (.xml). An excerpt from a .xml showing a reference to a .dcd file looks like the following: (STEERING) METHOD = 'OPEN' CONTROL_TYPE = 'DATA_DRIVEN' FILE_NAME = 'my_data.dcd' Driver control data files hold two types of data:
Open-loop data - Data that is played back as input to the vehicle without concern for how fast or
where the vehicle goes. Such data includes: steering-wheel angle, throttle, brake, gear, and clutch signals. Examples of open-loop data include steering-wheel angle versus time, and throttle position versus time.
Closed-loop data - Data that specifies exactly where and how fast the vehicle should go. An
example of closed-loop data is vehicle x and y position versus time. You can specify closed-loop data in several forms. For example, curvature and velocity versus distance traveled, or lateral acceleration and longitudinal acceleration versus time. You specify the type of data using the SPEED_CONTROL and STEERING_CONTROL arguments in the .dcd file.
336 Adams/Car
Structure of Event Files Event files contain the following type of information:
Name of Event File Speed Gear Number Static Setup Gear Shifting Parameters Mini-Maneuvers for the Experiment
Name of Event File When you assign a name to the event file, Adams/Car automatically generates a file with extension .xml in the working directory and updates the Event File text box with the file name you entered. Speed Represents the initial vehicle speed for the maneuver. Gear Number Represents the initial gear position for the maneuver. Static Setup You can specify static-setup analyses that remove start-up transients that can eliminate mini-maneuvers that you might normally use to set up a vehicle for cornering maneuvers. For example, in the past, to perform a brake-in-turn analysis you might have run a transient mini-maneuver to have the vehicle turnin and reach static-setup on given turn, at a given speed/lateral acceleration, before starting to brake the vehicle. This approach is equivalent to a test driver on a proving ground, driving at a steady speed and in a steady-state condition (vehicle has no transients) before starting a dynamic maneuver (braking, acceleration, steering, and so on). Now you can perform a much faster (less CPU time) static-setup analysis. You can set static setup to any of the arguments described next.
Arguments none Adams/Car does not perform a static equilibrium analysis. Rather, it locks the wheel rotations and then performs an acceleration initial-conditions analysis, which initializes Adams/Tire. Adams/Car then deactivates the wheel lock joint primitives before executing the first mini-maneuver. Locks the wheel rotations using joint primitives, but leaves the body free to move in the fore-aft, lateral, and yaw directions. Soft springs (1 N/m and 10 N m/radian), introduced by Adams/Tire just for static equilibrium, acting in all directions between each wheel center and ground limit, but do not prevent, body yaw, fore-aft, and lateral displacements. Then, before executing the first mini-maneuver, Adams/Car deactivates the joint primitives to unlock the wheel rotations, and Adams/Tire removes the soft springs. The transitional and torsional stiffnesses supplied by the tire act in all directions (x,y,z). Without these stiffnesses, the vehicle would have a neutral equilibrium position in the x-y plane of the road. Note that Adams/Chassis does not support normal. settle Locks the body's fore-aft, lateral, and yaw displacement using joint primitives and performs a static equilibrium to settle the vehicle on the road. Then, before executing the first mini-maneuver, Adams/Car deactivates the joint primitives. For example selecting settle and specifying an initial velocity of 27777.78 mm/s is equivalent to driving a stake vertically through the vehicle body and constraining the body to move vertically about the stake. It allows the vehicle to roll (cornering) and pitch (braking), but does not allow rotation about the axis of the stake (Yaw). When the vehicle is released from this condition, it should be relatively well balanced to remove initial transient effects. An imbalance in the tire forces could, however, cause a slight steering effect. If you want to remove this effect, we recommend that you use straight.
normal
338 Adams/Car
skidpad
Locks the body's fore-aft and lateral position using a joint primitive. Adams/Car adjusts the steering and throttle so the vehicle's yaw rate, lateral acceleration, and speed match those prescribed by the initial radius, initial turn direction, and the initial lateral acceleration or initial speed. You must specify the initial radius and turn direction. Also, you must supply either the initial lateral acceleration or the initial speed. For example, selecting skidpad and specifying an initial radius, turn direction, and initial speed effectively performs a settle static setup followed by a straight static setup. Then, Adams/Car adjusts the steering and throttle so that the vehicle's yaw rate, lateral acceleration, and speed match those prescribed in the event file. By carefully observing the .msg file Adams/Solver produces, you can see the model manipulation occur.
straight
Locks the body's fore-aft and lateral position using a joint primitive. Adams/Car adjusts the steering (so that the vehicle's yaw rate and lateral acceleration are zero) and the throttle and/or brake (to balance any aerodynamic drag and scrub that the tires produce and to match the specified initial longitudinal acceleration). Then, before executing the first mini-maneuver, Adams/Car deactivates the joint primitives. The maneuver has two separate static analyses: the first uses the settle method, the second uses a force balance on the vehicle body to ensure that the net lateral force is negative (the vehicle is traveling in a straight line) and that longitudinal forces are zero. The values for steering-wheel angle, throttle position, and so on, are used as initial conditions for the subsequent dynamic analysis.
Gear-Shifting Parameters Define the gear-shifting properties and the shape of the upshift and downshift curves for throttle and clutch signals. Arguments Throttle Fall Time Clutch Fall Time Throttle Raise Time Clutch Raise Time Delta time of the step function for the descending curve of the throttle signal (> 0.0) Delta time of the step function for the descending curve of the clutch signal (> 0.0) Delta time of the step function for the ascending curve of the throttle signal (> 0.0) Delta time of the step function for the ascending curve of the clutch signal (> 0.0)
Duration of the gear shifting event (> 0.0) Enables an algorithm for RPM limiting during gear shifting
The Driving Machine runs each mini-maneuver in the order listed, until the list is ended or a minimaneuver is terminated. For each mini maneuver, you must specify a name for the mini-maneuver, the control signals (steering, throttle, braking, gear, and clutch), as well as the condition for ending the mini maneuver. Learn more about Creating Mini-Maneuvers. Structure of .dcd Files Driver control data (.dcd) files use a TeimOrbit File Format similar to other Adams/Car property files. Driver control data files must contain these data blocks:
MDI_HEADER block - Identifies the file as a .dcd file and provides version information. UNITS block - Identifies the units of the data contained in the .dcd file.
The driver control data file must also contain at least one of two data blocks:
OPEN_LOOP block - Specifies the steering, throttle, brake, gear, and clutch inputs to the
vehicle.
CLOSED_LOOP block - Specifies the path or the speed of the vehicle, or both.
Note:
Driver control data files can contain both open-loop and closed-loop blocks.
The following is an example .dcd file: [MDI_HEADER] FILE_NAME = iso_lane_change.dcd FILE_TYPE = 'dcd' FILE_VERSION = 1.0 FILE_FORMAT = 'ASCII' (COMMENTS) {comment_string} 'Example .dcd file containing steering path for iso lane [UNITS] LENGTH = 'meters' FORCE = 'newton' MASS = 'kg' TIME = 'sec' ANGLE = 'radians'[CLOSED_LOOP] STEERING_CONTROL = 'path' SPEED_CONTROL = 'none'
change'
340 Adams/Car
(DATA) { X Y } 0.0 0.000 -45.0 0.000 -52.5 0.000 60.0 0.000 90.0 3.586 -102.0 3.586 -115.0 3.586 -140.0 0.172 -147.0 0.172 -155.0 0.172 -162.0 0.172 -170.0 0.172 -200.0 0.172 -300.0 0.172 [OPEN_LOOP] ORDINAL = 'time' (DATA) { time steering throttle brake gear clutch } 0.0000E-01 0.1465E-02 0.3016E-02 0.0000E+00 0.3000E+01 0.1000E-01 0.1465E-02 0.3016E-02 0.0000E+00 0.3000E+01 0.2000E-01 0.1541E-02 0.3193E-02 0.0000E+00 0.3000E+01 0.3000E-01 0.1633E-02 0.3748E-02 0.0000E+00 0.3000E+01 0.4000E-01 0.1730E-02 0.5697E-02 0.0000E+00 0.3000E+01 0.5000E-01 0.1865E-02 0.1197E-01 0.0000E+00 0.3000E+01 0.6000E-01 0.1959E-02 0.2062E-01 0.0000E+00 0.3000E+01 0.7000E-01 0.2108E-02 0.4782E-01 0.0000E+00 0.3000E+01 0.8000E-01 0.2190E-02 0.8150E-01 0.0000E+00 0.3000E+01 0.9000E-01 0.2180E-02 0.1329E+00 0.0000E+00 0.3000E+01 0.1000E+00 0.2011E-02 0.2006E+00 0.0000E+00 0.3000E+01 Specifying Closed-Loop Data When reading the following specification you should observe the following rules:
[ ] = Data block ( ) = Sub-block { } = Data header || = Options, and means OR && = And
0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
distance = Arc-length or distance traveled along the path curvature, k=1/radius x = X position of vehicle relative to ISO-Earth Axis System y = Y position of vehicle relative to ISO-Earth Axis System { } = Set of inputs
The following table summarizes the closed-loop data that a .dcd file can contain:
The columns represent speed-control options from the driver parameters array. The rows represent the steering control options from the driver parameters array. The intersections give the data contained in the .dcd file and, therefore, the data input to the
(initial conditions arrays) in the dataset Adams/Car outputs. Closed-Loop Data in .dcd Files SPEED_CONTROL STEERING_CONTROL none curvature (p1 = 0) path (p1 = 1) lat_acc (p1 = 2) path (p1=3) NOT VALID
lon_vel (p1=0) {(distance or time), lon_vel} {(distance or time), curvature, lon_vel} {x, y, lon_vel} {distance or time, lat_acc, lon_vel}
lon_acc (p1=1) {(distance or time), lon_acc} {(distance or time), curvature, lon_acc} {x, y, lon_acc} {distance or time, lat_acc, lon_acc}
{(distance or time), NOT curvature, lat_acc} VALID {x, y, lat_acc} NOT VALID {x, y, time} NOT VALID
Creating .dcd Files You can use the sample .dcd files that we provide or you can create your own .dcd files. To create .dcd files: 1. You can use one of three methods to create .dcd files:
Run a physical or virtual test and record the data that you obtain from the five actuator
application areas.
In a text editor, modify the sample .dcd files that we provide for you. Create a .dcd file using a text editor and following the specifications and format shown in Specifying Closed-Loop Data and Example .dcd File Architecture.
342 Adams/Car
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 $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
*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 27.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
344 Adams/Car
At the trajectory planning stage, your targets for the vehicle and driver behavior and some basic parameters describing the characteristics of the simulated vehicle are taken into account, and a realistic trajectory that most closely satisfies your targets is identified (for example, path, speed, and acceleration). Machine Control uses simple mathematical models of vehicle dynamics, such as a bicycle model, a particle model, and a kinematic drivetrain model, to estimate the necessary control actions, such as the steering angle and throttle position. Machine Control applies these estimated controls as inputs to the simulated vehicle in a feed-forward manner, such that approximately correct control actions are applied without delay. Differences between the behavior of the simulated vehicle and the expected behavior (that is, the behavior of the idealized models employed by the controller) are corrected continuously using feedback controllers, which adjust the control actions to minimize the error between the reference trajectory and the actual vehicle behavior. Learn more about Machine Control:
Feed-Forward Control Trajectory Planning Feedback Control Computation of Controls
Feed-Forward Control Feed-Forward Lateral Control Global axes, x-y, local axes, X-Y,
The projection of the vehicle path onto the ground plane is related to the velocities and global heading as:
Global position of the vehicle Velocities of the vehicle relative to vehicle-fixed axes Global heading of the vehicle
(VX, VY)
The feed-forward component of the lateral control action is computed by assuming that your simulated vehicle responds as a bicycle model. The simplicity of the bicycle model allows the analytical identification of the relationship between the geometry of the path and the necessary control action (steering angle), and vice-versa. In a bicycle model, the lateral forces from both tires on an axle are assumed to act in the same direction, and the left and right steer angles are assumed to be the same. In other words, Ackerman steering geometry is not considered. With these assumptions, the tires may be lumped together into a single tire representation, and the model is guided by a single steer angle.
346 Adams/Car
This simplified model is used to identify the necessary steer angle required for the vehicle to follow the connecting contour. Simplification of a vehicle to the bicycle model
The form of the bicycle model employed by Machine Control assumes pure rolling of the front and rear tires with no kinematic or compliance-steer effects, and therefore, no lateral velocity at the rear axle. Note that this does not imply zero sideslip at the center of mass.
If the origin of the vehicle-fixed local axis system shown above is selected to be the center of the rear axle (not the center of mass), then the lateral velocity VY is now always assumed to be zero, and the assumed path of the vehicle simplifies to:
where:
Rate of change of the direction of the path at the rear axle (note that this is not equal to the yaw rate of the vehicle). In this case, the center of the turn always lies on a line through the rear axle. The steer angle required to yield a certain path curvature is then always equal to the Ackerman angle, and is independent of the vehicle speed VX:
where:
E R
and, therefore, this single steer angle input to the bicycle model controls the radius of turn and the curvature of the path. A simple inversion of this equation enables an estimate of the necessary steer angle to be calculated and applied to the simulated vehicle in a feed-forward sense. Feed-Forward Longitudinal Control To control either the velocity or acceleration of the simulated vehicle such that they match the reference, a particle model, a simple aerodynamic drag model, and a kinematic drivetrain model are used to predict the relationship between the wheel torque and the acceleration response of the vehicle. The force or torque required to accelerate or decelerate the vehicle is expressed as a wheel torque, that the engine and brakes must apply to one or more wheels. The magnitude of the required torque is computed from the vehicle drag, inertia and tire rolling resistance:
348 Adams/Car
where:
Total net wheel torque required to follow the reference Component that is required to accelerate the vehicle inertia Required to overcome aerodynamic resistance Mass of the vehicle Target (reference) vehicle acceleration Target (reference) vehicle speed Average rolling radius of the wheels Density of air Nominal drag coefficient of the vehicle Frontal area of the vehicle
CD A
Gear Shifting Gear shifts are triggered on the basis of engine speed thresholds, and the gear is incremented according to the following strategy:
where:
Current gear selection Revised gear selection Minimum engine speed allowed before a downshift is triggered Maximum engine speed allowed before an up-shift is triggered Highest available gear, or the number of available gears
Note:
Trajectory Planning Connecting Contour For the lateral control of the vehicle, a simple model of the vehicle (a bicycle model) is used to compute the control action that should cause the vehicle to follow the intended path. The simulated vehicle, however, may not exactly follow the target path because of differences between the simplified model and the simulated vehicle, or external factors (road roughness and aerodynamic disturbances). Therefore, the potential for offset between the instantaneous vehicle location and heading, and the location and heading of the path must be considered. In considering the location and heading of the path, Machine Control builds a connecting contour between the current vehicle position (wherever it may be) and some point on the target path, along which the vehicle will be steered to later bring it back to the target path:
Figure 16
Connecting contour
350 Adams/Car
The function that describes the connecting contour is parameterized such that one end of the connecting contour matches the position and direction of the vehicle (at the vehicle rear axle) and the other end of the connecting contour matches the path (at the preview distance, where the contour connects with the target path), as shown in the above figure. The connecting contour then becomes the reference trajectory (path) for the lateral control of the vehicle, and the vehicle is steered by both feed-forward and feedback controllers, such that it should follow this connecting contour. The connecting contour is updated each time the Machine Control controller is called. Longitudinal Trajectory Planning The longitudinal trajectory planning essentially consists of constructing either a target velocity against distance traveled along the track centerline, or a target acceleration against distance traveled, according to your description of the target (for example, acceleration against distance traveled, velocity against time). Feedback Control Yaw Rate Feedback The yaw rate feedback component of the controller corrects for the difference between the yaw rate response of the simulated vehicle and that of the bicycle model. Errors between the yaw rate reference and the yaw rate of the simulated vehicle are quickly corrected, such that the simulated vehicle follows the intended trajectory as closely as possible, even if the feed-forward control identified from the bicycle model is significantly in error. The yaw rate error is determined by considering the curvature that would result if the current yaw rate were a steady-state value, and is corrected using a feedback controller, whose output is also fed into the steering angle. Lateral Displacement Feedback The connecting contour approach does not include any term to correct for steady-state lateral displacement error. This is preferred in most situations, because the resulting control actions tend to be more realistic and robustly stable. Once the vehicle is close to the target path, an additional controller acting on the distance Lo (the offset of the projected vehicle centerline from the path) adjusts the lateral displacement of the vehicle:
where is a flag indicating whether the lateral displacement controller is activated, that is whether the lateral displacement error Lo is small:
Note that in the above, positive Lo indicates a vehicle to the left of the target path, requiring a positive steering correction. Longitudinal Velocity Feedback Errors in longitudinal velocity are compensated using a PID controller:
s Vref(s)
Vactual = Vx Longitudinal component of the vehicle velocity Anti-windup To improve the stability of the control in conditions of actuator (usually engine torque) saturation, the input to the integral term of the controller is set to zero. This prevents wind-up of the integral term when the vehicle is unable to provide any more torque, such that the feedback component of the torque demand becomes:
352 Adams/Car
Computation of Controls Summation of Feed-Forward and Feedback Terms Simple summation of the feed-forward and feedback terms gives the total demand from the lateral and longitudinal controllers (steer angle and net wheel torque):
Mapping Net Wheel Torque Demand to Control Actions Once the required total net wheel torque, Tw has been estimated, basic knowledge of the brake system and driveline are used to identify the necessary control actions (throttle and brake) that must be applied, such that the vehicle delivers the required net wheel torque. The range of available net wheel torque is related to the available engine torque and the gearing of the vehicle. Neglecting driveline inertia, the ratio of the gearbox and the differential defines the relationship between the net wheel torque (Tw), and the engine torque (Te), at any instant:
such that the upper and lower limits Tm and TM on the net wheel torque, Tw (we) can be identified from the upper and lower limits on Te (we):
where:
we
Current engine speed (supplied as an input to Machine Control) Minimum engine output torque (from the user engine map) Maximum engine output torque (from the user engine map)
Rd Rg
Mean differential (final drive) ratio (from the basic vehicle knowledge) Gearbox ratio (from the basic vehicle knowledge)
Net wheel torque limits as a function of engine speed, and maximum brake torque
The above figure shows the user-supplied engine model, scaled according to the gearing of the vehicle, to yield:
The maximum available net wheel torque, TM (normally positive for all we) The minimum available net wheel torque Tm (usually negative, especially at high engine speed
we, since it includes frictional and pumping losses due to throttling). To define these limits, you can do either of the following: Supply a detailed nonlinear engine map, relating throttle to engine torque,
354 Adams/Car
or
If a throttle map is provided, then this is mathematically inverted, so that the necessary throttle position can be identified from the required net wheel torque Tw, provided it is feasible for the engine to deliver this torque at the current engine speed :
If the linear model is selected, then the feed-forward throttle and brake signals can be determined directly from the required torque:
Control Modulation During Gearshift and Wheel-lift Events Throttle and clutch modulation during gear-shifting During a gear-change, the control actuation is open-loop, except for the optional closed-loop rpm control as the clutch is re-engaged. In the following plots, which show the form of the control actions, the origin of the time base is set to be the instant of triggering the gearshift event (see Gear Shifting). The action of the clutch is determined, and the throttle signal, computed by the feedback and feedforward controllers, is modulated according to the following parameters:
356 Adams/Car
Gear change time (not the time of the whole event, but the time for which the clutch is not fully
engaged)
Clutch raise and fall time Throttle raise and fall time DT1 (the delay between clutch disengagement and throttle release) DT2 (the delay between that start of clutch re-engagement and start of throttle reapplication)
The following plot shows the influence of the parameters DT1 and DT2:
The following plot shows the influence of the throttle raise and fall time parameters:
358 Adams/Car
The following plots show the effect of changing a single parameter from this baseline:
360 Adams/Car
362 Adams/Car
Changing DT1:
364 Adams/Car
Changing DT2:
RPM control during clutch re-engagement During a gear change, between the time when the new gear is selected and the clutch is fully engaged, the engine RPM we can optionally be controlled in a feedback sense, by another classical PID controller with anti-windup. The error on which this controller acts is: werror = we - wt where wt is the transmission RPM with which the engine must be synchronized to avoid jerk when the clutch is re-engaged. This controller acts on the throttle input only.
Wheel-lift compensation Controller-induced wheel-spin-up or wheel-lock is prevented by detecting when the loads on the driven wheels go to zero (that is, the driven wheels are not in contact with the road). In this case, the throttle and
brake are released (set to zero) and the clutch is depressed. The clutch action ensures that when the vehicle lands, the wheels spin up to the correct velocity as quickly as possible.
366 Adams/Car
368 Adams/Car
details of the maneuver. In particular, two files are important in defining the scope of the maneuver. These are the Adams/Solver control file (.acf) and the event file (.xml). The following shows the typical contents of an .acf: file/model=test_step preferences/solver=F77 output/nosep control/ routine=abgVDM::EventInit, function=user(3,1,10,0,2,5,7,9,4,8, 17) control/ routine=abgVDM::EventRunAll, function=user(0) ! stop In the .acf, note the following line: control/ routine=abgVDM::EventInit, function=user(3,1,10,0,2,5,7,9,4,8, 17) This line calls an Adams/Car-specific control subroutine (a consub). The consub sets up and initializes the full-vehicle analysis. It does the following:
Reads the event file (or converts the TeimOrbit .dcf file into XML) Performs a number of static analyses based on the content of the DcfStatic class in the event file Performs a dynamic analysis by running each of the mini-maneuvers listed in the DcfMini
classes in the event file You can view and modify the event file (.xml) using the Event Builder. The Event Builder allows you to modify existing parameters for the entire maneuver, such as step size and hmax, to modify specific minimaneuver information, and add mini-maneuvers. The following line calls the control subroutine EventInit: control/ routine=abgVDM::EventInit, function=user(3,1,10,0,2,5,7,9,4,8, 17) The call to this subroutine passes 11 parameters, as described next. Note that each number in the array (3,1,10,0,2,5,5,9,4,8, 17) is listed after the description of that parameter. par(1) 3: ID of STRING statement containing .XML event filename = 3 par(2) ID of ORIGO marker = 1 par(3) ID of ARRAY statement containing initial condition SDI parameters = 10 par(4) ID of ARRAY statement containing ids of parts for which initial velocity are not set = 0 par(5) ID of ARRAY holding Vehicle Parameters. = 2 par(6) ID of main Driving Machine ARRAY. = 5 par(7) ID ISO EAS Marker = 7 par(8) ID of Driver_Parameters_ARRAY_Steering_Human = 9 par(9) ID of STRING statement containing Driver Road Filename = 4 par(10) ID of ARRAY containing Human Driver Parameters = 8 par(11) ID of ARRAY containing the ids of extensible end condition sensor elements = 17
If you look at the corresponding Adams/Solver dataset (.adm), you will see that STRING/3 contains the name of the event file: ! adams_view_name='testrig_dcf_filename' STRING/3 , STRING =example_crc.xml All standard Adams/Car events generate an event file in XML format, similar to the one referenced in the example above, but .dcf files in TeimOrbit format are still supported, both in the Event Builder and at the solver level. This means that you can replace the above string and reference a .dcf file in TeimOrbit format. The file will be automatically converted to XML format. By modifying the .acf file, you can now execute all mini-maneuvers defined in the event file, or just run the initialization and then execute one mini-maneuver at a time. Full-vehicle analysis .acf files by default call the Driving Machine initialization routine, then call the RunAll method. You can, however, modify the .acf file and use the following commands for more control over your analysis:
control/ routine=abgVDM::EventRunAll, function=user(0) - Runs all the active mini-maneuvers
maneuver until the desired absolute time [s] Using this flexibility within the event control subroutine enables you to use the power of the acf language to make changes and re-submit your solution to Adams/Solver. The language parameters for the .acf file are documented in the Adams/Solver online help.
370 Adams/Car
366 Adams/Car
its operation.
Assigns access to common databases to allow read and write
permissions for standard and expert users. To access management tools: Your access to management tools depends on your user access:
Standard users - You can access your template-based product's tools that let you manage your
To get expert-user access, modify your private .acar.cfg configuration file and change your user mode to EXPERT. Learn about setting your product's environment.
retrieve data from your private database. In addition, you can share your private database with others. If a private database does not exist, your template-based product creates the private database at the beginning of a session.
Shared database for all users - A shared database provides all users with access to standard,
accurate data. To prevent loss of data or the storing of inaccurate data in a shared database, standard users can only retrieve data from a shared database. Typically, only the site manager has the permissions necessary to create files in a shared database. An example of a shared database is distributed with your template-based product, and it is usually placed in the installation directory. Learn more about databases:
Database Structure About the Database Search List
Database Structure
Each database consists of one directory (*.cdb) and several subdirectories (*.tbl), called tables. Each subdirectory contains files for specific types of components, such as springs and dampers, or files for performing tests, such as loadcases and wheel envelopes. The number of tables varies, but you can define the number in the shared and private configuration files. By default, your template-based product divides a database into the following table elements:
Models and topological information (templates, assemblies, subsystems, and flexible bodies) Analysis information (such as analysis scripts, loadcases, driver loadcases, and suspension
curves)
Postprocessing (plot configuration files) In Adams/Car, driver files (such as driver inputs and roads) In Adams/Car, tires and roads Property files (such as springs, dampers, and remaining tables)
Each type of file that a table stores has a unique three-letter extension that identifies its contents. For example, all files stored in the assembly table contain a .asy extension.
368 Adams/Car
An example of the default structure of a database for Adams/Car is shown in the Information window. The information window shows all the tables in the database, their names, the type of files they store, and the file extension of the files that they store. You can also add your own tables since the database is an open-architecture file repository. For example, you might want to create a table that stores data files for an analysis that is specific to your company. Learn about managing tables.
For your template-based product to be able to store a database in its search list, the file system to which the database points must be accessible on the current file system of the computer.
Learn about setting up the search list and the order in which databases are searched.
370 Adams/Car
Managing Databases
Managing Databases
Select a topic to learn about the operations you can perform on databases:
Creating Databases During a Session Setting the Writable Database Managing Tables in a Database Creating Tar Files of Databases
Unless you save database changes to your private configuration file, Adams/Solver will not be able to access the databases you added or created in a session
You should create a database for every project on which you are working. By creating separate databases for each project, you can ensure that the property files belonging to different subsystems are kept separate. When you create a database, you define two elements for it:
Name - You use the name, or database alias, to select the database from the search list in dialog
boxes.
Path - The location of the database in the file system.
Note:
You can also create databases directly using the configuration files. Learn about managing
databases through configuration files.
To create a database: 1. From the Tools menu, point to Database Management, and then select Create Database. 2. Press F1 and then follow the instructions in the dialog box help for Create New Database. 3. Select OK.
your private configuration file, but you can change it at anytime during a session. You can select any database in the search list as your default writable database, as long as you have permission to write to the file system to which the database points. To create a database: 1. From the Tools menu, point to Database Management, and then select Set Default Writable. 2. Press F1 and then follow the instructions in the dialog box help for Set Default Writable Database. 3. Select OK.
372 Adams/Car
By default, your template-based product doesn't search all defined databases when it cannot locate a file. You can, however, re-enable the searching by setting the MDI_CDB_SEARCH environment variable to yes. In the Command Navigator, you can issue the following command: variable set variable_name=do_search & integer_value=(putenv("MDI_CDB_SEARCH","yes")) For more information, see the Adams/Car release notes.
See the following topics to learn more about the search order, how it impacts you, and how you set it up:
About Search Order Adding Databases to the Search List Removing Databases from the Search List Changing the Search Order
without realizing that you can access different files. The database search order is also important if you specify the database path incorrectly. To avoid using the search order to find a file, which can result in longer searches and unintended results, you can specify the database name (its alias) directly in the associated property file to ensure that your template-based product searches the correct database. You can look at the search order of the databases in the search list using the Database Info command, as shown in Viewing Database and Table Information. Your template-based product displays the current list of databases, showing the search order level of each database in the first column. Learn about displaying database information.
374 Adams/Car
To change the search order: 1. From the Tools menu, point to Database Management, and then select Change Search Order. 2. Press F1 and then follow the instructions in the dialog box help for Change Database Search Order. 3. Select OK.
Publishing Subsystems
When you publish a subsystem, you copy the subsystem file and all its associated property files to the target database, which is the database where your template-based product saves all files. You can also select to publish the subsystem's template file. As you publish the subsystem, you can choose to write over existing files or create backups of the files. You can also select to update the in-session subsystem data to point to the target database or to have the subsystem retain the existing references. The subsystem you are publishing must be currently opened in the standard interface, and the target database must be writable. Learn about setting the writable database. You can also publish an entire assembly. Learn about publishing an assembly. To publish a subsystem: 1. From the Tools menu, point to Database Management, and then select Publish Subsystem. 2. Press F1 and then follow the instructions in the dialog box help for Publish an Open Subsystem. 3. Select OK.
376 Adams/Car
Publishing Assemblies
When you publish an assembly, you copy each subsystem file included in the assembly definition, including the associated property files for each subsystem, to the target database, which is the database where your template-based product saves all files. You can also select to publish each subsystem's template file. As you publish the assembly, you can select to write over existing files or create backups of the files. You can also select to update the in-session assembly data to point to the target database or to have the assembly retain the existing references. The assembly you are publishing must be currently opened in the standard interface, and the target database must be writable. Learn about setting the writable database. You can choose to publish only a subsystem, not an entire assembly. Learn about publishing a subsystem. To publish an assembly: 1. From the Tools menu, point to Database Management, and then select Publish Assembly. 2. Press F1 and then follow the instructions in the dialog box help for Publish an Open Assembly. 3. Select OK.
The private configuration file is not located in the installation directory. Never change the acar.cfg file located in the installation.
If you have more than one private configuration file, you can choose the file you want to use for a given session. Depending on the platform you are using, you do the following:
On UNIX - You use the Registry Editor on the Adams Toolbar to choose the file you want to
use. The registry setting name for your private configuration file is privateCfg. Learn about Adams Registry Editor.
On Windows - You can specify the private configuration file using an environment variable.
You can set this environment variable using the System option from the Control Panel, just as you would for any other variable. Depending on your template-based product, you can specify the following environment variables:
For Adams/Car, enter MDI_ACAR_PRIVATE_CFG For Adams/Driveline, enter MDI_ADRV_PRIVATE_CFG
378 Adams/Car
You should set up your private configuration file so it contains information specific to the work you are performing. For example, you can set up your own tables in databases in which to store project data. You can also override many of the default settings provided in the shared and site configuration files. When you set up your private configuration file using the Adams Registry editor, the location specified for privateCfg is saved in a file $HOME/.msca/msca_MDx.reg. Where x represents version number and $HOME is the home directory; for example, C:/.msca/msca_MSC2011.reg for MSC Adams 2011. This enables you to specify a different location when you use a different version of Adams. For example; if a new location is specified for the privateCfg when using Adams 2011; this setting is stored in the file $HOME/.msca/msca_2011.reg and each subsequent usage of Adams 2011 will use the privateCfg file specified in this file.
template-based product. For example, it identifies the type of user associated with the configuration file. It also sets the mode in which your template-based product starts, Standard Interface or Template Builder, and any other environment settings.
Databases - The second block defines the databases in which users store files, the order in which
your template-based product searches databases, and the database to which files are written by default.
Table Directories - The third block defines the list of personal table directories. For example,
requires a property file, it automatically knows to load the desired files if you enter property files in the property file block. You usually define property files in the shared configuration file. If you enter values in your private configuration file, your template-based product overrides the shared files with your personal property files.
Test Rigs - The fifth block defines the default test rig for a given assembly class. When a dialog
box requires a test rig, it automatically knows to load the desired test rigs. You usually define test rigs in the shared configuration file. Configuration File Blocks
!-------------------------------------------------------------------! !*************** Adams/X Configuration File *************** ! !-------------------------------------------------------------------! !-------------------------------------------------------------------! ! - List of personal environment variables !-------------------------------------------------------------------! ENVIRONMENT MDI_ACAR_USERMODE expert !-------------------------------------------------------------------! ! - List of personal database directories ! Database name Path of Database !-------------------------------------------------------------------! DATABASE private /usr/private.cdb DATABASE staff /staff/private.cdb DEFAULT_WRITE_DB private ! !-------------------------------------------------------------------! ! - List of personal tables directories ! Type class Name of table Extension !-------------------------------------------------------------------! ! Example table entry: !TABLE list2+ example.tbl exa ! !-------------------------------------------------------------------! ! - List of personal default property files ! Type class Default property file !-------------------------------------------------------------------! ! Example property file entry:
380 Adams/Car
<private>/assembly.tbl/myfile.dpr
We've set up default environment variables in the shared configuration file, but we recommend that you redefine them in the private or site configuration file to customize the work environment of your template-based product. You can also define your own environment variables for use with user-written subroutines or macros. See a list of Environment Variables. Learn about the standard environment entries that you can set and how to create your own environment variables:
Setting User Access Accessing Adams/View Setting Defaults and Display of the Welcome Dialog Box Replacing the Image on the Welcome and Exit Dialog Boxes Setting Up Side Preferences Setting the Orientation of the Global Reference Frame Managing Result File Output Redefining Environment Variables Defining Your Own Environment Variables Editing Files Using a Text Editor
The private configuration file is not located in the installation directory. Never change the acar.cfg file located in the installation.
382 Adams/Car
EXPERT - User can access the Template Builder and create and modify templates. User can
access the Template Builder and other development tools that are located under the Tools menu. Expert users can use the MDI_ACAR_PLUS_AVIEW keyword in the private configuration file to access Adams/View. Learn about accessing Adams/View. To change the value of this keyword, you must edit the private configuration file (.acar.cfg) using a text editor and modify the corresponding string. The following gives you expert access: ! Desired user mode (standard/expert) ENVIRONMENT MDI_ACAR_USERMODE EXPERT When you start a new session, your template-based product reflects the changes to the private configuration file.
Accessing Adams/View
If you are an expert user, you can use the MDI_ACAR_PLUS_AVIEW environment variable in the private configuration file to obtain access to Adams/View. MDI_ACAR_PLUS_AVIEW has the following format: ENVIRONMENT MDI_ACAR_PLUS_AVIEW (yes, no)
To access Adams/View: 1. Set MDI_ACAR_PLUS_AVIEW to yes. 2. From the Tools menu, select Adams/View Interface. To return to your template-based product: From the Tools menu, point to Select Mode, and then select the interface mode to which you want to return: Standard Interface or Template Builder.
ENVIRONMENT MDI_AENG_HHT_ERROR 1e-5 This sets the HHT integrator as the default integrator with a default error tolerance of 1e-5 when using Adams/Solver (C++). 3. Start a new session.
In Adams/Driveline for example, if you set MDI_ACAR_INITMODE to standard_interface, the Welcome dialog box sets the selection of Standard Interface as the default, as shown next.
Setting the Display You can use the MDI_ACAR_MODEPROMPT environment variable to set your template-based product so that it does not display the Welcome dialog box at start up. MDI_ACAR_MODEPROMPT has the following format: ENVIRONMENT MDI_ACAR_MODEPROMPT (yes, no)
Setting it to yes displays the Welcome dialog box; setting it to no turns off the display of the Welcome dialog box.
384 Adams/Car
single entities based on the side preference. Your template-based product does this to limit the number of guesses. The MDI_ACAR_SIDE_PREF environment variable has the following format: ENVIRONMENT MDI_ACAR_SIDE_PREF (right, left)
If a result file exists, your template-based product will automatically read it in with the analysis, if you run an interactive simulation. If you run the simulation externally (background, files_only), you can read in the result file using either of these two methods:
Review -> Analysis Management -> Read File -> Import -> Adams Results File (*.res)
386 Adams/Car
If this environment variable is not set, external files will be shown in the info window. If it is set to any value, the default browser is used to visualize .xml files and notepad.exe is used to open any other file. The default editor for non-xml files can be changed by specifying the path via the Adams Settings utility (Adams registry editor -> AView -> Preferences -> textEditor). In the variable, simply specify the location of your preferred text editor executable. For example, an Adams/Car user who wants to launch Wordpad would set up the environment variable as follows:
ENVIRONMENT MDI_ACAR_USE_EDITOR yes
and specifies the following path for textEditor field using Adams Settings utility as described above.
C:\Program Files\WindowsNT\Accessories\wordpad.exe
You can place DATABASE entries in the private, site, or shared configuration files. The DEFAULT_WRITE_DB, however, is reserved for the private and site configuration files. Note that you can also set up databases through menus, as explained in Managing Databases. You may find it more convenient to use the menus. Learn more about managing databases through configuration files:
Setting Up Databases Specifying Default Writable Database
Setting Up Databases
You can define databases in your template-based product using the keyword DATABASE. A DATABASE keyword entry has the following format: DATABASE DB_NAME DB_PATH
In the format, DB_NAME is the name assigned to the database and DB_PATH is the location of the database in your file system. You can add any database to the DATABASE definition in any configuration file. If the database does not exist, your template-based product creates it in the specified location and adds it to the database list.
The environment variable defines the initial database that you want as the default location for writing files. Usually, you define the default writable database in your private configuration file, although you can set the writable database in any configuration file. You can change it during the session as explained in Setting the Writable Database. Note that you will need permission to write to the file system location to which the DEFAULT_WRITE_DB points.
388 Adams/Car
Creating Tables
At start up, your template-based product determines when to create new table directories as follows: 1. Your template-based product verifies that all database directories defined in the private configuration file contain table directories for the corresponding table directories also defined in the private configuration file. 2. If a table directory does not exist inside the database, your template-based product creates one. 3. If a site configuration file exists, your template-based product ensures that for any table directory specified in the site configuration file, a corresponding table directory exists for all database directories defined in both the site and private configuration files. 4. Your template-based product ensures that for all table directories specified in the shared configuration file, a corresponding table directory exists for all database directories defined in the private, site (if it exists), and shared configuration files. The TABLE keyword entry for creating tables has the format: TABLE TABLE_CLASS TABLE_NAME TABLE_EXTENSION where:
TABLE_CLASS - A string identifying the table. TABLE_NAME - The name that you want used to access the table. TABLE_EXTENSION - The three-character extension of files stored in the table. Your
template-based product only recognizes files in the table that have the extension that you specify.
For example, the following creates a table that stores aerodynamic forces: TABLE aeroforces /staff/my_name/my_db.cdb/aeroforces.tbl aer
Adding the table definition shown above in the configuration file causes your template-based product to recognize and correctly access files stored in that particular database table.
TABLE flex_body flexbodys.tbl mnf TABLE powertrain powertrains.tbl pwr TABLE differential differentials.tbl dif TABLE reboundstop reboundstops.tbl reb
390 Adams/Car
The entry: TABLE spring springs.tbl spr TABLE linear spring springs.tbl lsf
Defines tables for: Spring files that define a force-displacement relationship between user-specified locations on two parts. Spring files that define the linear elastic force relationship between user-specified locations on two parts, using a constant stiffness coefficient. Steering_assist files that contain torsion bar data relating torsion bar deflection to both torque and pressure. Tire files that define data needed to characterize tire behavior (a tire model). Road files that define roads that the contact algorithms in the Adams/Tire module use. Driver control files that contain maneuver descriptions for the Driving Machine. Also includes XML event files. For additional information, see Note in Using the Driving Machine. Driver data files that contain data for the Driving Machine. Driver loadcase files that contain driving signals used in a data-driven, full-vehicle analysis. The driver loadcase specifies inputs to the vehicle. Loadcase files that contain data used in suspension analyses. Suspension curves used in the Conceptual Suspension Modeling module. Wheel-envelope files that contain location vector information that represents the wheel-center location and orientation in space. They are used for wheel-envelope analyses. Plot configuration files that define a suite of plots to be automatically generated after completion of an analysis. Adams/Driver road definitions. Adams/Driver knowledge file. (Obsolete). Adams/Driver input files used in an Adams/Driver fullvehicle analysis. (Obsolete).
TABLE steering_assist steering_assists.tbl ste TABLE tire tires.tbl tir TABLE road roads.tbl rdf TABLE driver_controls driver_controls.tbl dcf
TABLE driver_data driver_data.tbl dcd TABLE driver_loadcase driver_loadcases.tbl dri TABLE loadcase loadcases.tbl lcf TABLE suspension_curve suspension_curves.tbl scf TABLE wheelenv wheel_envelopes.tbl wen
TABLE plot_config plot_configs.tbl plt TABLE driver_road driver_roads.tbl drd TABLE driver_knowledge driver_knowledge.tbl kno TABLE driver_input driver_inputs.tbl din
They are the standard set of tables that are distributed with your template-based product's database. You cannot reconfigure TABLE entries. Changing these values disables your template-based product's ability to assign properties to a class of entities.
PROPFILE_CLASS
PROPFILE_NAME
For example:
PROPFILE bushing mdids://shared/bushings.tbl/mdi_0001.bus
You can define the property files in the private, site, or shared configuration files.
TESTRIG_CLASS
TESTRIG_NAME
test rig.
TESTRIG_NAME is the name of the test rig model.
You can define the default test rigs in the private, site, or shared configuration files.
392 Adams/Car
392 Adams/Car
Overview
Overview
If you are an expert user or site manager, you can customize your template-based product to your company's needs and preferences. You can extend your template-based product by adding new functionality, modifying standard functionality, or tailoring its appearance to fit the needs of your work environment. Customizing your template-based product lets you create a familiar environment in which users can work. Learn about Setting User Access. Note:
You cannot customize all dialog boxes and tools. For example, you cannot customize the Plugin Manager or the Information window. The Dialog-Box Builder's Dialog Box -> Open menu provides access to those dialog boxes, containers, and toolbars that you can customize.
You can typically modify your template-based product in three main areas. These require different levels of understanding, ranging from the Adams macro language, Standard Developer Kit (Adams/SDK), through FORTRAN and C solver routines, as described next.
Customizing the interface - Involves creating or modifying interface objects, such as macros,
dialog boxes, menus, and windows. This uses Adams command language to modify the look and feel of the interface. It can be used to automate recurring tasks, using the scripting language, but has limitations in terms of speed and would not be used to generate computationally complex objects (1000 parts located and oriented to generate a chain). For these tasks, you would use an Adams/View library written in C. Note: You save interface objects and macros in custom binaries.
functions to automate highly repetitive and computationally complex tasks in an efficient manner, using C. Using functions delivered in the SDK, you can quickly generate and manipulate Adams elements.
Creating a custom Adams/Solver library - Create user-written subroutines and functions to
extend the functionality of your template-based product in terms of the solver. You save them in custom libraries for later use. Note: For Adams/Driveline - Because of the plugin structure of Adams/Driveline, you cannot create a custom version. You can, however, create a custom Adams/Car version, adding your own custom elements, analyses, and so on, and then load in the standard Adams/Driveline plugin.
Once you have finalized your customization of your template-based product, you can store your customized dialog boxes, macros (binary files), Adams/View and Adams/Solver libraries in a site
directory, for use by all users, or in a private directory for personal use. You can extend this hierarchy to support multiple operating systems from one installation. Select an entry on the left to learn how to efficiently customize the environment of your product.
394 Adams/Car
Naming Conventions
We recommend that you use a naming convention when you create and modify interface objects or macros. A naming convention reduces the chances of naming conflicts and provides a simple method for organizing files, macros, and dialog boxes. The naming convention that we recommend is the same one that template-based products currently use. The naming convention uses the abbreviation of the object (for example, mac for macro) followed by a set of characters that identify the commands or functionality that the object executes or performs. The naming conventions for macros and dialog boxes are explained next.
Macro naming convention - The macro naming convention uses the abbreviation mac for
macro followed by the first three characters of each command in the user-entered command that executes the macro. For example, if the user-entered commands for a macro are as shown below (the first three characters are highlighted in boldface type):
single_travel
submit
mac_ana_sus_sin_sub Dialog box naming convention - The naming convention for dialog boxes uses the abbreviation dbox for dialog box followed by the first three characters of the words that identify the functionality of the dialog box. For example, if a dialog box is the interface through which a user creates a hardpoint, then the words that define its functionality are: template_builder and, its name is: hardpoint create
dbox_tem_har_cre If, however, the dialog box performs two or more functions, as many dialog boxes do, then the dialog box name does not include the words for the function. For example, if a dialog box lets a user both create and modify a spring damper, the words that define its functionality are: template_builder and, its name is: dbox_tem_dam damper create/modify
Using Libraries
We recommend that you use libraries to store the interface objects and macros that you create. Libraries are repositories for Adams/View objects such as variables, assembly instances, macros, and dialog boxes. Using libraries allows you to easily find, retrieve, or remove specific custom objects. You can add to your template-based product as many libraries as you need. You can also have libraries within libraries. Your template-based product stores all its objects in libraries, named as follows: Product name: Adams/Car Library name: .ACAR
You can view the objects in the library using the Database Navigator. See About the Database Navigator. To create libraries, execute the following command either in your .cmd file or during an interactive session. In the following command, MY_LIBRARY is the name of the library that will be created: library create library_name=.MY_LIBRARY Alternatively, you can add the command in the file you use to generate the site or private custom binary. The files are named as follows: Product name: Adams/Car File name: acar_build.cmd
396 Adams/Car
Libraries can also be nested. For example: library create library_name=.MY_LIBRARY.variables library create library_name=.MY_LIBRARY.variables.torques
Note that we supply many examples of how to code dialog boxes. You can find those examples in their respective libraries. For example, acar.dboxes. The next topics explain more about creating dialog boxes. For a general overview of creating and editing dialog boxes in Adams products, see the Adams/View online help, under the Customize tab.
Dialog Box Objects Layout and Sizing of Dialog Boxes Commands in Dialog Boxes Dialog Box Error Handling Start, Execute, and Finish Commands OK, Apply, and Cancel Buttons
When you have finished modifying your dialog boxes, review the options for saving your changes and having them automatically included in your own version of your template-based product. Learn about saving dialog boxes. Accessing Dialog Box Programming Tools You use the Dialog Box command on the Tools menu to create and modify dialog boxes. Learn about the
Dialog-Box Builder.
To view, change, and create dialog boxes, you must have expert user access to your template-based product. Learn about Setting User Access.
Dialog Box Objects Dialog boxes are a combination of different interface objects that you can modify using the Dialog-Box Builder. These include the following: List of Common Dialog Box Objects The objects: Containers Text boxes Pull-down menus Radio boxes Toggle buttons (Check boxes) Push buttons Sliders Are: Subregions in a dialog box that can hold objects. Boxes in which you can enter information. Menus that display a list of options from which you can select only one option. Toggles that set a state or mode. You can only select one state or mode. Toggles that indicate an active state. You can select more than one state. Buttons that execute a command or set a state. A continuous range of possible values from which you can select one value.
The following figure shows some of the different objects. Learn more about Interface objects.
Layout and Sizing of Dialog Boxes When you create dialog boxes, always try to minimize the amount of screen area that they take up. To be consistent with the other dialog boxes in your template-based product, you should use the size specifications listed in tables Standard Interface Dialog Box Specifications and Template Builder Dialog
398 Adams/Car
Box Specifications. The specifications also include where on the screen dialog boxes should appear, so they always appear in the same location on the screen.
We also recommend that you fix the height of dialog boxes. In most cases, only the ability to change the width of a dialog box is useful to a user because he or she may want to stretch the dialog box to see the full name of an object in a particular text box. This isn't really necessary for the height of a dialog box. To fix the height of a dialog box, include the parameters height_minimum and height_maximum in the interface command that creates the dialog box. You must do this directly in the command file that contains the commands to create the dialog box. You cannot do this through the Dialog-Box Builder. For example, for Adams/Car, you can enter: interface dialog modify & dialog=.ACAR.dboxes.dbox_tem_har_mod & height=150.0 height_minumum=150.0 height_maximum=150.0 When building dialog boxes, always test to ensure that the resizing attributes of each object in the dialog box are appropriate. Under Resizing in the Dialog-Box Builder, there are resizing attributes for interface objects. These attributes describe how the size of the objects on a dialog box are affected if the width or height of the dialog box changes. You should set the resizing attributes of the objects on a dialog box so that if the size of the dialog box changes, the general look of the dialog box remains the same. For example, if all the text boxes in a dialog box are right justified along the edge of the dialog box, the text boxes should all remain right justified if you increase or decrease the width of the dialog box. Standard Interface Dialog Box Specifications For the dialog box attribute: Location Width Label width Label height Text box width Set its position or size to: 33, 154 370 150 25 240
Template Builder Dialog Box Specifications For the dialog box attribute: Location Width Label width Label height Text box width Set its position or size to: 15, 150 404 150 25 244
Commands in Dialog Boxes All of the objects in dialog boxes can execute commands when a user acts on the object. For example, a button can execute a command when a user pushes on it, and an option choice can execute a command when a user selects that option from a pull-down menu. Having an object execute a command gives you great flexibility in how your dialog box works. For example, you can set up your dialog box so that the commands assigned to a particular database object field can:
Check to determine whether the object that the user selects exists in the database Issue a warning message if it does not exist
You can also have commands operate on other objects in dialog boxes, which causes the dialog box to change its appearance when a user makes a selection from an object. For example, when a user selects
400 Adams/Car
an option from a pull-down menu, the dialog box changes to display objects for entering values for the selected option as shown next.
Dialog Box Error Handling Each dialog box that you create should have a variable, named errorFlag, that represents the error condition of the dialog box. You should use the start commands of a dialog box to create the variable and set its initial value to zero or no error condition, as shown next: variable set variable_name=$_self.errorFlag int=0 You should also reference the variable in the OK command that executes the dialog box. For information on:
Variables, see Using Local Variables.
$_self, see Using Commands in Dialog Boxes. OK command, see OK, Apply, and Cancel Buttons.
Start, Execute, and Finish Commands You can assign start, execute, and finish commands to higher-level objects, such as containers, and to the dialog box itself. The commands are described below. Learn more about Using Commands in Dialog Boxes.
Start commands - Your template-based product automatically executes start commands
associated with a particular interface object when that object is displayed. The start commands ensure, for example, that the dialog box is displayed properly based on the display parameters. You should use the start commands to set an errorFlag variable to an initial value of zero, or no error condition, as shown next: variable set variable_name=$_self.errorFlag int=0 Template Builder dialog boxes usually have two possible startup parameters, which you should set up in the start commands when a dialog box is displayed. The states are:
mode - Mode has two states, which represent the creation or modification states of a dialog
An example of using the states in a start command for Adams/Car: interface dialog display dialog=.ACAR.dboxes.dbox_tem_dam & parameters="modify", ".template1.dal_ride_damper" Execute commands - The execute commands of a dialog box usually work with OK and Apply buttons. You should limit the execute commands to calling macros because we recommend that you use dialog boxes as a front-end to macros. Using dialog boxes as input mechanisms to macros ensures consistency and upgradeability.
Finish commands - Your template-based product automatically executes finish commands
when an object is no longer displayed. You use them to clean up after a macro, delete unnecessary objects, such as temporary variables, and so on. To clean up variables: You can use the command: variable delete variable_name=(eval(db_children($_self, "variable"))) To clear the text boxes of a dialog box: You can use the command: for var=$_self.loopobj object(eval(db_children($_self,"graphic_interface_field"))) interface field set field=(eval($_self,"graphic_interface_field"))) string="" execute=no end
402 Adams/Car
Learn more at Using Commands in Dialog Boxes. OK, Apply, and Cancel Buttons Each dialog box in your template-based product has three standard buttons:
OK - Executes the commands associated with the dialog box, and if it executes the command
selected command. Only dialog boxes that have an Apply button have a Close button. Button Size To keep your dialog boxes consistent with the dialog boxes of your template-based product, you should always keep the size of these buttons to 25 pixels high and 76 pixels wide. Error Handling Make sure that the commands associated with the OK button reference the dialog box error variable (errorFlag). By referencing the error variable you ensure that the dialog box will not be closed if an errorFlag was set during the execution of the dialog box commands. Because the following commands are generic, you can use them to reference the errorFlag with any dialog box: interface dialog execute dialog=$_parent undisplay=no if condition=(!$_parent.errorFlag) interface dialog undisplay dialog=$_parent end
Learn about error handling in dialog boxes.
For a complete overview of creating macros, see About Creating Macros. Learn more about adding macros to your template-based product:
Accessing Macro Programming Tools Viewing Existing Macros Using Parameters Using the Echo Command Using Local Variables Macro Error Handling
When you have finished modifying your macros, review the options for saving your changes and having them automatically included in your own version of your template-based product. Learn about saving macros. Accessing Macro Programming Tools You use the Macro command on the Tools menu to create and modify macros. For information on the Macro command, see Editing and Creating Macros Using the Macro Editor. To view, change, and create macros, you must have expert user access to your template-based product. Learn about Setting User Access. Viewing Existing Macros Because macro programming is so well developed in your template-based product, you may find it helpful to look at existing macros. Once you find a macro that most closely meets your needs, use it as the basis of customization. As you look at the existing analysis macros within your template-based product, notice that all of them have the same basic structure. To view existing macros: 1. From the Tools menu, point to Macro, point to Edit, and then select Modify. The Database Navigator appears. 2. Select a macro to view. The Macro Editor appears with the macro commands of the selected macro in the Commands text area. Using Parameters Parameters are placeholders for information that users provide when they execute a macro in a templatebased product. You write parameters in a macro as a $ followed by the name of the parameter. Parameters let you make macros very flexible. When you create a macro, your template-based product scans the command text to identify all the parameters.
404 Adams/Car
When you issue the command to execute the macro, you provide values for the parameter or the parameters assume default values. Your template-based product substitutes the values in place of the parameters in the macro and executes the macro commands. You identify parameters in macros using qualifiers. Qualifiers define a parameter's type, range, count (number of values), and defaults. Learn about Parameter Qualifiers and Formats. The following is an example of a list of parameters and their qualifiers for a macro: ! $part_name:t=string ! $location:t=location ! $type:t=string ! $orientation:t=orientation ! $mass:t=real ! $cm_location_from_part:t=location:d=0,0,0 ! $Ixx:t=real ! $Iyy:t=real ! $Izz:t=real ! $Ixy:t=real:d=0 ! $Izx:t=real:d=0 ! $Iyz:t=real:d=0 !END_OF_PARAMETERS Using the Echo Command The command echo=on, which is the default, is a very helpful command because it lets you review the full log of the macro execution in the command window or echoed in the acar log file. To use the echo command, you can add the following line at the top of your macro: default command echo=on You will find it very helpful for debugging purposes. Using Local Variables You can create Adams/View variables to be used in your macros. A variable is storage location that can contain data. Once you define a variable, you can use it in any parameter, macro, or function in your template-based product. You can define a variable as a child of any modeling object, including a macro. Defining a variable as a child of a macro is helpful in macro programming when you need to create auxiliary Adams/View variables, such as variables that call an Adams/View function or that act as a return variable from a called macro. Being able to create these variables as children of the macro results in a cleaner macro. As a child of the macro object, the variable inherits the object's name. Therefore, the text $_SELF evaluates to the name of the parent object, which is the macro. In addition, most often you will want to delete these auxiliary variables when the macro is finished. Creating these variables under the macro simplifies this cleanup procedure. You can delete local variables very easily as shown next:
To use local variables: You should do the following: variable set variable_name=$_self.filename & string_value="tmpfile.cmd" To clean up local variables: You should do the following: variable delete variable_name=(eval(db_children($_self,"variable"))) For more information on variables and the commands to create and clean them up, see the help in the Command Navigator associated with the command variable. Macro Error Handling Each macro that you create should have checks to:
Identify inappropriate or invalid user-entered values. Ensure that the values specified by the user for specific parameters are realistic.
The following Adams/Car example shows how error handling works in a macro. The acar toolkit warning utility macro displays a message in a window, informing you that it encountered an error condition. The window remains open until you close it.
!---- Ensure a brake subsystem exists ---if condition=(!subsystem_role_exists($assembly,"brake_system")) acar toolkit warning & warning="This assembly does not have a brake subsystem!" variable set variable_name=$error_variable integer=1 return end
406 Adams/Car
2. Add buttons and commands as explained in Customizing Dialog Boxes Using the Dialog-Box Builder in the Adams/View online help. 3. To close the Dialog-Box Builder, from the Dialog-Box Builder's Dialog Box menu, select Exit. To validate your dialog box: From the Dialog-Box Builder's Option menu, select Test Box. To permanently attach the dialog box to a template: Note: If you do not attach your dialog box to a template, the dialog box will be lost when you close the current session.
1. From the Build menu, point to Custom Gui, point to Dialog Box, and then select Attach. 2. Select << Add. 3. In the Selections dialog box, double-click the name of your dialog box. In this case, dbox_1. If you have multiple dialog boxes you want to store, repeat these steps for each dialog box. 4. Select OK. To verify that your product stored your dialog box: 1. From the Build menu, point to Custom Gui, point to Dialog Box, and then select Display. 2. In the Selections dialog box, double-click the name of the dialog box you want to display. Your product displays the dialog box. To export a custom dialog box: From the Dialog Box Builder's Dialog Box menu, point to Export, and then select Command File. To import a dialog box: To import a dialog box from a command file and attach it to a template, you must manually rename every entity in the command file for .ACAR.custom. For example:
MY_LIBRARY.dboxes.dbox_1 becomes .ACAR.custom.dbox_1 MY_LIBRARY.dboxes.dbox_1.field_1 becomes .ACAR.custom.dbox_1.field_1
To add a new minor role in your template-based product: 1. Create a command file named <product_name>BS.cmd (where product_name is the abbreviation for your product, see Product Abbreviations). The contents of the command file should be similar to the contents of the following Adams/Car command file:
!--- Add a new minor role ---variable modify variable=.ACAR.variables.minor_roles & string_value=(eval(.ACAR.variables.minor_roles)),"rear2"
2. Place the command file in your home directory. 3. When your template-based product starts, it automatically reads in <product_name>BS.cmd. The command file will expand the minor roles available in your template-based product. The minor_roles variable is referenced everywhere in the underlying software and is the only change required to allow you to create new subsystems with minor roles different than the default. 4. Create a new subsystem with the new minor role. (File -> New -> Subsystem). Notice the new entry in the Minor Role option menu. Keep in mind the new minor role you define when you are creating/matching communicators.
To add a new major role in your template-based product: 1. Create a command file named <product_name>BS.cmd (where product_name is the abbreviation for your product, see Product Abbreviations). The contents of the command file should be similar to the contents of the following Adams/Car command file:
!--- Add a new major role ---variable modify variable=.ACAR.variables.major_roles & string_value=(eval(.ACAR.variables.major_roles)),"subframe"
2. Place the command file in your home directory. 3. When your template-based product starts, it automatically reads in <product_name>BS.cmd. The command file will expand the major_roles available in your template-based product. The major_roles variable is referenced everywhere in the underlying software and is the only change required to allow you to create new subsystems with major roles different than the default. 4. Create a new template with the new major role. (File -> New). 5. Notice the new entry in the Major Role option menu.
408 Adams/Car
Submenu - You can create submenus using the Build menu. A submenu provides a container
that you can use to collect push buttons (in this context, think of push buttons as options located under a submenu). For example, under the Build menu, Hardpoint is a submenu containing five push buttons/options (Modify, Table, New, Info, and Delete), as shown next.
Push button - You can use a push button to execute a command such as displaying a dialog box
or executing a macro. When creating menus, we recommend that you first think about the structure of what you are trying to achieve. By using a hierarchical approach, you can use submenus to categorize different buttons. In the following example we assume that you have created a custom dialog box named dbox_1. We are first going to create a submenu named Example. To create a submenu: 1. From the Build menu, point to Custom Gui, point to Menu, point to Submenu, and then select Create. Your product displays the Create Custom Sub-Menu dialog box. 2. Enter the label that you want to use, in this case Example, and then reference the template in which this custom menu will be stored. 3. Select OK. Now you create a push button that resides as a child of submenu, and call the button Display. You then execute a command to display the custom dialog box, dbox_1. To create a push button: 1. From the Build menu, point to Custom Gui, point to Menu, point to Push Button, and then select Create. Your product displays the Create Custom Push Button dialog box.
2. Enter the label that you want to use, in this case Display. 3. Set Parent Menu to menu1, which is the submenu Example you created above. Note that as you create submenus, your product references them internally as menu1, menu2, and so on, rather than by name (in this case, Example). If you created several submenus and lost track of their names, you can use the Info command to see how your product names them: from the Build menu, point to Custom Gui, point to Menu, and then select Info. 4. The execution command is highly dependent on what you want to achieve. In this example, you want to display the custom dialog box, dbox_1, so in the Commands text box enter:
interface dialog_box display dialog_box_nam = .ACAR.custom.dbox_1
If, however, you wanted to view the front view of your model, you would enter a command similar to the following:
acar interface view_restore view_orientation = front
5. Select OK. 6. To validate that the push button works, from the Build menu, point to Example, and then select Display. Your template-based product should display your dialog box. To change the order of your submenus: 1. From the Build menu, point to Custom Gui, point to Menu, and then select Reorder. 2. Press F1 and then follow the instructions in the dialog box help for Reorder Custom Menus. To get information about your custom menu structure: From the Build menu, point to Custom Gui, point to Menu, and then select Info. Your product displays the information in the Information window.
410 Adams/Car
!---- Modify the window title ---interface window modify & window_name=.gui.main & title="Adams/Car: Company XYZ" & icon_label="A/XYZ" !---- Set-up libraries and variables ---file command read file_name=(getenv("MDI_ACAR_SITE")//"/build_gui/libraries.cmd") !---- Interface Menus ---file command read file_name=(getenv("MDI_ACAR_SITE")//"/interface/menus_int.cmd") !----Site Initialization ---macro create macro=.ACAR.macros.acar_init_site & user_entered_command="acar toolkit initialization standard plugin=acar"
For private binaries, please substitute "acar_init_site" with "acar_init_private". You will need one 'acar toolkit initialization ...' command for each plugin you want to include in your private or site customization. If you decide to build either a site or private binary file, then you must place this file at the top level, as defined by the path in MDI_ACAR_SITE or MDI_ACAR_PRIVATE.
.MY_LIBRARY.macros.mac_ana_ful_tst_sub, then Adams/Car saves it as mac_ana_ful_tst_sub.cmd, automatically adding the .cmd extension. 2. Export the new or modified dialog box, as a command file:
From the Tools menu, point to Dialog Box , and then select Modify, to open the Database Navigator. Learn About the Database Navigator. Select the dialog box you want to export.
Adams/Car displays the dialog box in build mode, along with the Dialog Box Builder. Learn Customizing Dialog Boxes Using the Dialog-Box Builder.
From the Dialog Box Builder's Dialog Box menu, point to Export, and then select Command
File. Adams/Car writes a command file to your file system. The name of the resulting command file will be derived from the dialog box name. If the dialog box is named dbox_ana_ful_tst_sub, then the dialog box will be saved as dbox_ana_ful_tst_sub.cmd. 3. Create a command file, named as shown in table File Names, that reads in the command files that customize the interface. See an example of an acar_build.cmd file. 4. Add commands to that command file that automatically reads the macro and dialog box. The following would read the macro and dialog box, as saved in the steps above.
!------Read a macro----macro read & macro_name = .MY_LIBRARY.mac_ana_ful_tst_sub & file_name = "C:\temp\mac_ana_ful_tst_sub.cmd" & user_entered = "Analysis full-vehicle test submit" & wrap_in_undo = no & create_panel = no !------Read a dialog box----file command read & file_name = "C:\temp\abox_ana_ful_tst_sub.cmd
5. Store the file in the desired private or site file repository. Learn about private and site file repositories. 6. Create a private or a site-specific binary, including the saved interface objects, as explained in
Creating Binary Files in the guide Running and Configuring Adams
412 Adams/Car
If successful, this execution results in the generation of a wavefront file based on the input parameter contained in shell_file (as an example, my_road.obj). In this case, you call a function (create_a_road) in your Adams/View library. You can set up this code to return a Boolean flag, such as 0 if it failed and 1 if it was successfully executed. You can check this flag to see if the operation was successful or not, and take action based on the result. After you check the error flag, you can execute a read Wavefront file in the macro, specifying the shell_file file as generated by the Adams/View library:
file wavefront read & file_name = (eval($_self_shell_file)) & port_name = $assembly_ground
To link Adams/Solver (run-time) routines, you must have a FORTRAN or C compiler. To link Adams/View (design-time) routines, you must have a C compiler.
You can input C or FORTRAN source files to create Adams/Solver user libraries and only C source files to create Adams/View user libraries. You must compile these subroutines before linking them with an Adams product. See the hardware and software specifications that come with your Adams product for the type of compiler you need (http://www.mscsoftware.com/support/prod_support/adams/?Q=135&Z=144&Y=174). Also refer to your compiler documentation for details. Therefore, you can write an Adams/Solver routine in FORTRAN or C, but keep in mind that:
The solver subroutine is expected to be in FORTRAN. If the solver subroutine is written in C, you must make it emulate a FORTRAN subroutine, as
subroutine is in C.
2011, point to your template-based product (in this case, ACar), and then select Advanced.
At the prompt, enter cr-acarprivate, and then press Enter.
414 Adams/Car
Press Enter again to select the default, which tells the compiler not to build debug libraries. Your template-based product displays the compile options. On UNIX: At the prompt, enter adams2011 -c acar cr-acarprivate, and then press Enter. Press Enter again to select the default, which tells the compiler not to build debug libraries. Your template-based product displays the compile options.
5. To end this session, type Exit, and then press Enter. 6. Once the files have been compiled, repeat this process, this time specifying the two object files that were compiled. If everything is successful, you will now have a .dll file (.so on UNIX). Using the Custom Adams/View Library For the custom Adams/View library to be automatically loaded, see the notes for organizing your custom code. Once you've loaded the library into your template-based product, you should be able to reference your custom function. You can reference your function using the Function Builder or macro code.
For example, you want to create a force element that represents an aircraft landing-gear damper, then you could create a custom Adams/Solver library to define the calculations used to produce that force. Inputs to the damper might include damper velocity, damper displacement, and operating temperature. Output could be force. To use your custom Adams/Solver subroutine, you first compile your C or FORTRAN code. You then link those files into an Adams/Solver library (*.dll or *.so (on UNIX)). The resulting file is stored in a location defined by either MDI_ACAR_SITE or MDI_ACAR_PRIVATE_DIR. When you invoke the site or private solver, the library is automatically loaded and the functions become available (dispatched using the auto-generated code in dispatch.f). A statement in the solver dataset, for the aircraft damper mentioned above, may look like this: SFORCE/1 ,TRANSLATIONAL ,I = 1 ,J = 2 ,FUNCTION = USER (2001, 1, 2, 3) where:
2001 is the branch ID of your sfo subroutine (your function in your subroutine would be
sfo2001(par, npar)
1 is the ID of the variable measuring damper_velocity 2 is the ID of the variable measuring damper_displacement 3 is the ID of the variable measuring temperature
This function would provide the force to the damper element. Assuming that a subroutine named sfo2001 is included in your custom solver code, the general dispatcher will call this subroutine, pass information to the subroutine, and return the force from the subroutine. Learn more about Adams/Solver libraries:
Requirements for Creating Custom Libraries Creating and Using Adams/Solver Libraries
416 Adams/Car
To link Adams/Solver (run-time) routines, you must have a FORTRAN or C compiler. To link Adams/View (design-time) routines, you must have a C compiler.
You can input C or FORTRAN source files to create Adams/Solver user libraries and only C source files to create Adams/View user libraries. You must compile these subroutines before linking them with an Adams product. See the hardware and software specifications that come with your Adams product for the type of compiler you need (http://www.mscsoftware.com/support/prod_support/adams/?Q=135&Z=144&Y=174). Also refer to your compiler documentation for details. Therefore, you can write an Adams/Solver routine in FORTRAN or C, but keep in mind that:
The solver subroutine is expected to be in FORTRAN. If the solver subroutine is written in C, you must make it emulate a FORTRAN subroutine, as
subroutine is in C.
From the Start button, point to Programs, point to MSC.Software, point to MSC Adams
2011, point to your template-based product (for example, Adams/Car), and then select Advanced.
At the prompt, type cr-solverprivate, and then press Enter. Press Enter again to select the default, which tells the compiler not to build debug libraries. Type @sub_list.lst to provide the list of files you want to include in your custom
Adams/Solver library.
Press Enter. On UNIX: At the prompt, type adams2011 -c acar cr-solverprivate, and then press Enter. Press Enter again to select the default, which tells the compiler not to build debug libraries. Your template-based product displays the compiler options for the C and FORTRAN
Adams/Solver library.
Press Enter.
4. Alternatively, from the command line you can create your custom library by typing the following command:
418 Adams/Car
your template-based product) to the directory defined by the environment variable MDI_ACAR_PRIVATE_DIR.
If you are having difficulty building your custom code, we recommend using a
DOS prompt and the command adams2011 acar cr-solverprivate n @sub_list.lst. This allows for output to be readable.
If you want to create a site solver library, you can replace the command cr-
solverprivate with cr-solversite. Your template-based product stores the generated library in the directory defined by the environment variable MDI_ACAR_SITE.
Your compiled files and sub_list.lst are stored in a working directory. Your
template-based product does not necessarily start in that directory. If there is a mismatch between the two directories, your template-based product is unable to locate your files and will fail.To make the working directory default to the correct location, do the following:
On Windows: From the Start button, point to Programs, point to MSC.Software, point to
MSC Adams 2011, point to your template-based product (for example, Adams/Car), and then right-click Advanced.
Select Properties. In the Start in text box, enter the location of your files (for example, c:\temp). On UNIX, move into the directory where sub_list.lst is located (for example, cd
/usr/home/my_home/work). After you created the private Adams/Solver library, modify an existing Adams/Solver dataset to verify that your custom functions are working. You might find it helpful to write basic 'write' statements in your FORTRAN code to verify that the code is being executed.
Conventions for Using GENDISP User-Written Subroutines that GENDISP Supports Adding GENDISP Support For New Subroutine Types Example of Using GENDISP How GENDISP Works
Overview of GENDISP When you write a standard REQSUB subroutine, you often need to process output in more than one way. You might have one subroutine that computes toe, camber, and caster angle, and another that computes lateral acceleration and body sideslip angle. In your dataset you may have the following requests, which reference two user subroutines to calculate toe, camber, and caster, and in the second subroutine lateral acceleration and body sideslip. REQUEST/111 !toe, camber, caster FUNCTION = USER(1, 1, 2, 3) REQUEST/222 !lateral acceleration, body sideslip FUNCTION = USER(2, 4, 5, 6) The parameters of interest are USER(1, and USER(2, where the values 1 and 2 correspond to PAR(1) in the expression that follows. In your REQSUB, you must have logic to branch to the different subroutines as shown next: IF (NINT( PAR(1)) .EQ. 1 ) THEN CALL TCCREQ( ID, TIME, PAR, NPAR, IFLAG, RESULT ) ELSE IF (NINT( PAR(1)) .EQ. 2 ) THEN CALL BSAREQ( ID, TIME, PAR, NPAR, IFLAG, RESULT ) . . . In the above example, if PAR(1) is equal to 1 (as defined by REQUEST/111), then the subroutine TCCREQ is called. Likewise, if PAR(1) is equal to 2 (as defined by REQUEST/222), then the subroutine BSAREQ is called. Each time you add a new subroutine, you must rewrite your REQSUB to call that subroutine. If your company has a standard REQSUB, you have to create a local version for yourself and then add your subroutines to it. With the template-based products, however, if you follow a simple naming convention for your userwritten subroutines, GENDISP automatically creates a REQSUB, SFOSUB, and so on, with all the branches to your routines as part of the linking of a library. GENDISP places these subroutines in an automatically generated file, named dispatch.f. For example, if you rename the subroutine TCCREQ to REQ001 and the subroutine BSAREQ to REQ002, then GENDISP creates a REQSUB for you with branches to REQ001 and REQ002 as shown next: IF (NINT( PAR(1)) .EQ. 1 ) THEN CALL REQ001( ID, TIME, PAR, NPAR, IFLAG, RESULT )
420 Adams/Car
ELSEIF (NINT( PAR(1)) .EQ. 2 ) THEN CALL REQ002( ID, TIME, PAR, NPAR, IFLAG, RESULT ) . . . Using GENDISP makes the generation of dispatcher routines a fully automated process, allowing you to concentrate primarily on the content of your solver subroutines. Conventions for Using GENDISP To use GENDISP correctly, you must do the following:
Name your user subroutines using the convention that the first three characters must be the same
as the calling user subroutine and the last three characters of the subroutine name must be numbers. For example, the subroutine called by a REQSUB, must be named REQ001, REQ002, and so on. Another example would be naming GFORCE user subroutines called from a GFOSUB names like GFO241, GFO534, and so on.
Name your source code or object code files according to this convention. For GENDISP to work,
the source code or object code files must have the same root name as the subroutine (for example, req001.f or req001.o). Note that GENDISP ignores case. Therefore, REQ001.f is the same as req001.f or ReQ001.f. GENDISP generates branches based on the root file name. GENDISP does not examine the contents of a file for names matching the convention.
When invoking a user subroutine from your Adams model, make sure that the first user
parameter matches the subroutine you want to call. For example, the following sensor statement generates a call to SEN743: SENSOR/1, FUNC=USER(743, .......)\ Remember to always reserve the first parameter for branching when writing your user subroutines.
Number all your routines in the 001 to 799 range (for example, REQ300 and SFO465). The
range 900+ is reserved for standard Adams user subroutines. User-Written Subroutines that GENDISP Supports GENDISP supports the following Adams/Solver user-written subroutines. Learn about subroutines. Adams/Solver User-Written Subroutines that GENDISP Supports Name: CONSUB COUSUB COUXX COUXX2 CURSUB Control command Coupler subroutine and partial derivatives Coupler first partial derivatives subroutine (CXX100) Coupler second partial derivatives subroutine (CXD100) Curve statement Description:
Name: DIFSUB DMPSUB FIESUB GFOSUB GSESUB Modal damping subroutine Field statement Gforce statement
General state equation subroutine Adams/Car provides generic GSEYU, GSEXU, GSEXX and GSEYX subroutines that numerically difference a GSE subroutine. The general dispatcher, however, does not provide support for the revised GSE implementation using the GSE_DERIV, GSE_UPDATE, GSE_OUTPUT, and GSE_SAMP subroutines.
MFORCE MOTSUB REQSUB SENSUB SFOSUB TIRSUB UCOSUB VARSUB VFOSUB VTOSUB
Modal force subroutine Motion statement Request statement Sensor statement Sforce statement Tire statement subroutine (to be discontinued) Ucon (user constraint) statement Variable statement Vforce statement Vtorque statement
GENDISP supports the following Adams/Car user-written subroutine types: Adams/Car Subroutine Types That GENDISP Supports Name: BRASUB STRSUB THRSUB Description: Brake demand Steering demand Throttle demand
Adams/Tire now supports dynamic loading (dispatching) of tire (TYRSUB) and road contact (ARCSUB) subroutines. Support for standard driver interface (SDISUB) for lack of usage.
422 Adams/Car
Adding GENDISP Support For New Subroutine Types To add support for a new subroutine type, you modify the file dispatch.dat to add the new type. You can find a copy of dispatch.dat in the directory install_dir/product_name/dispatch.dat, where install_dir is the directory in which you installed your template-based product and product_name is acar, aengine, aircraft, or arail, according to the product you are using. The file, dispatch.dat, is a TeimOrbit format file containing a block for each supported subroutine type and follows these rules:
Block names are limited to three characters. For example, [MYU] is valid, but [MYUT] is not. Branching is always based on PAR(1) in the generated source code. So PAR must either be an
array passed to the user subroutine as in REQSUB or PAR must be created using the (CODE_BEFORE_BRANCH) option as Example of Using GENDISP.
Code in the (CODE_BEFORE_BRANCH) sub-block is output literally to the generated source
code, and must follow FORTRAN's strict formatting rules. For example, executable code on a line must be indented six spaces. For example, the block for REQSUBs looks like: $******************************************** [REQ] (PARAMETERS) {type name} 'INTEGER' 'ID' 'DOUBLE PRECISION' 'TIME' 'DOUBLE PRECISION' 'PAR(*)' 'INTEGER' 'NPAR' 'LOGICAL' 'IFLAG' 'DOUBLE PRECISION' 'RESULT(8)' $******************************************** With this block in dispatch.dat and given a list of files names containing req900, req901, and req221, GENDISP would create the following source code in the file dispatch.f: Cccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine reqsub( ID, & TIME, & PAR, & NPAR, & IFLAG, & RESULT ) C This is a dispatcher routine written by gendisp INTEGER ID DOUBLE PRECISION TIME DOUBLE PRECISION PAR(*) INTEGER NPAR LOGICAL IFLAG DOUBLE PRECISION RESULT(8) C Local variables character*(80) errmsg IF ( NINT(PAR(1)).EQ.900 ) THEN CALL req900 ( ID,
& TIME, & PAR, & NPAR, & IFLAG, & RESULT ) ELSE IF ( NINT(PAR(1)).EQ.901 ) THEN CALL req901 ( ID, & TIME, & PAR, & NPAR, & IFLAG, & RESULT ) ELSE IF ( NINT(PAR(1)).EQ.221 ) THEN CALL req221 ( ID, & TIME, & PAR, & NPAR, & IFLAG, & RESULT ) ELSE WRITE (ERRMSG,'(A,I4.4)') & 'Error in dispatcher subroutine reqSUB: Invalid PAR(1): ', & NINT( PAR(1) ) CALL ERRMES( .TRUE., ERRMSG, 0, 'STOP') ENDIF RETURN END Each block for a subroutine in dispatch.dat must contain a (PARAMETERS) sub-block that defines the subroutine parameter types. Optionally, a block may contain a (CODE_BEFORE_BRANCH) sub-block as illustrated in the example MYUSUB shown in Example of Using GENDISP. Using GENDISP The following procedure is only applicable if you want to extend the libraries that GENDISP dispatches. Here we provide an overview of how to test additions to the dispatch.dat file. The result of this procedure should be a fully populated dispatch.f file, which you can examine to verify that valid subroutines have been written. In normal circumstances, this procedure should not required because this process is automated by the acarcom and acarsolvercom scripts. We provide this procedure as a means to validate that you correctly modified the dispatch.dat file. GENDISP is invoked when linking private or site libraries. A list of standard template-based product file names, plus file names you supply, are passed to GENDISP. GENDISP examines the list of files for names matching the supported subroutine types given in the file dispatch.dat. For each matching name, GENDISP creates a branch in the appropriate user subroutine and outputs the source code file dispatch.f to the working directory. The file dispatch.f can contain multiple subroutines, but only one of each type (for example, one REQSUB or one CURSUB). The acarcom and acarsolvercom scripts include dispatch.f when linking. The files dispatch.f and dispatch.o are left in the working directory so you can look at them.
424 Adams/Car
For testing or other purposes, you can execute GENDISP yourself. You can find GENDISP at the following location, where install_dir is the installation directory, and product_name is the name of your template-based product: $install_dir/$product_name/$MDI_CPU/gendisp For example, the location of GENDISP might be: /usr/mdi12/acar/irix32/gendisp You invoke GENDISP with the following arguments: gendisp file.lst dispatch.f dispatch.dat where:
file.lst - File containing a list of user subroutine filenames for GENDISP processing. dispatch.f - Source code file name output by GENDISP. dispatch.dat - TeimOrbit format file defining the supported subroutine types and their parameter
lists. Example of Using GENDISP The following example uses GENDISP to generate a MYUSUB that branches to subroutines named myu532, myu253, and so on. It also branches to these subroutines based on an integer argument named SWITCH. SUBROUTINE MYUSUB( SWITCH, NDPAR, DPAR, VECTOR ) C C GLOBAL VARIABLES C INTEGER SWITCH INTEGER NDPAR DOUBLE PRECISION DPAR(NDPAR) DOUBLE PRECISION VECTOR(3) C C LOCAL VARIABLES C CHARACTER*(80) ERRMSG INTEGER PAR(2) C PAR(1) = SWITCH IF ( NINT(PAR(1)).EQ.532 ) THEN CALL MYU532 ( SWITCH, NDPAR, DPAR, VECTOR ) ELSE IF ( NINT(PAR(1)).EQ.253 ) THEN CALL MYU253 ( SWITCH, NDPAR, DPAR, VECTOR ) ELSE WRITE (ERRMSG,'(A,I4.4)') & 'ERROR in dispatcher subroutine MYSSUB: invalid & NINT( PAR(1) ) CALL ERRMES( .TRUE., ERRMSG, 0, 'STOP') ENDIF RETURN
switch:',
END To dispatch.dat, you add a block for MYSSUB that looks like the following: $******************************************** [MYU] (PARAMETERS) {type name} 'INTEGER' 'SWITCH' 'INTEGER' 'NDPAR' 'DOUBLE PRECISION' 'DPAR(NDPAR)' 'DOUBLE PRECISION' 'VECTOR(3)' (CODE_BEFORE_BRANCH) {code} ' INTEGER PAR(2)' ' PAR(1) = SWITCH' $******************************************** The code GENDISP generates for MYUSUB looks a little different then the example above, but functions in the same way: Ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc subroutine myusub( SWITCH, & NDPAR, & DPAR , & VECTOR ) C This is a dispatcher routine written by gendisp INTEGER SWITCH INTEGER NDPAR DOUBLE PRECISION DPAR(NDPAR) DOUBLE PRECISION VECTOR(3) C Local variables character*(80) errmsg INTEGER PAR(2) PAR(1) = SWITCH IF ( NINT(PAR(1)).EQ.532 ) THEN CALL myu532 ( SWITCH, & NDPAR, & DPAR, & VECTOR ) ELSE IF ( NINT(PAR(1)).EQ.253 ) THEN CALL myu253 ( SWITCH, & NDPAR, & DPAR, & VECTOR ) ELSE WRITE (ERRMSG,'(A,I4.4)') & 'Error in dispatcher subroutine myuSUB: Invalid PAR(1): ', & NINT( PAR(1) ) CALL ERRMES( .TRUE., ERRMSG, 0, 'STOP' ) ENDIF RETURN END
426 Adams/Car
Utility Functions
Utility Functions
This topic lists utility functions that help you extend the Adams/View macro language. The functions help you access information that is not easy to access using the standard Adams/View macro language. You can use the utility functions in macros and in dialog boxes. The following functions are used by the template-based products. To see information on all functions available in the Function Builder, see the Function Builder online help.
Units-Conversion Functions String Functions Database Functions File Functions Database Lookup Functions Miscellaneous Functions
Units-Conversion Functions
The units-conversion functions convert an input value to a different unit system. The units-conversion functions are:
convert_from_units convert_units convert_to_radians units_to_mks
convert_from_units Definition convert_from_units converts the input value from a unit type to the equivalent modeling units. It accepts any valid units string (for example, mm, newton, or inch) for the unit type. It returns the converted value. Format REAL convert_from_units (STRING from_units, REAL in_value) Arguments from_units in_value A string specifying the current units of the argument in_value. A real number to be converted.
Examples The following example converts the current length units, which are in inches (inch), to millimeters (mm): variable set variable=units_convert & real_value=(eval(CONVERT_FROM_UNITS("inch", 1.0))) units_convert = 25.4 convert_units Definition convert_units returns the conversion factor necessary to convert a value from the current units (from_units) to the desired units (to_units). It accepts any valid units string (for example, mm, newton, or inch) for the units strings. The units should be equivalent modeling units of length, force, mass, time, or angle. Format REAL convert_units (STRING from_units, REAL to_units) Arguments from_units to_units Examples The following example returns the conversion factor necessary to convert miles to millimeters: variable set variable=convert_factor & real_value=(CONVERT_UNITS( "mile" , "mm" )) convert_factor = 1.609344E+06 convert_to_radians Definition convert_to_radians converts an angle from degrees to radians. You specify the input value in current modeling angular units.Format REAL convert_to_radians (REAL in_value) Arguments in_value A real number to be converted. A string specifying the current units. A string specifying the desired units.
428 Adams/Car
Utility Functions
Examples The following example converts the current modeling angular units, which are in degrees, to radians: variable set variable=angle_radians & real_value=(CONVERT_TO_RADIANS(90)) angle_radians = 1.5707963268 units_to_mks Definition units_to_mks returns the conversion factor from user units to database units (meters, kilograms, seconds, radians, or mks).Format REAL units_to_mks (INTEGER units) Arguments units An integer value.
Examples The following example returns the conversion factor necessary to change degrees to database units: variable ser variable=myvar1 & real_value=90.0 units=angle variable set variable=myvar2 & real_value=(UNITS_TO_MKS( myvar1.units )) myvar2 = 1.7453...E-02
String Functions
The string functions allow you to manipulate character strings. The string functions are:
str_assembly_class str_char_swap str_filename str_model_class str_prefix str_remove str_replace str_typecheck
str_assembly_class Definition str_assembly_class returns the assembly class of an assembled model. Your template-based product stores the returned information in the assembly_class variable under all assemblies. For Adams/Car, typical assembly classes include suspension and full_vehicle. You can also extend the assembly classes. If no assembly variable exists within the assembled model, str_assembly_class returns an empty string. Format STRING str_assembly_class (OBJECT assembled_model) Arguments assembled_model Name of the assembled model. Examples variable set variable=current_class & string_value=(STR_ASSEMBLY_CLASS(.susp_assy)) current_class = "suspension" str_char_swap Definition str_char_swap changes a single character in a string (object_name) at a particular location (index) to another character string. It changes the characters as specified in swap_str. str_char_swap compares the strings and changes them only in the string following the last . in object_name. In addition, swap_str must be two or more characters long and contain an even number of characters. The first half of swap_str determines the characters to be changed ("from characters") and the second half of swap_str determines the characters to which the characters are to be changed ("to characters"). If str_char_swap does not change any characters, it returns the original object_name string. Format STRING str_char_swap (STRING object_name, STRING swap_str, INT index) Arguments object_name swap_str index A string that usually contains an object's name. A string that describes the rules for character changing. An integer that specifies the index of the character to be changed.
430 Adams/Car
Utility Functions
Examples In the following Adams/Car example, lrrl is the string that defines what should be changed. The first half of the string (lr) represents the valid "from characters." The second half of the string (rl) represents the "to characters." If the example finds one of the "from characters" at position 3 in the string ._front_susp.ground.hpl_lca_front, it replaces the "from characters" with the corresponding "to characters." In this example, l would change to r. variable set variable=symmetric_name & string_value=(STR_CHAR_SWAP("._front_susp.ground.hpl_lca_front", "lrrl", 3)) symmetric_name = "._front_susp.ground.hpr_lca_front" str_filename Definition str_filename strips an input string (in_str) to a base file name (with extension) and then substitutes a new string (new_str) for the old string (old_str) if the old string exists in the base name. If old_str occurs more than once in the input string, str_filename only replaces the last occurrence. Format STRING str_filename (STRING in_str, STRING old_str, INT new_str) Arguments in_str old_str The input string, which is usually a file path. The string to be replaced.
new_str The string to replace old_str. Examples variable set variable=base_filename & string_value=(STR_FILENAME("/usr/car.cdb/test.tpl", "tpl","sub")) base_filename = "test.sub" str_model_class Definition str_model_class returns a model's model class. This information is stored in the model_class variable under all models. If no such variable exists within the model, str_model_class returns an empty string. Typical model classes include template, subsystem, and assembly.
Examples variable set variable=current_class & string_value=(STR_MODEL_CLASS(._front_susp)) current_class = "template" str_prefix Definition str_prefix returns the generic prefix for a given string (object_name). The length of the return string is always four characters long. str_prefix also pares the input down to only the string following the last . in object_name. Format STRING str_prefix (STRING object_name) Arguments object_name A string that usually contains an object's name.
Examples variable set variable=name_prefix & string_value=(STR_PREFIX("._front_susp.ground.hpl_lca_outer")) name_prefix = "hps_" str_remove Definition str_remove trims an input string (in_str) by removing a string (begin_str) from the beginning of in_str and a string (end_str) from the end of in_str. str_remove removes begin_str before removing end_str so if the beginning and ending string in in_str overlap, str_remove only removes begin_str. Format STRING str_remove (STRING in_str, STRING begin_str, STRING end_str)
432 Adams/Car
Utility Functions
Arguments in_str begin_str end_str The input string. A string to be removed from the beginning of in_str. A string that defines where to truncate the input string.
Examples variable set variable=trim_string & string_value=(STR_REMOVE("abcdef", "ab", "ef")) trim_string = "cd" variable set variable=trim_string & string_value=(STR_REMOVE("abcdef", "", "ef")) trim_string="abcd" str_replace Definition str_replace replaces a string (old_str) with a new string (new_str) in the string in_str. If there are multiple occurrences of old_str, str_replace replaces the last occurrence. Format STRING str_replace (STRING in_str, STRING old_str, STRING new_str) Arguments in_str old_str new_str The input string. The string to be replaced. The string to replace old_str.
Examples variable set variable=other_filename & string_value=(STR_REPLACE("/usr/car.cdb/test.tpl", "test", "junk")) other_filename = "/usr/car.cdb/junk.tpl" str_typecheck Definition str_typecheck returns a 1 if a list of characters (type) matches the third character in the base name of an object's name (object_name). str_typecheck always pares down the input to only the string following the last . in object_name. You can specify more than one character in type.
Format STRING str_typecheck (STRING object_name, STRING type) Arguments object_name type A string that usually contains an object's name. A list of characters to match. Allowed characters are l, r, and s.
Examples variable set variable=check_type & string_value=(STR_TYPECHECK("._front_susp.ground.hpl_lca_outer", "ls")) check_type = 1 variable set variable=check_type & string_value=(STR_TYPECHECK("._front_susp.ground.hpl_lca_outer", "r")) check_type = 0
Database Functions
The database functions let you manage and access the databases of your template-based product. The database functions are:
cdb_alias2path cdb_path2alias cdb_input2base cdb_input2ext cdb_input2file cdb_input2path cdb_input2full cdb_search_file cdb_runtime_path_port
cdb_alias2path Definition cdb_alias2path returns the full path associated with a given table path alias or cdb_name. If cdb_alias2path does not find the full table path corresponding to the alias, it returns the input string. By returning the input string, you can input normal path names and filenames, and cdb_alias2path returns them without modification.
434 Adams/Car
Utility Functions
Format STRING cdb_alias2path (STRING path_alias) Arguments path_alias Examples This example finds the file system path associated with database prototype: variable set variable=a2p & string_value=(eval(cdb_alias2path("prototype"))) a2p = "/local/proto.cdb" cdb_path2alias Definition cdb_path2alias returns the path alias associated with a given table path alias or cdb_name. If cdb_path2alias does not find a path alias corresponding to the full path name, it returns the input string. By returning the input string, cdb_path2alias allows you to enter normal path names and filenames, and returns them without modification. Note: Format STRING cdb_path2alias (STRING path) Arguments path Examples This example finds the database alias associated with database: variable set variable=p2a & string_value=(eval(cdb_path2alias("/local/proto.cdb"))) p2a = "prototype" File system path of the database. Alias used for internal reference to database.
cdb_input2base Definition cdb_input2base returns the base name of a file (input_name). It strips the input_name of both its file system path prefixes and extension or suffix, if any. Format STRING cdb_input2base (STRING input_name) Arguments input_name Examples This example finds the base name for the file /local/proto.cdb/bushings.tbl/my_bush.bus: variable set variable=i2b & string_value(eval(cdb_input2base("/local/proto.cdb/bushings.tbl/m y_bush.bus"))) i2b = "my_bush" cdb_input2ext Definition cdb_input2ext returns the extension or suffix of a file (input_name). It returns an empty string if it finds no extension Format STRING cdb_input2ext (STRING input_name) Arguments input_name Examples This example finds the extension for the file /local/proto.cdb/bushings.tbl/my_bush.bus:
variable set variable=i2e & string_value=(eval(cdb_input2ext("/local/proto.cdb/bushings.tbl/my _bush.bus"))) i2e = "bus"
436 Adams/Car
Utility Functions
cdb_input2file Definition cdb_input2file returns the filename contained in input_name. cdb_input2file strips input_name of any file system path prefix and returns the result. Format STRING cdb_input2file (STRING input_name) Arguments input_name Examples This example finds the filename for the file /local/proto.cdb/bushings.tbl/my_bush.bus:
variable set variable=i2file & string_value=(eval(cdb_input2file("/local/proto.cdb/bushings.tbl/my_bush .bus"))) i2file = "my_bush.bus"
cdb_input2path Definition cdb_input2path returns the file system path prefix of a filename. If the path prefix is not present, cdb_input2path returns an empty string. Format STRING cdb_input2path (STRING input_name) Arguments input_name Filename to be converted into file system path prefix. Examples This example finds the file system path prefix for the file /local/proto.cdb/bushings.tbl/my_bush.bus:
variable set variable=i2p & string_value=(eval(cdb_input2path("/local/proto.cdb/bushings.tbl/my_bush .bus"))) i2p = "/local/proto.cdb/bushings.tbl"
cdb_input2full Definition cdb_input2full returns the file system path of a filename containing a database alias. If cdb_input2full finds no database alias present, it returns the input string. Format STRING cdb_input2full (STRING input_name) Arguments input_name Examples This example finds the file system path for the file mdids://prototype/bushings.tbl/my_bush.bus: variable set variable=i2full & string_value=(eval(cdb_input2full("mdids://prototype/bushings.tbl/ my_bush.bus"))) i2full = "/local/proto.cdb/bushings.tbl/my_bush.bus" cdb_search_file Definition cdb_search_file returns the file system path of the input file (filename). First, it checks to determine if the filename as input corresponds to an existing file. It expands any database alias to its corresponding file system path, and looks for the filename at the resultant location. If it finds no file, it removes any file system path prefix from the filename, and begins its to search the different databases in the specified search order. Remember that search order may be important. If two identically named files exist in different databases, the search order determines which of these files cdb_search_file finds and returns. cdb_search_file returns an empty string if it does not find the requested filename after searching the databases. Format STRING cdb_search_file (STRING class_name, STRING filename, INT level) Filename with database alias to be converted to file system path.
438 Adams/Car
Utility Functions
Arguments class_name filename level The type class name for the table in which to search for the file. It is defined in the configuration files. The filename, either with or without any path prefix, to be found. The level in the search list at which to start searching. The value is usually 1, which indicates a full search.
Examples This example finds the file system path for file my_bush.bus: variable set variable=sfile & string_value=(eval(cdb_search_file("bushing","my_bush.bus",1))) sfile="/local/proto.cdb/bushings.tbl/my_bush.bus" cdb_runtime_path_port Definition cdb_runtime_path_port returns the filename of the input string (input_name) converted to the appropriate operating system format. You will find cdb_runtime_path_port useful when you are sharing filenames between UNIX and Windows file systems. It also lets you use a database alias instead of a full file system path. Format STRING cdb_runtime_path_port (STRING input_name) Arguments input_name Examples This example returns the Windows version of the filename for the file mdids://prototype/bushings.tbl/my_bush.bus:
variable set variable=rpp & string_value=(eval(cdb_runtime_path_port(mdids://prototype/bushings.tbl/ my_bush.bus))) rpp = "mdids://prototype\bushings.tb\my_bush.bus"
File Functions
The file functions return information about the major and minor roles of templates and subsystems:
template_hdr_major_role
subsystem_hdr_major_role subsystem_hdr_minor_role
template_hdr_major_role Definition template_hdr_major_role returns the major role of a template. Your template-based product stores the major role information in the header information of all template files (.tpl). template_hdr_major_role automatically opens a template file, retrieves the information from the file header, and closes the file. Format STRING template_hdr_major_role (STRING filename) Arguments filename Examples This is an example of the header information that is stored in an Adams/Car template file: $------------------------TEMPLATE_HEADER----------------------$ [TEMPLATE_HEADER] MAJOR_ROLE = 'suspension' TIMESTAMP ='1999/02/04,13:13:38' HEADER_SIZE = 5 The following example returns the major role of a template, which it obtains from the header information shown above: variable set variable=tpl_major_role & string_value=(TEMPLATE_HDR_MAJOR_ROLE ("mdids://shared/template.tbl/_dbl_wish.tpl")) tpl_major_role = "suspension" subsystem_hdr_major_role Definition subsystem_hdr_major_role returns the major role of a subsystem. Your template-based product stores the major role information in the header information of all subsystem files (.sub). subsystem_hdr_major_role automatically opens a subsystem file, retrieves the information from the file header, and closes the file. Format STRING subsystem_hdr_major_role (STRING filename) String that contains the full path of the template file.
440 Adams/Car
Utility Functions
Arguments filename Examples This is an example of the header information that is stored in an Adams/Car subsystem file: $--------------------------SUBSYSTEM_HEADER -----------------------$ [SUBSYSTEM_HEADER] TEMPLATE_NAME = mdids://shared/templates.tbl/_double_wishbone.tpl MAJOR_ROLE = suspension MINOR_ROLE = front TIMESTAMP = 1999/02/04,17:18:18 The following example returns the major role of an Adams/Car subsystem, which it obtains from the header information shown above:
variable set variable=sub_major_role & string_value=(SUBSYSTEM_HDR_MAJOR_ROLE("mdids://shared/subsystem.tbl/ front_susp.sub")) sub_major_role = "suspension"
subsystem_hdr_minor_role Definition subsystem_hdr_minor_role returns the minor role of a subsystem. Your template-based product stores the minor role information in the header information of all subsystem files (.sub). subsystem_hdr_minor_role automatically opens a subsystem file, retrieves the information from the file header, and closes the file. Format STRING subsystem_hdr_minor_role (STRING filename) Arguments filename Examples This is an example of the header information that is stored in an Adams/Car subsystem file: $------------------------SUBSYSTEM_HEADER ----------------------$ [SUBSYSTEM_HEADER] TEMPLATE_NAME = mdids://shared/templates.tbl/_double_wishbone.tpl MAJOR_ROLE= suspension MINOR_ROLE= front TIMESTAMP= 1999/02/04,17:18:18 String that contains the full path of the subsystem file.
The following example returns the minor role of an Adams/Car subsystem, which it obtains from the header information shown above: variable set variable=sub_minor_role & string_value=(SUBSYSTEM_HDR_MINOR_ROLE("mdids://shared/subsystem .tbl/front_susp.sub")) sub_minor_role = "front"
model_class_exists Definition model_class_exists lets you easily determine if a model of a particular model class exists in the current session. model_class returns a 1 if a model of the specified model class exists. Your template-based product stores the model class information in the model_class variable under all models. Typical model classes include template, subsystem, and assembly. Format INT model_class_exists (STRING model_class) Arguments model_class String containing the model class.
Examples if condition=(model_class_exists("assembly") == 0) ! No Assemblies ! end subsystem_lookup Definition subsystem_lookup returns the subsystem contained in the assembled model with the specified major and minor role. If no such subsystem exists, subsystem_lookup returns no object or NONE.
442 Adams/Car
Utility Functions
Format OBJECT subsystem_lookup (OBJECT model, STRING major_role, STRING minor_role) Arguments model major_role minor_role Name of the assembled model. String containing the major role to look up. String containing the minor role to look up.
Examples variable set variable=front_susp_subsystem & object_value=(eval(SUBSYSTEM_LOOKUP(.susp_assy, "suspension", "front"))) front_susp_subsystem = .susp_assy.TR_Front_Suspension subsystem_role_exists Definition subsystem_role_exists lets you easily determine if a subsystem of a particular role exists in an assembled model. subsystem_role_exists returns a 1 if the assembled model contains such a subsystem. Your template-based product stores the role information in the role variable that exists in each subsystem. Format INT subsystem_role_exists (OBJECT model, STRING role) Arguments model role Name of the assembled model. String containing the role to look up.
Miscellaneous Functions
This topic lists utility functions that help you extend the Adams/View macro language. The functions help you access information that is not easy to access using the standard Adams/View macro language. You can use the utility functions in macros and in dialog boxes.
ac_info_mass
ac_info_mass Definition ac_info_mass computes the aggregate mass of the assembly. Format ac_info_mass(OBJECT model) Arguments model Name of the assembled model.
For example, when a group of users needs to access the same information or are working on the same project, you can create a custom site repository. By having a site repository, they can share site-specific versions of the template-based product and configuration files. Also, a private repository is a convenient way for a single user to create several custom versions of a template-based product or to work on different projects. Private locations let you create an unlimited number of site binaries and libraries. In the site or private repository, your template-based product creates a directory structure that mimics the installation directory structure. The directory contains subdirectories for each platform for which you created a binary or a library. You control the location of the private repository using the privateDir setting. The privateDir setting tells Adams where to locate the appropriate files and where to store the resulting files. The default location of the private repository is as follows:
444 Adams/Car
Utility Functions
Default Location of Private Repository Product name: Adams/Car File name: $HOME/acar_private
Where $HOME represents your user home directory when you log on to your computer. Note:
The following procedures show how you can define the site and private repositories for Adams/Car. Follow the same basic procedures to define the site repository for your template-based product.
change it to: /usr/people/someone/acar_site You can also change the siteDir setting using the Registry Shell Tool from the command line. For example, at the command line enter: adams2011 -c rtool set /MDI/ACar/Preferences/siteDir /usr/people/someone/acar_site To define the site repository in Windows: 1. From the Start menu, point to Programs, point to MSC.Software, point to MSC Adams 2011, and then select Adams - Settings. 2. Double-click the name of your product (ACar). 3. Select Preferences. 4. To the right of siteDir, in the Value column, enter (or right-click to browse for) a directory path, such as d:\acar_custom. 5. Select Apply or OK. Defining Private Repositories To define the private repository in UNIX: In Adams Toolbar, change the privateDir setting in the Adams/Car preferences. For example, change it to: /usr/people/someone/new_private
You can also change the privateDir setting using the Registry Shell Tool from the command
adams2011 -c rtool
To define the private repository in Windows: 1. From the Start menu, point to Programs, point to MSC.Software, point to MSC Adams 2011, and then select Adams - Settings. 2. Double-click the name of your product (ACar). 3. Select Preferences. 4. To the right of siteDir, in the Value column, enter (or right-click to browse for) a directory path, such as d:\acar_custom. 5. Select Apply or OK. For more information on the directories, creating the binaries and libraries, and the Adams Toolbar, see Running and Configuring Adams.
446 Adams/Car
Extracting the Files To get started with the example four-post test rig, extract the files located in the directory install_dir/acar/examples/fourpost (for example, C:\MSC.Software\MSC_Adams\MSC2011\acar\examples\fourpost). Then, use the file acar_build.cmd to create a site binary that contains the test rig and corresponding macros. To create a site binary file that contains the appropriate test rig and analysis macro files, you must perform the following steps: 1. Set the following environment variable to the location where your files are stored: MDI_ACAR_SITE.
On Windows, it might look like:
C:\MSC.Software\MSC_Adams\MSC2011\acar\examples\fourpost.
On UNIX, it might look like: /usr/MSC.Software/MSC2011/acar/examples/fourpost.
Make sure you have write permissions within this directory. 2. Build the Adams/Car site binary file as follows:
On Windows: From the Start menu, point to Programs, point to MSC.Software, point to
MSC Adams 2011, and then select Adams - Command. In the command window, type acar; cr-sitebin
On UNIX: Type adams2011; type acar, and then type cr-sitebin
Adams/Car automatically executes acar_build.cmd and builds all the appropriate entities and libraries into a site version of the Adams binary file. 3. To run the site binary file, follow the steps outlined above, but replace the cr-sitebin command with ru-site.
Test Description You can use the four-post test rig to investigate the vertical dynamics of the full vehicle and its suspension systems. You can then plot the time-based results and study them in the frequency domain to understand the various ride modes and their respective damping levels. The investigation will also help you learn more about the influences of the vehicle's vertical dynamics effects on handling behavior by studying the system's dynamic responses, which includes:
Front-to-rear modal balance Suspension-to-body transfer function gain and phase Suspension-to-tire transfer function gain and phase Tire contact patch vertical load variation
The test involves assembling a standard full-vehicle model to a four-post test rig. The test rig is defined by four parts representing the tire pads that support the vehicle. The tire pads are constrained to move only in the vertical direction and a displacement actuator, or motion controller, controls their vertical motion. The only constraint between the pads and the vehicle's tires is the friction of the tires. Not all tire models have adequate zero speed modeling for being used with the four-post rig test: a rolling tire acts as a damper because the force response depends on tire slip speeds; a non-rolling tire should act as a spring and forces must depend on tire deflection. All Adams/Tire tire models support the four-post rig test when used in transient mode. For most tire models this means that the USE_MODE in the tire property file must be larger then 10. The exceptions are:
UA-Tire, USE_MODE must be set to 2 The Basic and Enhanced tire model property files must specify a RELAXATION_LENGTH
An analytical function controls the vertical actuators. Analytical functions also describe the displacement profile of the actuator in the time domain and they are limited to constant amplitude sinusoidal input that sweeps over a predetermined frequency range in a set amount of time. When using the analytical function control, users can use four excitation modes:
Heave - All tire pads move vertically in phase. Pitch - The front tire pads move 180o out of phase with the rear tire pads. Roll - The left tire pads move 180o out of phase with the right tire pads. Warp - The left-front and right-rear tire pads move 180o out of phase with the right-front and
left-rear pads.
448 Adams/Car
Test Rig Description We created the test rig __acme_4PostRig in Adams/Car Template Builder. Its major role is analysis and it contains four general parts for each of the pads, and four actuators for each of the vertical translation joints on each pad. The location of all of the pads and their respective constraints, such as actuators, are parameterized in the ground plane (x and y) to a wheel-center location communicator that comes from the suspension systems. The vertical location is parameterized to the z location of the marker std_tire_ref. The marker std_tire_ref has its z height set automatically during the assembly process so that it represents the average tire contact patch height of the vehicle. Four-Post Test Rig
Loading an Assembly with the Test Rig Once you have successfully built the site binary file and started the site version of Adams/Car, you must open the assembly that we have also provided in the examples directory (cdb.cdb) mentioned in Extracting the Files. If you have not already added the database to your .acar.cfg file, you should do the following:
From the Tools menu, point to Database Management, and then select Add to Session.
Open the assembly contained in the cdb database as follows: 1. From the File menu, point to Open, and then select Assembly. 2. Open the MDI_Vehicle_4PostRig.asy. You can also create a new assembly by doing the following: 1. From the File menu, point to New, and then select Full-Vehicle Assembly. 2. Select the appropriate subsystem files. 3. Change the vehicle test rig from __MDI_SDI_TESTRIG to __acme_4PostRig. 4. Select OK. Running a Test You should have a full-vehicle assembly mounted to the four-post test rig as shown next.
Use the Command Navigator to submit an analysis using the auto-generated dialog box: 1. To open the Command Navigator, from the Tools menu, select Command Navigator. 2. To run a full-vehicle analysis with the four-post test rig, you must select acme -> analysis -> full_vehicle -> four_post -> submit (double-click).
450 Adams/Car
Adams/Car displays the following dialog box (without the values, which we added for your convenience):
3. After the analysis is completed, review the results using the animation and post-processing tools.
Testing the New Analysis Macro Customizing the Four-Post Analysis Dialog Box
User-Input Parameters Analysis input parameters are the values that you enter to control a simulation or some other event in the template-based products. Analysis input parameters can be grouped into two categories:
Parameters common to all analyses: Output prefix End time Number of steps Type of analysis (interactive, background) Analysis log file (yes, no) Parameters specific to this four-post test rig. You use the four-post simulation input parameters
to define the boundary conditions of the desired vertical excitation test. The parameters are:
Peak displacement Displacement units (such as m, mm, inch) Frequency range (units hardcoded to Hz) Excitation mode (heave, pitch, roll, or warp)
About the Simulation Process The following steps outline the simulation process. The simulation process for the vehicle and test rig is similar to any other suspension or full-vehicle simulation. The simulation process steps are: 1. Perform a check to ensure that the assembly has the correct test rig. 2. Check if an analysis of the same name already exists. 3. Read in the property files. 4. Assign the z location of the marker std_tire_ref based on the average contact patch location of all of the tires to the four wheel pads. 5. Modify the analytical functions of the actuator (jms_left_front_actuator, jms_right_front_actuator, and so on), according to the user-input data: Based on the analytical drive signal, you must assign the following functions to each actuator: Left Front - LF_phase*Peak_Amplitude*sin(1/2*360D*Freq_Range/End_Time*Time**2) Right Front - RF_phase*Peak_Amplitude*sin(1/2*360D*Freq_Range/End_Time*Time**2) Left Rear - LR_phase*Peak_Amplitude*sin(1/2*360D*Freq_Range/End_Time*Time**2) Right Rear - RR_phase*Peak_Amplitude*sin(1/2*360D*Freq_Range/End_Time*Time**2)
452 Adams/Car
where the following values are assigned to the phase variables in the function: Heave Mode - LF_Phase, RF_Phase, LR_Phase, RR_Phase = 1.0 Pitch Mode - LF_Phase, RF_Phase = 1.0 & LR_Phase, RR_Phase = -1.0 Roll Mode - LF_Phase, LR_Phase = 1.0 & RF_Phase, RR_Phase = -1.0 Warp Mode - LF_Phase, RR_Phase = 1.0 & RF_Phase, LR_Phase = -1.0 The simulation process involves submitting the simulation to Adams/Solver using a process similar to the full-vehicle simulation process. The simulation needs:
One static equilibrium An initial velocity of 0.0 A dynamic simulation equal to the end time (specified by user)
To avoid aliasing of the input during the simulation, users should set the maximum time step that the integrator is allowed to take (HMAX argument on the integrator) to at least 1/10 of the maximum frequency range. For example, if the frequency range you set is 20 Hz, then the HMAX should be 1/10*1/20 = 1/200 (0.005). Creating the Macro This four-post vertical excitation example provides instructions to help you create your own macro based on a given user scenario. The objective of the analysis is described in Test Description. Creating the macro involves the following:
Defining Parameters Handling Errors Reading Property Files Setting Up the Assembly and Test Rig Submitting the Analysis Logging the Analysis Results Finishing up the Macro
Defining Parameters We determined the parameters for the four-post analysis macro from User-Input Parameters (for a description of the parameters whose values are important for the success of the four-post simulation, see the table Parameter Descriptions): ! $assembly:t=model ! $output_prefix:t=string ! $comment:t=string:d="" ! $end_time:t=real:gt=0 ! $number_of_steps:t=integer:gt=0 ! $analysis_mode:t=list(interactive,graphical,background):d=interacti ve
! ! ! ! ! ! !
Parameter Descriptions Parameter name: assembly output_prefix Description: String value that specifies an existing model. t=model; t specifies type; examples could include real, integer, and so on. String value that specifies the name of the analysis. This name is used to write the analysis files (.adm, .acf, and so on) to the file system and also when the solver files are read back into Adams/Car. Stores comments in the Adams dataset, d=" "; d specifies default, which is an empty string. Real value that tells Adams/Solver the end time of the four-post analysis. gt=0; gt specifies greater than. Integer value that tells Adams/Solver the number of output steps. String value that specifies the mode of the analysis. The three valid modes are interactive, background, or graphical; the list specifies the valid options. Indicates the maximum amplitude of the shaker pad vertical displacement. Hardcoded to millimeters for tutorial, but you can expand it to include other units. Real value indicating the frequency range of the actuator motion functions. List value that indicates the direction of the shaker pad motions. Specifies whether to load the results once Adams/Solver has finished the analysis. The default is yes. Indicates if Adams/Car should generate an analysis log file.
comment end_time number_of_steps analysis_mode peak_displacement units frequency_range excitation_mode load_results log_file Handling Errors
With this macro, users must perform the four-post analysis with the .__acme_4PostRig test rig described in Test Rig Description. The assembly and test rig perform actions based on the elements that exist in the .__acme_4PostRig test rig. Therefore, as part of error checking, the macro checks for the correct test rig. For a description of the setup of the assembly and test rig, see About the Simulation Process. In addition to verifying that the user is using the correct test rig, the macro also checks if the analysis name is unique for this assembly. Notice that we use indenting and comments to make the macro easier to read; as with all programming languages, this is a good practice to get into.
454 Adams/Car
variable set variable_name=$error_variable integer=0 !---- Check to ensure the assembly has the proper test rig ---if condition=($assembly.original_testrig_name != "__acme_4PostRig") acar toolkit warning & warning="Analysis cannot be submitted!", &
end
"works with assemblies using the '__acme_4PostRig' testrig." variable set variable_name=$error_variable integer=1 return
"The assembly does not have the proper testrig. This analysis only", &
!---- Check if analysis name already exists ---if condition=(db_exists("$assembly.$'output_prefix'_fourpost")) already exists. Overwrite it?","Yes","No","",2) variable set variable_name=$error_variable integer=1 return end
== 2)
end
Reading Property Files After the macro validates the assembly, it reads in and assigns the property file information, using the following code fragment:
!---- Clear out message window ---acar toolkit message & message=" " append=no display=no closeable=yes !---- Read property files ---acar toolkit read property_files & assembly=$assembly & verbose=yes & error_variable=$error_variable if condition=($error_variable != 0) return end
echo_to_logfile=no
Setting Up the Assembly and Test Rig In this section of the macro, you modify elements of the test rig and assembly to match the values and information entered by the user. The code fragments for the four-post setup are shown next, with a description for each section, as needed. !---- Set up the assembly for the maneuver ---acar toolkit message & message="Setting up vehicle assembly for four-post shaker..."
You must assign the tire reference markers to the appropriate test pad on the shaker table. The naming conventions for the communicator variables for the reference markers are considered fixed, in that the macro looks for the communicators known to exist in the four-post test rig. Note that the setup of the tire reference markers only occurs once for a particular assembly. If you use the same assembly for multiple four-post analyses, the initial setup will be valid for each analysis. For each wheel, the tire reference marker is assigned to a shaker pad. The first step is to find each tire in the full-vehicle assembly. The reassignment occurs through an output communicator in the test rig. The communicator holds the name of the part on the shaker pad where you should attach the tire reference marker.
if condition=(!db_exists("$assembly.fourpostSetup")) !--- Parameterize the 4post pad height to the global road height marker just previously adjusted --marker modify & marker_name=$assembly.testrig.ground.std_tire_ref & location=($assembly.ground.std_tire_ref.location) & relative_to=$assembly.testrig.ground variable set variable=$_self.frontWheel & object_value=(eval(subsystem_lookup($assembly,"wheel","front"))) variable set variable=$_self.leftFrontWheel & object_value=(eval(db_filter_name(db_children($_self.frontWheel[1],"ac_ti re"),"til_*"))) variable set variable=$_self.rightFrontWheel & object_value=(eval(db_filter_name(db_children($_self.frontWheel[1],"ac_ti re"),"tir_*"))) variable set variable=$_self.rearWheel & object_value=(eval(subsystem_lookup($assembly,"wheel","rear"))) variable set variable=$_self.leftRearWheel & object_value=(eval(db_filter_name(db_children($_self.rearWheel[1],"ac_tir e"),"til_*"))) variable set variable=$_self.rightRearWheel & object_value=(eval(db_filter_name(db_children($_self.rearWheel[1],"ac_tir e"),"tir_*"))) marker modify & marker_name=(eval($_self.leftFrontWheel.object_value.ref_marker.object_va lue)) & new_marker_name= (eval($assembly.testrig.col_front_pad_mount[1]//"."//$_self.leftFrontWheel.o bject_value.ref_marker.object_value.name)) marker modify & marker_name=(eval($_self.rightFrontWheel.object_value.ref_marker.object_v alue)) & new_marker_name=(eval($assembly.testrig.cor_front_pad_mount[1]// "."//$_self.rightFrontWheel.object_value.ref_marker.object_value.name)) marker modify & marker_name=(eval($_self.leftRearWheel.object_value.ref_marker.object_val ue)) & new_marker_name=(eval($assembly.testrig.col_rear_pad_mount[1]//"."//$_sel f.leftRearWheel.object_value.ref_marker.object_value.name)) marker modify & marker_name=(eval($_self.rightRearWheel.object_value.ref_marker.object_va lue)) & new_marker_name=(eval($assembly.testrig.cor_rear_pad_mount[1]//"."//$_sel f.rightRearWheel.object_value.ref_marker.object_value.name)) variable set variable=$assembly.fourpostSetup & integer_value=1 end
456 Adams/Car
You must reset the motion actuators driving the displacement of the shaker pads for each individual fourpost analysis. This is in contrast to the tire reference marker setup, described in the previous paragraphs, which needs to occur only once for a particular assembly, and remains valid for all successive four-post analyses. Each of the four shaker pads will have the same magnitude of motion, but a specific excitation mode will determine the direction of the motion:
Heave mode - All four shaker pads move in the same direction. Pitch mode - The front and rear tires move in opposite directions. Roll mode - The left and right tires move in opposite directions. Warp mode - The left front and right rear tires move opposite to the direction traveled by the
right front and left rear tires. You set the different excitation modes by specifying a 1 or -1 multiplier at the beginning of the actuator function definition, as shown next:
!---- Assign actuator functions based on excitation mode ---!-Heave Excitation if condition=("$excitation_mode" == "heave") acar template_builder actuator set function & actuator=$assembly.testrig.jms_left_front_actuator & function="1*$peak_displacement*sin(.5*360d*$frequency_range/$end_tim e*time**2)" acar template_builder actuator set function & actuator=$assembly.testrig.jms_right_front_actuator & function="1*$peak_displacement*sin(.5*360d*$frequency_range/$end_tim e*time**2)" acar template_builder actuator set function & actuator=$assembly.testrig.jms_left_rear_actuator & function="1*$peak_displacement*sin(.5*360d*$frequency_range/$end_tim e*time**2)" acar template_builder actuator set function & actuator=$assembly.testrig.jms_right_rear_actuator & function="1*$peak_displacement*sin(.5*360d*$frequency_range/$end_tim e*time**2)" !-- Pitch Excitation elseif condition=("$excitation_mode" == "pitch") acar template_builder actuator set function & actuator=$assembly.testrig.jms_left_front_actuator & function="1*$peak_displacement*sin(.5*360d*$frequency_range/$end_tim e*time**2)" acar template_builder actuator set function & actuator=$assembly.testrig.jms_right_front_actuator & function="1*$peak_displacement*sin(.5*360d*$frequency_range/$end_tim e*time**2)" acar template_builder actuator set function & actuator=$assembly.testrig.jms_left_rear_actuator & function="1*$peak_displacement*sin(.5*360d*$frequency_range/$end_time*time**2)" acar template_builder actuator set function & actuator=$assembly.testrig.jms_right_rear_actuator & function="1*$peak_displacement*sin(.5*360d*$frequency_range/$end_time*time**2)"
!-- Roll Excitation elseif condition=("$excitation_mode" == "roll") acar template_builder actuator set function & actuator=$assembly.testrig.jms_left_front_actuator & function="1*$peak_displacement*sin(.5*360d*$frequency_range/$end_tim e*time**2)" acar template_builder actuator set function & actuator=$assembly.testrig.jms_right_front_actuator & function="1*$peak_displacement*sin(.5*360d*$frequency_range/$end_time*time**2)" acar template_builder actuator set function & actuator=$assembly.testrig.jms_left_rear_actuator & function="1*$peak_displacement*sin(.5*360d*$frequency_range/$end_tim e*time**2)" acar template_builder actuator set function & actuator=$assembly.testrig.jms_right_rear_actuator & function="1*$peak_displacement*sin(.5*360d*$frequency_range/$end_time*time**2)" !-- Warp Excitation elseif condition=("$excitation_mode" == "warp") acar template_builder actuator set function & actuator=$assembly.testrig.jms_left_front_actuator & function="1*$peak_displacement*sin(.5*360d*$frequency_range/$end_tim e*time**2)" acar template_builder actuator set function & actuator=$assembly.testrig.jms_right_front_actuator & function="1*$peak_displacement*sin(.5*360d*$frequency_range/$end_time*time**2)" acar template_builder actuator set function & actuator=$assembly.testrig.jms_left_rear_actuator & function="1*$peak_displacement*sin(.5*360d*$frequency_range/$end_time*time**2)" acar template_builder actuator set function & actuator=$assembly.testrig.jms_right_rear_actuator & function="1*$peak_displacement*sin(.5*360d*$frequency_range/$end_tim e*time**2)" end
Submitting the Analysis After the macro sets up the assembly, you set up the macro to submit the assembly for the four-post analysis. Since this is a full-vehicle assembly, you use the corresponding full-vehicle submission utility macro. Note that the syntax for calling this macro is practically the same as that used in the standard Adams/Car full-vehicle analyses. In this case, two additional parameters are specified to have nondefault values for the four-post simulation: generate_road_geometry and simulation_type. The following shows the code fragment for calling the full-vehicle submission utility macro:
!---- Perform the analysis ---acar analysis full_vehicle submit & assembly=$assembly & analysis_name="$'output_prefix'_fourpost" end_time=$end_time & number_of_steps=$number_of_steps & analysis_mode=$analysis_mode & load_results=$load_results & brief=$brief &
&
458 Adams/Car
The following table describes the important parameters associated with the four-post full-vehicle submission macro. Parameter name: load_results road_data_file Description: String value that specifies if the results of the analysis should be read in after the analysis is complete. Expected values are yes or no. Hardcoded to BEDPLATE to indicate that the car will not be driven across a road surface. Adams/Car internally interprets and understands this hardcoded value. Set to no to indicate that Adams/Car should not generate a geometric representation of the data found in the road_data_file. Hardcoded to fourpost to indicate that the full-vehicle will be attached to a four-post shaker table. Adams/Car internally interprets and understands this hardcoded value to produce the correct .adm and .acf files.
generate_road_geometry simulation_type
Logging the Analysis Results Once the analysis completed, the macro logs the results to a file. In addition, you can set up the macro so it displays final diagnostic messages to the message window, as follows: if condition=($log_file) acar analysis full_vehicle log & assembly=$assembly & analysis_name="$'output_prefix'_fourpost" & analysis_type="Four Post Shaker Test" & analysis_log_file="$'output_prefix'_fourpost.log" comment=$comment & end_time=$end_time & number_of_steps=$number_of_steps & road_data_file="BEDPLATE" & initial_velocity=0.0 & velocity_units="m_sec" & input_parameters="general input" & parameter_values=("$number_of_steps") end if condition=("$analysis_mode" != "background") acar toolkit message & message="Simulation is complete." end Finishing up the Macro Delete all local variables created in the macro using the $_self nomenclature:
&
variable delete variable_name=(eval(db_children($_self,"variable"))) Adding the Four-Post Analysis Macro to a Binary You can add the four-post analysis macro to either the private or site binary. The command shown next creates the macro by reading in the command file found at the location you specified. You must place this command either in the acar_build.cmd file as described in Configuring Your Product, or in the macros_ana.cmd file as we have done in the example analysis/macros_ana.cmd, which is read by acar_build.cmd.
macro read macro_name=.acme.macros.mac_ana_ful_fou & file_name=(getenv("MDI_ACAR_SITE")//"/analysis/macros/mac_ana_ful_fou_s ub.cmd") & user_entered_command="acme analysis full_vehicle four_post submit" & wrap_in_undo=no & create_panel=no
Testing the New Analysis Macro The easiest way to test the four-post analysis macro is to access it from the Command Navigator. The command you should use is the user_entered_command specified in the acar_build.cmd file shown in Adding the Four-Post Analysis Macro to a Binary.
When you access the four-post macro from the Command Navigator, Adams/Car automatically creates a dialog box based on the parameters in the macro. Users can use this dialog box, shown next, to execute the macro and submit the four-post analysis.
460 Adams/Car
Customizing the Four-Post Analysis Dialog Box Now that you created the four-post analysis macro, the custom graphical interface is also almost complete. When you access the four-post macro using the Command Navigator, Adams/Car displays a default dialog box associated with that macro, as shown in figure Macro-Generated Dialog Box. Compare this dialog box to the one shown in figure Customized Dialog Box. The customized dialog box illustrates an example of what you might want to do with the default dialog box generated using the Command Navigator:
Change the dialog box title. Remove the Comments and Error Variable text boxes (they will take on their default values as
occupy.
Shorten the Brief and Log File pull-down menus to match the Load Results radio boxes. Learn about customizing the interface.
You can add the four-post custom dialog box to either the private or site binary (or interactively read it in during your Adams/Car session). The command shown next creates the dialog box by reading in the command file found at the location you specify or we have provided an example dialog box in the examples directory (install_dir\acar\examples\fourpost\analysis\dboxes). We have also provided dboxes_ana.cmd in the example, which contains the following code.
!---- Check if dialog box exists and delete it if it does ---if condition=(db_exists(".acar.dboxes.dbox_ana_ful_fou_sub")) interface dialog_box delete dialog_box_name=.acar.dboxes.dbox_ana_ful_fou_sub end !---- Read the Four Post shaker dialog box ---file command read & file_name=(getenv("MDI_ACAR_SITE")//"/analysis/dboxes/dbox_ana_ful_fou_sub.cmd") !---- Check if menu button exists and delete it if it does ---if condition=(db_exists(".gui.main.aca_sta_mbar.simulate.full_vehicle_analysis.ACME_FourPost"))
end
462 Adams/Car
!---- Add a menu option ---interface push_button create & push_button_name = .gui.main.aca_sta_mbar.simulate.full_vehicle_analysis.ACME_FourPost & enabled = yes & help_text = "Simulate a full-vehicle on the ACME FourPost testrig" & units = relative & horiz_resizing = scale_all & vert_resizing = scale_all & location = 0.0, 0.0 & label = "&ACME Fourpost..." & commands = "interface dialog_box display dialog=.acar.dboxes.dbox_ana_ful_fou_sub" & default = false
SimManager Integration
Please look into Adams/View help for SimManager Integration.
392 Adams/Car
466 Adams/Car
468 Adams/Car
TIME = 'sec'
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 $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
{ ( distance || time ) && curvature && ( lon_vel || lon_acc || lat_acc ) }
Case{lat_acc, lon_vel} Case{lat_acc, lon_acc} Case{lat_acc, lat_acc} -- NOT VALID 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 27.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 .....
470 Adams/Car
{ 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
For wheel-envelope input files, Adams/Car ignores columns three through ten: (left and right) lateral force, aligining torque, brake force, and driving force.
$--------------------------------------------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.0 INTERIOR_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.0 80.0 80.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -500.0 90.0 90.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -300.0 120.0 120.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -200.0 120.0 120.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 200.0
472 Adams/Car
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
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 2 3 4 5 6 7 8 9 10 ... -4.2702 -673.57 205.00 -348.83 -1611.7 170.29 7.0293 670.69 205.00 303.63 1620.7 107.88 -4.6463 -681.45 225.00 -344.63 -1621.7 206.15 6.7629 678.55 225.00 307.97 1628.3 139.91 -4.9532 -687.82 245.00 -340.16 -1630.0 239.60 6.5706 684.92 245.00 311.28 1634.4 170.26 -5.2433 -692.82 265.00 -334.67 -1637.0 271.40 6.3755 689.93 265.00 314.35 1639.0 198.89 -5.5240 -696.55 285.00 -328.07 -1643.0 301.70 6.1779 693.66 285.00 317.43 1642.1 225.76 -5.7905 -699.08 305.00 -320.38 -1648.0 330.44 5.9864 696.18 305.00 320.67 1643.8 250.76 -6.0372 -700.45 325.00 -311.59 -1652.1 357.51 5.8099 697.55 325.00 324.25 1644.1 273.76 -6.2583 -700.71 345.00 -301.72 -1655.3 382.78 5.6583 697.79 345.00 328.31 1643.0 294.55 -6.4469 -699.89 365.00 -290.74 -1657.8 406.03 5.5424 696.93 365.00 333.04 1640.3 312.88 -6.5953 -698.01 385.00 -278.64 -1659.4 426.98 5.4752 695.00 385.00 338.63 1636.2 328.39 .......
474 Adams/Car
{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
476 Adams/Car
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 - <acar_shared> to open the file browser.
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)
478 Adams/Car
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:
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 - <acar_shared>\flexbodys.tbl and select the LCA_left_tet.mnf file.
480 Adams/Car
3. Click on the Connections tab next and highlight the Move column and click Preserve Expression button and click OK.
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. 2. Name 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:
482 Adams/Car
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.
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.
484 Adams/Car
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.
Remarks The above example, demonstrates a simple use of applying a non standard excitation to a suspension assembly. You could use an RPCIII file from test data to actuate your suspension or use other Adams/View functions. An example RPCIII file (roadprofile_lr_channels.drv) has been provided in the shared car database with your Adams installation (install_dir\acar\shared_car_database.cdb\loadcases.tbl).
While animating or during plotting of the hot spots/stresses for the first time, you may see a
progress bar. This is showing the caching of the Flex Cache Files for improving performance for future animation and post processing.
486 Adams/Car
Performing the analysis in order to investigate the vertical setup mode. Here you first analyze a double wishbone suspension including adjustable force. 1. Start MSC Adams 2011, 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 - <acar_shared> to open the file browser.
3. The suspension assembly should be displayed. 4. Go to Adjust - Adjustable Force. And select ".frontsusp_acforce.TR_Front_Suspension_torsional.afl_toe_adjustment" for the "Adjustable Force" field. Then you can see the desired value (-0.5). This value means that the toe angle is adjusted to -0.5 at setup phase.
5. Go to Simulate - Suspension Analysis - Parallel Wheel Travel 6. Set up the analysis as follows. In this case, the vertical travel of the wheel is controlled to keep 0mm in setup phase.
488 Adams/Car
7. Select OK. 8. Go to Simulate - Suspension Analysis - Parallel Wheel Travel again 9. Set up the analysis as follows for the second analysis. In this case, the vertical travel of the contact patch is controlled to keep 0mm in setup phase.
10. Select OK. Note: "Absolute" at "Control Mode" means that the vertical displacement is controlled the displacement with absolute value. "Relative" means that the displacement is relative to the position at the setup phase.
Review the results Plot the toe angle in two analyses: 1. Hit the F8 key in Adams/Car to switch to Adams/PostProcessor. 2. From the simulation list, select the two analyses. 3. From the right of the dashboard, set Independent Axis to Data. (The Independent Axis Browser appears. You perform the next four steps in the browser.) 4. From the Request list, select wheel travel. You might have to scroll down to see this entry. 5. From the Component list, select vertical_left. 6. Select OK.
490 Adams/Car
7. Locate the testrig.toe_angle REQUEST under user-defined REQUESTs. And select left in component list.
8. Select Add curve. You can see the plot of wheel_travel vs toe_angle. The toe angle in Red line(case1...) should be -0.5 by adjustable force when wheel_travel is 0.
9. Create New page. 10. From the right of the dashboard, set Independent Axis to Data. And select jfl_jack_force_data in request list and displacement in component list. 11. Plot the toe angle again. You can see the plot of contact_patch_height vs toe_angle. The toe angle in Blue line(case2...) should be -0.5 by adjustable force when contact_patch_height is 0.
Remarks "VERTICAL_SETUP_MODE" is available with all quasi-static suspension analysis. When you create the loadcase file, the setup mode is described as follows in loadcase file. [MODE] STEERING_MODE = 'angle' $ wheel_center_height/ contact_patch_height VERTICAL_MODE_FOR_SETUP = 'contact_patch_height' VERTICAL_MODE = 'wheel_center_height' VERTICAL_TYPE = 'absolute' COORDINATE_SYSTEM = 'vehicle'
"Control Mode" is also described as follows in loadcase file.
[MODE] STEERING_MODE = 'angle' $ wheel_center_height/ contact_patch_height VERTICAL_MODE_FOR_SETUP = 'contact_patch_height' VERTICAL_MODE = 'wheel_center_height' VERTICAL_TYPE = 'absolute' COORDINATE_SYSTEM = 'vehicle'
492 Adams/Car
Adding the length mode for roll analysis of Adams/Car Suspension Testrig
Adding the length mode for roll analysis of Adams/Car Suspension Testrig
This example demonstrates the enhancement of MDI_SUSPENSION_TESTRIG for quasi-static suspension analysis. The length mode is added to roll analysis of the suspension testrig. The length mode means that the user can define the vertical length of the center of the table for roll analysis. Early the user could set only vertical total force. This feature allows you to set the vertical mode the either of Force or Length for roll analysis. Model Description A Suspension Assembly consisting of a double wishbone suspension including adjustable force and a rack and pinion steering system is provided. We carry out roll analysis in quasistatic suspension analysis with two setup mode for vertical control. One is "Force". Other is "Length". And we then plot some requests in order to make sure the differences.
Performing the roll analysis in order to investigate the vertical mode. Here you first analyze a double wishbone suspension including adjustable force. 1. Start MSC Adams 2011, 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 - <acar_shared> to open the file browser.
3. The suspension assembly should be displayed. 4. Go to Adjust - Adjustable Force. And select ".frontsusp_acforce.TR_Front_Suspension_torsional.afl_toe_adjustment" for the "Adjustable Force" field. Then you can see the desired value (-0.5). This value means that the toe angle is adjusted to -0.5 at setup phase.
5. Go to Simulate - Suspension Analysis - Roll & Vertical Force 6. Set up the analysis as follows. In this case, the vertical mode is controlled with Force mode during the simulation.
494 Adams/Car
Adding the length mode for roll analysis of Adams/Car Suspension Testrig
7. Select OK. 8. Go to Simulate - Suspension Analysis - Roll & Vertical Force again
9. Set up the analysis as follows. In this case, the vertical mode is controlled with Length mode during the simulation.
10. Select OK. Review the results 1. Hit the F8 key in Adams/Car to switch to Adams/PostProcessor. 2. From the simulation list, select the first analyses named "mode_Force_roll_angle". 3. From the right of the dashboard, set Independent Axis to Time.
496 Adams/Car
Adding the length mode for roll analysis of Adams/Car Suspension Testrig
4. Locate the left_tire_force and right_force REQUEST under user-defined REQUESTs. And select normal in component list.
6. Create New page. 7. From the simulation list, select the first analyses named "mode_Length_roll_angle". 8. Locate the jfl_jack_force_data and jfr_jack_force_data REQUEST under user-defined REQUESTs. And select displacement in component list.
9. Select Add curve. The sum of two curves is constant. This means that the center of the table is constant during simulation.
Remarks When you create the loadcase file for roll analysis, the vertical setup mode is described as follows in loadcase file. [MODE] STEERING_MODE = 'angle' VERTICAL_MODE_FOR_SETUP = 'wheel_center_height' $ roll_angle / roll_angle_disp VERTICAL_MODE = 'roll_angle_disp' COORDINATE_SYSTEM = 'iso'
498 Adams/Car
Submitting an actuation analysis For submitting an actuation analysis, do the following, 1. Open a valid assembly for analysis. The example assembly (actuation_example.asy) provided with the installation may be used as an example. 2. Open the 'General Actuation Analysis' dialog from the menu. (Simulate -> General Actuation Analysis -> Submit Analysis). Note that all valid assemblies open in a session can be accessed through the drop down provided.
3. Enter the required parameters in the dialog. Note that the input parameters can be categorized into 3 classes (output control, simulation, actuator setup) as shown in the figure above. Output control parameters: To define the output files generated as part of the analysis. Simulation parameters: To define the simulation length, mode etc. Actuator setup: To setup the actuator parameters. Note that the actuator setup is done through the 'RPC request map file' and the 'Actuation input file'. Sample files have been provided with the installation and may be used as an example. 4. Hit the OK or Apply button of the dialog, when all parameters have been input. Note that the environment variable MSC_FLATTEN_ADM should not be set. 5. The simulation progress will be indicated by verbose messages displayed in the message window. 6. The end of the simulation will be indicated as shown in the snapshot below,
500 Adams/Car
7. Once the analysis is finished, open the post processor (F8) and import the RPC file (extension .rsp) generated as part of the simulation output. The RPC would be located in the current working directory of the session. Plot the results. An example plot is shown in the figure below,
Setting actuator parameters The user is provided with the option of using a wizard of a tabular interface for editing actuator data. These options can be accessed through the Adjust - Actuators - Table/Wizard menus. The wizard interface is as shown in the figure below,
502 Adams/Car
The desired assembly can be selected from the drop down list of valid assemblies open in the session. Upon selection, all actuators in that assembly are populated in the Actuator drop down. The desired actuator can be selected either through the drop down or using the up-down arrow buttons. Parameter data related to the selected actuator is displayed in the dialog below and can be set by the user. The settings are saved to the assembly, using the OK/button. Facility is provided to switch to the "table view" from the wizard. The "table view" for setting actuator parameters is shown below,
The table like interface provides the user with an easy way of looking at a list of actuators at once and activating/deactivating an entire selection. As shown in the figure the desired set of actuators is selected first. Using the 'Activate Selection' and 'De-activate Selection' buttons, the selected set can be activated and de-activated at once. Besides this, the user can choose to edit the list of selected actuators in the wizard view, using the 'Edit Selection in Wizard' button. The actuator settings can be saved to a file using the Request map editor functionality, described later. Request map editor The request map editor allows the user to work with (view or edit) requests that are defined in the database or import a request map file and edit the requests defined there. The request map editor functionality can be accessed from the menu-group Simulate - General Actuation Analysis - Request Map Editor. In the "database mode", the user can select to display all browse for a set of requests from the assembly to select (Using the All and Browse buttons respectively).
504 Adams/Car
In order to edit the request data in the table, the user needs to explicitly switch to the edit mode, using the corresponding check button provided. The request data is displayed to the user in the tabular form and can be sorted, which makes it easier to locate and edit the desired request(s). The user may choose to apply the changes to the assembly directly, or alternatively, save the data to a request map file. Opening/Saving an actuation input map file An actuation input map file contains a series of parameter-value pairs corresponding to one or more actuators in an assembly. The parameters include major and minor roles of the actuator, scale factor, offset, time offset, RPC function etc. Such a file provides an easy way of setting up a large number of actuators at once. A facility has been provided to the user to view/open an actuation input map file or create one using actuator data from a valid assembly. The open/save functionality can be accessed from the menu-group Simulate - General Actuation Analysis - Actuation Input File.
It's not necessary to have any valid active assemblies open in a session, in order to view an existing actuation input file. Select the desired file and click on the button with a magnifying glass, in order to open the file. Note that the file gets opened in the user set editor as defined by the optional environment variable MDI_ACAR_USE_EDITOR. If the variable is not defined, then the file is opened in the message window. If a valid assembly is open in the session, then the verify functionality is available, by which the user can compare the actuator data in an assembly, with that in the file. The comparison reports actuators present in the file that are absent in the assembly as well as incorrect roles set for the actuator, if any. A sample comparison message is shown below,
Alternatively, a valid assembly can be opened and the actuator settings can be changed manually for each desired actuator. Using these settings, an actuation input map file can be generated as follows,
506 Adams/Car
A facility to export the settings of actuators that belong to the specific type is provided. By default data belonging to all actuators within an assembly is exported. Specify the file name and the database location to save the file and hit the OK/Apply button to create the file.
The input road file can be visualized when the "Show" button is pressed. The mandatory fields on this dialog are the "Input Road Data File" and the "Output Path File Name". The road specified by input file can be optimized by providing values for mandatory fields and hitting the OK/Apply button. The output file generated contains the optimized road. After the optimized road file is generated, the centerline for the optimized path is shown overlaid with the input road. The figure below shows input road file overlaid with the red line, which is the centre line for the optimized path.
508 Adams/Car
In AChassis, use Utilities->Path Optimization command to launch the tool. The dialog for path optimization in AChassis looks like the one as below
510 Adams/Car
508 Adams/Car
Adams/Car can automatically adjust the mass properties of an assembly to match the mass properties you input. Learn about Assemblies. To adjust the aggregate mass, you enter the mass, Centroidal Inertias, and the center-of-mass location relative to a marker. Learn about Markers. You also select a part that Adams/Car modifies to match the desired mass properties. For the option: Tips on Entering Object Names in Text Boxes. Assembly Select the name of an assembly. Generally, you use the automatic mass adjustment for vehicle assemblies, but you can use it with any existing assembly. Relative to Marker CG Location Specify a marker that defines the reference location of the new CG of the assembly. This marker is only used for the CG Location, not the inertias. Enter three coordinates that define the position of the new center of gravity (CG) of the assembly with respect to the marker you specify in the Relative to Marker text box. Specify a part whose mass and inertia properties Adams/Car will update to achieve the desired total mass and inertia properties. We recommend that you set this text box to chassis or body of the vehicle so Adams/Car can reduce the mass or inertia, if desired. To avoid nonphysical conditions, Adams/Car makes a series of Error Checks. Mass Ixx, Iyy, Izz Enter the mass. Enter real values that define the inertia property of the model. You must express these values as centroidal inertias. Do the following:
Modify Part
Off-Diagonal Terms Select to display the cross-term inertias (Ixy, Iyz, and Izx). Clear its selection to display only principal-terms. If cross-terms are not displayed, their values will not be modified. If you select Off-Diagonal Terms, Adams/Car displays the following options: Ixy, Iyz, Izx Enter real values that define the cross-term inertias of your assembly.
This dialog box is experimental functionality and should be used with caution because it has not been tested to meet the required quality metrics. You can use this dialog box to automatically upgrade a database from one version, such as 11.0, to another, such as 12.0. For the option: To Database Name Class of Files Database Info Do the following: Select the name of the writable database to which you can write the upgraded entities. The default is the default writable database. Select the type of file you want to convert. Select to display the Information window, which lists currently available databases. Learn about Working with the Information Window.
From Database Name Select the name of the database you want to convert to the latest version.
510 Adams/Car
Creates or modifies a differential gear. Learn about differential Gears. For the option: Tips on Entering Object Names in Text Boxes. Differential Gear Name If creating a differential gear, enter a string to define its name. If modifying a differential gear, enter its database name. Input Joint Output Joint Reduction Ratio Enter the name of the joint that supplies the input motion. Enter the name of the joint for the output motion. The output joint must be symmetrical; you can enter either the left or right joint. Enter a positive real value for the reduction ratio in the following motion equation: "input motion" = "reduction_ratio" * ("output motion 1" - "output motion 2")/2 Invert output direction from input direction Active Select if you want to invert the motion, which allows the reduction ratio to always be defined as a positive real value. Select if the reduction gear will always be active, or will only be active in the kinematic mode. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog
Do the following:
box.
If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Creates or modifies a reduction gear. Learn about reduction Gears. For the option: Reduction Gear Name Do the following: If creating a reduction gear, enter a string to define its name. If modifying a reduction gear, enter its database name. Input Joint Input Type of Freedom Enter the name of the joint that supplies the input motion. Because a reduction gear can work with either of the two Degrees of Freedom in a cylindrical joint, you must specify if the rotational or translational motion will be the input for the gear. Enter the name of the joint for the output motion. If the input joint and output joint you specified are either both left or both right entities, Adams/Car creates a symmetric reduction gear pair. For any other combination of left/right/single joints, Adams/Car creates a single reduction gear. If you input a cylindrical joint in the Output Joint text box, Adams/Car enables the following option: Output Type of Freedom Because a reduction gear can work with either of the two degrees of freedom in a cylindrical joint, you must specify if the rotational or translational motion will be the output for the gear. Enter the real value to be used for the reduction ratio in the following motion equation: "input motion" = "reduction_ratio" * "output motion" Invert output direction from input direction Select if you want to invert the motion, which allows the reduction ratio to always be defined as a positive real value. If you input a cylindrical joint in the Input Joint text box, Adams/Car enables the following option:
Output Joint
Reduction Ratio
512 Adams/Car
Do the following: Select if the reduction gear will always be active, or will only be active in the kinematic mode. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog
box.
If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Defines a Steer Axis. For the option: Tips on Entering Object Names in Text Boxes. Steer Axis Calculation Select a method of calculating the steer axis:
Instant axis - Requires one part and one hardpoint. When using this
Do the following:
method, it is very important that you select the correct part and hardpoint information. You can use any part and hardpoint, provided that locking the vertical motion of the part at that hardpoint location actually locks the spring travel. Learn about Hardpoints.
Geometric - Requires two parts and two coordinate references.
Adams/Car creates markers that belong to the specified parts at the desired location (the ones defined by the coordinate references). Learn about Markers. The geometric method is more intuitive, but sometimes is not applicable (for example, in a suspension where the geometrical information that defines the steer axis is not obvious; where it is impossible to identify the position of the steer axis). Note: Both methods give accurate results, but the instant axis is more general, because it can be used when the steer axis cannot be determined geometrically (for example in a multi-link suspension).
Suspension Type
where the suspension reacts the drive-torque input to the differential pinion gear.
Independent - Select for all other supensions.
Adams/Car uses this information when calculating the squat and percent anti-squat. If you set Steer Axis Calculation to Instant Axis, Adams/Car displays the following options: Part Coordinate Reference Specify the part you want to use in the definition of the steer axis. Specify a Coordinate Reference to define the location where Adams/Car locks the spring travel. Specify the first part to use in the definition of the steer axis*.
If you set Steer Axis Calculation to Geometric, Adams/Car displays the following options: I Part
514 Adams/Car
Do the following: Specify the second part to use in the definition of the steer axis*. Specify a coordinate reference to define the location where Adams/Car creates the first marker (belonging to part I) used in the definition of the steer axis*. Specify a coordinate reference to define the location where Adams/Car creates the second marker (belonging to part J) used in the definition of the steer axis*.
J Coordinate Reference
Note:
* For geometric, the steer axis is the line connecting the two markers at the location specified in the coordinate reference field.
Deletes the graphics associated with the road. This can be useful when you are using 'fit' commands and the default model becomes very small in relation to the road graphic. Deleting road geometry does not affect the results of the full-vehicle Analysis or your ability to animate the results. Tip:
If you right-click in the main window, away from any modeling elements, and select Fit no ground, Adams/Car resizes the window, allowing you to see the enlarged default model without worrying about the size of the road graphic.
Do the following:
Full-Vehicle Assembly Select the assembly whose road geometry you want to delete. The menu lists all open assemblies.
516 Adams/Car
Dependency Control
Dependency Control
Supported only in previous releases
Controls the conceptual suspension spring/damper force elements. For the option: Dependency File Do the following: Specify the property file (see Property Files) that contains the suspension characteristics definition for the suspension. Tips on Entering File Names in Text Boxes. Base, Track, and so on Because Adams/Car applies all the dependencies as a series of superpositions, you can turn off individual dependencies. If the data is not in the suspension characteristic file (.scf) file, Adams/Car automatically turns off the corresponding dependency. Adams/Car will, therefore, consider a data block in the calculation of a given primary dependency if the data block exists and the corresponding dependency switch is set to 1 in the Dependency_Flags array.
Event Builder
(Standard Interface) Simulate Full-Vehicle Analysis Event Builder
You use the Event Builder to create or modify an XML event file (previously referred to as a driver control file, see XML File Format). Using the Event Builder, you create a series of mini-maneuvers that define a file-driven (see File-Driven Analysis), full-vehicle analysis (see Full-Vehicle Analysis: SmartDriver). You can start Event Builder in new file mode or in modify mode. The first time you start Event Builder from the Adams/Car Standard Interface, it appears in new file mode. If you want to generate a new event file, from the File menu select New. If you want to edit an existing event file, from the File menu, select Open. Opening Event Builder again automatically loads the XML file that you were last using. Adams/Car automatically generates event files when you submit any of the standard events, such as step steer. You can use the Event Builder to modify these files or view them to understand their content. However, you can't view existing TiemOrbit form driver control files (.dcf) without first converting them to XML event files. The shared car database includes sample event files. If you want to convert existing .dcf files to .xml, from the Tools menu, point to Database Management, point to Version Upgrade, and then select TO XML. For the option: Event File Do the following: Enter a name for the event file. Adams/Car automatically generates a file with extension .xml in the working directory and updates the Event File text box with the file name you entered. Enter the initial vehicle speed for the maneuver. Enter the initial gear position for the maneuver. Some quantities have associated units: the current unit text box located at the bottom of the dialog box identifies the units when you place the cursor in the appropriate text box. The default units are SI. You can review and modify these units by selecting Units from the Settings menu, at the top of the Event Builder.
Static Set-up tab - Select the desired static setup method to be performed before the dynamic maneuver. This method is used to set up the vehicle in the desired initial conditions of lateral and longitudinal accelerations.
518 Adams/Car
Event Builder
Do the following:
You can specify static task and initial values for steer, brake, throttle, and clutch signals:
Task (learn more with Structure of Event Files) Initial Steer/Brake/Throttle/Clutch
When Linear is set to yes, a linear analysis is performed after each static equilibrium analysis during the pre-phase. Note that values computed during Skidpad or Straight static setup overwrite initial steer/throttle signals, in case you selected skidpad or straight. Gear Shifting Parameters tab - Defines the gear-shifting properties and the shape of the upshift and downshift curves for throttle and clutch signals. (see Structure of Event Files) Gear Shift Throttle Raise Clutch Raise Throttle Fall Clutch Fall Clutch Off Throttle On Delay Clutch On Throttle Off Delay RPM Control Duration of the gear shifting event (> 0.0). Delta time of the step function for the ascending curve of the throttle signal (> 0.0). Delta time of the step function for the ascending curve of the clutch signal (> 0.0). Delta time of the step function for the descending curve of the throttle signal (> 0.0). Delta time of the step function for the descending curve of the clutch signal (> 0.0). Delay between clutch off and throttle on (>0.0). Delay between clutch on and throttle off (>0.0). Enable a feedback PID controller to eliminate jerk and synchronize engine rotational speed. When set to true and the vehicle velocity is far from the target, the corresponding acceleration reference profile is altered to let the vehicle reach the target faster [true, false]. Enables the internal yaw rate controller that operates on the steering, to compensate unpredicted yaw rate events (that is, oversteering) [true, false]. When set to true, the Machine Control checks if the driving tires are lifted, and in such a case, cuts throttle [true/false]. Gear shifting method that chooses the gear that would give the maximum vehicle acceleration [true/false].
Controller Parameters tab Specify Machine Controls control actions (see Machine Control Basics) Rax Saturation
Do the following: When set to true, an instantaneous estimation of the longitudinal control action value is calculated, improving the responsiveness of the control system [true/false]. When set to on, it will control the open loop throttle signal to zero during gear shifting [true/false]. Controls the driving aggressiveness of the SmartDriver Static Simulator [%]. Controls the braking aggressiveness of the SmartDriver Static Simulator [%].
Trajectory Planning Parameters tab Trajectory planning calculates the connecting contour between the current vehicle position (wherever it may be) and some point on the target path, along which the vehicle will be steered to later bring it back on the target path. Path Distance Compensation Path Comp. Tolerance Min Preview Distance When set to true and if the vehicle is not exactly over the reference profile, the path distance compensation controller acts to correct the vehicle so that it is over the profile [true/false]. Value of the path distance under which the path distance compensation controller is activated (>0.0). Minimum value of the preview distance; even if the vehicle is very slow, the preview distance does not become smaller than this value. It must be set at least as long as the vehicle wheel base (>0.0).
PIDs Speed & Path Parameters tab - Defines the Machine Control PID (Proportional, Integral and Derivative) Controller gains for:
following a longitudinal velocity or longitudinal acceleration profile. steering when following a path. following a lateral acceleration profile.
Note:
Increasing gains generally produces a quicker controller response, but it also increases controller sensitivity to input disturbance with the risk of becoming unstable. Proportional gain used in correction phase of the feed-forward calculation when following a velocity profile (>0.0). Integral gain used in correction phase of the feed-forward calculation when following a velocity profile (>0.0). Derivative gain used in correction phase of the feed forward calculation when following a velocity profile (>0.0). Proportional gain used in the correction phase of the feed-forward calculation when following an acceleration profile (>0.0). Integral gain used in correction phase of the feed-forward calculation when following an acceleration profile (>0.0). Derivative gain used in correction phase of the feed forward calculation when following an acceleration profile (>0.0).
520 Adams/Car
Event Builder
For the option: LatPth P LatPth I LatPth D LatAy P LatAy I LatAy D LatAyC P LatAyC I
Do the following: Proportional gain used in the correction phase of the feed-forward controller calculation for steering when following a path (>0.0). Integral gain used in the correction phase of the feed-forward controller calculation for steering when following a path (>0.0). Derivative gain used in the correction phase of the feed-forward controller calculation for steering when following a path (>0.0). Proportional gain used in the correction phase of the feed-forward controller calculation when following a lateral acceleration profile (>0.0). Integral gain used in the correction phase of the feed-forward controller calculation when following a lateral acceleration profile (>0.0). Derivative gain used in the correction phase of the feed-forward controller calculation when following a lateral acceleration profile (>0.0). Proportional gain used in the correction phase of the lateral acceleration control (>0.0). Integral gain used in the correction phase of the lateral acceleration control (>0.0).
PIDs Steering Output Parameters tab - Defines the Machine Control PID (Proportional, Integral and Derivative) Controller gains for steering output for actuator type being set to Force or Torque. Once the required steering wheel angle to follow a specified path is calculated by Machine Control (by the feedforward controller and feedback PID controller using the PID gains as shown above), the PID Steering output controller calculates the Force or Torque required to obtain such a steering wheel angle. SteFrc P SteFrc I SteFrc D SteTrq P SteTrq I SteTrq D Proportional gain for calculation of steering force output (>0.0). Integral gain for calculation of steering force output (>0.0). Derivative gain for calculation of steering force output (>0.0). Proportional gain for calculation of steering torque output (>0.0). Integral gain for calculation of steering torque output (>0.0). Derivative gain for calculation of steering torque output (>0.0).
Do the following:
When editing a mini-maneuver in Property Editor mode, you define the five control signals (steering, brake, throttle, clutch, and gear) and the conditions that end or abort the minimaneuver. (see Creating Event Files) Select to display the Table Editor. Note that at the bottom of the Table Editor, you can add a new mini-maneuver by entering a string in the Name text box and then selecting Add. Active Abort Time Set a mini-maneuver to active (yes) or inactive (no). Adams/Car only performs active mini-maneuvers. Specify the relative time from the beginning of the mini-maneuver when the Driving Machine stops the mini-maneuver. It executes the next minimaneuver if defined. Value must be > 0.0. Specify the Adams/Solver Output step size. Specify Adams/Solver maximum integration step size. Note: H-max < Step Size
Steering tab - Define the parameters that control the steering signal during the mini-maneuver that you are creating. Actuator Type Learn about Specifying an Actuator Type. Note that the actuator types do not necessarily correspond to the actuators defined in your vehicle model. The Event Builder cannot browse your model and populate the Actuator Type option with the actuators actually defined in your model.
522 Adams/Car
Event Builder
Do the following: When defining a mini-maneuver, you must specify a control method for each control signal. Different options appear depending on the Control Method you selected. The control methods are:
open - Uses open-loop control where the control signal is a function of time. (see Open Control Method).
For open loop (time based output control signals) you will have to define parameters for the appropriate control type. Depending on your selection in the open-loop control type area (adjacent to the parameters mentioned above), you have to specify information to define the shape of the steering control signal.
machine - Uses closed-loop lateral and longitudinal controllers to
follow a path and target velocity or longitudinal acceleration profiles. For machine control, you have to select the type of closed-loop target for the appropriate application area. (see Machine Control Method).
SmartDriver - Uses a series of race-optimized lateral and longitudinal controllers. (Requires Adams/SmartDriver.)
For SmartDriver control, you have to define course parameters, such as type of task and course file.(see SmartDriver Control Method). If you set Control Method to open, Adams/Car displays the following option: Control Type Learn about Specifying a Control Type. If you set Control Type to constant, data_driven, data_map, or step, Adams/Car displays the following option: Control Mode Learn about Specifying a Control Mode. Throttle/Braking/Gear/Clutch tabs - Contain the same information as the Steering tab, except that the information applies to the particular signal. Conditions tab
Do the following:
Specify a number of conditions for each mini-maneuver. Conditions has two modes: Table Editor and Property Editor, as described next.
Table Editor - Add new end conditions to the mini-maneuver you are creating. To display,
select the Arrow tool . The Table Editor mode gives you access to the complete set of parameters. Learn more about
Specifying Conditions.
Note that the conditions do not necessarily correspond to the condition defined in your vehicle model. This is an extensive list but the Event Builder cannot browse your model and populate the Type option menu with the condition actually defined in your model.
Property Editor - Define parameters for the condition. To display, you can do either of the
following:
Double-click the mini-maneuver name Right-click the mini-maneuver name and select Modify with Property Editor
Shows the current units of the quantity you are entering. For example, if you specify the vehicle speed, this text box loads the corresponding unit string [velocity (meter/s)].
SmartDriver Setting Template The SmartDriver Setting Template file (basically an xml event file without events) is used to set default values for Event files. The default values are used when:
converting .dcf format Event files to .xml format Event files. creating new Event files using the Event Builder.
You can use environment variable MSC_SD_DEFAULT_XML to set the path to a custom SmartDriver Setting Template file (.smartdriver.xml). If MSC_SD_DEFAULT_XML is not set, the SmartDriver Setting Template file path search order is as follows: 1. Home directory ($HOME\.smartdriver.xml) 2. \<Adams Installation>\<platform>\ ($topdir\$MDI_CPU\.smartdriver.xml) Note: The SmartDriver Setting Template replaces the Environment Variables used to set default values for longitudinal, lateral and steering output PID controller gains (MSC_SD_GAIN_*).
524 Adams/Car
Event Builder
The following parameters are not yet supported in the Event Builder, but you can modify them directly in the .xml file: This parameter: smoothingTime Does the following: Takes the value:
Real value > 0.0 Allows you to filter the output of the Machine Control at the concatenation of mini-maneuvers, therefore, helping you avoid discontinuities in the output from the Machine Control. Time interval between two consecutive Real value > 0.0 evaluations of the controller during a closedloop event. Time interval between two consecutive evaluations of the controller during an Adams/SmartDriver event. Real value > 0.0
Adams/SmartDriver uses this performance Real value > 0.0 default 0.75 parameter during the calculation of the speed profile (both vehicle limits and user defined limits). This parameter affects the front axle of the vehicle. Adams/SmartDriver uses this performance Real value > 0.0 default 0.75 parameter during the calculation of the speed profile (both vehicle limits and user defined limits). This parameter affects the rear axle of the vehicle. [yes,no] For staticSetup = Straight or Skidpad, setting useBrake = yes instructs the Driving Machine that it can use the brake to achieve desired longitudinal velocity and acceleration. Select yes if you want to stop the simulation [yes,no] in case the quasi-static setup phase is not successful. Defines whether the path must be positioned [automatic, absolute, default] automatically or whether its location is absolute and must remain unchanged.
rearAxleCoupling
useBrake
haltOnFailure
pathPositioning
External Files
(Standard Interface) Simulate Suspension Analysis External Files
Performs an analysis that corresponds to the loadcase or wheel-envelope file(s) specified for the analysis itself. To determine what kind of analysis will be performed, see the header of the file itself. Learn about External-File Analyses. For the option: Suspension Assembly Output Prefix Do the following: Select the Suspension Assembly you want to analyze. The menu lists all suspension assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the name of the loadcase or wheel-envelope file to form the complete analysis name. For example, if you enter test_45 as the output prefix and select ride_input.lcf as the loadcase file, the analysis name becomes test_45_ride_input. Select interactive, graphical, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Graphical, Mode of Simulation: Background, Mode of Simulation: Files_only. Loadcase/Wheel Envelope Files Specify the type of files, loadcase or wheel envelope, you want to use. In the text box that follows, enter one or more loadcase or wheel-envelope file(s) taken from active Databases. The file(s) contains all the force/displacement inputs that will be applied to the suspension assembly. Learn about Setting up Suspension Analyses. Tips on Entering File Names in Text Boxes. Load Analysis Results Create Analysis Log File Select if you want Adams/Car to read in the suspension analysis results when the analysis completes. Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File.
Mode of Simulation
526 Adams/Car
External Files
Do the following: Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Learn about Recording Comments. Select to view property file information. By default, your template-based product displays this information in the Information window, but you can choose to display the information in a text editor. Learn about:
Working with the Information Window Editing Files Using a Text Editor
Runs a 3D Road Analysis. For the option: Tips on Entering File Names in Text Boxes. Full-Vehicle Assembly Output Prefix Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _smo to form the complete analysis output name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_smo. Specify the time, in seconds, at which the analysis ends. Specify the number of Output Steps. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only. 3D Road Data File Select a 3D Road Data File. The extension is the same as that of other road data files, but its content is different: it contains information about the road's three-dimensional profile and it is used by the steering controller. For more information, see Road Models in Adams/Tire. Import and visualize road graphics from file. Do the following:
528 Adams/Car
Do the following: Enter the initial speed of the vehicle in the units specified in the pull-down menu to the right of the Initial Velocity text box. Specify the initial transmission gear for the analysis. The powertrain subsystem uses this parameter that generally acts as a gain for the throttle-demand output from the cruise control. Adams/Car stores the gear ratios in the powertrain subsystem.
Speed Control
longitudinal acceleration value. If you select DCD File, Adams/Car displays the following option: Driver Data File Select a driver data file (.dcd) that defines an open- or closed-loop speed controller. Learn about Working with Driver Control Data Files (.dcd). Enter a value of longitudinal acceleration, expressed in G's. Enter a real value that specifies the time at which the speed controller is to start.
If you select Longitudinal Acc., Adams/Car displays the following options: Longitudinal Accel (G's) Start Time
Do the following: Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes
Adams/Car to perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: assembly, because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position). Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog
box.
If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
530 Adams/Car
Runs an Acceleration Analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _accel to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_accel. Specify the time, in seconds, at which the analysis ends. Specify the number of Output Steps. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces.You can also use a 3D road in this context. Make sure that the vehicle remains on the road, because 3D roads are not as wide as 2D flat roads. Tips on Entering File Names in Text Boxes. Import and visualize road graphics from file.
Do the following: Enter the initial speed of the vehicle in the units specified in the pull-down menu to the right of the Initial Velocity text box. Enter a real value that specifies the time at which the acceleration is to start. Select a mode for the Longitudinal Acceleration Controller:
Open loop - Specify a final throttle value and a duration of step
value. The throttle will step from its initial value to the final value in the specified duration.
Closed loop - Specify a longitudinal acceleration. The Driving
Machine controls the clutch, throttle, and gear shifting. Learn about Using the Driving Machine. If you select Open-Loop Throttle, Adams/Car displays the following option: Final Throttle Duration of Step Enter the final position of the throttle as a percentage of total throttle displacement. Enter the time it takes to step from the initial throttle value to the final throttle value.
If you select Closed-Loop Throttle, Adams/Car displays the following option: Longitudinal Accel (G's) Enter the longitudinal acceleration, in G's, that will be maintained during the analysis. Gear Position Specify the initial transmission gear for the analysis. The powertrain subsystem uses this parameter, which generally acts as a gain, for the throttle-demand output from the cruise control. Gear shifting can be turned on. Select one of the following:
straight line - The controller tries to maintain a straight line. free - Allows the steering wheel to rotate in response to forces
Steering Input
transmitted to the steering subsystem from the tires and the suspension.
locked - Locks the steering wheel at the design position.
532 Adams/Car
Do the following: Select if you want to enable gear shifting. This tells the Driving Machine whether or not the vehicle stays in the specified gear or shifts when engine limits are reached. Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes Adams/Car
perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position). Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Learn about Recording Comments. Construct road graphics from event user inputs.
Runs a Braking Analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _brake to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_brake. Specify the time, in seconds, at which the analysis ends. Specify the number of Output Steps. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes. You can also use a 3D road in this context. Make sure that the vehicle remains on the road, because 3D roads are not as wide as 2D flat roads. Import and visualize road graphics from file.
534 Adams/Car
Do the following: Enter the initial speed of the vehicle in the units specified in the pull-down menu to the right of the Initial Velocity text box. Enter a real value that specifies the time at which the analysis is to start. Select a mode for the Longitudinal Acceleration Controller:
Open loop - Specify a final brake value and a duration of step
value. The brake will step from its initial value to the final value in the specified duration.
Closed loop - Specify a longitudinal deceleration.
If you select Open-Loop Brake, Adams/Car displays the following option: Final Brake Duration of Step Enter the final value of the brake demand. This value will depend on how your brake system is modeled and the default units that have been used. Enter the time it takes to step from the initial brake value (usually zero) to the final brake value. This is equivalent to the period of time taken to depress the brake pedal and brake pressure to build up.
If you select Closed-Loop Brake, Adams/Car displays the following option: Longitudinal Decel (G's) Enter the longitudinal deceleration, in G's, that will be maintained during the analysis.
Do the following: Specify the initial transmission gear for the analysis. The powertrain subsystem uses this parameter, which generally acts as a gain, for the brakedemand output from the cruise control. The parameter is constant throughout the analysis. Select one of the following:
straight line - The controller tries to maintain a straight line. free - Allows the steering wheel to rotate in response to forces
Steering Input
transmitted to the steering subsystem from the tires and the suspension.
locked - Locks the steering wheel at the design position.
Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes Adams/Car
perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position).
536 Adams/Car
Do the following:
Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Learn about Recording Comments. Construct road graphics from event user inputs.
Runs a Braking-In-Turn Analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _bit to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_bit. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Simulation Mode
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes. Import and visualize road graphics from file.
Specify the size of the Output Steps. Specify the initial gear position for the analysis. Enter the target lateral acceleration that will be achieved at the start of the braking event.
538 Adams/Car
Do the following: Enter the turn radius (in length units) of the skidpad on which the vehicle will perform the analysis. Select the length units for the turn radius. Note: These units are not used for Entry Distance.
controller to maintain the steering angle from the previous mini maneuver. Use this option to understand the vehicle trajectory during the braking event, if a driver were to lock the steering wheel.
Maintain radius while braking - Instructs the Driving Machine
controller to maintain the desired radius. Use this option to investigate the driver activity required to maintain a path. Values of interest typically include the steering-wheel angle and steering-wheel torque. Brake Deceleration (G's) Maximum Brake Duration Quasi-Static Skidpad Setup Specify the Longitudinal Deceleration. Enter the time after which Adams/Car should stop the braking maneuver. Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes
perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: assembly, because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position).
Do the following: Enter a numerical value that defines the initial straight-line section of the analysis. Use the pull-down menu to select the unit definitions; for example, 20 m. Enter a value that describes the duration of the intermediate minimaneuver INITIAL_SET. See Creating Mini-Maneuvers. Learn more about INITIAL_SET at Structure of Event Files.
Settle Time
Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Learn about Recording Comments. Construct road graphics from event user inputs.
540 Adams/Car
Runs a Constant-Radius Cornering Analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _crc to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_crc. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Simulation Mode
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes. Import and visualize road graphics from file.
Do the following: Specify the initial transmission gear for the analysis. The powertrain subsystem uses this parameter that generally acts as a gain for the throttle-demand output from the cruise control. Adams/Car stores the gear ratios in the powertrain subsystem.
Enter the radius of the circular path. Select the length units for the turn radius. By default, the length units are the model units. Select a right or a left turn. Select one of the following:
velocity - Control of the vehicle is performed in terms of
longitudinal velocity.
lateral acceleration - Control of the vehicle is performed
in terms of lateral acceleration. If you set Control to velocity, Adams/Car displays the following options: Duration of Maneuver Enter the time interval during which Adams/Car performs the actual constant-radius cornering analysis. This is the time required to get from the initial to the final velocity. Enter a value for the initial longitudinal velocity of the vehicle (held constant during the approach to the skidpad). Enter a value for the final longitudinal velocity of the vehicle. Select the units of velocity. Enter the time interval during which Adams/Car performs the actual constant-radius cornering analysis. This is the time required to get from the initial to the final acceleration. Enter a value for the initial lateral acceleration. Enter a value for the final lateral acceleration. Select the units of acceleration. Select it if you want to enable the Driving Machine to change gears during the course of the analysis. A gear change during the analysis introduces transients, which depending on model robustness, can produce undesired effects in the Adams/Car Solver. Clear its selection to force the same gear to remain active during the entire analysis.
If you set Control to lateral acceleration, Adams/Car displays the following options:
542 Adams/Car
Do the following: Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes
Adams/Car to perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: assembly, because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position). If you clear the selection of Quasi-Static Skidpad Setup, Adams/Car enables the following two options: Entry Distance Enter a numerical value that defines the initial straight-line section of the analysis. Use the pull-down menu to select the unit definitions; for example, 20 m. Enter a value that describes the duration of the intermediate minimaneuver INITIAL_SET. See Creating Mini-Maneuvers. Learn more about INITIAL_SET at Structure of Event Files. Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File.
Settle Time
Do the following: Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog
box.
If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Learn about Recording Comments. Construct road graphics from event user inputs.
544 Adams/Car
Runs a Cornering with Steer Release Analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _csr to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_csr. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Simulation Mode
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes. Import and visualize road graphics from file.
Specify the size of the Output Steps. Select a value for the initial transmission gear for the analysis. The powertrain subsystem uses this parameter, which generally acts as a gain, for the throttle-demand output from the cruise control. Adams/Car stores the gear ratios in the powertrain subsystem.
For the option: Turn Direction Steady-State Prephase Select a right or a left turn.
terms of lateral acceleration and longitudinal velocity. If you set Steady-State Prephase to Radius and Velocity, Adams/Car enables the following options: Note: Radius Longitudinal Velocity For both of the following two options, you can select the units you want to use. Adams/Car will convert the units you specify to model units; for example, 100 km/hr = 27777.78 mm/s. Enter a value for the radius of the circular path. Enter a value for the vehicle target longitudinal velocity. Adams/Car calculates the target lateral acceleration of the vehicle accordingly.
If you set Steady-State Prephase to Velocity and Acceleration, Adams/Car enables the following options: Note: For both of the following two options, you can select the units you want to use. Adams/Car will convert the units you specify to model units; for example, 1 g = 9.81 m/s. Enter the target lateral acceleration. Adams/Car calculates the skidpad radius accordingly. Enter the vehicle's target longitudinal velocity. Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes Adams/Car
perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position).
546 Adams/Car
Do the following: Enter a numerical value that defines the initial straight-line section of the analysis. From the pull-down menu, select the units that define the entry distance units. Enter a period of time during which the vehicle must maintain a steadystate condition. For example, if you selected Acceleration and Velocity, the settle time would be the period of time in which the lateral acceleration must be maintained within a 2% tolerance, before the end condition can be triggered.
Settle Time
Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Learn about Recording Comments. Construct road graphics from event user inputs.
Runs a Data-Driven Analysis. For the option: Tips on Entering File Names in Text Boxes. Full-Vehicle Assembly Output Prefix Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car generates the output files following this naming convention: the output files are named output_prefix_external_file_name to form the complete analysis name. For example, if you enter test_45 as the output prefix, and if you submit a sine_steer.dri loadcase file, then the output file name becomes test_45_sine_steer. Specify the time, in seconds, at which the analysis ends. Specify the number of Output Steps. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Do the following:
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Enter the initial speed of the vehicle in the units specified in the pull-down menu to the right of the Initial Velocity text box. Enter one or more driver input file(s) from any Adams/Car Database. The file(s) contains all the inputs that will be applied to the full-vehicle assembly. Enter a real value that fixes the initial steer value at the start of the analysis. Adams/Car maintains this steer value until the analysis starts.
548 Adams/Car
Do the following: Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Runs a Drift Analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _drift to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_drift. Specify the time, in seconds, at which the analysis ends. Make sure you specify an end time greater than five seconds. Otherwise, the analysis will finish while still in the steady-state pre-phase. A drift full-vehicle analysis requires a minimum of 10 seconds end time. Number of Steps Simulation Mode Specify the number of Output Steps. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
End Time
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes. Import and visualize road graphics from file.
550 Adams/Car
Do the following: Edit road / path file in road builder or text editor.
Enter the initial speed of the vehicle in the units specified in the pull-down menu to the right of the Initial Velocity text box. Specify the initial transmission gear for the analysis. The powertrain subsystem uses this parameter, which generally acts as a gain, for the throttle-demand. Adams/Car stores the gear ratios in the powertrain subsystem.
Enter the rate of change in time of the throttle. Specify the steering that will be maintained during the drift analysis. Select one of the following:
Force - Indicates that the steering inputs are forces applied to the
steering wheel.
Angle - Indicates that the steering inputs are steering wheel
angular displacements.
Length - Indicates that the steering inputs are rack displacements.
Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes Adams/Car
perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position).
Do the following: Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
552 Adams/Car
Runs a File-Driven Analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car generates the output files following this naming convention: the output files are called output_prefix_external_file_name to form the complete analysis name. For example, if you enter test_45 as the output prefix, and if you submit a sine_steer.dri loadcase file, then the output file name becomes test_45_sine_steer. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Simulation Mode
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes Import and visualize road graphics from file.
Do the following: Enter one or more event files from any Adams/Car Database. The file(s) contains all the inputs that will be applied to the full-vehicle assembly. Tips on Entering Object Names in Text Boxes. To learn more about event files see Using the Driving Machine.
Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Learn about Recording Comments. Select to view property file information. By default, your template-based product displays this information in the Information window, but you can choose to display the information in a text editor. Learn about:
Working with the Information Window Editing Files Using a Text Editor
554 Adams/Car
Runs a Fish-Hook Analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _fho to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_fho. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Simulation Mode
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes Import and visualize road graphics from file.
Initial Velocity
Enter the initial speed of the vehicle in the units specified in the pulldown menu to the right of the Initial Velocity text box.
Do the following: Specify the initial transmission gear for the analysis. The powertrain subsystem uses this parameter that acts as a gain for the throttledemand output from the cruise control. Select either left or right to determine the first turn direction. Enter a real value that fixes the initial steer value during the first turn of the fish-hook maneuver. Enter the duration of the first step function. Enter a value that represents the duration of the first steering-wheel angle before moving to the opposite direction for the second turn. Select either left or right to determine the second turn direction. Enter the steer value, relative to the initial steer, that defines the steer position during the final turn of the fish-hook maneuver. Enter the duration of the second step function. Enter a value that specifies the duration of the actual fish-hook minimaneuver. Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes
First Turn Direction First Steer Angle First Step Duration Duration of First Turn Second Turn Direction Second Steer Angle Second Step Duration Duration of Second Turn Quasi-Static Straight-Line Setup
Adams/Car to perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: assembly, because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position).
556 Adams/Car
Do the following: Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog
box.
If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Runs an ISO Lane Change analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _ilc to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_ilc. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Simulation Mode
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes Import and visualize road graphics from file.
Initial Velocity
558 Adams/Car
Do the following: Specify the initial gear position for the analysis. Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes
to perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: assembly, because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position). Create Analysis log file Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog
box.
If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Full-Vehicle Assembly Select the Full-Vehicle Assembly you want to analyze. The menu lists all fullvehicle assemblies currently open in your session. Output Prefix Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _imp to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_imp. Specify the time, in seconds, at which the analysis ends. Specify the number of Output Steps. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes Import and visualize road graphics from file.
Initial Velocity
Enter the initial speed of the vehicle in the units specified in the pull-down menu to the right of the Initial Velocity text box.
560 Adams/Car
Do the following: Specify the initial transmission gear for the analysis. The powertrain subsystem uses this parameter that generally acts as a gain for the throttledemand output from the cruise control. The gear remains constant for the entire analysis, regardless of the selection for the Cruise Control. Adams/Car stores the gear ratios in the powertrain subsystem.
Maximum Steer Value The peak steer value of the Steering Input. Cycle Length Start Time Steering Input Specify the duration of the impulse signal. Enter a real value that specifies the time at which the analysis is to start. Select one of the following:
Force - Indicates that the steering inputs are forces applied to the
steering wheel.
Angle - Indicates that the steering inputs are steering wheel angular
displacements.
Length - Indicates that the steering inputs are rack displacements.
Cruise Control
Select if you want Adams/Car to try to maintain the specified Initial Velocity throughout the analysis, using the longitudinal controller inside the Driving Machine. Learn about Using the Driving Machine. To use this controller, your assembly must contain a powertrain subsystem.
Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes Adams/Car to
perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position).
Do the following: Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
562 Adams/Car
Runs a Lift-off Turn-in Analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _lti to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_lti. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Simulation Mode
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes Import and visualize road graphics from file.
Specify the size of the Output Steps. Specify the initial gear position for the analysis. Specify the target lateral acceleration that will be achieved at the start of the lift-off turn-in analysis.
For the option: Turn Radius Length Units Turn Direction Steering Delay Steering Ramp Throttle Delay
Do the following: Enter the turn radius (in length units) of the skidpad on which the vehicle will perform the analysis. Select the length units for the turn radius. Select a right or a left turn. Enter the time that is elapsed between the achievement of the desired lateral acceleration and the additional steering ramp input. Enter the rate at which the steering value will change; for example, 60 deg/s. Specify the delay of the throttle signal. The first mini-maneuver end condition is based on lateral acceleration. After the end of the minimaneuver, throttle lift-off takes place with the specified delay. Specify the duration of the throttle step signal. The throttle is stepped down to zero in the specified amount of time. Select it if you want ADA MS/Car to step the clutch signal to one (disengaged clutch) with the specified parameters of delay and step duration. Specify the delay of the clutch signal activation after the end of the steady-state cornering prephase maneuver. Specify the duration of the clutch step signal. The clutch signal is stepped down from zero to one (clutch disengaged) in the specified amount of time.
Throttle Step Duration Disengage Clutch during LiftOff Clutch Delay Clutch Step Duration
564 Adams/Car
Do the following: Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes
Adams/Car to perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: assembly, because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position). Entry Distance Enter a numerical value that defines the initial straight-line section of the analysis. From the pull-down menu, select the units that define the entry distance units. Enter a period of time during which the vehicle must maintain a steady-state condition. For example, if you selected a lateral acceleration of 0.5 g, the settle time would be the time where this acceleration must be maintained with a 2% tolerance before the end condition can be triggered. Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File.
Settle Time
Do the following: Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog
box.
If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Learn about Recording Comments. Construct road graphics from event user inputs.
566 Adams/Car
For the option: Full-Vehicle Assembly Input Road Data File Output Path File Name
Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Specify the road data file to be optimized. The file can be any of the .xml, .drd or .rdf format Specify the location and name for the optimized file which would be created by path optimization routine. The output file will always be in the .drd format irrespective of the format of input road data file Specify vehicle width in meters.
Corner Cutting Coefficient Specify Corner Cutting Coefficient. This value should be between 0 and 1. The default value is 1. Path Distance Weight Path Curvature Weight Maximum Iterations Path Calculation Precision Track/Path Width [m] Path Point Spacing [m] Specify Path Distance Weight. This value should be positive and the default value is 0.001. Specify Path Curvature Weight. This value should be positive and the default value is 1. Specify Maximum number of Iterations. The default value is 500. Specify Path Calculation Precision. The default value is 0.001. Specify Track/Path width in meters. The default value is 10.0 meters. Specify Patch point spacing in meters. The default value is 5 meters.
Runs a Power-off Cornering Analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _poc to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_poc. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Simulation Mode
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes Import and visualize road graphics from file.
Specify the size of the Output Steps. Adams/Car calculates the total number of steps as total_end_time/output_step_size.
568 Adams/Car
Do the following: Specify the initial transmission gear for the analysis. The powertrain subsystem uses this parameter that generally acts as a gain for the throttle-demand output from the cruise control. Adams/Car stores the gear ratios in the powertrain subsystem.
Enter the lateral acceleration of the vehicle achieved at the end of the cornering pre-phase. Enter the radius of the circular path. Select the length units for the turn radius. Select either of the following:
Lock steering during power-off - Instructs the Driving Machine
controller to maintain the steering angle from the previous minimaneuver. Use this option to understand the vehicle trajectory during the power-off event, if the driver were to lock the steering wheel.
Maintain radius during power-off - Instructs the Driving
Machine controller to maintain the desired radius. Use this option to investigate the driver activity required to maintain a path. Values of interest typically include the steering-wheel angle, steering-wheel torque, yaw rate, and roll angle. Turn Direction Disengage Clutch during Power-Off Throttle Delay Select a right or a left turn. Select it if you want Adams/Car to step the clutch signal to one (disengaged clutch) with the specified parameters of delay and step duration. Specify the delay of the throttle signal. The first mini-maneuver is time based and has an end time of 10 seconds. Adams/Car performs an intermediate mini-maneuver to ensure the steady-state condition. After the second steady-state maneuver, a throttle power-off takes place with the specified delay. Specify the duration of the throttle step signal. The throttle is stepped down to zero in the specified amount of time. Specify the delay of the clutch-signal activation after the end of the steady-state maneuver. Specify the duration of the clutch-step signal. The clutch signal is stepped down from zero to one (clutch disengaged) in the specified amount of time.
Do the following: Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes
perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: assembly, because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position). Entry Distance Enter a numerical value that defines the initial straight-line section of the analysis. From the pull-down menu, select the units that define the entry distance units. Enter a period of time during which the vehicle must maintain a steadystate condition. For example, if you selected a lateral acceleration of 0.5 g, the settle time would be the time where this acceleration must be maintained with a 2% tolerance before the end condition can be triggered. Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File.
Settle Time
570 Adams/Car
Do the following: Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Learn about Recording Comments. Construct road graphics from event user inputs.
Runs a Power-off Straight Line Analysis. For the option: Do the following:
Full-Vehicle Assembly Select the Full-Vehicle Assembly you want to analyze. The menu lists all fullvehicle assemblies currently open in your session. Output Prefix Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _pos to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_pos. Specify the time, in seconds, at which the analysis ends. Specify the size of the Output Steps. Adams/Car calculates total number of steps as total_end_time/output_step_size. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes Import and visualize road graphics from file.
Initial Velocity
Enter the initial speed of the vehicle in the units specified in the pull-down menu to the right of the Initial Velocity text box.
572 Adams/Car
Do the following: Enter the duration of the initial-set pre-phase. The second mini-maneuver starts after the start time has elapsed. Specify the initial transmission gear for the analysis. The powertrain subsystem uses this parameter that generally acts as a gain for the throttledemand output from the longitudinal controllers. Adams/Car stores the gear ratios in the powertrain subsystem.
open-loop steering controller. If you set Straight Line Control to No, Adams/Car enables the following option: SWA Disengage Clutch during Power-Off Specify the steering-wheel angle (in degrees) for the open-loop steering controller. Select it if you want ADA MS/Car to operate the clutch with a specified delay and step duration as soon as the power-off maneuver starts. If you do not select it, Adams/Car doesn't releases the clutch during the power-off minimaneuver. Specify the amount of time between the end of the first mini-maneuver and the actual power-off.
Throttle Delay
Throttle Step Duration Specify the duration of the throttle step signal. The throttle is stepped down to zero in the specified amount of time. Clutch Delay Specify the amount of time between the end of the first mini-maneuver and the actuation of the clutch signal.
Do the following: Specify the duration of the clutch step signal. The clutch signal is stepped down from zero to one (clutch disengaged) in the specified amount of time. Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes Adams/Car to
perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position). Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Learn about Recording Comments. Construct road graphics from event user inputs.
574 Adams/Car
Full-Vehicle Assembly Select the Full-Vehicle Assembly you want to analyze. The menu lists all fullvehicle assemblies currently open in your session. Output Prefix Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _ramp to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_ramp. Specify the time, in seconds, at which the analysis ends. Specify the number of Output Steps. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes Import and visualize road graphics from file.
Initial Velocity
Enter the initial speed of the vehicle in the units specified in the pull-down menu to the right of the Initial Velocity text box.
Do the following: Specify the initial transmission gear for the analysis. The powertrain subsystem uses this parameter that generally acts as a gain for the throttledemand output from the cruise control. The gear remains constant for the entire maneuver, regardless of the selection for the Cruise Control. Adams/Car stores the gear ratios in the powertrain subsystem.
Ramp
Enter the rate at which the steering value will change. The units for this parameter are consistent with the selected Steering Input. If you selected Angle and the model units are degrees and seconds, the ramp will be expressed in degrees/sec. Specify the time at which the ramp steer will begin. Select one of the following:
Force - Indicates that the steering inputs are forces applied to the
steering wheel.
Angle - Indicates that the steering inputs are steering wheel angular
displacements.
Length - Indicates that the steering inputs are rack displacements.
Cruise Control
Select if you want Adams/Car to try to maintain the specified Initial Velocity throughout the analysis, using the longitudinal controller inside the Driving Machine. Learn about Using the Driving Machine. To use this controller, your assembly must contain a powertrain subsystem.
576 Adams/Car
Do the following: Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes Adams/Car to
perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position). Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Runs steady-state maneuvers on a Full-Vehicle Assembly. For the option: Full Vehicle Assembly Body Part Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Select the body part. This is usually the chassis rigid body part. Adams/Car creates a primitive joint of type inline and a primitive joint of type perpendicular between this part and ground. Learn About Joint Primitives. Select the hardpoint (see Hardpoints) or construction frame (see Construction Frames) that identifies the left front wheel-center position. Select the upright part. Adams/Car creates a joint primitive of type perpendicular between this part and the suspension hub. Select the suspension hub part. Adams/Car creates a joint primitive of type perpendicular between this part and the suspension upright. Select the hardpoint or construction frame that identifies the left rear wheel-center position. Select the rear suspension upright part. Adams/Car creates a joint primitive of type perpendicular between this part and the suspension hub. Select the rear suspension hub part. Adams/Car creates a joint primitive of type perpendicular between this part and the suspension upright. Select the left front wheel. Adams/Car references this element in the control array associated with the steady-state cornering CONSUB. For information on CONSUB, see Welcome to Adams/Solver Subroutines. Select the left rear wheel. Adams/Car references this element in the control array associated with the steady-state cornering CONSUB. Select the steering wheel revolute joint. Enter the powertrain left drive torque. This entity usually corresponds to the rotational actuator created on the left differential revolute joint and acting between the left differential output part and the powertrain part. Enter the powertrain right drive torque. This entity usually corresponds to the rotational actuator created on the right differential revolute joint and acting between the right differential output part and the powertrain part. Select the left powertrain data element variable that specifies the drive torque. Select the right powertrain data element variable that specifies the drive torque.
Left Front Wheel Center Left Front Susp Upright Left Front Susp Hub Left Rear Wheel Center Left Rear Susp Upright Left Rear Susp Hub Left Front Wheel
578 Adams/Car
The Driving Machine, when operating in closed-loop mode, must know a series of vehicle-specific parameters to correctly scale the output values. For the option: Full-Vehicle Assembly Steering Ratio Do the following: Select the assembly for which you want to set parameters. Enter the dimensionless ratio between the steering wheel angle and the road wheel angle. You can obtain this value by running a steering analysis on the front suspension and steering assembly. Enter the rack ratio (angle/length) between the steering hand wheel and the rack displacement expressed in SI units. This parameter influences the response of the controller only when driving by force/displacement. Enter the maximum torque, expressed in model units, representing the torque generated for the front axle under maximum brake demand, also expressed in model units. Enter the maximum torque, expressed in model units, representing the torque generated for the rear axle under maximum brake demand, also expressed in model units. Enter the front-to-rear dimensionless ratio. Brake bias can be computed as Max Front Brake Torque / (Max Front Brake Torque + Max Rear Brake Torque).
Rack Ratio
Runs a Single Lane-Change Analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _sin to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_sin. Specify the time, in seconds, at which the analysis ends. Specify the number of Output Steps. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes. Import and visualize road graphics from file.
Initial Velocity
Enter the initial speed of the vehicle in the units specified in the pulldown menu to the right of the Initial Velocity text box.
580 Adams/Car
Do the following: Specify the initial transmission gear for the analysis. The powertrain subsystem uses this parameter that generally acts as a gain for the throttle-demand output from the cruise control. The gear remains constant for the entire maneuver, regardless of the selection for the Cruise Control. Adams/Car stores the gear ratios in the powertrain subsystem.
Enter the peak steer value of the steering input. The maximum steer occurs at (start_value+cycle_length)/4; the minimum steer value occurs at (start_value+cycle_length)*3/4. Enter a real value that specifies the time at which the maneuver is to start. Enter the duration of the sinusoidal cycle.
angular displacements.
Length - Indicates that the steering inputs are rack
displacements.
582 Adams/Car
Do the following: Select if you want Adams/Car to try to maintain the specified Initial Velocity throughout the analysis, using the longitudinal controller inside the Driving Machine. Learn about Using the Driving Machine. To use this controller, your assembly must contain a powertrain subsystem.
Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes
perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: assembly, because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position). Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Runs a SmartDriver analysis. Learn more about Adams/SmartDriver. For the option: Tips on Entering File Names in Text Boxes. Full-Vehicle Assembly Output Prefix Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _smo to form the complete analysis output name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_smo. Specify the time, in seconds, at which the analysis ends. Specify the number of Output Steps. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only. Course Type Select one of the following:
Driver Course 3D Road
Do the following:
If you set Course Type to Driver Course, Adams/Car displays the following options: Road Data File Select a road data file (*.rdf) used by the tire subsystem. Import and visualize road graphics from file.
584 Adams/Car
Do the following: Edit road / path file in road builder or text editor.
Select a course data file (*.drd) whose centerline defines the path that your vehicle will attempt to follow. Superimpose path graphics on road.
View the specified course data file in the info window or text editor.
If you set Course Type to 3D Road, Adams/Car displays the following option: 3D Road Data File Select a 3D road data file. The extension is the same as that of other road data files, but its content is different: it contains information about the road's three-dimensional profile and it is used by the steering controller. For more information, see Road Models in Adams/Tire. Import and visualize the specified road data file.
View the specified road data file in the info window or text editor.
Do the following: Edit the specified road data file in the road builder or text editor.
Enter the initial speed of the vehicle in the units specified in the pulldown menu to the right of the Initial Velocity text box. Specify the initial transmission gear for the analysis. The powertrain subsystem uses this parameter that generally acts as a gain for the throttle-demand output from the cruise control. Adams/Car stores the gear ratios in the powertrain subsystem.
the maximum performance for the given path. The process consists of three distinct phases:
Computation of velocity profile during quasi-static
analysis
Dynamic analysis with internal simplified model Feasibility verification on the whole path
If the feasibility verification fails, the internal controller is instructed to take into account the limitations, and the process is repeated until the verification is successful on the entire path.
User Defined - Similar to the Vehicle Limits option, except
that the computer maximum performance accelerations are scaled with the percentage indexes for longitudinal (driving and braking) and lateral (right and turn and left hand turn). If you set Smart Driver Task to User Defined, Adams/Car displays the following options: Max Driving Acceleration Max Braking Acceleration Max RH Turn Acceleration Max LH Turn Acceleration Real value [0,100] multiplies the maximum driving longitudinal acceleration to obtain the corresponding limit acceleration. Real value [0,100] multiplies the maximum braking longitudinal acceleration to obtain the corresponding limit acceleration. Real value [0,100] multiplies the maximum right hand turn lateral acceleration to obtain the corresponding limit acceleration. Real value [0,100] multiplies the maximum left hand turn lateral acceleration to obtain the corresponding limit acceleration.
586 Adams/Car
Do the following:
Quasi-Static Straight-Line Setup Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes
Adams/Car to perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: assembly, because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position). Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog
box.
If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Runs a Static Equilibrium analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _static to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_static. Select interactive, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Files_only. Static Set-Up Select the desired static setup method to be performed. This method is used to set up the vehicle in the desired initial conditions of lateral and longitudinal accelerations. See Structure of Event Files to learn about the following options.
None Normal Settle Straight Skidpad Road Data File
Simulation Mode
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes. Import and visualize road graphics from file.
588 Adams/Car
Gear Position
Specify the transmission gear for the analysis. The powertrain subsystem uses this parameter that generally acts as a gain for the throttle-demand output from the cruise control. Adams/Car stores the gear ratios in the powertrain subsystem.
Longitudinal Velocity Longitudinal Acceleration Lateral Acceleration Acceleration Units Turn Radius Perform Linear
Enter the speed of the vehicle in the units specified in the pull-down menu to the right of the Longitudinal Velocity text box. Enter the longitudinal acceleration. Enter the lateral acceleration. Select the acceleration units from the pull down menu. Enter the turn radius (in length units) of the skidpad on which the vehicle will perform the analysis. Select if you want to perform a linearization after each individual static equilibrium analysis. If this is selected you can either include or not include the damping by selecting the appropriate option. Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Runs a Step Steer Analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _step to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_step. Specify the time, in seconds, at which the analysis ends. Specify the number of Output Steps. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes. Import and visualize road graphics from file.
Initial Velocity
Enter the initial speed of the vehicle in the units specified in the pull-down menu to the right of the Initial Velocity text box.
590 Adams/Car
Do the following: Specify the initial transmission gear for the analysis. The powertrain subsystem uses this parameter that generally acts as a gain for the throttledemand output from the cruise control. The gear remains constant for the entire maneuver, regardless of the selection for the Cruise Control. Adams/Car stores the gear ratios in the powertrain subsystem.
Final Steer Value Step Start Time Duration of Step Steering Input
Enter a final steer value for the steering input. Maximum steer occurs at time start_value + duration. Enter a real value that specifies the time at which the maneuver is to start. Specify the time duration over which the steering input changes from the initial value to the final value. Select one of the following:
Force - Indicates that the steering inputs are forces applied to the
steering wheel.
Angle - Indicates that the steering inputs are steering wheel angular
displacements.
Length - Indicates that the steering inputs are rack displacements.
Cruise Control
Select if you want Adams/Car to try to maintain the specified Initial Velocity throughout the analysis, using the longitudinal controller inside the Driving Machine. Learn about Using the Driving Machine. To use this controller, your assembly must contain a powertrain subsystem.
Do the following: Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes Adams/Car
perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position). Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
592 Adams/Car
Full-Vehicle Assembly Select the Full-Vehicle Assembly you want to analyze. The menu lists all fullvehicle assemblies currently open in your session. Output Prefix Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _swept to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_swept. Specify the time, in seconds, at which the analysis ends. Specify the number of Output Steps. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes. Import and visualize road graphics from file.
Initial Velocity
Enter the initial speed of the vehicle in the units specified in the pull-down menu to the right of the Initial Velocity text box.
Do the following: Specify the initial transmission gear for the analysis. The powertrain subsystem uses this parameter that generally acts as a gain for the throttledemand output from the cruise control. The gear remains constant for the entire maneuver, regardless of the selection for the Cruise Control. Adams/Car stores the gear ratios in the powertrain subsystem.
Maximum Steer Value Enter maximum allowable steer value of the steering input. Initial Frequency Maximum Frequency Frequency Rate Start Time Steering Input Enter the initial frequency of the steering input. The frequency can be described as the number of cycles per unit time. Enter the maximum allowable frequency of the steering input. Enter the rate of change of the frequency as a function of time. Enter a real value that specifies the time at which the maneuver is to start. Select one of the following:
Force - Indicates that the steering inputs are forces applied to the rack
steering wheel.
Angle - Indicates that the steering inputs are steering wheel angular
displacements.
Length - Indicates that the steering inputs are rack displacements.
Cruise Control
Select if you want Adams/Car to try to maintain the specified Initial Velocity throughout the analysis, using the longitudinal controller inside the Driving Machine. Learn about Using the Driving Machine. To use this controller, your assembly must contain a powertrain subsystem.
594 Adams/Car
Do the following: Select to perform a quasi-static prephase analysis before running the transient analysis on your full-vehicle assemblies.
For all cornering analyses, selecting this option causes Adams/Car to
perform a STRAIGHT (sometimes called ClearVision adjustment) analysis. If you do not select this option, Adams/Car performs a SETTLE analysis. For more information about the different quasi-static setup method keywords (such as SETTLE and STRAIGHT), see Structure of Event Files. Note: You cannot select the Quasi-Static Setup option if: because it is not possible to set the initial condition for the longitudinal or the lateral dynamics (throttle position). Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Full-Vehicle Assembly Select the Full-Vehicle Assembly you want to analyze. The menu lists all fullvehicle assemblies currently open in your session that reference the Tilt Table testrig. Note: Output Prefix
Assembly dialog box.
Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _tilt to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_tilt. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Mode of Simulation
Simulation Type Output Step Size Tilt rate (angle/time) Maximum Angle Force Sensor Threshold Create Analysis Log File Move Right Side
Select Static or Dynamic to specify the type of simulation. Specify the size of the Output Steps. Enter the tilt tables angular velocity. Enter the tilt angle at which to stop the simulation. Enter the minimum tire force at which to stop the simulation. Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select Up or Down to specify the direction of tilt.
596 Adams/Car
Generates a loadcase file and stores it in the Default Writable Database. Learn about loadcase files at Setting up Suspension Analyses. For the option: Select Loadcase Type Do the following: Select the type of suspension Analysis that the loadcase file will represent:
Wheel Travel Steering Static Load Roll & Vert. Force
The dialog box changes as you select the different types of analyses. The following options are common to all types of loadcase files for suspension analyses: Number of steps File Name Enter the number of steps. Enter a name for the loadcase file.
After you fill in the dialog box and select OK, Adams/Car creates a loadcase file with the extension .lcf, and places it in the default writable database. You can then submit a suspension analysis and use the loadcase file you just created. Note:
Adams/Car writes all the information used to generate a loadcase file in the DATA block of the file itself.
User can view/open an actuation input map file or create one using actuator data from a valid assembly. For the option: Actuation Assembly Actuation Input File Select an assembly. Select the input file to be imported (extension .aci or .gds) Do the following:
Notes:
It is not necessary to have any valid active assemblies open in a session, in order to
view an existing actuation input file. Select the desired file and click on the button with a magnifying glass, in order to show the file.
If a valid assembly is open in the session, then the verify functionality is available, by
which the user can compare the actuator data in an assembly, with that in the file. The comparison reports actuators present in the file that are absent in the assembly as well as incorrect roles set for the actuator, if any.
598 Adams/Car
Valid assembly can be opened and the actuator settings can be changed manually for each desired actuator. For the option: Actuation Assembly Applications to Save Select an assembly. Select the contents actuation input files to be exported based on the application area strings defined in the actuator objects. The option menu values correspond to the actuators found in the selected assembly. Select the actuation file name. The field is pre-set with the assembly name + the default extension ".aci". Target Info
Database: Select from the list of registered databases. Directory: Use the Select button to browse to the target directory.
Do the following:
The table like interface provides the user with an easy way of looking at a list of actuators at once and activating/deactivating an entire selection. For the option: Actuation Assembly Show Application Select an assembly. Filter the contents of the table based on the application area strings defined in the actuator objects. The option menu values correspond to the actuators found in the selected assembly. The table list can be sorted by the following attributes to make it easier to locate and edit the desired actuator(s):
actuator name activity application identifier
Do the following:
Sort by
The sort can be done in ascending or descending order. List of actuators Attributes Activate Selection De-activate Selection Edit selection in wizard Displays the actuators in the current assembly. The read-only columns Active, Application, Identifier and Function Expressions provide an overview of the current actuator definitions. Allows activating and de-activating individual or multiple actuators by selecting the corresponding row(s) and hitting the appropriate button. Use the <Ctrl> button to select multiple rows. Allows editing individual actuators by selecting the corresponding row and switching to the actuator wizard layout. If multiple rows are selected upon pressing this button, the data for the first selected row will be used to open the wizard.
600 Adams/Car
The user is provided with the option of using a wizard of a tabular interface for editing actuator data. For the option: Actuation Assembly Actuator Scale Factor Offset Input Type Select an assembly. Select the actuator to be modified. Enter a real number to scale the channel data or function expression. Enter a real number to offset the channel data or function expression. Select whether to use RPC file data or a function expression as actuator input. Enter the runtime function expression that will define the actuator. Expressions for motion actuators should be functions of time. Select to use the Function Builder to define the function. For information on the Function or Expression Builder, see Function Builder.
Do the following:
If you select Runtime Function following options available: Runtime Function Expression
If you select RPC file following options available RPC Input file RPC Channel Enter the name of the RPC file containing the input data. Set the channel from which to take the data. This option is for use with time response data in RPC III files only. For more information, see Adams/Durability online help. Enter a real number to define the time offset for the RPC data channel. Switches from the Wizard to the Actuator Table widget.
The request map editor allows the user to work with (view or edit) requests that are defined in the database or import a request map file and edit the requests defined there. For the option: Actuation Assembly All Definition Browse Import Clear Table Sort by Select an assembly. Populates the table with all requests found in the assembly. Populates the table with all entries from the assemblies map definition. Appends requests to the table as selected in the database navigator Populates the table with requests imported from the specified request map file (but will not load it) It will clear the contents in the table. The table list can be sorted by the following attributes to make it easier to locate and edit the desired request(s):
request name components major role minor role
Do the following:
The sort can be done in ascending or descending order. Edit Mode Select to switch the table list from read-only to edit mode (and vice versa). In edit mode, you can add or remove request definitions from the table and modify Components, Major and Minor role attributes. Request Map File Name Target Enter the name of the request map file to be exported.
Database: User can select to display all browse for a set of requests
from the assembly to select (Using the All and Browse buttons respectively).
Directory
Display information on currently registered and active databases. Applies the contents of the table to the requests in the selected assembly.
Save to Request Map File Saves a Request Map File to the selected database or directory containing the request map definition as defined in the table. This operation will not change the current model settings.
602 Adams/Car
Do the following: Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _act to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_act. Specify the time, in seconds, at which the analysis ends. Specify the number of Output Steps. Specify the output step size in seconds. Specify the output step frequency in hertz. Select file (extension .aci or .gds) defining the functions of the actuators in the assembly used as inputs for the simulation. (optional) Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
End Time Number of Steps Step Size [s] Frequency [Hz] Actuation Input File Mode of Simulation
Provide a map file specifying which requests are written to RPC file (optional) Select which output files will be generated by the general actuation analysis.
Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Controls the conceptual suspension spring/damper force elements. For the option: Tips on Entering Object Names in Text Boxes. Spring Property File Spring Preload Specify the property file that contains the force-deflection relationship for the spring. See Property Files. Specify the desired preload for the spring. Do the following:
Damper Property File Specify the property file containing the force-velocity relationship for the damper.
604 Adams/Car
Modify Gear
Modify Gear
(Standard Interface) Right-click component Modify
Do the following: Enter the Database name of a gear whose reduction ratio you want to modify. Tips on Entering Object Names in Text Boxes.
Reduction Ratio
Enter the real value to be used for the reduction ratio in the following motion equations: Differential gear "input motion" = "reduction_ratio" * ("output motion 1" - "output motion 2")/2 Reduction gear "input motion" = "reduction_ratio" * "output motion"
Symmetric
When you modify a single component, this option is disabled because a single component is by nature asymmetric. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Creates a new full-vehicle assembly from the specified subsystems. See Assemblies. For the option: Tips on Entering File Names in Text Boxes. Assembly Name Front Susp Subsystem Rear Susp Subsystem Steering Subsystem Front Wheel Subsystem Rear Wheel Subsystem Body Subsystem Enter a name for the assembly. Do one of the following:
To search/browse for a subsystem from the database,
Do the following:
select
is replaced by a pull-down menu from which you can select a subsystem. Powertrain Subsystem If you want to include a powertrain subsystem in your assembly, select the toggle to the left of the text box. Then, do one of the following:
To search/browse for a subsystem from the database,
select . The icon changes to and the text box is replaced by a pull-down menu from which you can select a subsystem.
606 Adams/Car
Do the following: If you want to include a brake subsystem in your assembly, select the toggle to the left of the text box. Then, do one of the following:
To search/browse for a subsystem from the database,
select .
is replaced by a pull-down menu from which you can select a subsystem. Other Subsystems If you want to include additional subsystems in your assembly, such as anti-roll bars or road graphics, select the toggle to the left of the text box.
- Right-click the text box and then search/browse for a subsystem from the database.
- Right-click the text box and then select a subsystem open in the current session.
From the pull-down menu, select the Test Rig you want to use in your assembly. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog
box.
If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Creates a new suspension assembly from the specified subsystems. See Assemblies and Subsystems. For the option: Tips on Entering File Names in Text Boxes. Assembly Name Suspension Subsystem Enter a name for the assembly. Do one of the following:
To search/browse for a subsystem from the database, right-click the text
Do the following:
box next to .
To select a subsystem that is open in the current session, select .
menu from which you can select a subsystem. If you want to include a steering subsystem in your assembly, select the toggle to the left of the text box. Then, do one of the following:
To search/browse for a subsystem from the database, right-click the text
box next to .
menu from which you can select a subsystem. Other Subsystems If you want to include additional subsystems in your assembly, such as anti-roll bar, select the toggle to the left of the text box.
- Right-click the text box and then search/browse for a subsystem from the database. - Right-click the text box and then select a subsystem open in the current session.
608 Adams/Car
Do the following: From the pull-down menu, select the test rig you want to use in your assembly. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Defines a group of parts which should not have any initial translational velocity automatically set during analysis setup. The standard behavior for Adams/Car is to set the initial velocity of any part to the vehicle speed in the global X-direction, and 0 (zero) in the global Y- and Z-directions. If a rotating part does not have it's Center of Mass marker on the rotational axis, then the initial velocity of this part will be overwritten by the default behavior. The same happens to pistons, conrods, and so on which not only travel with the vehicle, but also in other global directions, and should have their initial velocity set accordingly. Including the part, in the No Initial Velocity group avoids this problem. For the option: Template Name Part names Do the following: Select the Template in which to modify the No Initial Velocity group. Enter all parts that should be included in the No Initial Velocity group.
610 Adams/Car
Runs an Opposite Wheel-Travel Analysis. For the option: Suspension Assembly Output Prefix Do the following: Select the Suspension Assembly you want to analyze. The menu lists all suspension assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _opposite_travel to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_opposite_travel. Enter a value that corresponds to the number of Solution Steps from the lower bounds to the upper bounds of input. For example, if you specify 10 steps and -100 mm rebound and 100 mm jounce, Adams/Car temporarily creates a loadcase file that contains left vertical wheel displacement inputs of -100, -60, -20, 20, 60, and 100 mm and right vertical wheel displacement inputs of 100, 60, 20, -20, -60, and 100 mm as shown next:
Number of Steps
Mode of Simulation
Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Specifies the vertical control method at time=0. This feature allows you to set the vertical mode method at the setup phase (time=0) and at the simulation phase. This is important when correlating with the test data to exactly simulate the real world scenario for the initial condition setup. Enter a real value that fixes the upper limit of wheel-center displacement relative to the input position. A positive value moves the wheel center upward. Enter a real value that fixes the lower limit of wheel-center displacement relative to the input position. A positive value moves the wheel center upward.
Bump Travel
Rebound Travel
and the road. Control Mode Specifies how the vertical displacement is controlled.
Absolute - vertical displacement is controlled with absolute
displacement value
Relative - vertical displacement is controlled with displacement
relative to the position at setup phase. Fixed Steer Position (optional) Enter a real value that fixes either the rack displacement or the steering wheel, depending on the steering input mode you selected:
If Steering Input = Length, Adams/Car fixes the rack displacement
the value you specified. Steering Input Select one of the following:
Angle - The steering input is an angle applied to the steering
wheel.
Length - The steering input is a length travel applied to the rack.
Coordinate System
The icon shows the difference between the vehicle and iso coordinate systems.
612 Adams/Car
Do the following: Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Runs a Quasi-Static Constant-Radius Cornering Analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _ssc to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_ssc. Specify the number of Output Steps. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes. Import and visualize road graphics from file.
614 Adams/Car
Do the following: Enter the turn radius (in the units specified in the pull-down menu to the right of the Turn Radius text box) of the skidpad on which the vehicle will perform the maneuver. Enter the longitudinal acceleration to be maintained throughout the maneuver. Enter the desired longitudinal acceleration in g's, where 1 g is approximately 9.81 mls2. Typical vehicles can accelerate anywhere between 0.2 and 0.5 g's. Select one of the following:
throttle off - The powertrain torque is applied to slow
If you assign a negative value to Desired Long Acc, Adams/Car enables the following option: Deceleration Method
vehicle. Final Lateral Accel (G's) The final lateral acceleration to be reached. Reaching this lateral acceleration signals the end of the maneuver. Enter the desired longitudinal acceleration in g's, where 1 g is approximately 9.81 mls2. The test will ramp the lateral acceleration between 0 and the target lateral acceleration. Typical vehicles can reach a lateral acceleration between 0.4 and 1.0 g.
Positive value = right hand turn Negative value = left hand turn
Bank Angle
Do the following: Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog
box.
If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
616 Adams/Car
Runs a Quasi-Static Constant-Velocity Cornering Analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _sss to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_sss. Specify the number of Output Steps. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes. Import and visualize road graphics from file.
Do the following: Specify the vehicle longitudinal velocity, in the units specified in the pulldown menu to the right of the Desired Velocity text box. The turn radius is computed as follows: Lat Acc = Long Velocity**2 / Radius
Enter a longitudinal acceleration. Adams/Car performs the analysis at the specified longitudinal G level. Enter the desired longitudinal acceleration in G's, where 1 G is approximately 9.81 m/s2. Typical vehicles can accelerate anywhere between 0.2 and 0.5 G's.
positive value = acceleration negative value = deceleration
Specify the transmission gear for the analysis. The gear is held constant throughout the analysis. Enter the final lateral acceleration to be reached in G's, where 1 G is approximately 9.81 m/s2. Reaching this lateral acceleration signals the end of the maneuver. The test will ramp the lateral acceleration between 0 and the target lateral acceleration. Typical vehicles can reach a lateral acceleration between 0.4 and 1.0 G.
positive value = right hand turn negative value = left hand turn
Bank Angle
Enter the bank angle in degrees, with the default being zero.
positive value = road banks into corner (that is, outside of turn is
is, inside of turn is higher than outside of turn). Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
618 Adams/Car
Note:
Runs a series of Quasi-Static Force-Moment Analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _mmm to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_mmm. Specify the number of Output Steps. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes. Import and visualize road graphics from file.
620 Adams/Car
Do the following: Specify the velocity of the vehicle during the acceleration test. The velocity should match the units specified in the units pull-down menu. This velocity will be held constant during the quasi-static acceleration analysis. Enter the initial value of the vehicle side-slip angle. A typical value is zero. Enter the final value of the vehicle side-slip angle.
Number of Side Slip Steps Enter the number of side-slip steps. This value corresponds to the number of Solution Steps from the initial side-slip angle to the final side-slip angle. For example, if you specify five solution steps, 0 degrees as the initial side-slip angle, and 10 degrees as the final angle, Adams/Car performs six quasi-static analyses, corresponding to the following side slip angles: 0, 2, 4, 6, 8, and 10. Steering Amplitude Steering Cycle Duration Enter the angle amplitude of the steering wheel. The steering-wheel angle will be a sinusoidal signal with the specified amplitude. Enter the duration of each side-slip angle analysis. The sinusoidal steering-wheel signal will sweep an entire cycle within the specified duration. Specify the vehicle longitudinal velocity in the units specified in the pulldown menu to the right of the Longitudinal Velocity text box. Specify the transmission gear for the analysis. The gear is held constant throughout the analysis. Enter the bank angle in degrees, with default being zero.
positive value - Road banks into corner (that is, outside of turn is
Do the following: Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
622 Adams/Car
Runs a Quasi-Static Straight-Line Acceleration Analysis. For the option: Full-Vehicle Assembly Output Prefix Do the following: Select the Full-Vehicle Assembly you want to analyze. The menu lists all full-vehicle assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _ssa to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_ssa. Specify the number of Output Steps Select interactive, background or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only.
Road Data File
Enter the name of a file that contains road data information. The tire subsystems use this information to calculate the tire/road interaction forces. Tips on Entering File Names in Text Boxes. Import and visualize road graphics from file.
Desired Velocity
Specify the velocity of the vehicle during the acceleration test. The velocity should match the units specified in the units pull-down menu. This velocity will be held constant during the quasi-static acceleration analysis.
Do the following: Enter the desired longitudinal acceleration in G's, where 1 G is approximately 9.81 m/s2. Typical vehicles can accelerate anywhere between 0.2 and 0.5 G's.
positive value = acceleration negative value = deceleration
If the Longitudinal Accel text box contains a value that is less than 0, Adams/Car enables the following option: Deceleration Method Select one of the following:
throttle off - The powertrain torque is applied to slow down the
vehicle.
braking - Braking forces are applied to slow down the vehicle.
Specify the transmission gear for the analysis. The gear is held constant throughout the analysis. Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Learn about Recording Comments. Construct road graphics from event user inputs.
624 Adams/Car
Sets the Toe and Camber angles for a suspension template. For the option: Toe Angles Camber Angles Do the following: Enter the toe angles for the left and right side of the vehicle. Enter the camber angles for the left and right side of the vehicle.
Sets the Toe and Camber angles for a suspension template. At the design position of a vehicle, a suspension may have nonzero values of toe and/or camber. You must communicate these values to the wheels so they inherit the camber and toe angles from the suspension. Here you set the design-position values of toe and camber, after which Adams/Car automatically creates Parameter Variables and Communicators which you can then access to orient wheels or other entities. For the option: Toe Angles Camber Angles Do the following: Enter the toe angles for the left and right side of the vehicle. Enter the camber angles for the left and right side of the vehicle.
626 Adams/Car
Allows you to specify different Road Data Files for individual wheels, to specify different friction parameters or different wheel inputs. For the option: Wheel Select a wheel. Tips on Entering Object Names in Text Boxes.
Road Data File
Do the following:
Select the road data file you want to use. Tips on Entering File Names in Text Boxes.
Select if you want to use the default road data file that Adams/Car automatically displays in the Road Data File text box above.
Runs a Single Wheel-Travel Analysis. For the option: Suspension Assembly Output Prefix Do the following: Select the Suspension Assembly you want to analyze. The menu lists all suspension assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _single_travel to form the complete Analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_single_travel. Enter a value that corresponds to the number of Solution Steps from the lower bounds to the upper bounds of input. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only. Vertical Setup Mode Specifies the vertical control method at time=0. This feature allows you to set the vertical mode method at the setup phase (time=0) and at the simulation phase. This is important when correlating with the test data to exactly simulate the real world scenario for the initial condition setup. Enter a real value that fixes the upper limit of wheel-center displacement relative to the input position. A positive value moves the wheel center upward. Enter a real value that fixes the lower limit of wheel-center displacement relative to the input position. A positive value moves the wheel center upward. Select one of the following:
Left - The value in the Fixed Wheel Center text box value fixes the
Bump Travel
Rebound Travel
Side
right wheel.
Right - The value in the Fixed Wheel Center text box value fixes
the left wheel. Fixed Wheel Center Enter a real value that fixes the opposite wheel-center vertical displacement. For example, if you choose set Side to Left and enter 50 mm in this text box, Adams/Car fixes the right side wheel-center vertical wheel center as 50 mm above design position, and moves the left wheel from the lower to the upper bound.
628 Adams/Car
and the road. Control Mode Specifies how the vertical displacement is controlled.
Absolute - vertical displacement is controlled with absolute
displacement value
Relative - vertical displacement is controlled with displacement
relative to the position at setup phase. Fixed Steer Position Enter a real value that fixes either the rack displacement or the steering wheel, depending on the selected steering input mode:
Steering Input = Length, Adams/Car fixes the rack displacement
wheel.
Length - The steering input is a length travel applied to the rack.
Coordinate System
The icon shows the difference between the vehicle and iso coordinate systems.
Do the following: Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
630 Adams/Car
Runs a Dynamic analysis For the option: Suspension Assembly Output Prefix Do the following: Select the Suspension Assembly you want to analyze. The menu lists all suspension assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _dynamic to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_dynamic. Specify the amount of time over which you want the simulation to run. Enter an integer value that corresponds to the number of Solution Steps for the duration of your analysis. For example, if you specify 500 solution steps for duration of 5.0 seconds, your output step size will be 0.01 seconds. Mode of Simulation Select interactive, graphical, background, or files only . See Mode of Simulation: Interactive, Mode of Simulation: Graphical, Mode of Simulation: Background, Mode of Simulation: Files_only. Vertical Input Select the type of input you want to specify for the vertical jacks, arbitrary functions or RPC3 File.
Left/Right Jack Function Enter the runtime function expression that will define the left/right vertical jack actuator motion or force. Typically the function expression will be a function of time, for example an impulse, a simple harmonic function or a frequency sweep. Select to use the Function Builder to define the runtime function expression for the jack input. Follow Function Builder for more information. Left/right File Name Left/Right Channel Number Zero Offset Jack Excitation Mode Enter the name of the RPC3 file. Enter an integer value that maps the RPC3 file channels to the desired input quantity. Select to offset the RPC3 data by subtracting the channels first date value from the array. Select displacement, velocity, acceleration or force.
Do the following: Enter values for the left and the right cornering force, applied at the contact patch. Enter values for the left and the right wheel that fix the upper bound and lower bound of the braking force applied between the test rig table and the wheels, at the tire contact patch. Positive braking force acts in the direction of the rear of the vehicle. This is in the negative direction of the ISO/Tydex coordinate system. Enter values for the traction force, applied at the wheel center. Enter values for the left and the right wheel that fix the upper bound and the lower bound of the aligning torques applied between ground and tire patches at the contact patches location. Enter values for the overturning torque. Enter values for the rolling resistance torque. Enter values for the damage force. Adams/Car applies damage forces perpendicularly to the plane containing the wheel part. They are expressed in the ISO-C (TYDEX C) axis system (for more information, see the Adams/Tire online help). Enter values for the left and right damage radius. The damage radius determines the position of the point of application of the damage forces:
A damage radius of 0 corresponds to damage forces applied
Damage Radius
directly at the wheel center (therefore, at the origin of the ISO-C (TYDEX C) axis system).
A damage radius of 100 mm corresponds to damage forces applied
to a point 100 mm in the negative z direction of the ISO-C (TYDEX C) axis system. Steering Excitation Mode Steering Motion Select displacement, velocity or acceleration. Enter the runtime function expression that will define the steering motion. Typically the function expression will be a function of time, for example an impulse, a simple harmonic function or a frequency sweep. Select to use the Function Builder to define the runtime function expression for the steering input. Follow Function Builder for more information. Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File.
632 Adams/Car
Do the following: Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog box. If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Runs Wheel-Travel Analyses. For the option: Suspension Assembly Output Prefix Do the following: Select the Suspension Assembly you want to analyze. The menu lists all suspension assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _parallel_travel to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_parallel_travel. Enter a value that corresponds to the number of Solution Steps from the lower bounds to the upper bounds of input. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only. Vertical Setup Mode Specifies the vertical control method at time=0. This feature allows you to set the vertical mode method at the setup phase (time=0) and at the simulation phase. This is important when correlating with the test data to exactly simulate the real world scenario for the initial condition setup. Enter a real value that fixes the upper limit of wheel-center displacement relative to the input position. A positive value moves the wheel center upward. Enter a real value that fixes the lower limit of wheel-center displacement relative to the input position. A positive value moves the wheel center upward. Select one of the following:
Wheel Center - Represents the center of the wheel. Contact Patch - Represents the point of contact between the
Bump Travel
Rebound Travel
Travel Relative To
634 Adams/Car
displacement value
Relative - vertical displacement is controlled with
displacement relative to the position at setup phase. Fixed Steer Position (optional) Enter a real value that fixes either the rack displacement or the steering wheel, depending on the steering input mode you selected:
If Steering Input = Length, Adams/Car fixes the rack
to the value you specified. Steering Input Select one of the following:
Angle - The steering input is an angle applied to the steering
wheel.
Length - The steering input is a length travel applied to the
rack. Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog
box.
If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Runs a Roll & Vertical Force Analysis. For the option: Suspension Assembly Output Prefix Do the following: Select the Suspension Assembly you want to analyze. The menu lists all suspension assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _roll_angle to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_roll_angle. Enter a value that corresponds to the number of Solution Steps from the lower bounds to the upper bounds of input. For example, if you specify five solution steps, -10 degree and 10 degree roll-angle sweep, the loadcase file that Adams/Car automatically generates will contain roll displacement inputs of -10, -6, -2, 2, 6, and 10 degrees. Mode of Simulation Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only. Vertical Setup Mode Specifies the vertical control method at time=0. This feature allows you to set the vertical mode method at the setup phase (time=0) and at the simulation phase. This is important when correlating with the test data to exactly simulate the real world scenario for the initial condition setup. Enter a real value that fixes the upper limit of roll angle displacement. The orientation of the tables measures the roll angle. A positive value causes the left test-rig wheel to be moved upward and the right test-rig wheel downward. Enter a real value that fixes the lower limit of roll angle displacement. The orientation of the tables measures the roll angle. A positive value causes the left test-rig wheel to be moved upward and the right test-rig wheel downward.
Force - (Total Vertical Force) you can select the total
Number of Steps
Vertical Mode
vertical force
Length - (Fixed vertical length) you can define the vertical
636 Adams/Car
Do the following: Enter a real value that specifies the total amount of vertical force available to the left and right actuators. The value represents the sum of the left and right wheel vertical forces measured by the test-rig tires. Enter a real value that fixes either the rack displacement or the steering wheel, depending on the steering input mode you selected:
If Steering Input = Length, Adams/Car fixes the rack
wheel to the value you specified. Steering Input Select one of the following:
Angle - The steering input is an angle applied to the steering
wheel.
Length - The steering input is a length travel applied to the
rack. Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog
box.
If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
Calculates suspension characteristics. You must set Suspension Parameters before you can run a suspension analysis. See Running Suspension Analyses. For the option: Suspension Assembly Tire Model Do the following: Select the Suspension Assembly you want to analyze. The menu lists all suspension assemblies currently open in your session. Select one of the following:
User Defined Property File
If you set Tire Model to User Defined, Adams/Car enables the following two options: Tire Unloaded Radius Tire Stiffness Enter a value for the unloaded radius. Enter a positive number that defines the tire stiffness at the input position of the suspension assembly. Enter a tire property file. Tips on Entering File Names in Text Boxes. Wheel Mass Sprung Mass CG Height Wheelbase Drive Ratio Enter a positive real number that defines the mass of the wheel part. Enter the mass of the vehicle supported by the suspensions. For most vehicles, the sprung mass is about 90% of the total unloaded vehicle mass. Enter a positive number for the vertical distance from the contact patch to the center of gravity (center of mass) of the sprung mass. Enter a positive number that describes the longitudinal distance between the front and rear wheel centers. Select a number that defines the percentage of the total driving force applied to the front wheels:
For a front suspension, use a setting of 100 to define a pure front-
If you set Tire Model to Property File, Adams/Car enables the following option: Tire Property File
60.
638 Adams/Car
Do the following: Select the percentage of the total braking force applied to the front wheels. The brake ratio is often called brake bias and is constant. The value defines the proportion of braking force between front and rear axles. For a rear suspension with a constant front/rear proportion of 60/40, this value will be set to 60. Select to view property file information. By default, your template-based product displays this information in the Information window, but you can choose to display the information in a text editor. Learn about:
Working with the Information Window Editing Files Using a Text Editor
If you set Tire Model to Property File, Adams/Car enables the following option:
Note:
Runs a Static Load Analysis. For the option: Suspension Assembly Output Prefix Do the following: Select the Suspension Assembly you want to analyze. The menu lists all suspension assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _static_load to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_static_load. Enter a value that corresponds to the number of Solution Steps from the lower bounds to the upper bounds of input. Select interactive, graphical, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Graphical, Mode of Simulation: Background, Mode of Simulation: Files_only. Aligning Torque Enter values for the left and the right wheel that fix the upper bound and the lower bound of the aligning torques applied between ground and tire patches at the contact patches location. Enter values for the left and the right cornering force, applied at the contact patch. Enter values for the left and the right wheel that fix the upper bound and lower bound of the braking force applied between the test rig table and the wheels, at the tire contact patch. Positive braking force acts in the direction of the rear of the vehicle. This is in the negative direction of the ISO/Tydex coordinate system (see Notes). Enter values for the traction force, applied at the wheel center. Select one of the options presented next: This option: Contact Patch Height Lets you: Control the height of the contact patch point. The vertical actuators will move the suspension in the range you specify in the Vertical Length text box. Control the height of the wheel center points. The vertical actuators will move the suspension in the range you specify in the Vertical Length text box.
640 Adams/Car
Do the following: Control the absolute vertical force generated by the tire. The vertical actuators will move the suspension in the range you specify in the Vertical Force text box. Wheel Delta Vertical Force Control the relative vertical force generated by the tire. The vertical actuators will move the suspension in the range specified by the vertical force fields. the force is relative to the vertical tire force generated between the wheel and the pads at static equilibrium position. For example a +-100 N with this option selected means that the test rig will apply +-100 N starting from the static equilibrium load. Directly specify the vertical actuator loads.
Actuator Vertical Force Vertical Length/Force Overturning Tor. Roll. Res. Torque Damage Force
Enter values for the vertical wheel input. Enter values for the overturning torque. Enter values for the rolling resistance torque. Enter values for the damage force. Adams/Car applies damage forces perpendicularly to the plane containing the wheel part. They are expressed in the ISO-C (TYDEX C) axis system (for more information, see the Adams/Tire online help). Enter values for the left and right damage radius. The damage radius determines the position of the point of application of the damage forces:
A damage radius of 0 corresponds to damage forces applied
Damage Radius
directly at the wheel center (therefore, at the origin of the ISO-C (TYDEX C) axis system).
A damage radius of 100 mm corresponds to damage forces
applied to a point 100 mm in the negative z direction of the ISO-C (TYDEX C) axis system. Steering Input Select one of the following:
Angle - The steering input is an angle applied to the steering
wheel.
Length - The steering input is a length travel applied to the
rack.
Do the following: Enter values that fix the upper bound and the lower bound of the rack displacement (if Steering Input = Length), or of the steering wheel (if Steering Input = Angle). Positive rack displacement moves the rack towards the vehicle's right side. Positive steering-wheel angles rotate the steering wheel counterclockwise, typically steering the vehicle to the left. Select one of the following:
Vehicle - Independent tables Iso - Dependent or tilting tables
Coordinate System
The icon shows the difference between the vehicle and iso coordinate systems. Create Analysis Log File Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog
box.
If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
642 Adams/Car
Notes:
Positive values for bump and rebound travel move the wheel centers upward from
the design position. Negative values move the wheel centers downward.
Positive steering-wheel angle rotates the steering wheel counter-clockwise as if
Reference frame: TYDEX H ISO-W TYDEX H ISO-W TYDEX C ISO-C TYDEX H ISO-W TYDEX H ISO-W TYDEX H ISO-W
Longitudinal force (acceleration) Wheel center Overturning moments Rolling resistance torque Aligning torque Contact patch Contact patch Contact patch
Runs a Steering Analysis. For the option: Suspension Assembly Output Prefix Do the following: Select the Suspension Assembly you want to analyze. The menu lists all suspension assemblies currently open in your session. Enter a string that specifies the Analysis Output Name. The string can contain only alphanumeric characters and underscores (_). Adams/Car appends the suffix _steering to form the complete analysis name. For example, if you enter test_45 as the output prefix, the analysis name becomes test_45_steering. Enter a value that corresponds to the number of Solution Steps from the lower bounds to the upper bounds of input. Select interactive, background, or files only. See Mode of Simulation: Interactive, Mode of Simulation: Background, Mode of Simulation: Files_only. Vertical Setup Mode Specifies the vertical control method at time=0. This feature allows you to set the vertical mode method at the setup phase (time=0) and at the simulation phase. This is important when correlating with the test data to exactly simulate the real world scenario for the initial condition setup. Enter a real value that fixes the upper limit of steer travel. Adams/Car interprets this value as:
Rack travel, if Steering Input = Length Steering-wheel angle, if Steering Input = Angle
Enter a real value that fixes the lower limit of steer travel. Adams/Car interprets this value as:
Rack travel, if Steering Input = Length Steering-wheel angle, if Steering Input = Angle
Enter a real value that fixes the left vertical wheel-center height relative to the design configuration. For example, if you enter -50 mm, Adams/Car displaces the left wheel center 50 mm downward from its input position and then sweeps the steering from its lower to upper bound.
644 Adams/Car
Do the following: Enter a real value that fixes the right vertical wheel-center height relative to the design configuration. For example, if you enter -50 mm, Adams/Car displaces the right wheel center 50 mm downward from its input position and then sweeps the steering from its lower to upper bound. Specifies how the vertical displacement is controlled.
Absolute - vertical displacement is controlled with absolute
Control Mode
displacement value
Relative - vertical displacement is controlled with
displacement relative to the position at setup phase. Steering Input Select one of the following:
Angle - The steering input is an angle applied to the steering
wheel.
Length - The steering input is a length travel applied to the
The icon shows the difference between the vehicle and iso coordinate systems.If you use the iso coordinate system, and the left and right wheel heights are different, the results will vary slightly than if you use identical wheel heights but use the vehicle coordinate system. When comparing the results obtained from the iso coordinate system and vehicle system, the results will be identical if the wheel heights are the same. The results will vary if the wheel heights are different. This is because of the way the tire forces are calculated in different coordinate systems, and specifically because the different orientation of the road-tire vector for each analysis.
Do the following: Select if you want Adams/Car to write information about the assembled model and analysis to an Analysis Log File. Select to display a dialog box where you can add multi-line comments to any entity, to describe its purpose and function. Adams/Car displays different comments dialog boxes, depending on the entity type for which you want to record comments:
If recording comments for modeling entities in Standard Interface, Adams/Car displays the Entity Comments dialog
box.
If recording comments for any other entity type, Adams/Car displays the Modify Comment dialog box.
646 Adams/Car
Toggles the driveline (Drivelines) activity of a suspension subsystem, if a driveline is part of the suspension template. For the option: Current Mode Select one of the following:
Active - Activates the driveline. Inactive - Deactivates the driveline.
Do the following:
Note that Active/Inactive corresponds to the parameter variable driveline_active = 1/0 in the suspension template. See Parameter Variables.
Appendix
640 Adams/Car
Adams/Car Solver
Adams/Car Solver
The Adams/Car Solver is a demand-loaded library that consists of automotive-specific solver elements that are not supported in the standard Adams/Solver. Some of the elements modeled in the Adams/Car Solver include springs, dampers, bushings, conceptual susp ension analyses, and suspension characteristics. When the standard Adams/Solver is started and specific routines are required, the Adams/Car Solver is automatically loaded as an extension. You can also add your own extension by creating user-defined libraries as explained in Introducing Adams/Solver Libraries.
Appendix 641
Adams/Car Standard Interface
642 Adams/Car
Appendix 643
Analysis Log File
644 Adams/Car
Centroidal Inertia
Centroidal Inertia
Centroidal inertia is inertia measured about the center of mass.
Appendix 645
Course Marker
Course Marker
When you create the assembly, Adams/Car creates a marker on the ground part. (Learn about Markers.) Because Adams/SmartDriver uses this marker to determine the position, velocities, and accelerations of the vehicle, the orientation of this marker is critical. You should orient it depending on the road data file that you want to use for your Analysis: the positive x-axis of the course marker should point towards the positive direction of travel in the road data file.
646 Adams/Car
Data-Driven Analysis
Data-Driven Analysis
The inputs for a data-driven analysis are defined in the driver_loadcase_file used in the analysis. A driver loadcase specifies inputs to the vehicle as: steering value, desired velocity, braking pressure, and so on. Adams/Car creates an event file (.xml) that defines the analysis and the different parameters. It uses the .xml file for the analysis and then leaves it in the working directory so you can refer to it as needed. See Working with Event Files (.xml).
Appendix 647
Drivelines
Drivelines
If you modeled a driveline in the suspension template, you can toggle the driveline between active and inactive states.
648 Adams/Car
Error Checks
Error Checks
To avoid nonphysical conditions, you must carefully select the desired mass and inertia values. Sometimes, Adams/Car cannot match the desired aggregate mass properties you input because the properties result in negative mass or in negative principal inertias for the part you select to modify. For example, assume the aggregate mass of the model is 2000 kg, and the mass of the part is 400 kg. If you input a desired aggregate mass of 1500kg, then to match the desired mass the modified part must have a mass of (400+(1500-2000))=-100 kg, which is nonphysical. Two conditions lead to error:
If the calculated mass for the part < 0, Adams/Car cancels the adjustment. If the principal inertias < 0, Adams/Car adjusts the mass and the location of the center of gravity
(CG) of the part (so that the overall location of the CG of the model is the one you entered), but does not modify the moments of inertia.
Appendix 649
Full-Vehicle Assembly
Full-Vehicle Assembly
A full-vehicle assembly is comprised of:
Front suspension and front wheel subsystems Rear suspension and rear wheel subsystems Steering subsystem Body subsystem
It can also consist of many other subsystems and nonstandard subsystems. For example, you may want to create an assembly that contains particular control systems.
650 Adams/Car
General Parts
General Parts
General parts are rigid parts that you define using their location, orientation, mass, inertia, and center of gravity. If you want to, you can add geometry to general parts. Adams/Car uses either geometry-based or user-entered information to determine mass properties for general parts.
Appendix 651
Interface Part
Interface Part
An interface part is a massless general rigid part that is rigidly fixed to a specified node. You can use interface parts to connect flexible bodies to the rest of your mechanism.
652 Adams/Car
Keyword
Keyword
A word that represents a command or parameter.
Appendix 653
Loadcase Files
Loadcase Files
Loadcase files are text files that contain the vertical wheel travel and other parameters needed to control a suspension analysis.
654 Adams/Car
Appendix 655
Longitudinal Deceleration
Longitudinal Deceleration
This parameter controls the brake signal: a longitudinal closed-loop controller acts on the brake to maintain the desired rate of change of longitudinal velocity.
656 Adams/Car
Appendix 657
Mount Parts
Mount Parts
Mount parts are massless parts that attach to other parts. By default, mount parts are fixed to ground. Mount parts represent the vehicle body or subframe and act as place holders. When you create a mount part, Adams/Car automatically creates an input communicator for it of class mount. The input communicator requests the name of the part to which the mount part should connect. If Adams/Car finds a matching communicator during assembly, it replaces the mount part with the part that the output communicator indicates. The replacement part is from another subsystem. If Adams/Car finds no matching output communicator, it replaces the mount part with the ground part.
658 Adams/Car
The generate_scf.exe utility uses one of the .nam files, that Adams/Car creates, as the key to determine the request ID corresponding to a given result name; to successfully execute generate_scf.exe, the name file *_pw0.nam must be in the working directory. The type of results and components that generate_scf.exe is looking for in the different requests is predetermined, and you cannot change it. It relies on the definition of the suspension characteristic requests as they are formulated in the .__MDI_SUSPENSION_TESTRIG. Dependent and independent suspension curves are very different. Adams/Car does not know if your suspension is dependent or independent. It is up to you to use the appropriate dialog box that generates suspension curves.
Appendix 659
Road Data File
660 Adams/Car
Creates a roll and vertical force loadcase file (see Loadcase Files). For the option: Roll Angle Total Vertical Force Specify the Roll Angle. Specify the total vertical wheel force available to both the left and right actuators. Do the following:
Fixed Steer Position Define the steering positions held during the Simulation. (optional) Steering Input Select one of the following:
Angle - The steering input is an angle applied to the steering wheel. Length - The steering input is a length travel applied to the rack.
Coordinate System
The icon shows the difference between the vehicle and iso coordinate systems.
Appendix 661
Roll Angle
Roll Angle
Roll angle is measured by the inclination of the Test Rig tables.
662 Adams/Car
Appendix 663
Static Load
Static Load
(Standard Interface) Simulate -> Suspension Analysis -> Create Loadcase -> Select Loadcase Type = Static Load
Creates a static load loadcase file. Learn about loadcase files with Setting up Suspension Analyses. For the option: Aligning Torque Do the following: Enter values for the left and the right wheel that fix the upper bound and the lower bound of the aligning torques applied between ground and tire patches at the contact patches location. Enter values for the left and the right cornering force. Enter values for the left and the right wheel that fix the upper bound and lower bound of the braking force applied between ground and test rig wheels at the Test Rig wheel center of mass location. Enter values for the traction force. Enter values for the vertical wheel input. Select one of the following:
Contact Patch Height Wheel Center Height Wheel Vertical Force Actuator Vertical Force
Overturning Tor. Roll. Res. Torque Damage Force Damage Radius Steering Input
Enter values for the overturning torque. Enter values for the rolling resistance torque. Enter values for the damage force. Enter values for the left and right damage radius. Select one of the following:
Angle - The steering input is an angle applied to the steering
wheel.
Length - The steering input is a length travel applied to the rack.
664 Adams/Car
Static Load
Do the following:
Steer Upper/Lower Limit Enter values that fix the upper bound and the lower bound of the rack displacement (if Steering Input is Length), or of the steering wheel (if Steering Input is Angle). Positive rack displacement moves the rack towards the vehicle's right side. Positive steering-wheel angles rotate the steering wheel counterclockwise, typically steering the vehicle to the left. Coord. System Select one of the following:
Vehicle - Independent tables Iso - Dependent or tilting tables
The icon shows the difference between the vehicle and iso coordinate systems.
Appendix 665
Steer Axis
Steer Axis
You need the steer axis of a suspension to compute suspension characteristics such as caster angle, kingpin inclination, scrub radius, and caster moment arm. When you create a suspension template in Adams/Car, you must select the method that Adams/Car will use to compute the steer axis, and provide the necessary input information. You can use two methods to calculate suspension steer axes:
Geometric - Adams/Car calculates the steer axis by passing a line through the points you selected in the Coordinate Reference text boxes. Instant axis - Adams/Car calculates the steer axis as the instant axis of rotation of the wheel
carrier parts. To calculate the steer axis, in physical terms, Adams/Car first locks the spring travel and applies incremental steering torque or force. Then, from the resulting translation and rotation of the wheel carrier part, it is able to calculate the instant axis of rotation for each wheel. The instant axis of rotation corresponds to the steer axis.
666 Adams/Car
Steering
Steering
(Standard Interface) Simulate -> Suspension Analysis -> Create Loadcase -> Select Loadcase Type = Steering
Creates a steering loadcase file. Learn about loadcase files with Setting up Suspension Analyses. For the option: Steering Limit Fixed Wheel Center Steering Input Do the following: Enter values for the upper and lower bounds of steering input. Enter values for the wheel vertical positions. Select one of the following:
Angle - The steering input is an angle applied to the steering wheel. Length - The steering input is a length travel applied to the rack.
Coordinate System
The icon shows the difference between the vehicle and iso coordinate systems.
Appendix 667
Suspension Assembly
Suspension Assembly
An suspension assembly is comprised of suspension and steering subsystems and a suspension Test Rig. A steering subsystem, however, does not have to be present in a suspension assembly. For example, a rear suspension assembly, in most circumstances, would not contain a steering subsystem.
668 Adams/Car
Suspension Parameters
Suspension Parameters
Suspension parameters describe the vehicle in which you want to use the suspension. Adams/Car uses, for example, the parameters wheelbase, cg_height, and sprung mass to calculate the fore-aft weight transfer during braking and acceleration. Adams/Car then uses weight transfer to calculate dive and lift suspension characteristics. Once you set the parameters in an Adams/Car session, Adams/Car uses those settings for all suspension analyses until you reset the parameters.
Appendix 669
Torque versus Engine Speed and Throttle Position
670 Adams/Car
Appendix 671
Wheel Travel
Wheel Travel
(Standard Interface) Simulate -> Suspension Analysis -> Create Loadcase -> Select Loadcase Type = Wheel Travel
Creates a wheel travel loadcase file. Learn about loadcase files with Setting up Suspension Analyses. For the option: Parallel/Opposite/Single Bump Travel Rebound Travel Fixed Steer Value Travel Relative To Do the following: Select a type of wheel travel. Enter the upper limit of wheel-center displacement. Enter the lower limit of wheel-center displacement. Enter a constant value for the steering input. Select one of the following:
Wheel Center - Represents the center of the wheel. Contact Patch - Represents the point of contact between the tire
wheel.
Length - The steering input is a length travel applied to the rack.
If you select Opposite, Adams/Car enables the following option: Coordinate System Select one of the following:
Vehicle - Independent tables Iso - Dependent or tilting tables
The icon shows the difference between the vehicle and iso coordinate systems. If you select Single, Adams/Car enables the following options: Fixed Wheel Center Side Enter a constant value for the wheel vertical position. Select one of the following:
Left Right
672 Adams/Car
Wheel Travel
A Abbreviations in commands 38 acar.cfg 377 Acceleration analysis about 303 dialog box 29 Accessing Adams/View 381 dialog box programming tools 396 macro programming tools 403 Ackerman 261 Ackerman angle 262 Ackerman error 263 Actuators about 127 as symmetrical pairs 127 defining activity for 128 defining limits for 127 joint force, about 128 joint motion, about 129 point point, about 128 Adams/Car benefits of using 2 welcome to 2 what you can do with 2 Adams/Driver analysis, dialog box 32 friction circle use 2 gear ratios 3 set-up simulation 4 Adams/Solver communicator class 68 Adams/View, accessing 381 Adding databases to search list 373 subroutines to GENDISP 422 subsystems to assemblies 50 Adjustable forces about 124
2 Adams/Car
example application 124 pattern statements for 125 Adjusting mass 9 Air springs force calculation 115 modifying 114 setting trim load 114 Alias, returning table path 434 Aligning torque 223 Analyses 3D road, about 292 3D road, dialog box 27 acceleration, about 303 acceleration, dialog box 29 braking, about 304 braking, dialog box 38 braking-in-turn, about 293 braking-in-turn, dialog box 41 constant-radius cornering, about 294 constant-radius cornering, dialog box 44 controlling output files 361 cornering with steer release, about 294 cornering with steer release, dialog box 47 create dependent suspension curves 115 create suspension curves 117 data driven 50 dcf driven, about 305 drift, about 297 drift, dialog box 52 external files, dialog box 25 fish hook, about 298 fish hook, dialog box 56 full-vehicle, introducing 287 impulse steer, about 298 impulse steer, dialog box 60 introducing 213 ISO lane change, about 296 ISO lane change, dialog box 58 lift-off turn-in, about 295
lift-off turn-in, dialog box 63 loadcase, about 215 open-loop steering 297 opposite wheel travel, about 218 opposite wheel travel, dialog box 96 parallel wheel travel, about 218 parallel wheel travel, dialog box 119 power-off cornering, about 295 power-off cornering, dialog box 66 power-off straight-line, about 304 power-off straight-line, dialog box 69 quasi-static constant-radius cornering, about 301 quasi-static constant-radius cornering, dialog box 99 quasi-static constant-velocity cornering, about 301 quasi-static constant-velocity cornering, dialog box 101 quasi-static force-moment, about 302 quasi-static force-moment, dialog box 103 quasi-static straight-line acceleration, about 303 quasi-static straight-line acceleration, dialog box 105 ramp steer, about 299 ramp steer, dialog box 72 roll & vertical force, about 216 roll & vertical force, dialog box 121 single lane change, about 299 single lane change, dialog box 77 single wheel travel, about 218 single wheel travel, dialog box 109 SS event manual setup 75 static loads, about 217 static loads, dialog box 125 steering, about 217 steering, dialog box 129 step steer, about 299 step steer, dialog box 83 straight-line behavior 303 suspension, introducing 214 suspension, setting up 215 swept-sine steer, about 300
4 Adams/Car
swept-sine steer, dialog box 86 wheel travel 217 Angles, converting 427 Arm geometry about 89 Array communicator class 68 Assemblies about returning assembly class 429 closing, about 57 creating generic 56 full-vehicle, create new 92 getting info about 55 in file hierarchy 55 matching communicators during 70 opening, about 55 publishing 57 saving, about 56 suspension, create new 94 updating 56 with mount communicators 70 Assembling vehicle 287 Assembly class, returning 429 Assigning paths to databases 370 Associativity - showing in Database Navigator 18 Attachments joints, about 92 AutoFlex about optional module 84 input file 84 Automatic mass adjustment 9 B Background color creating 33 selecting 33 Base name removing from string 430 returning file 435 Binaries, organizing 443 Braking analysis
about 304 dialog box 41 Braking-in-turn analysis about 293 dialog box 41 Bumpstops about creating 117 about modifying 117 calculation of force characteristics 118 introducing 117 property files 120 Bundling databases 371 Bushings about creating 93 about modifying 93 communicator class 69 introducing 93 specification in Adams dataset 105 Buttons error handling in 402 in dialog boxes 402 size of 402 C Camber angle 223 Caster angle 224 Caster moment arm 264 cdb_alias2path function 434 cdb_input2base function 435 cdb_input2ext functions 435 cdb_input2file function 436 cdb_input2full function 437 cdb_input2path function 436 cdb_path2alias function 434 cdb_runtime_path_port function 438 cdb_search_file function 437 Changing search order 373 Character, changing single 429 Checking
6 Adams/Car
matching in strings 433 user mode 6 vehicle 287 Class determining for model 441 returning assembly 429 returning model 431 Clearing fields in dialog boxes 401 Closed-loop data 336 Closing assemblies, about 57 subsystems, about 53 templates, about 61 Colors creating background 33 selecting background 33 setting for background 33 Command window 35, 36 Commands completing 39 grouping in undo block 39 in dialog boxes 399 miscellaneous information on 38 syntax rules for entering 36 syntax rules for entering values 37 Comments in commands 38 Communicator entity class 68 Communicators classes of 68 displaying information for 71 in SDI test rig 146 in suspension test rig 145 matching 67 matching during assembly 70 matching with test rigs 149 naming 69 roles 69 testing 71
types of 67 Compliance matrix 219 Components actuators 127 adjustable forces 124 arm geometry 89 attachments 92 bumpstops 117 bushings 93 changing definition 75 condition sensors 132 construction frames 82 creating 74 cylinder geometry 89 dampers 115 data elements 138 deleting 77 ellipsoid geometry 90 feedback channels 133 flexible bodies 84 gears 126 general parts 83 geometry 89 hardpoints 80 interface parts 84 introducing Adams/Car 74 linear dampers 116 link geometry 89 modifying 75 mount parts 86 naming convention 78 nonlinear beams 85 nonlinear dampers 116 outline geometry 91 parameter variables 138 parameters, modifying 75 property files, modifying 76 reboundstops 120
8 Adams/Car
requests 138 springs 111 switch parts 86 system elements 138 Condition sensors about 132 Configuration files about 377 example of 378 format of 378 managing databases using 386 managing property files using 390 managing tables using 387 managing test rigs using 390 setting databases in 386 using keywords for 380 Constant-radius cornering analysis about 294 dialog box 44 Construction frames about 82 location options for 82 orientation options for 82 Control method, specifying 308 Convel joint 92 Convention for naming components 78 Conventions for naming communicators 69 for using GENDISP 420 in template descriptions 140 Conversion factor, returning 428 Conversion functions 426 convert_from_units function 426 convert_to_radians function 427 convert_units function 427 Converting angles 427 units 426 Coordinate window 34
Cornering analyses 293 Cornering with steer release analysis about 294 dialog box 47 Course analyses 296 Creating bumpstops 117 bushings 93 custom menus 408 dampers 115 databases 370 dialog boxes 396 dialog boxes for templates 405 driver control data (.dcd) files 337 generic assemblies 56 macros 402 mini-maneuver blocks 307 plots using plot configuration files 206 push buttons 120, 408 springs 112 subsystems 49 tables 387 templates 60 test-rig templates 62 topology for templates 144 Cylinder geometry about 89 Cylindrical joint 92 D Dampers about creating 115 about modifying 115 introducing 115 Damping, computation of forces 102 Data blocks plot 208 plot-curve 208 Data elements 138
10 Adams/Car
Database functions 433 Database lookup functions 441 Database Navigator about 10 associativity 18 displaying 10 Information 19 setting object appearance 14 Database units, returning conversion factor to 428 Databases adding to search list 373 assigning to databases 370 changing order searched 373 convert files in 11 creating 370 creating tar files of 371 managing tables in 371 removing from search list 373 returning path to 436 saving management changes 375 search list for 368 setting default writable 370 setting names for 370 setting screen icon display 28 setting up in configuration files 386 setting writable 370 structure of 367 types of 367 viewing information about 375 Data-driven full-vehicle analysis 50 Default of Welcome dialog box 382 Default writable database 386 Defining activity for actuators 127 environment variables 384 limits for actuators 127 private repository 444 site repository 444 Degrees, converting to radians 427
11
Deleting road geometry 17 Dependency control 18 Dependent suspension curves, create 115 Details of GENDISP 423 Dialog boxes about creating and modifying 396 accessing programming tools for 396 cleaning variables in 401 clearing fields in 401 commands in 399 creating for templates 405 error handling 400 objects in 397 setting resizing 398 sizing and layout of 398 specifications for 398 start,execute, finish commands 401 Differential communicator class 68 Differential gear about 126 dialog box 12 Disc-brake system, template 151 Displaying Database Navigator 10 toolbars 32 Welcome dialog box 382 Dive braking/lift braking 225 Double-wishbone suspension, about 154 Drift analysis about 297 dialog box 52 Driveline activity, toggle 132 Driver control data (.dcd) files creating 337 example of 338 introducing 331 referencing 323 structure of 335
12 Adams/Car
Driving Machine benefits of 327 data flow in 330 introducing 325 limitations of 331 steps in using 327 uses of 327 E Echo command 404 Editing files with text editor 385 Ellipsoid geometry about 90 End conditions, specifying 318 Environment variables defining 384 redefining 384 Error handling in dialog boxes 400 handling in macros 405 setting condition in dialog boxes 400 Examples configuration files 378 plot configuration file 210 running analysis and creating macro 446 suspension loadcase file 276 using GENDISP 424 wheel-envelope input file 471 wheel-envelope output file 473 Executables 443 Execution commands in dialog boxes 401 Expert users about 383 management tasks and tools 366 setting access 380 Extension, returning file 435 External-files analysis about 215 dialog box 25
13
F Feedback channels application example 133 as symmetrical pairs 133 example naming scheme 133 set function, about 133 set offset, about 134 File functions 439 Files creating tar 371 returning base name 435 returning extension of 435 returning in operating system format 438 returning names of Functions cdb_input2file 436 returning path of 436 searching for 437 Finish commands in dialog boxes 401 Fish-hook analysis about 298 dialog box 56 Fixed joint 92 Flexible LCA double-wishbone suspension, about 158 Force characteristics bumpstops 118 reboundstops 121 Force elements 90 Forces computation of damping 102 computation of stiffness 94 Fore-aft wheel center stiffness 227 Format of configuration files 378 plot configuration files 208 Front-view swing arm length and angle 228 Full-vehicle analysis acceleration, about 303
14 Adams/Car
acceleration, dialog box 29 Adams/Driver, dialog box 32 braking, about 304 braking, dialog box 38 braking-in-turn, about 293 braking-in-turn, dialog box 41 constant-radius cornering, about 294 constant-radius cornering, dialog box 44 cornering with steer release, about 294 cornering with steer release, dialog box 47 data driven 50 dcf driven, about 305 dcf driven, dialog box 297 drift, dialog box 52 fish hook, about 298 fish hook, dialog box 56 impulse steer, about 298 impulse steer, dialog box 60 ISO lane change, about 296 ISO lane change, dialog box 58 lift-off turn-in, about 295 lift-off turn-in, dialog box 63 power-off cornering, about 295 power-off cornering, dialog box 66 power-off straight-line, about 304 power-off straight-line, dialog box 69 quasi-static constant-radius cornering, about 301 quasi-static constant-radius cornering, dialog box 99 quasi-static constant-velocity cornering, about 301 quasi-static constant-velocity cornering, dialog box 101 quasi-static force-moment, about 302 quasi-static force-moment, dialog box 103 quasi-static straight-line acceleration, about 303 quasi-static straight-line acceleration, dialog box 105 ramp steer, about 299 ramp steer, dialog box 72 running 287 setting up 287 single lane change, about 299
15
single lane change, dialog box 77 SS event manual set-up 75 step steer, about 299 step steer, dialog box 83 swept-sine steer, about 300 swept-sine steer, dialog box 86 Full-vehicle assembly, create new 92 Functions ac_info_mass 443 cdb_alias2path 434 cdb_input2base 435 cdb_input2ext 435 cdb_input2full 437 cdb_input2path 436 cdb_path2alias 434 cdb_runtime_path_port 438 cdb_search_file 437 convert_from_units 426 convert_to_radians 427 convert_units 427 model_class_exists 441 str_assembly_class 429 str_char_swap 429 str_filename 430 str_model_class 431 str_prefix 431 str_remove 432 str_replace 432 str_typecheck 433 subsystem_hdr_major_role 440 subsystem_hdr_minor_role 440 subsystem_lookup 442 subsystem_role_exists 442 template_hdr_major_role 439 units_to_mks 428 G Gear ratios in Adams/Driver 3 Gears
16 Adams/Car
about 126 modify (Standard Interface) 91 reduction, dialog box 13 GENDISP adding new subroutines to 422 conventions for using 420 details 423 example of 424 overview 419 subroutines supported 420 testing 423 General data elements introducing 135 General parameters about 135 General part about 83 General variables introducing 137 Geometry arm geometry 89 components list 89 cylinder geometry 89 ellipsoid geometry 90 outline geometry 91 Getting information about assemblies 55 about subsystems 49 Global reference frame 383 H Handling errors in dialog boxes 400 in macros 405 Hardpoints about 80 defining symmetrically 80 modifying 80 Height limiting dialog box 398
17
specifications for dialog boxes 398 Hooke joint 92 I Ideal steer angle 266 Impulse-steer analysis about 298 dialog box 60 Information showing in Database Navigator 19 Information window accessing 21 clearing 23 displaying text file in 23 Inline joint 92 Inplane joint 92 Input communicators about 67 dialog box 67 Instance definition 76 Integer parameter communicator class 69 Interface about customizing 394 example of custom file 409 modes 8 parts - dialog box 84 parts, about 84 saving changes 410 ISO lane-change analysis about 296 dialog box 58 ISO road course, about 159 J Joint communicator class 68 Joint-force actuators application example 128 example naming scheme 128 selecting joints for 129 Joint-for-motion communicator class 68
18 Adams/Car
Joints convel 92 cylindrical 92 defined 92 fixed 92 inline 92 inplane 92 orientation 92 parallel_axes 92 perpendicular 92 planar 92 revolute 92 spherical 92 translational 92 K Keywords for configuration files 380 Kingpin inclination angle 230 L Lateral force 231 Layout of dialog boxes 398 Libraries creating and using Adams/Solver 416 creating and using Adams/View 413 customizing Adams/Solver 415 customizing Adams/View 412 linking in user subroutines 412 using object 395 Lift/squat acceleration 233 Lift-off turn-in analysis about 295 dialog box 63 Linear dampers about 116 Linear springs formulation 112 Link create/modify (Template Builder) 90 geometry 89 modify (Standard Interface) 90
19
Loadcase analysis about 215 dialog box 25 Loadcase file 89 Loading plugins 45 Local variables 404 Location communicator class 69 Location specifications for dialog boxes 398 Log file updating 44 using 43 viewing 44 M MacPherson suspension, template 161 Macros accessing programming tools for 403 defined 402 error handling 405 extending using utility functions 426 saving changes 410 setting echoing 404 uses of 402 using local variables in 404 using parameters in 403 viewing existing 403 Major roles about 61 adding to template 407 in test-rig templates 63 returning subsystem 440 returning template 439 Management tasks about 366 accessing tools for 366 Managing databases through configuration files 386 property files 390 tables 387
20 Adams/Car
test rigs 390 Marker communicator class 68 Mass adjusting automatically 9 Matches, checking in strings 433 Menus, creating custom 408 Mini-maneuver blocks creating 307 specifying actuator type 307 specifying control method 308 Minor roles adding 406 in test-rig templates 63 of communicators 69 returning subsystem 440 Miscellaneous functions 443 MNF (See Modal neutral files) 84 Modal flexibility 84 Modal neutral files (MNF) 84 Model class in test-rig templates 63 returning 431 Model topology display by connections 17 display by part 16 viewing 20 viewing graphically 15 model_class_exists function 441 Models, returning class of 441 Modifying air springs 114 bumpstops 117 bushings 93 dampers 115 dialog boxes 396 reboundstops 120 springs 112 Motion communicator class 68 Mount communicator
21
class 68 warnings during assembly 70 Mount parts about 86 Multi-link suspension, template 164 N Names returning base name of files 435 returning file 436 Naming conventions for communicators 69 for components 78 for interface changes 394 for macros 394 for subroutines 420 Nonlinear beam about 85 Nonlinear dampers 116 Nonlinear spring formulation 113 O Object information 21 Object libraries 395 Objects in dialog boxes 397 showing associativity 18 showing information 19 Opening assemblies, about 55 subsystem 49 subsystems, about 49 template, dialog box 60 templates, about 59 Operating system, returning file in proper format for 438 Opposite wheel-travel analysis about 218 dialog box 96 Organizing executables and binaries 443 Orientation communicator class 69
22 Adams/Car
Orientation joint 92 Orientation options for construction frames 82 Outline geometry about 91 dialog box 91 Output communicators dialog box 68 Output of result files 383 Outside turn diameter 267 P Parallel wheel-travel analysis about 218 dialog box 119 Parallel_axes joint 92 Parallel-link steering system, template 167 Parameter variable types of 138 Parameters in macros 403 Parameters of commands 39 Part communicator class 69 Paths returning database 437 returning file 436 returning table 434 Percent ackerman 268 Percent anti-dive braking/percent anti-lift braking 237 Percent anti-lift acceleration/percent anti-squat acceleration 239 Perpendicular joint 92 Pitman arm steering system, template 170 Planar joint 92 Plot configuration files creating 207 creating plots using 206 described 207 example of 210 format of 208 view plots defined in 206 Plot data block 208 Plot-curve data block 208
23
Plots, viewing with configuration files 207 Plugin configuration files 378 Plugins - loading/unloading 45 Point-point actuators application example 128 example naming scheme 128 selecting joints for 128 Point-torque actuators application example 129 example naming scheme 129 selecting joints for 129 Portion of string, removing 432 Power-off cornering analysis about 295 dialog box 66 Power-off straight-line analysis about 304 dialog box 69 Powertrain system, template 172 Prefixes for Adams/Car entities 78 for geometry entities 78 returning 431 Printer fonts 26 Private configuration files about 377 environment variables for 377 Private database 367 Private repository defining in UNIX 444 defining in Windows 444 Product information 46 Property files bumpstop 120 in file hierarchy 58 managing through configuration files 390 modifying for component 75 reboundstop 122
24 Adams/Car
spring 114 Publishing assemblies, about 376 subsystems, about 54 Push buttons about 408 dialog box 409 Q Quad-link axle suspension, template 178 Quasi-static constant-radius cornering analysis about 301 dialog box 99 Quasi-static constant-velocity cornering analysis about 301 dialog box 101 Quasi-static force-moment analysis about 302 dialog box 103 Quasi-static straight-line acceleration analysis about 303 dialog box 105 R Rack and pinion steering system, template 180 Ramp-steer analysis 299 dialog box 72 Real parameter communicator class 69 Rear driveline system, template 183 Reboundstops about creating 120 about modifying 121 calculation of force characteristics 118 introducing 120 property files 122 Reduction gears about 126 dialog box 13 Registry editor 377 Removing base name from string 430
25
databases from search list 373 string 432 subsystems 51 Replacing instance definition 75 string 432 subsystems 51 Replacing image on Exit dialog box 383 on Welcome dialog box 383 Repositories creating for objects 395 setting for binaries and executables 443 Requests about 138 Resizing of dialog boxes 398 Result files output 383 Returning conversion factor 427 database paths 437 file extension 435 file names 436 file path of 436 filename in operating system format 438 prefix of string 431 searched file 437 table path alias 434 table paths 434 Revolute joint 92 Ride rate 243 Ride steer 243 Rigid chassis, template 186 Road geometry 17 Roles of communicators 69 returning minor 440 returning subsystem major 440 returning template major 439
26 Adams/Car
Roll and vertical force analysis about 216 dialog box 121 Roll camber coefficient 246 Roll caster coefficient 248 Roll center location 248 Roll steer 251 S Saving assemblies, about 56 changes to macros 410 interface changes 410 subsystems, about 52 templates, about 60 templates, dialog box 60 test-rig templates 63 Screen fonts 26 Screen icon display how to 31 Scrub radius 268 SDI test-rig communicators 146 Search list about 368 adding databases to 373 removing databases from 373 Search order about 372 defined 368 potential problems with 372 using menus to change 373 Searching for file 437 Setting actuator activity, about 130 actuator function, about 130 databases through configuration files 386 default writable database 386 function for actuators 130 function for feedback channels 133 log file information 43
27
names for databases 370 object appearance 14 offset for feedback channels 133 orientation of global reference frame 383 screen and printer fonts 26 screen icon display 28 side preferences 383 suspension parameters 215 user access 380 writable database 370 Setting toe and camber values in Standard Interface 107 Shared configuration files 378 Shared database 367 Side preferences 383 Side-view angle 253 Side-view swing arm length and angle 254 Simple anti-roll bar system, template 189 Single character, changing in string 429 Single wheel-travel analysis about 218 dialog box 109 Single-lane change analysis about 299 dialog box 77 Site configuration files 378 Site manager 366 Site repository defining in UNIX 444 defining in Windows 444 Size of dialog boxes 398 specifications for dialog boxes 398 SmartDriver computing controls 347 feedback control 346 feed-forward control 340 trajectory planning 345
28 Adams/Car
Solver preference for full vehicle 381 Spherical joint 92 Spline communicator class 68 Springs creating 112 linear formulation 112 modify, about 112 nonlinear formulation 113 property files 114 SS event manual set-up full-vehicle analysis 75 Standard database table entries 388 Standard Interface about 8 starting 6 Standard users about 8 management tasks and tools 366 setting access 380 Start commands in dialog boxes 401 Starting Standard Interface 6 Template Builder 7 Static loads analysis about 217 dialog box 125 Steer angle 271 Steer axis computation 220 Steer axis offset 272 Steering analysis about 217 dialog box 129 Steering characteristics ackerman 261 ackerman angle 262 ackerman error 263 caster moment arm 264 ideal steer angle 266 outside turn diameter 267 percent ackerman 268
29
scrub radius 268 steer angle 271 steer axis offset 272 turn radius 275 Step steer analysis about 299 dialog box 83 Stiffness, computation of forces 94 Storing interface objects and macros 395 str_assembly_class function 429 str_char_swap function 429 str_filename function 430 str_model_class functions 431 str_prefix function 431 str_remove function 432 str_replace function 432 str_typecheck function 433 String changing single character 429 checking match 433 functions 428 replacing 432 returning model class 431 returning prefix for 431 stripping to base name 430 trimming 432 Stripping, string to base name 430 Subroutines adding to GENDISP 422 conventions for GENDISP 420 naming conventions 420 supported with GENDISP 420 using GENDISP 418 subsystem_hdr_major_role function 440 subsystem_hdr_minor_role function 440 subsystem_lookup function 442 subsystem_role_exists function 442 Subsystems
30 Adams/Car
adding to assembly 50 closing 53 creating 49 getting info about 49 in file hierarchy 48 minor roles 54 modes 53 publishing 54 removing 51 replacing 51 returning major role of 440 saving 52 setting activity 52 synchronizing 50 updating 50 Suspension analyses create dependent suspension curves 115 create suspension curves 117 external files, dialog box 25 loadcase, about 215 opposite wheel travel, about 218 opposite wheel travel, dialog box 96 parallel wheel travel, about 218 parallel wheel travel, dialog box 119 roll & vertical force, about 216 roll & vertical force, dialog box 121 running 214 setting suspension parameters 215 setting up 215 single wheel travel, about 218 single wheel travel, dialog box 109 static loads, about 217 static loads, dialog box 125 steering, about 217 steering, dialog box 129 wheel envelope, about 216 Suspension assembly, create new 94 Suspension characteristics aligning torque 223
31
camber angle 223 caster angle 224 dive braking/lift braking 225 fore-aft wheel center stiffness 227 front-view swing arm length and angle 228 kingpin inclination angle 230 lateral force 231 lift/squat acceleration 233 list of 221 percent anti-dive braking/percent anti-lift braking 239 percent anti-lift acceleration/percent anti-squat acceleration 239 ride rate 243 ride steer 243 roll camber coefficient 246 roll caster coefficient 248 roll center location 248 roll steer 251 side-view angle 253 side-view swing arm length and angle 254 suspension roll rate 256 toe angle 257 total roll rate 258 total track 259 wheel rate 261 Suspension curves, creating 117 Suspension loadcase file, example of 276 Suspension parameter array 15 Suspension parameters 123 Suspension roll rate 256 Suspension test rig benefits of using 280 communicators 145 introducing 280 structure of 281 Swept-sine steer analysis about 300 dialog box 86 Switching interface modes 8
32 Adams/Car
Syntax rules for entering commands 36 for entering values 37 System commands 43 System elements 138 T Tables creating 387 entries for Adams/Car 388 returning full path of 434 returning path alias 434 standard entries 388 Tar files 371 Template Builder about 8 starting 6 template_hdr_major_role function 439 Templates about 140 closing, about 61 conventions in descriptions 140 converting into test rigs 63 creating topology for 144 creating, about 60 designing 140 disc-brake system 151 double-wishbone suspension 154 flexible LCA double-wishbone suspension 158 in file hierarchy 59 ISO road course 159 location of 140 MacPherson suspension 161 multi-link suspension 164 opening, about 59 parallel-link steering system 167 pitman arm steering system 170 powertrain system 172 quad-link axle suspension 178 rack and pinion steering system 180
33
rear driveline system 183 returning major role of 439 rigid chassis 186 saving, about 60 simple anti-roll bar system 189 tire system 191 torsion bar double-wishbone suspension 193 trailing arm suspension 195 twist beam suspension 198 Testing communicators 71 GENDISP 423 Test-rig templates about 62 adding to binaries 66 creating 62 major role in 63 managing 390 minor role in 63 model class in 63 saving 62 test-rig class in 63 working process 62 Tire system, template 191 Tires road data file 108 Title in view window 31 Toe angle 257 Toggle driveline activity 132 Toolbars - displaying 32 Topology display by connections 17 display by part 16 viewing graphically 17 viewing model 20 Torsion bar double-wishbone suspension, template 193 Total roll rate 258 Total track 259 Trailing arm suspension, template 195
34 Adams/Car
Translational joint 92 Trim load for air springs 114 Trimming string 432 Turn radius 275 Twist beam suspension, template 198 U Undo block for commands 39 Units convert_units 427 converting 426 converting angles 427 dialog box 27 units_to_mks 428 units_to_mks function 428 Unloading plugins 45 Updating assemblies 56 Updating subsystems 50 User access about 8 and type of management task 366 checking 6 setting 9 User subroutines in libraries 412 User units, returning conversion factor to database units 428 Using libraries 395 macro parameters 403 Utility functions 426 V Variable actuators application example 130 example naming scheme 130 Variables cleaning up 401 using local 404 using to set dialog box error condition 400 Vehicle assembling 288 checking 288
35
Verifying commands 38 Viewing database and table information 375 macros 403 plots defined in plot configuration files 206 screen icons 31 title 31 triad 31 working grid 31 W Welcome dialog box replacing image on 383 setting default for 382 setting display of 382 Wheel rate 261 Wheel-envelope analysis 216 Wheel-envelope input file, example of 277 Wheel-envelope output file, example of 278 Width specifications for dialog boxes 398 Wildcards tips for using 25 using 24 Wizard, general part 84 Working directory 26 Writable database 370
36 Adams/Car