using adams/vibration - md adams 2010

282
Welcome to Adams/Vibration Introduction to Adams/Vibration Adams/Vibration is an Adams plugin for performing frequency-domain analyses. Using Adams/Vibration, you can study forced vibrations within your Adams models. For example, you can simulate driving an automobile over a bumpy road an measure its frequency response. Both inputs and outputs are described in the frequency domain. Using Adams/Vibration, you can: Analyze the forced response of a model in the frequency domain over different operating points. Include the effects of hydraulics, controls, and user-subsystems in the frequency analysis. Transfer your linearized model from Adams products to Adams/Vibration completely and quickly. Create input and output channels for vibration analyses. Specify frequency domain input functions, such as swept sine amplitude/frequency, power spectral density (PSD), and rotational imbalance. Create user-defined, frequency-based forces. Solve for system modes over frequency range of interest. Evaluate frequency response functions for magnitude and phase characteristics. Animate forced response and individual mode response. Tabulate system modal contributions to forced vibration response. Tabulate contribution of model elements to kinetic, static, and dissipative energy distribution in system modes. Perform modal stress recovery of flexible bodies. Specify direct kinematic inputs. Plot Stress/Strain FRFs

Upload: pkokatam

Post on 18-Nov-2014

963 views

Category:

Documents


15 download

TRANSCRIPT

Page 1: Using Adams/Vibration - MD Adams 2010

Welcome to Adams/Vibration

Introduction to Adams/VibrationAdams/Vibration is an Adams plugin for performing frequency-domain analyses. Using Adams/Vibration, you can study forced vibrations within your Adams models. For example, you can simulate driving an automobile over a bumpy road an measure its frequency response. Both inputs and outputs are described in the frequency domain.

Using Adams/Vibration, you can:

• Analyze the forced response of a model in the frequency domain over different operating points.

• Include the effects of hydraulics, controls, and user-subsystems in the frequency analysis.

• Transfer your linearized model from Adams products to Adams/Vibration completely and quickly.

• Create input and output channels for vibration analyses.

• Specify frequency domain input functions, such as swept sine amplitude/frequency, power spectral density (PSD), and rotational imbalance.

• Create user-defined, frequency-based forces.

• Solve for system modes over frequency range of interest.

• Evaluate frequency response functions for magnitude and phase characteristics.

• Animate forced response and individual mode response.

• Tabulate system modal contributions to forced vibration response.

• Tabulate contribution of model elements to kinetic, static, and dissipative energy distribution in system modes.

• Perform modal stress recovery of flexible bodies.

• Specify direct kinematic inputs.

• Plot Stress/Strain FRFs

Page 2: Using Adams/Vibration - MD Adams 2010

Adams/VibrationWelcome to Adams/Vibration

2

Adams/Vibration ProcessUsing Adams/Vibration, you can assemble models of various subsystems, perform linear vibration analysis, and use Adams post-processing tools to view results as plots and animations.

How You Benefit from Using Adams/VibrationAdams/Vibration enables you to work faster and smarter, letting you replace physical testing for vibration studies using shaker devices with virtual testing. Physical testing with shaker devices in the test lab or in the field is expensive and can typically only occur at later stages of the design process. Using

Page 3: Using Adams/Vibration - MD Adams 2010

3Welcome to Adams/Vibration

Adams/Vibration, you can perform these tests early in the design process cutting down on design time and expense.

It is impossible to eliminate all vibration from products that are made up of flexible components. It is possible, however, to design products that do not have bothersome vibrations. For example, at certain speeds, poorly designed automobiles can have annoying noises that are due to vibrations of certain components. Some companies have design guidelines that indicate acceptable ranges of vibration frequencies.

Adams/Vibration output data can be used in noise/vibration/harshness (NVH) studies to predict the impact of vibration on the rider's experience in an automobile, train, plane, and so on.

Loading and Unloading Adams/VibrationAdams/Vibration runs as a plugin to several products: Adams/View, and Adams/Car. After you start a core product, you then load the Adams/Vibration plugin. To work with an existing Adams model, you can load the Adams/Vibration plugin either before or after you import the model. You can also create a model in another Adams product and then load the Adams/Vibration plugin.

When you import a model that already contains Adams/Vibration data, you do not have to load the Adams/Vibration plugin manually; the core product automatically loads the plugin for you. This section shows you how to load the Adams/Vibration plugin into Adams/View. Loading the plugin into other core products is similar.

To load Adams/Vibration:

1. From the Tools menu, point to Plugin Manager.

2. Select the Load checkbox next to Adams/Vibration.

3. Select OK.

The Adams/Vibration plugin loads in Adams/View. If you get an error message, you might have a problem with your licensing. Contact your system administrator or your Adams contact person.

To unload Adams/Vibration:

1. From the Tools menu, point to Plugin Manager.

2. Clear the Load checkbox next to Adams/Vibration.

3. Select OK.

Starting Adams/VibrationTo start Adams/Vibration, you must first start Adams/View (or one of the Adams vertical products), and then load the Adams/Vibration plugin.

To start Adams/View and import your model:

1. Do either of the following depending on the platform on which you are running Adams/View:

Page 4: Using Adams/Vibration - MD Adams 2010

Adams/VibrationWelcome to Adams/Vibration

4

• On UNIX, type the command to start the Adams Toolbar at the command prompt, and then press Enter. Select the Adams/View tool.

• On Windows, from the Start menu, point to Programs, point to MSC.Software, point to MD Adams 2010, point to AView, and then select Adams - View.

The Welcome dialog box appears in the Adams/View main window.

2. Select Import a File.

3. Select the Find Directory tool next to the Start in text box. This displays the Find Directory dialog box.

The Start in text box specifies the working directory that Adams/Vibration uses as the default directory for reading and writing files.

4. Navigate to the working directory.

5. Select OK

This ensures that all your work gets stored in the working directory you selected.

6. Select OK.

The File Import dialog box appears.

7. Right-click the File to Read text box, and select Browse.

8. Select your model file.

9. Select OK.

Adams/Vibration opens and displays the model.

10. Load the Adams/Vibration plugin. Learn how.

Page 5: Using Adams/Vibration - MD Adams 2010

Building Your Model

FD DampersWhen you are given experimentally measured component force magnitude and phase data in the frequency domain, you can use a frequency-dependent (FD) element to represent it in an Adams simulation. Using an FD identification tool, you can compute FD coefficients to best fit the measured data. There are four different forms of FD components:

• Pfeffer Linear

• Simple FD

• Simple FD Bushing

• General

The Pfeffer model has a specific representation (see Reference 2 below).

Once you create and verify an FD modeling element in Adams/Vibration, you can use it in a time-domain analysis.

References:

1. Knowledge Base Article 12294: AVB-013: Frequency Dependent (FD) Modeling Elements (http://support.adams.com/kb/faq.asp?ID=kb12294.html).

2. Pfeffer, P. and Hofer, K. Simple non-linear model for elastomer and hydro mountings, ATZ Worldwide, 104, 5/2002, May, 2002, 5-7, ISSN: 000 12785.

To create or modify an FD damper:

1. From the Vibration menu, point to Build, point to FD Damper or FD 3D Damper, and then select New (to create an FD damper) or Modify (to modify an FD damper).

2. Depending on the type of FD damper you are creating or modifying, follow the instructions in the dialog box help for Create/Modify FD 3D Damper or Create/Modify FD Damper.

3. Select OK.

To delete an FD damper:

1. From the Vibration menu, point to Build, point to FD Damper or FD 3D Damper, and then select Delete.

2. From the Database Navigator, select the FD damper you want to delete.

3. Select OK.

Input ChannelsInput channels provide a port into your system so you can plot the frequency response or drive your system with an input force using a vibration actuator. You must create an input function to vibrate your

Page 6: Using Adams/Vibration - MD Adams 2010

Adams/VibrationBuilding Your Model

8

system. A vibration actuator applies an input force to vibrate the system. A vibration actuator can contain expressions that let you use both time and frequency inputs. Each input channel must reference only one vibration actuator. Each vibration actuator, however, can be associated with multiple input channels.

To create an input channel:

1. From the Vibration menu, point to Build, point to Input Channel, and then select New.

2. Follow the instructions in the dialog box help for Create/Modify Vibration Input Channel.

3. Select OK.

To delete an input channel:

1. From the Vibration menu, point to Build, point to Input Channel, and then select Delete.

2. From the Database Navigator, select the input channel you want to delete, and then select OK.

3. In the message window that appears, select one of the following:

• Delete All - Deletes the input channel and all of its dependents.

• Remove Parametric Expressions - Deletes the input channel after removing all of its parametric dependencies.

• Cancel - Stops the process without deleting the input channel.

To modify an input channel:

1. From the Vibration menu, point to Build, point to Input Channel, and then select Modify.

2. Select the input channel you want to modify.

3. Select OK.

4. Modify the vibration actuator, as needed, by performing the following:

• If you want to associate the input channel with a new actuator, select Actuator Parameters, and enter the appropriate information.

• If you want to create a new vibration actuator, select Existing Actuator, and perform one of the following:

• Enter the name of the vibration actuator you want to reference.

Page 7: Using Adams/Vibration - MD Adams 2010

9Building Your Model

• Right-click, select Vibration_Actuator and use the Guesses or Browse to select the vibration actuator.

5. If you want to, modify other parameters as described in Create/Modify Vibration Input Channel.

6. Select OK.

Output ChannelsOutput channels provide ports in your system at which you examine the frequency response of the system. You can think of output channels as instrumentation ports where you can measure system response and report the results directly in the frequency domain. Output channels can be any valid Adams/Solver run-time function, but are typically displacements, velocities, or accelerations.

To create an output channel:

1. From the Vibration menu, point to Build, point to Output Channel, and then select New.

2. Follow the instructions in the dialog box help for Create/Modify Vibration Output Channel.

3. Select OK.

To delete an output channel:

1. From the Vibration menu, point to Build, point to Output Channel, and then select Delete.

2. From the Database Navigator, select the output channel you want to delete, and then select OK.

3. In the message window that appears, select one of the following:

• Delete All - Deletes the output channel and all of its dependents.

• Remove Parametric Expressions - Deletes the output channel after removing all of its parametric dependencies.

• Cancel - Stops the process without deleting the output channel.

To modify an output channel:

1. From the Vibration menu, point to Build, point to Output Channel, and then select Modify.

2. Enter the name of the output channel you want to modify.

3. Modify the output channel, as needed, as described in Create/Modify Vibration Output Channel.

4. Select OK.

Note: Measures are not fully supported. To avoid syntactical warnings or errors, be sure to enter the run-time function directly.

Page 8: Using Adams/Vibration - MD Adams 2010

Adams/VibrationBuilding Your Model

10

Vibration ActuatorsVibration actuators are an Adams/Vibration function definition, such as a periodic sine curve, a step, or a spline curve, used to drive an input channel during a forced vibration analysis. The different types are:

• Power Spectral Density

• Rotating Mass

• Swept Sine

• User-Defined Function

Power Spectral Density

The PSD vibration actuator is defined using a spline function. You can specify either a force PSD or a displacement PSD.

You can specify that different PSD input channels are in cross correlation with each other; the corresponding off-diagonal terms are automatically created for the frequency domain analysis. See the PSD Cross Correlation dialog box.

Learn about computing Power Spectral Density (PSD).

Rotating Mass

A rotating mass applies a frequency-dependent force. This actuator represents the force due to a rotating mass located at a specified offset from an axis of rotation. The axis of rotation is defined by the input channel to which this vibrational actuator is applied.

where:

• is the frequency

• is the unbalanced mass forcing function

• m is the unbalanced mass

Note: You cannot combine vibration actuators of the non-PSD-type with PSD-type vibration actuators in the same vibration analysis.

f m 2r =

f

Page 9: Using Adams/Vibration - MD Adams 2010

11Building Your Model

• r is the radial distance of the unbalanced mass from the axis of rotation

Similarly, a rotating mass placed at a distance offset along the axis of rotation results in an unbalanced moment.

where:

• is the moment due to unbalanced mass with offset

• d is the distance of the unbalanced mass perpendicular to the plane

Swept Sine

Swept sine defines a constant amplitude sine function being applied to the model. The amplitude of the sine function and the starting phase angle are required and must be specified in the Create Vibration Actuator dialog box.

t m 2r d =

t

Page 10: Using Adams/Vibration - MD Adams 2010

Adams/VibrationBuilding Your Model

12

where:

• f is the forcing function

• F is the magnitude of the force

• is the phase angle

• is the frequency

User-Defined Function

You can define any function of the independent variable omega:

where:

• is the frequency

• is the general function of omega

Macro for Removing Vibration ObjectsYou can use a utility macro to clean out all vibration entities from a model. This is useful when you want to share your model with other Adams users who will not be using the model for Adams/Vibration analysis, allowing them to start with a clean model.

Issue the command associated with the macro from the command line. For example:

mdi vibration model cleanup model=YourModel retain_fd_dampers=no

f F cos j sin+ =

f g =

g

Note: When the function is evaluated, omega is populated with each frequency from the vibration analysis.

Note: • YourModel is the name of the model from which you want the objects deleted.

• retain_fd_dampers defines whether or not FD damper elements will remain in the model. If set to no, they are deleted. If set to yes, FD damper elements will remain, but all other vibration entities, such as input or output channels, will be removed.

Page 11: Using Adams/Vibration - MD Adams 2010

Testing Your Model

Page 12: Using Adams/Vibration - MD Adams 2010

Adams/VibrationAnalyses and Scripts

28

Analyses and Scripts

Creating and Running a Forced Vibration Analysis1. From the Vibration menu, point to Test, and then select Vibration Analysis.

2. Select New Vibration Analysis.

3. Create your analysis as described in the dialog box help for Perform Vibration Analysis, being sure to select Forced Vibration Analysis.

4. Optionally select Create Multi-Run Script and following the instructions in Create Vibration Multi-Run Script.

5. Select OK.

Adams/Vibration performs a forced vibration analysis. The process runs quickly. If no error messages appear, you can assume the vibration analysis completed correctly. If you receive error messages, correct the problem, and rerun your analysis.

Creating and Running a Normal Modes Analysis1. From the Vibration menu, point to Test, and then select Vibration Analysis.

2. Select New Vibration Analysis.

3. Create your analysis as described in the dialog box help for Perform Vibration Analysis, being sure to select Normal Modes Analysis.

4. Optionally, select Create Multi-Run Script and follow the instructions in Create Vibration Multi-Run Script.

5. Select OK.

Adams/Vibration performs a normal modes analysis. The process runs quickly. If no error messages appear, you can assume the vibration analysis completed correctly. If you receive error messages, correct the problem, and rerun your analysis.

Modifying Existing Analyses1. From the Vibration menu, point to Test, and then select Vibration Analysis.

2. Select Vibration Analysis.

3. In the corresponding text box, enter the name of your existing vibration analysis.

4. Make changes as necessary.

5. Select OK to run your analysis.

Note: You cannot combine vibration actuators of the non-PSD-type with PSD-type vibration actuators in the same vibration analysis.

Page 13: Using Adams/Vibration - MD Adams 2010

29Testing Your ModelAnalyses and Scripts

Vibration Analysis Calculation MethodsVibration analysis is a frequency domain simulation of Adams models. This simulation can be a normal modes analysis in which the Eigenvalues and mode shapes for the model are computed. The frequency domain simulation can also be a forced response analysis using the input and output channels along with the vibration actuators.

• Frequency Response

• Modal Coordinates

• Power Spectral Density (PSD)

• Transfer Function

Frequency Response

Frequency response is the magnitude and phase response produced by a given input channel, at a given omega, for a given output channel.

For frequency response computation, the linearized model is represented as:

sx(s) = Ax(s) + Bu(s)

y(s) = Cx(s) + Du(s)

where:

• s is the Laplace variable

• A, B, C, and D are state matrices for the linearized model

The system transfer function can be represented as:

where:

• H(s) is the transfer function for the model

• I is the identity matrix of dimension equal to the number of system states

For a given vibration analysis, the system frequency response is given as:

Modal Coordinates

Modal coordinates are states in the frequency domain solution associated with a specific mode. Modes most active in a frequency response can be identified from the modal coordinates. The modal coordinates are computed as:

H s y s u s ---------- C sI A– 1– B D+= =

y s H s u s =

x s sI A– 1– Bu s =

Page 14: Using Adams/Vibration - MD Adams 2010

Adams/VibrationAnalyses and Scripts

30

Power Spectral Density (PSD)

PSD of output channels for given input PSDs is given as:

where:

• p(s) is the matrix of power spectral density

• H*(s) is the complex conjugate transpose of H(s)

• U(s) is the matrix of input spectral density

The matrix of input spectral densities is a diagonal matrix with the vibration actuator PSDs on the diagonal locations. Off-diagonal locations of this matrix are populated with cross-correlation PSD specification.

For example, for a model with two input channels with actuators of type PSD:

where:

• U1(s) is the PSD of input channel 1

• U2(s) is the PSD of input channel 2

• U12(s) is the cross correlation PSD of input channel 1 to input channel 2

• U21(s) is U12(s)

Transfer Function

Transfer function is a basic property of a model, and is computed as the magnitude and phase response at a given output channel for a given input channel with a unit swept sine vibration actuator.

For frequency response computation, the linearized model is represented as:

sx(s) = Ax(s) + Bu(s)

y(s) = Cx(s) + Du(s)

where:

• s is the Laplace variable

• A, B, C and D are state matrices for the linearized model

p s H s U s H s =

U s U1 s U12 s

U21 s U2 s =

Page 15: Using Adams/Vibration - MD Adams 2010

31Testing Your ModelAnalyses and Scripts

The system transfer function can be represented as:

where:

• H(s) is the transfer function for the model

• I is the identity matrix of dimension equal to the number of system states

Creating a Multi-Run ScriptYou can create a simulation Script that you can use during multi-run simulations (such as Design study, Design of experiments (DOE), and so on).

To create a multi-run script:

1. Perform one of the following:

• From the Vibration menu, point to Test, and then select Create Multi-Run Script.

• From the Vibration menu, point to Test, and then select Vibration Analysis. In the Perform Vibration Analysis dialog box, select Create Multi-Run Script.

2. Complete the dialog box as described in Create Vibration Multi-Run Script.

3. Select OK.

Specifying Solver SettingsYou can specify the default solver options for your simulation.

To specify the solver settings:

1. From the Vibration menu, point to Test, and then select Solver Settings.

2. Complete the dialog box as described in Solver Settings - Executable.

3. Select OK.

H s y s u s ---------- C sI A– 1– B D+= =

Page 16: Using Adams/Vibration - MD Adams 2010

Adams/VibrationBatch Mode Analysis

32

Batch Mode Analysis

Overview of Batch Mode AnalysisIn Adams/Vibration, you can perform batch mode vibration analysis. This functionality is available in the Python scripting environment. The Python scripting language was selected for its ease of use, power, and flexibility. A basic understanding of the python language is prerequisite to using batch mode analysis. For more information on the Python scripting language see http://www.python.org.

To perform vibration batch mode analysis, you must have an existing Adams model in the form of a dataset (.adm) file. Based on this model, you are required to create a Python script to perform the following:

1. Set up the model for vibration analysis.

a. Define vibration actuator

b. Define vibration input channels

c. Define vibration output channels

d. Define vibration analyses

2. Perform vibration analysis

a. Create a vibration model

b. Perform the vibration analysis

3. Export analysis results for postprocessing

a. Export simulation data to a stand-alone file in the .xml format. This file may be imported in third-party packages for plotting.

b. Export an Adams/View command file, which can be imported into Adams/PostProcessor for postprocessing of Adams/Vibration analysis data.

4. Check out and check in Adams/Vibration license (optional, but good practice)

Once you've created the Python script, you can run it using one of the following commands:

• On Windows, from a command prompt:

mdadams2010 python my_model.py

• On UNIX, in a UNIX shell:

mdadams2010 -c python my_model.py

where my_model.py is the python script file.

Alternatively, you can also type the commands contained in this file directly into the Python interpreter to perform the same analysis.

Page 17: Using Adams/Vibration - MD Adams 2010

33Testing Your ModelBatch Mode Analysis

Python ExamplesYour installation directory contains many examples that use Python scripts to perform various Adams/Vibration activities. The following table lists the location and description of each example.

Note: All example directories are located in install_dir/vibration/examples, where install_dir is the directory where Adams is installed.

Example directory: Instructions file: Description of example:

achassis_demo Readme.txt Using an Adams/Chassis vehicle model, runs batch mode analysis in the frequency domain using Adams/Vibration.

mechanical_transfer_functions Readme.txt Illustrates the calculation of mechanical transfer functions in the frequency domain using Adams/Vibration. Also saves vibration results in a .res file.

multi_point_analysis Readme.txt Using a concept vehicle model, runs a batch-mode analysis in the frequency domain using Adams/Vibration. The analysis calculates the compliance matrix of the model at multiple operating points during the simulation.

python_batch_analysis Readme.txt Using a concept vehicle model, runs a batch-mode analysis in the frequency domain using Adams/Vibration.

python_plotting Readme.txt Illustrates the plotting of vibration data in Python. Each Python script produces a different kind of plot.

Page 18: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

34

Classes

Actuator######################################################################################################################################################################################################################################### Copyright (C) 2004 by MSC.Software, Inc., Santa Ana, CA, USA# All Rights Reserved. This code may not be copied or reproduced in# any form, in part or in whole, without the explicit permission of# the copyright owner.## Intent+: Python Qt interface for Adams/Vibration# Intent-:## Caveats+:# Caveats-:############################################################################################################################################################## Copyright (C) 2004 by MSC.Software, Inc., Santa Ana, CA, USA# All Rights Reserved. This code may not be copied or reproduced in# any form, in part or in whole, without the explicit permission of# the copyright owner.## Intent+: Python Qt interface for Adams/Vibration# Intent-:## Caveats+:# Caveats-:#######################################################################

Functions

Actuator(self, ActInfo)

DataMEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0MEStartMode = -1MEStrainEnergy = 0__author__ = __date__ = '11 Dec. 2003'__file__ = './Actuator.pyc'

Modules

msc.Adams.Vibration.libAvAPIc os struct types

libsip re sys

math string traceback

Page 19: Using Adams/Vibration - MD Adams 2010

35Testing Your ModelClasses

__name__ = 'Actuator'

Av2Nastran ######################################################################################################################################################################################################################################### Copyright (C) 2004 by MSC.Software, Inc., Santa Ana, CA, USA# All Rights Reserved. This code may not be copied or reproduced in# any form, in part or in whole, without the explicit permission of# the copyright owner.## Intent+: Python interface for Adams/Vibration# Intent-:## Caveats+:# Caveats-:##############################################################################

Classes

Av2Nastran

AvBdfFile

AvBdfFileEigen

AvBdfFileFrf

AvRes2Nastran

AvStates

MKC

class Av2Nastran

Create a linear system model from an Adams non-linear system.

Methods defined here:

A(self)

Return the system A matrix

AcfToScript(self, iFile)

AddState(self, j, states, Ns)

Modules

fileinput

msc.Adams.Vibration.libAvAMDc

msc.Adams.Vibration.libAvAPIc

msc.Adams.Vibration.libAvASOLc

libsip

math

os

re

string

struct

sys

tempfile

traceback

types

Page 20: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

36

B(self)

Return the system B matrix

BDFBushing(self, bdfFile, bush, gId, nId, comment)

BDFConectionList(self, bdfFile)

BDFJoint(self, bdfFile, joint, gId, nId, comment)

BDFSpringDamper(self, bdfFile, spdp, gId, nId, comment)

C(self)

Return the system C matrix

CheckAMat(self, rList)

CheckCMat(self, cList)

CleanDepList(self, p)

D(self)

Return the system D matrix

Eigen(self, fName, Continuation='+AV0001')

FRF(self, fName, st, ed, nStep, logSpace, Continuation='+AV0001')

Input(self, FDList)

InputChannels(self)

Return the system inputs

MakeOutputChannelList(self, FlexList)

Ok(self)

OutputChannels(self)

Return the system inputs

RemoveStates(self, rList)

Simulate(self, simScript, damping, fList, sName)

SubSystem(self)

Time(self)

__init__(self, amdModel, inputList, flexList, FDList, simScript, damping, solverLib, mFunc=<function Adm2NasMessage>)

# def __init__(self, amdModel, inputList, outputList, FDList, simScript, damping, fList, dList, ConList, sName):

Data and non-method functions defined here:

__doc__ = 'Create a linear system model from an Adams non-linear system.'

str(object) -> string

Return a nice string representation of the object.

Page 21: Using Adams/Vibration - MD Adams 2010

37Testing Your ModelClasses

If the argument is a string, the return value is the same object.

__module__ = 'Av2Nastran'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

class AvBdfFile

Methods defined here:

AdvanceLine(self)

BulkMatrix(self, Name, mat, Symetric, Offset)

Close(self)

Continuation(self, continuation)

FilterLine(self, line)

FilterLineE(self, line)

__init__(self, fName, continuation)

write(self, line)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'Av2Nastran'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

class AvBdfFileEigen(AvBdfFile)

Methods defined here:

Bulk(self, M, B, K, Offset=1)

Case(self, Name)

Exec(self, Name)

__init__(self, fName, continuation='+AV0001')

Data and non-method functions defined here:

__doc__ = None

__module__ = 'Av2Nastran'

str(object) -> string

Page 22: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

38

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Methods inherited from AvBdfFile:

AdvanceLine(self)

BulkMatrix(self, Name, mat, Symetric, Offset)

Close(self)

Continuation(self, continuation)

FilterLine(self, line)

FilterLineE(self, line)

write(self, line)

class AvBdfFileFrf(AvBdfFile)

Methods defined here:

Actuator2Table(self, act, fr)

Bulk(self, st, ed, nStep, logSpace, M, B, K, lB, C, D, actList, ND, NS, offsetS, offsetG, gLoc, P2G)

Bulk2(self, st, ed, nStep, logSpace, M, B, K, lB, C, D, actList, ND, NS, offset)

BulkCMatrix(self, NameK, matK, NameC, matD, matC, ND, NS, offsetS, offsetG)

BulkCMatrix2(self, NameK, matK, NameC, matD, matC, ND, NS, offsetS, offsetG)

BulkVector(self, Name, vec, offset)

Case(self, Name, nOut, Offset=1)

Case2(self, Name, nOut, Offset)

Exec(self, Name)

MapRow(self, r, ND, NS)

__init__(self, fName, continuation='+AV0001')

Data and non-method functions defined here:

__doc__ = None

__module__ = 'Av2Nastran'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Methods inherited from AvBdfFile:

AdvanceLine(self)

Page 23: Using Adams/Vibration - MD Adams 2010

39Testing Your ModelClasses

BulkMatrix(self, Name, mat, Symetric, Offset)

Close(self)

Continuation(self, continuation)

FilterLine(self, line)

FilterLineE(self, line)

write(self, line)

class AvRes2Nastran

Create a linear system model from an Adams non-linear system.

Methods defined here:

Eigen(self, fNameBase, Continuation='+AV0001')

FRF(self, fNameBase, st, ed, nStep, logSpace, Continuation='+AV0001', actList=[])

Ok(self)

__init__(self, amdModel, kRes, mFunc=<function Adm2NasMessage>)

# def __init__(self, amdModel, inputList, outputList, FDList, simScript, damping, fList, dList, ConList, sName):

Data and non-method functions defined here:

__doc__ = 'Create a linear system model from an Adams non-linear system.'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

__module__ = 'Av2Nastran'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

class AvStates # LEVEL = ['INFO :', 'WARNING: ', 'ERROR :', 'FAULT :']# if msg and len(msg):# if level <4:# print '%s %s'%(LEVEL[level], msg)# else:# print 'Level(%d): %s'%(level,msg)#########################################################################################

Page 24: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

40

Methods defined here:

Displacement(self, type, id, coord)

NumDisplacement(self)

NumStates(self)

State(self, type, id, coord)

__init__(self, S)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'Av2Nastran'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

class MKC

Methods defined here:

Matrix(self, which)

NumDisplacement(self)

NumStates(self)

__init__(self, A, S)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'Av2Nastran'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Functions

Adm2NasMessage(level, msg)

HandleStep(Type, EventInput=0, EventOutput=0)

PrintEigen(Mat)

PrintPatern(lab, mat)

PrintSubSystem(A, B, C, D, S)

DataMEDissipativeEnergy = 0

Page 25: Using Adams/Vibration - MD Adams 2010

41Testing Your ModelClasses

MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0MEStartMode = -1MEStrainEnergy = 0__author__ =__date__ = '1 Sept. 2004'__file__ = './Av2Nastran.py'__name__ = 'Av2Nastran'

AvActuator

This the entry point for the Actuators

Classes

AvActuator

AvActuatorPSDFunction

AvActuatorRotatingMass

AvActuatorSweptSine

AvActuatorUserFunction

class AvActuator

Methods defined here:

CrossActuator(id)

DVAType(self)

EvalPSD(self, w)

Evaluate(self, w)

HasCrossActuator(id)

Name(self)

PSD(self)

__init__(self, Name)

Modules

msc.Adams.Vibration.libAvAPIc

libsip

math

os

re

string

struct

sys

traceback

types

Page 26: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

42

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvActuator'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

class AvActuatorPSDFunction(AvActuator)

Methods defined here:

Actuator(self)

WritePy(self, oFile, space)

WriteXML(self, oFile, space)

PSD Function

__init__(self, Name, Type, Func, Args, CrossList)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvActuator'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Methods inherited from AvActuator:

CrossActuator(id)

DVAType(self)

EvalPSD(self, w)

Evaluate(self, w)

HasCrossActuator(id)

Name(self)

PSD(self)

class AvActuatorRotatingMass(AvActuator)

Methods defined here:

Actuator(self)

Create an actuator from the dialog box data

Page 27: Using Adams/Vibration - MD Adams 2010

43Testing Your ModelClasses

WritePy(self, oFile, space)

WriteXML(self, oFile, space)

Rotating Mass

__init__(self, Name, Type, Leading, Mass, Offset, Normal=None)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvActuator'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Methods inherited from AvActuator:

CrossActuator(id)

DVAType(self)

EvalPSD(self, w)

Evaluate(self, w)

HasCrossActuator(id)

Name(self)

PSD(self)

class AvActuatorSweptSine(AvActuator)

Methods defined here:

Actuator(self)

WritePy(self, oFile, space)

WriteXML(self, oFile, space)

Swept sine

__init__(self, Name, Type, Mag, Phase)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvActuator'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Page 28: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

44

Methods inherited from AvActuator:

CrossActuator(id)

DVAType(self)

EvalPSD(self, w)

Evaluate(self, w)

HasCrossActuator(id)

Name(self)

PSD(self)

class AvActuatorUserFunction(AvActuator)

Methods defined here:

Actuator(self)

WritePy(self, oFile, space)

WriteXML(self, oFile, space)

User

__init__(self, Name, Type, Func, Args)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvActuator'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Methods inherited from AvActuator:

CrossActuator(id)

DVAType(self)

EvalPSD(self, w)

Evaluate(self, w)

HasCrossActuator(id)

Name(self)

PSD(self)

DataMEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0

Page 29: Using Adams/Vibration - MD Adams 2010

45Testing Your ModelClasses

MEKineticEnergy = 0MENormalizedCoordinates = 0MEStartMode = -1MEStrainEnergy = 0__file__ = './AvActuator.pyc'__name__ = 'AvActuator'

AvAMD

From Adams/Vibration.AvAMD import *

Constructor:

AvAMD(fName) Constructor

Returns: object

Parameters: string fName: Name of the adm file with the Adams/Solver

model in it

ADAMS_OBJECT Model() Get the key to the model Returns: int - the key to the model Parameters: None

ADAMS_OBJECT Ground() Get the key to the ground object Returns: int - the key to ground Parameters: None

int AdamsID(Object) Get the objects ADAMS ID Returns: int - the id assigned to the object Parameters:

Object - ADAMS_OBJECT database object to get the id from

ADAMS_OBJECT CreateVariable(func) Create a solver variable in the database Returns: int - the key to the variable Parameters:

func - string solver function

list PartList() Get a list of parts in the model Returns: list - list of keys Parameters: None

list MarkerList(part) Get a list of markers for the given part Returns: list - list of markers Parameters:

Page 30: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

46

part - ADAMS_OBJECT part to get the markers from

list StateMatrixList(results) Get a list of state matrix objects for the given results object Returns: list - list of state matrix Parameters:

results - ADAMS_OBJECT results object to get the state matrix from

ADAMS_OBJECT PartFromMarker(markerID) Get the markers parent Returns: ADAMS_OBJECT - key of the parent part

Parameters: markerID - int ADAMS ID of the marker

ADAMS_OBJECT CreateMarker(partId, dir) Create a marker in the database Returns: ADAMS_OBJECT - key of the marker Parameters:

partID - int ADAMS ID of the parent part dir - char direction to align Z axis

string ObjName(dbObject) Get the name of the database object Returns: string - Name of the object Parameters:

dbObject - ADAMS_OBJECT database object to get name from

string MarkerName(markerID) Get the name of the marker Returns: string - Name of the marker Parameters:

markerID - int ADAMS ID of the marker

ADAMS_OBJECT CreateSForce(iMarkId, jMarkId, action, type, func) Create an SFORCE in the database Returns: ADAMS_OBJECT - key to the SFORCE Parameters:

iMarkId - int ADAMS ID of the I marker jMarkId - int ADAMS ID of the J marker action - string "ACTIONONLY" or None type - string "Translational" or "Rotational" func - string solver function

ADAMS_OBJECT CreateResults() Create a results object in the database Returns: ADAMS_OBJECT - key to the results object Parameters: None

bool WriteADM(fName) Write the model to a solver database file Returns: bool - true for success Parameters:

Page 31: Using Adams/Vibration - MD Adams 2010

47Testing Your ModelClasses

fName - string name of the adm file to write

ADAMS_OBJECT CreatePInput(varIDs) Create a plant input object in the database Returns: ADAMS_OBJECT - key to the plant input object Parameters:

varIDs - list list of ADAMS ID's of the solver variables forthe plant input

ADAMS_OBJECT CreatePOutput(const int*) const; Create a plant output object in the database Returns: ADAMS_OBJECT - key to the plant output object Parameters:

varIDs - list list of ADAMS ID's of the solver variables forthe plant output

double DM(iMarkID, jMarkID) Get the distance between two markers Returns: double - distance between markers Parameters:

iMarkID - ADAMS ID of the I marker jMarkID - ADAMS ID of the J marker

int DiffID() Get the ADAMS ID to assign to the next DIFF Returns: int - ADAMS ID of the DIFF Parameters: None

ADAMS_OBJECT CreateDiff(id, func, IC) Create a DIFF object in the database Returns: ADAMS_OBJECT - key to the DIFF object Parameters:

id - ADAMS ID if the DIFF to create func - string solver function for the DIFF IC - double DIFF initial value for the DIFF

ADAMS_OBJECT CreateMatrix(nRow, nCol, order, data) Create a matrix object in the database Returns: ADAMS_OBJECT - key to the matrix object Parameters:

nRow - int number of rows nCol - int number of columns order - string Row order or Column order of the data

data - list matrix values

ADAMS_OBJECT CreateArray(which, data) Create an array object in the database Returns: ADAMS_OBJECT - key to the array object Parameters:

which - character X, Y, U, I data - string optional values for the array used with I & U

ADAMS_OBJECT CreateLSE(xArray, uArray, yArray, icArray, aMat,bMat, cMat, dMat)

Page 32: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

48

Create an LSE object in the database Returns: ADAMS_OBJECT - key to the LSE object Parameters:

xArray - int ADAMS ID of the X array uArray - int ADAMS ID of the U array yArray - int ADAMS ID of the Y array icArray - int ADAMS ID of the IC array aMat - int ADAMS ID of the A matrix bMat - int ADAMS ID of the B matrix cMat - int ADAMS ID of the C matrix dMat - int ADAMS ID of the D matrix

ADAMS_OBJECT CreateGSE(nIn, nOut, xArray, uArray, yArray, icArray, xxFlag, xuFlag, yxFlag, yuFlag, Parm,

libFunc) Create an LSE object in the database Returns: ADAMS_OBJECT - key to the LSE object Parameters:

nIn - int number of inputs to system nOut - int number of system outputs xArray - int ADAMS ID of the X array uArray - int ADAMS ID of the U array yArray - int ADAMS ID of the Y array icArray - int ADAMS ID of the IC array xxFlag - char U user function provided None other wise xuFlag - char U user function provided None other wise yxFlag - char U user function provided None other wise yuFlag - char U user function provided None other wise Parm - list user parameters or empty libFunc - string user function lib::func names

ADAMS_OBJECT CreateGForce( const int iMarkId, const int jMarkId,const int rMarkId, const char* Fx, const char* Fy, const char* Fz,const char* Tx, const char* Ty, const char*Tz)

Create an GFORCE object in the database Returns: ADAMS_OBJECT - key to the GFORCE object Parameters:

iMarkId - int I marker ADAMS ID jMarkId - int J marker ADAMS ID rMarkId - int Ref marker ADAMS ID Fx - string solver function for force in the X direction FY - string solver function for force in the Y direction Fz - string solver function for force in the Z direction TX - string solver function for torque in the X axis Ty - string solver function for torque in the Y axis Tz - string solver function for torque in the Z axis

ADAMS_OBJECT ReadResultsFile(analysisName, fileName) Read a results file Returns: ADAMS_OBJECT - key to the results object Parameters:

analysisName - string name for the analysis filename - string name of the .res file

Page 33: Using Adams/Vibration - MD Adams 2010

49Testing Your ModelClasses

bool WriteResultsFile(analysisObject, filename) Write a results file Returns: boolean - true if file written successfully false

otherwise Parameters:

analysisObject - ADAMS_OBJECT key of the analysis to write filename - string name of the .res file

ADAMS_OBJECT CreateResultsVariable(analysisObject, variableName,comment1, comment2, data)

Create a results variable Returns: ADAMS_OBJECT - key of the variable Parameters:

analysisObject - ADAMS_OBJECT key of the analysis variableName - string name of the new variable comment1 - string variable comment comment2 - string variable comment data - list values to assign to variable

AvAPI_Matrix StateMatrix(smObject, which) Get a matrix from a state matrix object Returns: AvAPI_Matrix - the matrix Parameters:

smObject - ADAMS_OBJECT key to the state matrix object which - char matrix to get A, B, C, D

double StateMatrixTime(smObject) Get the time from a state matrix object Returns: double - simulation time the state matrix object was

created Parameters:

smObject - ADAMS_OBJECT key to the state matrix object

bool StateMatrixABCD(smObject) Determine if a state matrix object has B, C, D matrix Returns: Boolean - true if B, C, and D exist false otherwise Parameters:

smObject - ADAMS_OBJECT key to the state matrix object<![endif]>int NodeID(Marker)Get the objects Node ID of a markerReturns: int - the id of the nodeParameters:Marker - ADAMS_OBJECT database object to get the id fromlistDependList(Object)

Get a list of dependants for the given object Returns: list - list of objects Parameters:

Object - ADAMS_OBJECT to get the dependants from

list ReferenceList(Object) Get a list of objects that reference the given object Returns: list - list of objects Parameters:

Page 34: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

50

Object - ADAMS_OBJECT to get the references from

list MKCList(results) Get a list of MKC objects for the given results object Returns: list - list of MKC objects Parameters:

results - ADAMS_OBJECT results object to get the MKC from

list FlexList() Get a list of parts in the model Returns: list - list of keys Parameters: None

ADAMS_OBJECT Marker(Id)

Get a marker key given the id Returns: ADAMS_OBJECT Parameters:

Id - ADAMS id of the marker

ADAMS_OBJECT FixedJointMarker(Fixed, IorJ) Get a marker key of a fixed joint given I or J Returns: ADAMS_OBJECT Parameters:

Fixed - key to the fixed joint IorJ - character 'I' marker or 'J' marker

ADAMS_OBJECT GForceMarker(GF, IorJ)

Get a marker key of a GFORCE given I or J Returns: ADAMS_OBJECT Parameters:

GF - key to the GFORCE IorJ - character 'I' marker or 'J' marker

void Delete(k_obj)

Delete an object from the database Returns: None Parameters:

k_obj - key to the object to be removed

list MarkerLocationOrientation(Marker, Analysis); Returns the location and orientation of a marker

Returns: a six long list [X, Y, Z, Ax, Ay, Az] Parameters:

Marker - ADAMS_OBJECT marker to get information for Analysis - ADAMS_OBJECT non-zero Analysis will

return the current information zero Analysis will return the initial

information

void ForceOnElement(k_obj, Analysis) Returns the force action on the object

Returns: a six long list [FX, FY, FZ, Tx, Ty, Tz] Parameters:

k_obj - ADAMS_OBJECT key to the object

Page 35: Using Adams/Vibration - MD Adams 2010

51Testing Your ModelClasses

Analysis - ADAMS_OBJECT Analysis to return theforces from

AvAPI_Matrix MKC(k_obj, which) Get a matrix from a MKC object Returns: AvAPI_Matrix - the matrix Parameters:

k_obj - ADAMS_OBJECT key to the MKC object which - char matrix to get M, K, C (B)

ADAMS_OBJECT CreateFixedJoint(iMark, jMark)

Create a fixed joint between the given markers Returns: ADAMS_OBJECT - key to the fixed joint Parameters:

iMark - ADAMS id of the I marker jMark - ADAMS id of the J marker

ADAMS_OBJECT CreateAnalysis(model, name)

Create an analysis object Returns: ADAMS_OBJECT - key to the analysis Parameters:

model - ADAMS_OBJECT key to the model mane - string name of the analysis

char* UnitString(unit)

Get the unit string for the given unit Returns: string - unit string Parameters:

unit - eUNIT any of the following enum eUNIT {

eNONE, eANGLE, eFORCE, eFREQUENCY, eLENGTH, eMASS, eTIME, eINERTIA, eVELOCITY, eACCELERATION, eANGULAR_VEL, eANGULAR_ACCEL, eSTIFFNESS, eDAMPING, eTORSION_STIFF, eTORSION_DAMP, eAREA, eVOLUME, eTORQUE, ePRESSURE, eAREA_INERTIA, eDENSITY, eENERGY,

Page 36: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

52

eFORCE_TIME, eTORQUE_TIME, eFLOWRATE_PRESSURE_D, eFLOW_RATE, eF_PER_ANG, eC_PER_ANG, eCOMPOSED

};

AvAPI Class

Public Methods:

bool AcquireLicense(void)

Check out an Adams/Vibration license

Returns: bool - true on success false otherwise

Parameters: None

void ReleaseLicense(void)

Check in Adams/Vibration license

Returns: void

Parameters: None -

bool CheckLicense(void)

Check to see if process has a vibration license

Returns: bool - true on success; false otherwise

Parameters: None -

vib_message_handler PushMessageHandler(mh, Args)

Sets the current function to handle vibration messages

Returns: Current message handler

Parameters:

stringmh - Name of the function func(msg, type, args)

string MSG - Message being sent

character type - Type of message [e, i, w]

list args - Argument list given by user when function was set

listArgs - user data to send back to the handler

vib_message_handler PopMessageHandler(void)

Replace the current function to handle vibration messages with the pervious one

Returns: Current message handler

Parameters: None -

Page 37: Using Adams/Vibration - MD Adams 2010

53Testing Your ModelClasses

AvAPI_Actuator Class

Constructors:

AvAPI_Actuator(fdva, mag, phase)

Swept sine Constructor

Returns: Object pointer

Parameters:

char fdva - type of actuator [‘F’, ‘D’, ‘V’, ‘A’]

F = Force

D = Displacement

V = Velocity

A = Acceleration

double mag - magnitude of sine

double phase - phase of sine

AvAPI_Actuator(isForce, isLeading, mass, offset, dnormal)

Rotating mass Constructor

Returns: Object pointer

Parameters:

bool isForce - true for force; false for moment

bool isLeading- true for leading; false for lagging

double mass - mass of rotation

double offset - radial distance to the imbalance

double dnormal - perpendicular distance to the plane (moment only)

AvAPI_Actuator(fdva, ufunc, data)

User function Constructor

Returns: Object pointer

Parameters:

char fdva - type of actuator [‘F’, ’D’, ‘V’, ‘A’]

F = Force

D = Displacement

V = Velocity

A = Acceleration

string ufunc - name of the user function must be in the global dictionary

complex ufunc(data , w)

Page 38: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

54

Returns: complex f(w) actuator value at w

Parameters:

list data - user data given when actuator was constructed

double w - frequency of evaluation

list data - user data to be returned when ufunc is called

AvAPI_Actuator(fdva, ufunc, data, crossList)

PSD Constructor

Returns: Object pointer

Parameters:

char fdva - type of actuator [‘F’, ‘D’, ‘V’, ‘A’]

F = Force

D = Displacement

V = Velocity

A = Acceleration

string ufunc - name of the user function must be in the global dictionary

complex ufunc(data , w)

Returns:complex f(w) actuator value at w

Parameters:

list data - user data given when actuator was constructed

double w - frequency of evaluation

list data - user data to be returned when ufunc is called

listcrossList - list of cross correlation actuators

b. Public Methods:

AvAPI_Matrix Evaluate(Omega)

Actuator evaluation multiple frequencies

Returns:AvAPI_Matrix - vector of complex values

Parameters:

AvAPI_MatrixOmega - Vector of frequencies to evaluate at

AvAPI_Complex Evaluate(Omega)

Actuator evaluation single frequency

Returns:AvAPI_Complex - complex value

Parameters:

doubleOmega - Frequency of evaluation

Page 39: Using Adams/Vibration - MD Adams 2010

55Testing Your ModelClasses

char DVAType(void)

Type of actuator

Returns: char [‘F’, ‘D’, ‘V’, ‘A’]

F = Force

D = Displacement

V = Velocity

A = Acceleration

Parameters: None

boolPSD(void)

PSD type actuator

Returns: bool True if PSD actuator False otherwise

Parameters: None

AvAPI_Actuator CrossActuator(iIC)

Get the cross correlation actuator for given input channel

Returns: AvAPI_Actuator cross correlation actuator

Parameters: int iic input channel index

bool HasCrossActuator(int iic)

Determine if cross correlation actuator exists

Returns: bool True if the given input channel has a cross correlation actuator False otherwise

Parameters:

int iic input channel index.

If iic is less than zero the function returns True if any input channel has a cross correlation actuator.

AvAPI_Complex Class

Constructors:

AvAPI_Complex(void)

AvAPI_Complex default Constructor

Returns: Object pointer real and imaginary set to zero

Parameters: None

AvAPI_Complex(r, i)

AvAPI_Complex Constructor

Returns: Object pointer

Page 40: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

56

Parameters:

doubler - real part

double i - imaginary part

Public Methods:

AvAPI_Complex& byMP(magnitude, theta)

Set real and imag parts using the magnitude and phase given

Returns:AvAPI_Complex& - reference to this object

Parameters:

double magnitude - for values

double theta - phase angle in degrees

Note: real = magnitude * cos(ang)

imag = magnitude * sin(ang)

double real(void)

Return the real part of the complex number

Returns: double - real part

Parameters: None -

double imag(void)

Return the imaginary part of the complex number

Returns: double - imag part

Parameters:None -

double Mag(void)

Return the magnitude of the complex number

Returns: double - magnitude

Parameters: None -

double Phase(void)

Return the phase of the complex number

Returns: double - phase angle in degrees

Parameters: None -

AvAPI_Matrix Class

Constructors:

AvAPI_Matrix(nRow, vals)

Vector Constructor

Returns:Object

Page 41: Using Adams/Vibration - MD Adams 2010

57Testing Your ModelClasses

Parameters:

intnRow- Number of rows of data

list of double or complex vals - Data values column wise

AvAPI_Matrix(nRow, nCol, vals)

Dense column wise Constructor

Returns:Object pointer

Parameters:

intnRow- Number of rows of data

int nCol - Number of columns of data

list of double or complex vals - Data values column wise

AvAPI_Matrix(vals, nRow, nCol)

Dense row wise Constructor

Returns:Object pointer

Parameters:

int nRow- Number of rows of data

int nCol - Number of columns of data

list of double or complex vals - Data values row wise

AvAPI_Matrix(nSlot, nRow, nCol, vals)

Dense 3D Constructor

Returns:Object pointer

Parameters:

intnSlot- Number of slots of data

intnRow- Number of rows of data

int nCol - Number of columns of data

list of double or complex vals - Data values slot wise column wise

Methods:

double Value(row)

Value at mat[row,0]

Returns:double- Value of the matrix location[row,0]

Parameters:introw- Location to get the value

double Value(row, col)

Page 42: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

58

Value or location

Returns:double- Value of the matrix location[row,col]

Parameters:

int row- Location to get the value

int col - Location to get the value

double Value(slot, row, col)

Value or location

Returns:double- Value of the matrix location[row,col]

Parameters:

int slot- Location to get the value

int row- Location to get the value

int col - Location to get the value

AvAPI_Complex ValueC(row, col)

Value at location

Returns:AvAPI_Complex- Value of the matrix location[row,col]

Parameters:

int row- Location to get the value

int col - Location to get the value

AvAPI_Complex ValueC(slot, row, col)

Value at location

Returns:AvAPI_Complex- Value of the matrix location[row,col,slot]

Parameters:

int row- Location to get the value

int col - Location to get the value

int slot - Location to get the value

int Size(dim)

Matrix dimension

Returns: int - size of the matrix int the given dimension

Parameters:

int dim- Dimension to get the size 0, 1, or 2

list MultMv(vector)

Multiply the vector by the matrix

Returns: list - output vector

Page 43: Using Adams/Vibration - MD Adams 2010

59Testing Your ModelClasses

Parameters:

list vector- List of double or complex values

AvAPI_System Class

Constructor:

AvAPI_System(Time, A, B, C, D, actuatorList, modeList)

Constructor for a license system

Returns:Object pointer

Parameters:

double Time - Simulation time of linearization

AvAPI_Matrix A - system A matrix from ADAMS

AvAPI_Matrix B - system B matrix from ADAMS

AvAPI_Matrix C - system C matrix from ADAMS

AvAPI_Matrix D - system D matrix from ADAMS

list actuatorList - list of actuators

list modeList - list of modes by index to use in system calculations; NULL for including all modes.

Public Methods:

AvAPI_ActuatorActuator (iIC)

Actuator

Returns:AvAPI_Actuatoractuator for given input channel

Parameters:int iicindex of the input channel

int Inputs(void)

Inputs

Returns:int- number of system inputs

Parameters: None

intOutputs(void)

Outputs

Returns:int- number of system outputs

Parameters: None

intDefective(which)

defective eigen value index

Returns:int- index of eigen value if equal to which eigen value is not defective

Parameters: int which - index of eigen value

Page 44: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

60

AvAPI_ComplexEigenvalue (indx, cyclesPerTime)

eigen value

Returns:AvAPI_Complex the eigen value

Parameters:

int indx - index of the eigen value to be returned

bool cyclesPerTime - True value is scaled by 2

intEigenvalues(void)

number of eigen values found

Returns:int- number of eigen values

Parameters: None

AvAPI_ComplexEigenvector(which, indx)

eigen vector

Returns:the eigen vector component V[indx]

Parameters:

int which - eigen vector index

int indx - index into the vector

AvAPI_MatrixTransferFunction(Omega)

Transfer Function

Returns:AvAPI_Matrix - system transfer function3D complex matrix of the number of output channels times the number of input channels times the number of frequencies

Parameters: AvAPI_MatrixOmega vector of frequencies

AvAPI_MatrixFrequencyResponse (Omega)

Frequency Response

Returns:AvAPI_Matrix- system frequency response3D complex matrix of the number of output channels times the number of input channels times the number of frequencies

Parameters: AvAPI_MatrixOmega vector of frequencies

AvAPI_MatrixMCT (Omega, scaleMCT)

modal coordinate table

Returns:AvAPI_Matrix- modal coordinate table

Parameters:

AvAPI_MatrixOmega vector of frequencies

bool scaleMCT- ifTrue MCT matrix is scaled by the input actuators

AvAPI_Matrix MPF (iic, iOC, iFr, iMd, Omega)

Page 45: Using Adams/Vibration - MD Adams 2010

61Testing Your ModelClasses

modal participation factors

Returns:AvAPI_Matrix- system modal participation factors

Parameters:

int iic - input channel index

int IOC - output channel index

int iFr - frequency index

int imd - mode number

AvAPI_MatrixOmega vector of frequencies

AvAPI_Complex PSD (IOC, frequency)

Compute power spectral density (PSD)

Returns:AvAPI_Complex PSD value

Parameters:

int IOC - input channel index

double frequency - frequency for evaluation

AvAPI_Matrix PSD (frequency)

Compute power spectral density (PSD)

Returns:AvAPI_MatrixPSD values

Parameters:

doublefrequency - frequency for evaluation

double Time()

Get the time of linearization

Returns:double Time given

Parameters: Nome

AvAPI_Matrix ModalMatrix (Which)

Get A,B,C, or D Matrix

Returns:AvAPI_Matrix Matrix

Parameters:

char Which - Matrix to get A B C D

AvAPI_SystemSS Class

Constructor:

AvAPI_SystemSS(Time, A, B, C, D, actuatorList)

Constructor for a state space linear system

Returns: Object

Page 46: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

62

Parameters:

double Time - Simulation time of linearization

AvAPI_Matrix A - system A matrix from ADAMS AvAPI_Matrix B - system B matrix from ADAMS

AvAPI_Matrix C - system C matrix from ADAMS

AvAPI_Matrix D - system D matrix from ADAMS

list actuatorList - list of actuators

Public Methods:

double Time()

Get the time of linearization

Returns:double Time given

Parameters: Nome

AvAPI_Actuator Actuator(iIC)

Actuator

Returns:AvAPI_Actuator actuator for given input channel

Parameters:int iicindex of the input channel

int Inputs (void)

Inputs

Returns:int - number of system inputs

Parameters: None

intOutputs (void)

Outputs

Returns:int - number of system outputs

Parameters: None

AvAPI_Matrix TransferFunction(Omega)

Transfer Function

Returns:AvAPI_Matrix - system transfer function3D complex matrix of the number of output channels times the number of input channels times the number of frequencies

Parameters: AvAPI_MatrixOmega vector of frequencies

AvAPI_Matrix FrequencyResponse (Omega)

Frequency Response

Returns:AvAPI_Matrix - system frequency response3D complex matrix of the number of output channels times the number of input channels times the number of frequencies

Page 47: Using Adams/Vibration - MD Adams 2010

63Testing Your ModelClasses

Parameters: AvAPI_MatrixOmega vector of frequencies

AvAPI_Matrix MCT (Omega, scaleMCT)

modal coordinate table

Returns:AvAPI_Matrix - modal coordinate table

Parameters:

AvAPI_MatrixOmega vector of frequencies

bool scaleMCT - ifTrue MCT matrix is scaled by the input actuators

AvAPI_Matrix MPF (iic, iOC, iFr, iMd, Omega)

modal participation factors

Returns:AvAPI_Matrix - system modal participation factors

Parameters:

int iic - input channel index

int IOC - output channel index

int iFr - frequency index

int imd - mode number

AvAPI_Matrix Omega vector of frequencies

AvAPI_Complex PSD (IOC, frequency)

Compute power spectral density (PSD)

Returns: AvAPI_Complex PSD value

Parameters:

int IOC - input channel index

double frequency - frequency for evaluation

AvAPI_Matrix PSD (frequency)

Compute power spectral density (PSD)

Returns:AvAPI_Matrix PSD values

Parameters:

double frequency - frequency for evaluation

AvAPI_Matrix ModalMatrix (Which)

Get A,B,C, or D Matrix

Returns:AvAPI_Matrix Matrix

Parameters:

char Which - Matrix to get A B C D

AvAPI_Matrix ComplianceMatrix ()

Compute the compliance matrix

Page 48: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

64

Returns:AvAPI_Matrix Compliance Matrix

Parameters: None

AvAPI_ToolBox

From msc.Adams.Vibration.AvAPI import *

Data Members:

AvAPI_ToolBox.eRECTANGULAR

AvAPI_ToolBox.eHAMMING,

AvAPI_ToolBox.eHANNING,

AvAPI_ToolBox.ePARZEN,

AvAPI_ToolBox.eWELCH

Methods defined here:

double Frequency(i, nFFT, dt, HZ)

return the frequency associated with the ith point of the FFT

Returns: double

Parameters:int i - point number

int nFFT - total number of points in FFT

double DT - point spacing

bool HZ - true frequency returned in HZ

AvAPI_Matrix FFT(data, n, detrend, window)

compute the Fast Fourier Transformations (FFT)

Returns: AvAPI_Matrix

Parameters:

AvAPI_Matrix& data - input data in columns

int n - number of points to use in FFT

bool detrend - true detrend data

AvAPI_ToolBox::eWindow window - window to use

AvAPI_Matrix PSD(const AvAPI_Matrix& data, AvAPI_ToolBox::eWindow window, int nSeg, int nOverlap)

compute the Power Spectral Density (PSD)

Page 49: Using Adams/Vibration - MD Adams 2010

65Testing Your ModelClasses

Returns: AvAPI_Matrix

Parameters:

AvAPI_Matrix& data - input data in columns

AvAPI_ToolBox::eWindow window - window to use

int nSeg - number of segments to use

int nOverlap - number of points to overlap

AvAPI_Matrix FDElementID(data)

Determine the parameters for an FD Element

Returns: AvAPI_Matrix 1D K1 - C3

Parameters:

AvAPI_Matrix& data - test data

AvAPI_Matrix FDEvaluate(AvAPI_Matrix& K1, AvAPI_Matrix& C1, AvAPI_Matrix& K2,

AvAPI_Matrix& C2, AvAPI_Matrix& K3, AvAPI_Matrix& C3, const AvAPI_Matrix& omega, bool

MagPhase)

Evaluate an FD Element

Returns: AvAPI_Matrix Element transfer function

Parameters:

double or AvAPI_Matrix& K1 - value(s) to use for K1

double or AvAPI_Matrix& C1 - value(s) to use for C1

double or AvAPI_Matrix& K2 - value(s) to use for K2

double or AvAPI_Matrix& C2 - value(s) to use for C2

double or AvAPI_Matrix& K3 - value(s) to use for K3

double or AvAPI_Matrix& C3 - value(s) to use for C3

AvAPI_Matrix& omega - Frequencies to evaluate at

bool MagPhase - return magnitude / phase or real / imaginary

Constructors:

AvAPI_ToolBox()

Constructor

Returns: object

Page 50: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

66

Parameters: None

AvBuild

This the entry point for Vibration Build

ClassesAvBuild

AvBuildActuator

AvBuildFDElement

AvBuildFDInstance

AvBuildInputChannel

AvBuildOutputChannel

AvBuildPlot

AvBuildTest

class AvBuild

Methods defined here:

Actuator(self)

FDElement(self)

FDInstance(self)

InputChannel(self)

Name(self)

OutputChannel(self)

Plot(self)

Test(self)

__init__(self, Name=None)

Modules

msc.Adams.Vibration.libAvAMDc

msc.Adams.Vibration.libAvAPIc

msc.Adams.Vibration.Plotting.libVibPlotc

libqtc

libsip

math

os

re

string

struct

sys

tempfile

traceback

types

Page 51: Using Adams/Vibration - MD Adams 2010

67Testing Your ModelClasses

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvBuild'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

class AvBuildActuator

Methods defined here:

Actuator(self, Name)

Name(self)

PSDFunction(self, Name, Type, Func, Args, CrossList)

RotatingMass(self, Name, Type, Leading, Mass, Offset, Normal=None)

SweptSine(self, Name, Type, Mag, Phase)

UserFunction(self, Name, Type, Func, Args)

__init__(self, Parent, Name=None)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvBuild'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

class AvBuildFDElement

Methods defined here:

Bushing(self, Name, k2, k3, c3)

Damper(self, Name, k1, k2, c3)

FDElement(self, Name)

Hydromount(self, Name, k1, c1, k2, c3)

Name(self)

Pfeffer(self, Name, k1, c2, k3, c3)

Supper(self, Name, k1, c1, k2, c2, k3, c3)

__init__(self, Parent, Name=None)

Page 52: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

68

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvBuild'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

class AvBuildFDInstance

Methods defined here:

FDInstance(self, Name, Type, Imark, Jmark, FdElement, preload)

List(self)

Name(self)

__init__(self, Parent, Name=None)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvBuild'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

class AvBuildInputChannel

Methods defined here:

List(self)

Marker(self, Name, Marker_ADAMS_ID, FunctionType, Global, Direction, Actuator)

Name(self)

Names(self)

StateVariable(self, Name, StateVarID, Actuator)

__init__(self, Parent, Name=None)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvBuild'

str(object) -> string

Return a nice string representation of the object.

Page 53: Using Adams/Vibration - MD Adams 2010

69Testing Your ModelClasses

If the argument is a string, the return value is the same object.

class AvBuildOutputChannel

Methods defined here:

List(self)

Name(self)

Names(self)

Predefined(self, Name, MarkerID, GC, Dir, JMarkerID=0)

User(self, Name, Function)

__init__(self, Parent, Name=None)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvBuild'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

class AvBuildPlot

Methods defined here:

Bode(self, Name, inputList, outputList)

Eigen(self, Name)

FRF(self, Name, inputList, outputList, Mag=1)

List(self)

Name(self)

TransferFunction(self, Name, inputList, outputList, Mag=1)

__init__(self, Parent, Name=None)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvBuild'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Page 54: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

70

class AvBuildTest

Methods defined here:

List(self)(self)

Name(self)(self)

Test(self, Name, modelFile, simScript, damping, modeList, start, end, steps, outName=None)

TestCompliance(self, Name, modelFile, simScript, damping, modeList, outName=None)

TestM(self, Name, modelFile, acfFile, modeList, start, end, steps, outName=None, SS=0)

__init__(self, Parent, Name=None)(self, Parent, Name=None)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvBuild'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Functions

bitBlt(...)

qAlpha(...)

qAppName(...)

qBlue(...)

qDrawPlainRect(...)

qDrawShadeLine(...)

qDrawShadePanel(...)

qDrawShadeRect(...)

qDrawWinButton(...)

qDrawWinPanel(...)

qGray(...)

qGreen(...)

qRed(...)

qRgb(...)

qRgba(...)

qVersion(...)

qt_xdisplay(...)

qt_xrootwin(...)

Page 55: Using Adams/Vibration - MD Adams 2010

71Testing Your ModelClasses

qt_xscreen(...)

DataIO_AbortError = 6IO_Append = 4IO_Async = 128IO_Combined = 768IO_ConnectError = 5IO_Direct = 256IO_FatalError = 3IO_ModeMask = 255IO_Ok = 0IO_Open = 4096IO_OpenError = 5IO_Raw = 64IO_ReadError = 1IO_ReadOnly = 1IO_ReadWrite = 3IO_ResourceError = 4IO_Sequential = 512IO_StateMask = 61440IO_TimeOutError = 7IO_Translate = 16IO_Truncate = 8IO_TypeMask = 3840IO_UnspecifiedError = 8IO_WriteError = 2IO_WriteOnly = 2MEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0MEStartMode = -1MEStrainEnergy = 0PYQT_BUILD = 34PYQT_VERSION = '3.3'QCOORD_MAX = 2147483647QCOORD_MIN = -2147483648QT_VERSION = 304QT_VERSION_STR = '3.0.4'__file__ = './AvBuild.pyc'__name__ = 'AvBuild'qApp = <qt.QApplication instance>

Page 56: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

72

AvFDElement

This the entry point for the FD Element

ClassesAvFDElement

class AvFDElement

Methods defined here:

C1(self)

C2(self)

C3(self)

Evaluate(self, w)

K1(self)

K2(self)

K3(self)

Name(self)

Symetric(self)

WritePy(self, oFile, space)

WriteXML(self, oFile, space)

FD Emement

__init__(self, Name, k1, c1, k2, c2, k3, c3)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvFDElement'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Modules

msc.Adams.Vibration.libAvAPIc

libsip

math

os

re

string

struct

sys

traceback

types

Page 57: Using Adams/Vibration - MD Adams 2010

73Testing Your ModelClasses

DataMEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0MEStartMode = -1MEStrainEnergy = 0__file__ = './AvFDElement.pyc'__name__ = 'AvFDElement'

AvFDInstance

This the entry point for the FD Instance

Classes

AvFDInstance

class AvFDInstance

Methods defined here:

Add(self, amdModel)

Add1D(self, amdModel)

Add3D(self, amdModel)

FDElement(self)

IMarker(self)

JMarker(self)

Name(self)

Preload(self)

WritePy(self, oFile, space)

WriteXML(self, oFile, space)

FD Emement

__init__(self, Name, Type, Imark, Jmark, FdElement, preload)

Modules

msc.Adams.Vibration.libAvAMDc

msc.Adams.Vibration.libAvAPIc

libsip

math

os

re

string

struct

sys

traceback

types

Page 58: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

74

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvFDInstance'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

DataMEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0MEStartMode = -1MEStrainEnergy = 0__file__ = './AvFDInstance.pyc'__name__ = 'AvFDInstance'

AvFreqRespSol

The entry point for the Adams/Vibration Mechanical Transfer functions

ClassesAvMTF

Sol

class AvMTF

Adams/Vibration class for computing mechanical transfer functions

Methods defined here:

AnaObjLst(self, AnaObj=None)

BaseName(self)

FreqRange(self)

FreqRangeHz(self)

Modules

msc.Adams.Vibration.libAvAMDc

msc.Adams.Vibration.libAvAPIc

libsip

math

os

re

string

struct

sys

tempfile

traceback

types

Page 59: Using Adams/Vibration - MD Adams 2010

75Testing Your ModelClasses

InDir(self)

OutDir(self)

ResList(self, AnaObj=None)

__init__(self, Name, Model_base_name, Freq_range, iDir, oDir)

Marker AvMechanicalTF:@param Name: Name to assign to mechanical transfer function@type Name: string@param Model_base_name: base name for the model.@type Model_base_name: string@param Marker_in: Input marker object@param Freq_range: Frequency range for analysis@type Freq_range: Frequency range object@type Marker_in: Marker spec object@param Marker_I_out: Output I marker object@type Marker_I_out: I Marker spec object@param Marker_J_out: Output J marker object@type Marker_J_out: J Marker spec object@return: the object@rtype: Object __mul__(self, a, b)

Data and non-method functions defined here:

__doc__ = 'Adams/Vibration class for computing mechanical transfer functions'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

__module__ = 'AvFreqRespSol'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

class Sol

Methods defined here:

ActName(self)

CleanUp(self)

CreateIOChannels(self)

ErrStr(self)

Initialize(self, Model, InpMarkerList, OutMarkerList)

InpChLst(self)

Page 60: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

76

Model(self)

OutChLst(self)

PlotLegend(self)

Resp(self)

Response(self)

Results(self)

VarName(self)

__del__(self)

__init__(self)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvFreqRespSol'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

DataMEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0MEStartMode = -1MEStrainEnergy = 0__author__ = __date__ = '11 Dec. 2003'__file__ = './AvFreqRespSol.pyc'__name__ = 'AvFreqRespSol'

AvHelp######################################################################################################################################################################################################################################### Copyright (C) 2004 by MSC.Software, Inc., Santa Ana, CA, USA# All Rights Reserved. This code may not be copied or reproduced in# any form, in part or in whole, without the explicit permission of# the copyright owner.## Intent+: Python interface for Adams/Vibration# Intent-:## Caveats+:# Caveats-:#

Page 61: Using Adams/Vibration - MD Adams 2010

77Testing Your ModelClasses

#############################################################################

Classes

AvHelp

class AvHelp

Methods defined here:

__init__(self, File=None)

browser(self, File)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvHelp'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Data__author__ = __date__ = '1 Sept. 2002'__file__ = './AvHelp.pyc'__name__ = 'AvHelp'

AvInputChannel

The entry point for the Adams/Vibration Input Channel

ClassesAvInputChannel

AvInputChannelMarker

AvInputChannelStateVariable

Modules

os string sys

Modules

msc.Adams.Vibration.libAvAPIc

libsip

math

os

re

string

sys

Page 62: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

78

class AvInputChannel

Adams/Vibration Input Channel Base Class

Methods defined here:

Actuator(self)

AddActuator(self, amdModel)

Name(self)

__init__(self, Name, Actuator)

Base class for AvInput Channels:

@param Name: Name to assigne to input channel or none

@type Name: string

@param Actuator: AvAPI_Actuator object to use with imput channel

@type Actuator: object

@return: the object

@rtype: Object

Data and non-method functions defined here:

__doc__ = 'Adams/Vibration Input Channel Base Class'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

__module__ = 'AvInputChannel'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

class AvInputChannelMarker(AvInputChannel)

Marker Input Channel

Methods defined here:

Add(self, amdModel)

DVAUnitStr(self)

Return the unit string associated with the kinematic input channel

Direction(self)

Returns the local global string

FunctionType(self)

Page 63: Using Adams/Vibration - MD Adams 2010

79Testing Your ModelClasses

Returns the local global string

Global(self)

Returns the local global string

KinFunction(self)

Returns function string for the VARIABLE solver statement of the extra output for kinematic actuators

KinFunctionPrefix(self)

Return the Solver function string i.e. DX

MarkerID(self)

VariableFunction(self)

Returns function string for the VARIABLE solver statement

WritePy(self, oFile, space)

WriteXML(self, oFile, space)

Marker Input Channel

__init__(self, Name, Marker_ADAMS_ID, FunctionType, Global, Direction, Actuator)

Marker AvInput Channel:

@param Name: Name to assigne to input channel or none

@type Name: string

@param Marker_ADAMS_ID: Marker ID

@type Marker_ADAMS_ID: integer

@param FunctionType: <Translational, Rotational>

@type FunctionType: string

@param Global: <Global, Local>

@type Global: string

@param Direction: <X, Y, Z>

@type Direction: string

@param Actuator: AvAPI_Actuator object to use with imput channel

@type Actuator: object

@return: the object

@rtype: Object

Data and non-method functions defined here:

__doc__ = '/n Marker Input Channel/n '

str(object) -> string

Page 64: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

80

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

__module__ = 'AvInputChannel'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Methods inherited from AvInputChannel:

Actuator(self)

AddActuator(self, amdModel)

Name(self)

class AvInputChannelStateVariable(AvInputChannel)

State Variable Input Channel

Methods defined here:

Add(self, amdModel)

StateVarID(self)

WritePy(self, oFile, space)

WriteXML(self, oFile, space)

State Variable Input Channel

__init__(self, Name, StateVarID, Actuator)

State Variable AvInput Channel:

@param Name: Name to assigne to input channel or none

@type Name: string

@param StateVarID: ID of the State Variable

@type StateVarID: integer

@param StateVarName: State Variable Name

@type StateVarName: string

@param Actuator: AvAPI_Actuator object to use with imput channel

@type Actuator: object

@return: the object

@rtype: Object

Data and non-method functions defined here:

__doc__ = '/n State Variable Input Channel/n '

str(object) -> string

Page 65: Using Adams/Vibration - MD Adams 2010

81Testing Your ModelClasses

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

__module__ = 'AvInputChannel'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Methods inherited from AvInputChannel:

Actuator(self)

AddActuator(self, amdModel)

Name(self)

Functions

EvalFunc(argList, w)

User function used to test this module

Data__author__ = __date__ = '1 Sept. 2002'__file__ = './AvInputChannel.pyc'__name__ = 'AvInputChannel'

AvIOC ######################################################################################################################################################################################################################################### Copyright (C) 2004 by MSC.Software, Inc., Santa Ana, CA, USA# All Rights Reserved. This code may not be copied or reproduced in# any form, in part or in whole, without the explicit permission of# the copyright owner.## Intent+: Python Qt interface for Adams/Vibration# Intent-:## Caveats+:# Caveats-:###############################################################################

Modules

msc.Adams.Vibration.libAvAPIc

libsip

math

os

re

string

struct

sys

traceback

types

Page 66: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

82

Functions

InputChannel(ChName, MrkInfo, ActObj)

OutputChannel(ChName, MrkInfo)

DataMEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0MEStartMode = -1MEStrainEnergy = 0__author__ = __date__ = '11 Dec. 2003'__file__ = './AvIOC.pyc'__name__ = 'AvIOC'

AvLinearize######################################################################################################################################################################################################################################### Copyright (C) 2004 by MSC.Software, Inc., Santa Ana, CA, USA# All Rights Reserved. This code may not be copied or reproduced in# any form, in part or in whole, without the explicit permission of# the copyright owner.## Intent+: Python interface for Adams/Vibration# Intent-:## Caveats+:# Caveats-:##############################################################################

Classes

AvLinearize

class AvLinearize

Create a linear system model from an ADAMS non-linear system.

Methods defined here:

A(self)

Modules

msc.Adams.Vibration.libAvAPIc

libsip

math

os

re

string

struct

sys

traceback

types

Page 67: Using Adams/Vibration - MD Adams 2010

83Testing Your ModelClasses

Return the system A matrix

AcfToScript(self, iFile)

B(self)

Return the system B matrix

C(self)

Return the system C matrix

D(self)

Return the system D matrix

FindMarker(self, id, inList)

GetId(self, str)

ReadMatrix(self, matFile)

Read ABCD system matrices from the given dat file

RmFile(self, rFile)

Remove a file

Simulate(self, simScript, outName, damping, pInId, pOutId)

__init__(self, modelFile, inputList, outputList, simScript, damping, outName='Adams', FDList={})

AvLinearize:

@param modelFile: ADAMS .adm file to be linearize

@type modelFile: string

@param inputList: List of input channels (AvInputChannel objects)

@type inputList: List

@param outputList: List of output channels (AvOutputChannel objects)

@type outputList: List

@param simScript: Script of ADAMS solver commands to acheive

operating point Or name of an existing .acf file

@type simScript: string

@param damping: Include damping True or False

@type damping: Bool

@param outName: Base name for solver output files default = Adams

@type outName: string

@return: the object

@rtype: Object

Page 68: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

84

Data and non-method functions defined here:

__doc__ = 'Create a linear system model from an Adams non-linear system.'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

__module__ = 'AvLinearize'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Functions

AvLinearModel(modelFile, inputList, outputList, simScript, damping, outName, mList)

AvLinearModel:

@param modelFile: ADAMS .adm file to be linearize

@type modelFile: string

@param inputList: List of input channels (AvInputChannel objects)

@type inputList: List

@param outputList: List of output channels (AvOutputChannel objects)

@type outputList: List

@param simScript: Script of ADAMS solver commands to acheive operating point

Or name of an existing .acf file

@type simScript: string

@param damping: Include damping True or False

@type damping: Bool

@param outName: Base name for solver output files default = Adams

@type outName: string

@param mList: List of modes to use null for all

@type mList: integer list

@return: the object

@rtype: Object

DataMEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0

Page 69: Using Adams/Vibration - MD Adams 2010

85Testing Your ModelClasses

MEStartMode = -1MEStrainEnergy = 0__author__ = __date__ = '1 Sept. 2002'__file__ = './AvLinearize.pyc'__name__ = 'AvLinearize'

AvMarkerSpec

The entry point for the Adams/Vibration Marker specification

Classes

AvMarkerSpec

class AvMarkerSpec

Adams/Vibration class for specifying marker info

Methods defined here:

Direction(self, NewDir=None)

Returns the direction string

FunctionType(self)

Returns the direction type string

Global(self)

Returns the local global string

MarkerID(self)

MarkerName(self)

Name(self)

__init__(self, Name, Marker_ADAMS_ID, MarkerName, FunctionType, Global, Direction)

Marker AvMarkerSpec:

@param Name: Name to assign to marker data spec

@type Name: string

@param Marker_ADAMS_ID: Marker ID

@type Marker_ADAMS_ID: integer

Modules

msc.Adams.Vibration.libAvAPIc

libsip

math

os

re

string

sys

Page 70: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

86

@param MarkerName: Marker Name

@type MarkerName: string

@param FunctionType: <Translational, Rotational>

@type FunctionType: string

@param Global: <Global, Local>

@type Global: string

@param Direction: <X, Y, Z>

@type Direction: string

@return: the object

@rtype: Object

Data and non-method functions defined here:

__doc__ = 'Adams/Vibration class for specifying marker info'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

__module__ = 'AvMarkerSpec'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Data__author__ = __date__ = '11 Dec. 2003'__file__ = './AvMarkerSpec.pyc'__name__ = 'AvMarkerSpec'

AvMechTFs

Functions

CreateModel(BaseName, FreqRange, iDir, oDir)

Modules

msc.Adams.Vibration.libAvAMDc

msc.Adams.Vibration.libAvAPIc

libsip

math

os

re

string

struct

sys

tempfile

traceback

types

Page 71: Using Adams/Vibration - MD Adams 2010

87Testing Your ModelClasses

DoVibrAnalysis(Ac, modl)

GetActionList(Ac)

RegisterAnalysis(AnaObj)

message_handler(msg, type, data)

Message handler for vibration

DataAcList = []MEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0MEStartMode = -1MEStrainEnergy = 0__file__ = './AvMechTFs.pyc'__name__ = 'AvMechTFs'

AvMTF

The entry point for the Adams/Vibration Mechanical Transfer functions

Classesmsc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol

Accelerance

Compliance

DynamicInertia

DynamicStiffness

ForceTransmissibility

Impedence

Mobility

MotionTransmissibility

Modules

msc.Adams.Vibration.libAvAMDc

msc.Adams.Vibration.libAvAPIc

libsip

math

os

re

string

struct

sys

tempfile

traceback

types

Page 72: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

88

class Accelerance(msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol)

# Accelerance

Methods defined here:

__init__(self, Model, InpMarkerList, OutMarkerList)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvMTF'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Methods inherited from

href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol:

ActName(self)

CleanUp(self)

CreateIOChannels(self)

ErrStr(self)

Initialize(self, Model, InpMarkerList, OutMarkerList)

InpChLst(self)

Model(self)

OutChLst(self)

PlotLegend(self)

Resp(self)

Response(self)

Results(self)

VarName(self)

__del__(self)

class Compliance

(href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol)

# Compliance

Methods defined here:

__init__(self, Model, InpMarkerList, OutMarkerList)

Page 73: Using Adams/Vibration - MD Adams 2010

89Testing Your ModelClasses

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvMTF'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Methods inherited from

href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol:

ActName(self)

CleanUp(self)

CreateIOChannels(self)

ErrStr(self)

Initialize(self, Model, InpMarkerList, OutMarkerList)

InpChLst(self)

Model(self)

OutChLst(self)

PlotLegend(self)

Resp(self)

Response(self)

Results(self)

VarName(self)

__del__(self)

class DynamicInertia

(href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol)

# Dynamic Inertia

Methods defined here:

__init__(self, Model, InpMarkerList, OutMarkerList)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvMTF'

str(object) -> string

Return a nice string representation of the object.

Page 74: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

90

If the argument is a string, the return value is the same object.

Methods inherited from:

href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol:

ActName(self)

CleanUp(self)

CreateIOChannels(self)

ErrStr(self)

Initialize(self, Model, InpMarkerList, OutMarkerList)

InpChLst(self)

Model(self)

OutChLst(self)

PlotLegend(self)

Resp(self)

Response(self)

Results(self)

VarName(self)

__del__(self)

class DynamicStiffness

(href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol)

# Dynamic Stiffness

Methods defined here:

__init__(self, Model, InpMarkerList, OutMarkerList)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvMTF'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Methods inherited from

href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol:

ActName(self)

CleanUp(self)

Page 75: Using Adams/Vibration - MD Adams 2010

91Testing Your ModelClasses

CreateIOChannels(self)

ErrStr(self)

Initialize(self, Model, InpMarkerList, OutMarkerList)

InpChLst(self)

Model(self)

OutChLst(self)

PlotLegend(self)

Resp(self)

Response(self)

Results(self)

VarName(self)

__del__(self)

class ForceTransmissibility(msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol)

# Force Transmissibility

Methods defined here:

__init__(self, Model, InpMarkerList, OutMarkerList)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvMTF'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Methods inherited from

href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol:

ActName(self)

CleanUp(self)

CreateIOChannels(self)

ErrStr(self)

Initialize(self, Model, InpMarkerList, OutMarkerList)

InpChLst(self)

Model(self)

OutChLst(self)

Page 76: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

92

PlotLegend(self)

Resp(self)

Response(self)

Results(self)

VarName(self)

__del__(self)

class Impedence

(href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol)

# Impedence

Methods defined here:

__init__(self, Model, InpMarkerList, OutMarkerList)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvMTF'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Methods inherited from

href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol:

ActName(self)

CleanUp(self)

CreateIOChannels(self)

ErrStr(self)

Initialize(self, Model, InpMarkerList, OutMarkerList)

InpChLst(self)

Model(self)

OutChLst(self)

PlotLegend(self)

Resp(self)

Response(self)

Results(self)

VarName(self)

Page 77: Using Adams/Vibration - MD Adams 2010

93Testing Your ModelClasses

__del__(self)

class Mobility

(href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol)

# Mobility

Methods defined here:

__init__(self, Model, InpMarkerList, OutMarkerList)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvMTF'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Methods inherited from

href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol:

ActName(self)

CleanUp(self)

CreateIOChannels(self)

ErrStr(self)

Initialize(self, Model, InpMarkerList, OutMarkerList)

InpChLst(self)

Model(self)

OutChLst(self)

PlotLegend(self)

Resp(self)

Response(self)

Results(self)

VarName(self)

__del__(self)

class MotionTransmissibility

(href="avfreqrespsol.html#Sol"> Adams/Vibration.InstrumentPacks.AvFreqRespSol.Sol)

# Motion Transmissiblity

Page 78: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

94

Methods defined here:

__init__(self, Model, InpMarkerList, OutMarkerList)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvMTF'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Methods inherited from:

href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol:

ActName(self)

CleanUp(self)

CreateIOChannels(self)

ErrStr(self)

Initialize(self, Model, InpMarkerList, OutMarkerList)

InpChLst(self)

Model(self)

OutChLst(self)

PlotLegend(self)

Resp(self)

Response(self)

Results(self)

VarName(self)

__del__(self)

DataMEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0MEStartMode = -1MEStrainEnergy = 0__author__ = __date__ = '11 Dec. 2003'__file__ = './AvMTF.pyc'__name__ = 'AvMTF'

Page 79: Using Adams/Vibration - MD Adams 2010

95Testing Your ModelClasses

AvNibble

Classesmsc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol

Nibble

class Nibble(msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol)

Methods defined here:

CreateIOChannels(self)

__init__(self, Model, InpMarkerList, OutMarkerList, UnBalMass)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvNibble'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Methods inherited from msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol:

ActName(self)

CleanUp(self)

ErrStr(self)

Initialize(self, Model, InpMarkerList, OutMarkerList)

InpChLst(self)

Model(self)

OutChLst(self)

PlotLegend(self)

Resp(self)

Response(self)

Modules

copy

msc.Adams.Vibration.libAvAMDc

msc.Adams.Vibration.libAvAPIc

libsip

math

os

re

string

struct

sys

tempfile

traceback

types

Page 80: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

96

Results(self)

VarName(self)

__del__(self)

DataAcList = []MEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0MEStartMode = -1MEStrainEnergy = 0__file__ = './AvNibble.pyc'__name__ = 'AvNibble'

AvOutputChannel

This the entry point for the Output Cannel Property Editor

ClassesAvOutputChannel

AvOutputChannelCompliance

AvOutputChannelPredefined

AvOutputChannelUser

class AvOutputChannel

Adams/Vibration Output Channel Base Class

Methods defined here:

Add(self, amdModel)

Name(self)

Returns the name of the output channel

__init__(self, Name, MarkerID=None)

Base class for AvOutput Channels:

@param Name: Name to assigne to output channel or none

Modules

msc.Adams.Vibration.libAvAPIc

libsip

math

os

re

string

sys

Page 81: Using Adams/Vibration - MD Adams 2010

97Testing Your ModelClasses

@type Name: string

@param MarkerID: ADAMS Marker ID

@type MarkerID: integer

Data and non-method functions defined here:

__doc__ = 'Adams/Vibration Output Channel Base Class'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

__module__ = 'AvOutputChannel'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

class AvOutputChannelCompliance(AvOutputChannel)

Adams/Vibration Predefined Output Channel

Methods defined here:

Add(self, amdModel)

MarkerID(self)

Returns the marker ID of the output channel's marker

WritePy(self, oFile, space)

WriteXML(self, oFile, space)

Compliance Output Channel

__init__(self, Name, MarkerID, RMarkerID=0)

Compliance AvOutput Channels:

Data and non-method functions defined here:

__doc__ = 'Adams/Vibration Predefined Output Channel'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

__module__ = 'AvOutputChannel'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Page 82: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

98

Methods inherited from AvOutputChannel:

Name(self)

Returns the name of the output channel

class AvOutputChannelPredefined(AvOutputChannel)

Adams/Vibration Predefined Output Channel

Methods defined here:

JMarkerID(self)

Returns the marker ID of the output channel's marker

MarkerID(self)

Returns the marker ID of the output channel's marker

VariableFunction(self)

Returns function string for the VARIABLE solver statement

VariableFunctionPrefix(self)

Returns the string for the solver function i.e. DX, ACCZ

WritePy(self, oFile, space)

WriteXML(self, oFile, space)

Predefined Output Channel

__init__(self, Name, MarkerID, GC, Dir, JMarkerID=0)

Predefined AvOutput Channels:

@param GC: Function <Displacement, Velocity, Acceleration, Force,

Angular Displacement, Angular Velocity, Angular Acceleration,

Torque>

@type GC: string

@param Dir: Direction <X, Y, Z, Mag>

@type Dir: string

Data and non-method functions defined here:

__doc__ = 'Adams/Vibration Predefined Output Channel'

str(object) -> string

Return a nice string representation of the object.

of the argument is a string, the return value is the same object.

__module__ = 'AvOutputChannel'

str(object) -> string

Return a nice string representation of the object.

Page 83: Using Adams/Vibration - MD Adams 2010

99Testing Your ModelClasses

If the argument is a string, the return value is the same object.

Methods inherited from AvOutputChannel:

Add(self, amdModel)

Name(self)

Returns the name of the output channel

class AvOutputChannelUser(AvOutputChannel)

Adams/Vibration User Output Channel

Methods defined here:

VariableFunction(self)

Returns function string for the VARIABLE solver statement

WritePy(self, oFile, space)

WriteXML(self, oFile, space)

User Output Channel

__init__(self, Name, Function)

User AvOutput Channels:

@param Name: Solver function to use as output channel

@type Name: string

@param Function: function for the VARIABLE solver statement

@type Function: string

Data and non-method functions defined here:

__doc__ = 'Adams/Vibration User Output Channel'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

__module__ = 'AvOutputChannel'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Methods inherited from AvOutputChannel:

Add(self, amdModel)

Name(self)

Page 84: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

100

Returns the name of the output channel

Data__author__ = __date__ = '1 Sept. 2002'__file__ = './AvOutputChannel.pyc'__name__ = 'AvOutputChannel'

AvPPTCmdExporter

The entry point for the Adams/Vibration PPT interface

Classes

VibPPTCmdExporter

class VibPPTCmdExporter

Write .cmd file to create a vibration model in PPT

Methods defined here:

__init__(self, fullModelName, outFileName, amdModel, inputList, outputList, freqBegin, freqEnd, freqSteps, doLogar)

Constructor:

@param fullModelName: Name to assigne to the model

@type fullModelName: string

@param outFileName: Name of file to write

@type outFileName: string

@param inputList: List of input channels in the model

@type inputList: list

@param outputList: List of output channels in the model

@type outputList: list

@param freqBegin: Starting frequency

@type freqBegin: double

Modules

msc.Adams.Vibration.libAvAMDc

msc.Adams.Vibration.libAvAPIc

libsip

math

os

re

string

struct

sys

tempfile

traceback

types

Page 85: Using Adams/Vibration - MD Adams 2010

101Testing Your ModelClasses

@param freqEnd: Ending frequency

@type freqEnd: double

@param freqSteps: Number of steps to take

@type freqSteps: integer

@param doLogar: Spacing of steps false = linear true = log

@type doLogar: bool

computeOmegas(self)

Compute the descrete frequencies to use in the analysis

fullMarkerNameFromID(self, markerID)

Given a amerker ID, build a string represening the marker's full name

writeCmdForPPT(self, model)

Write a .cmd file to construct the vibration analysis in PPT

writeInputChannelPSD(self, ic, InList)

Output PSD input channel

writeInputChannelStateVariable(self, ic)

Output StateVariable input channel

writeInputChannelUser(self, ic)

Output User input channel

writeOutputChannelPredefined(self, oc)

Output predefined output channel

writeOutputChannelUser(self, oc)

Output User output channel

writeReplaceEigenSolution(self)

writeUserActuator(self, ic)

Output an actuator as user type

writeVibrAnalysis(self)

Create the vibration analysis

Data and non-method functions defined here:

__doc__ = 'Write .cmd file to create a vibration model in PPT'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

__module__ = 'AvPPTCmdExporter'

str(object) -> string

Page 86: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

102

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Functions

psdFunc(argList, w)

User function used to test this module

DataMEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0MEStartMode = -1MEStrainEnergy = 0__author__ = __date__ = '29 Oct. 2002'__file__ = './AvPPTCmdExporter.pyc'__name__ = 'AvPPTCmdExporter'

AvResFileWrite

Classes

XRFWrite

class XRFWrite

Methods defined here:

AListFromMatrix(self, mat)

ActName(self)

ErrStr(self)

Model(self)

Response(self)

WriteRes(self, MdlBaseName, iDir, oDir, ResName, FreqRange, AnaList)

Modules

msc.Adams.Vibration.libAvAMDc

msc.Adams.Vibration.libAvAPIc

libsip

math

os

re

string

struct

sys

tempfile

traceback

types

Page 87: Using Adams/Vibration - MD Adams 2010

103Testing Your ModelClasses

WriteResToXRF(self, amdModel, Ana, ResVarName, ResLegend, AnaInpChLst, AnaOutChLst, Res)

__init__(self, modl)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvResFileWrite'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Functions

CallerName(TstName)

SetName(Name)

message_handler(msg, type, data)

Message handler for vibration

DataAcList = []MEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0MEStartMode = -1MEStrainEnergy = 0__file__ = './AvResFileWrite.pyc'__name__ = 'AvResFileWrite'

AvReview

This the entry point for Vibration Build

Modules

msc.Adams.Vibration.libAvAMDc

msc.Adams.Vibration.libAvAPIc

msc.Adams.Vibration.Plotting.libVibPlotc

libqtc

libsip

math

os

re

string

struct

sys

tempfile

traceback

types

Page 88: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

104

Classes

AvReview

class AvReview

Methods defined here:

Name(self)

Run(self)

__init__(self, test, Name=None)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvReview'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Functions

bitBlt(...)

qAlpha(...)

qAppName(...)

qBlue(...)

qDrawPlainRect(...)

qDrawShadeLine(...)

qDrawShadePanel(...)

qDrawShadeRect(...)

qDrawWinButton(...)

qDrawWinPanel(...)

qGray(...)

qGreen(...)

qRed(...)

qRgb(...)

qRgba(...)

qVersion(...)

qt_xdisplay(...)

qt_xrootwin(...)

Page 89: Using Adams/Vibration - MD Adams 2010

105Testing Your ModelClasses

qt_xscreen(...)

DataIO_AbortError = 6IO_Append = 4IO_Async = 128IO_Combined = 768IO_ConnectError = 5IO_Direct = 256IO_FatalError = 3IO_ModeMask = 255IO_Ok = 0IO_Open = 4096IO_OpenError = 5IO_Raw = 64IO_ReadError = 1IO_ReadOnly = 1IO_ReadWrite = 3IO_ResourceError = 4IO_Sequential = 512IO_StateMask = 61440IO_TimeOutError = 7IO_Translate = 16IO_Truncate = 8IO_TypeMask = 3840IO_UnspecifiedError = 8IO_WriteError = 2IO_WriteOnly = 2MEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0MEStartMode = -1MEStrainEnergy = 0PYQT_BUILD = 34PYQT_VERSION = '3.3'QCOORD_MAX = 2147483647QCOORD_MIN = -2147483648QT_VERSION = 304QT_VERSION_STR = '3.0.4'__file__ = './AvReview.pyc'__name__ = 'AvReview'qApp = <qt.QApplication instance>

AvSuspension######################################################################################

# This file contains an example model for performing multiple compliance matrix# calculations in Adams/Vibration v.2005.## This example assumes the user has existing .adm and .acf files for this model.# After executing this analysis this file writes simulation data to a .xml file#

Page 90: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

106

# To run this file issue the following command in an Unix shell.# adams05 -c python multicompliance.py [model.adm model.acf marker_id]## or in a Windows command prompt in a DOS shell# adams05 python multicompliance.py#########################################################################################

Classes

AvSuspension

class AvSuspension

Adams/Vibration Suspension Class

Methods defined here:

AligningTorqueCamber(self)

AligningTorqueSteer(self)

CamberAngle(self, spinAxis, Z=[0, 0, 1])

CasterAngle(self, kingPinAxis, roadVertical, roadLongitudinal)

CheckAngle(self, ang)

DiveBraking(self, BrakeRatio, TireR, TireStiffness, CGH, Weight, Wheelbase)

ForeAftWheelCenterStiffness(self)

FrontViewSwingarmLengthAngle(self)

KingPinAngel(self, L, R)

LateralForceDeflectionSteerCamberCompliance(self, TireR)

LiftSquatAcceleration(self, Dependent, SprungMass, CGH, Wheelbase, TireR, TireK, AxleRatio, DriveRatio, Track, G)

PercentAntiDiveLiftAcceleration(self, Dependent, SprungMass, CGH, Wheelbase, TireR, TireK, AxleRatio, DriveRatio, Track, G)

PercentAntiDiveLiftBraking(self, SprungMass, CGH, Wheelbase, TireR, TireK, BrakeRatio, G)

RideRate(self, TireK)

RideSteer(self, wcvl, wcvr)

Modules

msc.Adams.Vibration.libAvAMDc

msc.Adams.Vibration.libAvAPIc

libsip

math

os

re

string

struct

sys

tempfile

traceback

types

Page 91: Using Adams/Vibration - MD Adams 2010

107Testing Your ModelClasses

RollCamberCoefficent(self, TireK, Track)

RollCasterCoefficent(self, TireK, Track)

RollCenterLocation(self, ContactPatchL, ContactPatchR, TireK)

RollRate(self, Track)

RollSteer(self, wAxisL, wAxisR, Track, TireK)

SideViewSwingArmAngleLength(self, Front=0)

ToeAngle(self, wcl, wcr)

TotalRollRate(self, TireK, Track)

WheelCenterToPatch(self, wcl, wcr)

WheelRate(self)

__init__(self, complianceMatrix)

Data and non-method functions defined here:

__doc__ = 'Adams/Vibration Suspension Class'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

__module__ = 'AvSuspension'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Functions

MultiComplianceMatrixIGround(model, acf, markerId, logFile, AxAyAz=0)

MultiComplianceMatrixIJGround(model, acf, iMarkerId, jMarkerId, logFile, AxAyAz=0)

MultiComplianceMatrixIJRef(model, acf, iMarkerId, jMarkerId, rMarkerId, logFile, AxAyAz=0)

DataMEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0MEStartMode = -1MEStrainEnergy = 0__file__ = './AvSuspension.pyc'__name__ = 'AvSuspension'

Page 92: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

108

AvTest

This the entry point for Vibration Build

Classes

AvTest

class AvTest

Methods defined here:

Build(self)

List(self)

Name(self)

PlotList(self)

Run(self)

__init__(self, build, Name=None)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvTest'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value is the same object.

Functions

bitBlt(...)

qAlpha(...)

qAppName(...)

qBlue(...)

qDrawPlainRect(...)

Modules

msc.Adams.Vibration.libAvAMDc

msc.Adams.Vibration.libAvAPIc

msc.Adams.Vibration.Plotting.libVibPlotc

libqtc

libsip

math

os

re

string

struct

sys

tempfile

traceback

types

Page 93: Using Adams/Vibration - MD Adams 2010

109Testing Your ModelClasses

qDrawShadeLine(...)

qDrawShadePanel(...)

qDrawShadeRect(...)

qDrawWinButton(...)

qDrawWinPanel(...)

qGray(...)

qGreen(...)

qRed(...)

qRgb(...)

qRgba(...)

qVersion(...)

qt_xdisplay(...)

qt_xrootwin(...)

qt_xscreen(...)

DataIO_AbortError = 6IO_Append = 4IO_Async = 128IO_Combined = 768IO_ConnectError = 5IO_Direct = 256IO_FatalError = 3IO_ModeMask = 255IO_Ok = 0IO_Open = 4096IO_OpenError = 5IO_Raw = 64IO_ReadError = 1IO_ReadOnly = 1IO_ReadWrite = 3IO_ResourceError = 4IO_Sequential = 512IO_StateMask = 61440IO_TimeOutError = 7IO_Translate = 16IO_Truncate = 8IO_TypeMask = 3840IO_UnspecifiedError = 8IO_WriteError = 2IO_WriteOnly = 2MEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0

Page 94: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

110

MEStartMode = -1MEStrainEnergy = 0PYQT_BUILD = 34PYQT_VERSION = '3.3'QCOORD_MAX = 2147483647QCOORD_MIN = -2147483648QT_VERSION = 304QT_VERSION_STR = '3.0.4'__file__ = './AvTest.pyc'__name__ = 'AvTest'qApp = <qt.QApplication instance>

VibBodePlot : VibPlot2D Class

Constructors:

VibBodePlot(Title, FR, Frequency, Inputs, Outputs)

Constructor

Returns: object

Parameters:

string Title: plot title

AvAPI_Matrix FR: frequency response or transfer function matrix

AvAPI_Matrix Frequency: frequency vector used to calculate response

list of strings: list of input channel names

list of strings: list of output channel names

VibPlot : QWidget Class

From msc.Adams.Vibration.Plotting.VibPlot import *

Methods defined here:

void SetTitle(Title)

Set the main title for the plot

Returns: None

Parameters:

string Title: Title for plot

Page 95: Using Adams/Vibration - MD Adams 2010

111Testing Your ModelClasses

void SetTitleFont(Font)

Set the font used for the title

Returns: None

Parameters:

QFont Font: font to use

void SetTitleColor(Color)

Set the color used for the title

Returns: None

Parameters:

QColor Color: color to use

void SetCurrentColor(Color)

Set the default color used for plot objects

Returns: None

Parameters:

QColor Color: default color to use

VibPlot2D : VibPlot Class

Data Members:

enum eAxis

{

LEFT,

RIGHT,

BOTTOM

};

enum eScale

{

Page 96: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

112

LINEAR,

LOGARITHMIC,

DB

};

enum eSymbol

{

NONE,

CIRCLE,

SQUARE,

DIAMOND,

TRIANGLE,

UTRIANGLE,

LTRIANGLE,

RTRIANGLE,

CROSS,

XCROSS,

HLINE,

VLINE

};

Methods defined here:

void SetAutoLegend(OnOff)

Set the state of automatic legend

Returns: None

Parameters:

bool OnOff: state of automatic legend

void SetGridMajorXPen(Pen)

Set the color and style used for the Major grid lines

Page 97: Using Adams/Vibration - MD Adams 2010

113Testing Your ModelClasses

Returns: None

Parameters:

QPen Pen: pen used to draw major X grid lines

void SetGridMinorXPen(Pen)

Set the color and style used for the Minor grid lines

Returns: None

Parameters:

QPen Pen: pen used to draw minor X grid lines

void SetGridMajorYPen(Pen)

Set the color and style used for the Major grid lines

Returns: None

Parameters:

QPen Pen: pen used to draw major Y grid lines

void SetGridMinorYPen(Pen)

Set the color and style used for the Minor grid lines

Returns: None

Parameters:

QPen Pen: pen used to draw minor Y grid lines

void SetAxisTitle(Axis, Title)

Set the title for the given axis

Returns: None

Parameters:

VibPlot2D::eAxis Axis: axis to set title for (LEFT, RIGHT, BOTTOM)

string Title: title text for the axis

Page 98: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

114

void SetAxisTitleAngle(Axis, Angle)

Set the angle for the axis title

Returns: None

Parameters:

VibPlot2D::eAxis Axis: axis to set (LEFT, RIGHT, BOTTOM)

float Angle: angle in degrees for the text

void SetAxisTitleFont(Axis, Font)

Set the font for the axis title

Returns: None

Parameters:

VibPlot2D::eAxis Axis: axis to set (LEFT, RIGHT, BOTTOM)

QFont Font: font to use

void SetAxisTitleColor(Axis, Color)

Set the color for the axis title

Returns: None

Parameters:

VibPlot2D::eAxis Axis: axis to set (LEFT, RIGHT, BOTTOM)

QColor Color: color to use

void SetAxisScale(Axis, Scale)

Set the scale for the axis

Returns: None

Parameters:

VibPlot2D::eAxis Axis: axis to set (LEFT, RIGHT, BOTTOM)

VibPlot2D::eScale Scale: scale to use (LINEAR, LOGARITHMIC, dB)

void SetAxisPen(Axis, Pen)

Page 99: Using Adams/Vibration - MD Adams 2010

115Testing Your ModelClasses

Set the pen for the axis

Returns: None

Parameters:

VibPlot2D::eAxis Axis: axis to set (LEFT, RIGHT, BOTTOM)

QPen Pen: pen used to draw axis

void SetLegendColor(Color)

Set the color used for legend

Returns: None

Parameters:

QColor Color: color to use

void SetLegendFont(Font)

Set the font used for the legend

Returns: None

Parameters:

QFont Font: font to use

uint InsertCurve(Name, X, Y)

Add a curve to the plot

Returns:

unsigned int: curve id

Parameters:

string Name: curve name (legend text)

AvAPI_Matrix X: x data for the curve

AvAPI_Matrix Y: y data for the curve

void RemoveCurve(cID)

Delete a curve from the plot

Page 100: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

116

Returns: None

Parameters:

unsigned int cid: curve id

void SetCurvePen(cid, Pen)

Set the color and style used for the curve

Returns: None

Parameters:

unsigned int cid: curve id

QPen Pen: pen used to draw the curve

void SetCurveAxis(cid, Axis)

Set the axis for for the curve

Returns: None

Parameters:

unsigned int cid: curve id

VibPlot2D::eAxis Axis: axis to plot curve (LEFT, RIGHT)

void SetCurveSymbol(cid, Symbol)

Set the symbol for for the curve

Returns: None

Parameters:

unsigned int cid: curve id

VibPlot2D::eSymbol Symbol: symbol to use for curve (NONE, CIRCLE, SQUARE, DIAMOND, TRIANGLE, UTRIANGLE, LTRIANGLE, RTRIANGLE, CROSS, XCROSS, HLINE, VLINE)

void SetCurveSymbolSize(cid, Size)

Set the symbol size for for the curve

Returns: None

Page 101: Using Adams/Vibration - MD Adams 2010

117Testing Your ModelClasses

Parameters:

unsigned int cid: curve id

int Size: size in pixels for the symbol

void SetCurveSymbolPen(cid, Pen)

Set the color and style used for the symbol

Returns: None

Parameters:

unsigned int cid: curve id

QPen Pen: pen used to draw the symbol

void SetCurveSymbolFrequency(cid, Skip)

Set the frequency of symbols

Returns: None

Parameters:

unsigned int cid: curve id

int Skip: number of data points between symbols

void clear()

Clear the plot

Returns: None

Parameters: None

Constructors:

VibPlot2D()

Constructor

Returns: object

Parameters: None

Page 102: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

118

VibPlot3D : VibPlot Class

Data Members:

enum eDRAWMODE

{

FLOWLINES,

WIREFRAME,

SHADE,

BOTH

};

Methods defined here:

void SetShadeMode(Sid, DRAWMODE)

Set surface shading mode

Returns: None

Parameters:

unsigned int Sid: surface id

VibPlot3D::eDRAWMODE DRAWMODE: surface shading mode (FLOWLINES, WIREFRAME, SHADE, BOTH)

void SetFlow(Sid, nS, nT)

Set number of flow lines to draw

Returns: None

Parameters:

unsigned int Sid: surface id

unsigned int Ns: number of lines to draw

unsigned int NT: number of lines to draw

void SetPoints(Sid, Ns, NT)

Set number of points for the flow lines

Page 103: Using Adams/Vibration - MD Adams 2010

119Testing Your ModelClasses

Returns: None

Parameters:

unsigned int Sid: surface id

unsigned int Ns: number of points to use

unsigned int NT: number of points to use

void SetAxis(OnOff)

Set the state of axis

Returns: None

Parameters:

bool OnOff: state of axis

void SetTriad(OnOff)

Set the state of triad

Returns: None

Parameters:

bool OnOff: state of triad

void SetTextureMap(Sid, fName)

Set the texture map of the given surface

Returns: None

Parameters:

unsigned int Sid: surface id

string fName: file name of the texture map

void SetColor(Sid, Color)

Set the color of the given surface

Returns: None

Page 104: Using Adams/Vibration - MD Adams 2010

Adams/VibrationClasses

120

Parameters:

unsigned int Sid: surface id

QColor Color: color to use

uint AddSurfaceData(Mat2D, orderS, orderT)

Add a surface to the plot by fitting the given data

Returns:

unsigned int sID: surface id

Parameters:

AvAPI_Matrix Mat2D: data points to fit

int orders: order to use in the S direction

int orderT: order to use in the T direction

uint AddSurface(Mat3D, orders, orderT, sKnot, tKnot)

Add a surface to the plot

Returns:

unsigned int Sid: surface id

Parameters:

AvAPI_Matrix Mat3D: control points

int orders: order to use in the S direction

int orderT: order to use in the T direction

AvAPI_Matrix sKnot: knot vector

AvAPI_Matrix tKnot: knot vector

uint AddSpline(Mat2D, order, Knot)

Add a surface to the plot

Returns:

unsigned int cID: spline id

Page 105: Using Adams/Vibration - MD Adams 2010

121Testing Your ModelClasses

Parameters:

AvAPI_Matrix Mat2D: control points (x, y, z)

int order: order to use

AvAPI_Matrix Knot: knot vector

uint AddSplineData(Mat2D, order)

Add a spline to the plot by fitting the given data

Returns:

unsigned int cid: spline id

Parameters:

AvAPI_Matrix Mat2D: data points to fit

int order: order to use

void Remove(cid)

Delete a spline or surface from the plot

Returns: None

Parameters:

unsigned int cid: spline or surface id

Constructors:

VibPlot3D()

Constructor

Returns: object

Parameters: None

Page 106: Using Adams/Vibration - MD Adams 2010

Adams/VibrationUtility Functions

122

Utility Functions

AvUtils

The entry point for the Adams/Vibration Input Channel

Classes

AvModalEnergy

class AvModalEnergy

Methods defined here:

DissipativeEnergy(self, on)

Header(self, on)

KineticEnergy(self, on)

ModeRange(self, start, end)

NormalizedCoordinates(self, on)

Off(self)

Set(self)

StrainEnergy(self, on)

Data and non-method functions defined here:

__doc__ = None

__module__ = 'AvUtils'

str(object) -> string

Return a nice string representation of the object.

If the argument is a string, the return value

is the same object.

Functions

AvDacFileToMatrix(filename, nPts)

AvDatFileToMatrix(filename, nPts)

AvFFTDataActuator(argList, w)

AvMakeFrequency(start, end, steps, spaceLog)

Modules

msc.Adams.Vibration.libAvAPIc math string sys

libsip os struct traceback

Page 107: Using Adams/Vibration - MD Adams 2010

123Testing Your ModelUtility Functions

Compute the descrete frequencies to use in the analysis

start - start frequency HZ

end - end frequency HZ

steps - number of steps to take from start to end

spaceLog - if true frequencies are log spaced other wise linear spacing

Note: List returned is steps+1 long in radians/sec

AvMessageHandler(msg, type, args)

Default Message handler for vibration

AvPSDDataActuator(argList, w)

AvReadDataFile(dataFile, n=-1)

AvReadDataFileFD(filename, nPts=-1)

AvRpcFileToMatrix(filename, nPts)

Description: Implementation of rpc3file_input class member functions for reading in data from an RPC III time history file.

Reference: MTS RPC III file format document

RPC_III saves the time history data in the following way:

ch1 --> group1 ->{frame1, frame2, ...}

ch2 --> group1 ->{frame1, frame2, ...}

...

chn --> group1 ->{frame1, frame2, ...}

ch1 --> group2 ->{frame1, frame2, ...}

ch2 --> group2 ->{frame1, frame2, ...}

...

chn --> group2 ->{frame1, frame2, ...}

...

Number of frames in group = PTS_PER_GROUP/PTS_PER_FRAME

Total number of groups = (FRAMES+1)/Number of frames in group

Note: The last group may not be full. Full frames are only

required, not full groups. So the last group may

contain fewer than Number of frames in group.

Clarification - the group will be full but may not

contain all frames of acquired data

Page 108: Using Adams/Vibration - MD Adams 2010

Adams/VibrationUtility Functions

124

AvSolverSetup()

Mag(cVal)

Complex Mag and Phase

Phase(cVal)

byteSwap(CC)

formatExceptionInfo(logFile, maxTBlevel=10)

writeMatrix(matFile, Mat, title=None)

write a matrix to a file

@param matFile: File to write to

@type matFile: file object

@param Mat: Matrix to write

@type Mat: AvAPI_Matrix

@param title: String to preceed the matrix in the file

@type title: string

writeMatrix2(matFile, Mat, title=None)

write a matrix to a file

@param matFile: File to write to

@type matFile: file object

@param Mat: Matrix to write

@type Mat: AvAPI_Matrix

@param title: String to preceed the matrix in the file

@type title: string

writeMatrixXML(matFile, Mat, title='Matrix', space=2)

write a matrix to a XML file

@param matFile: File to write to

@type matFile: file object

@param Mat: Matrix to write

@type Mat: AvAPI_Matrix

@param title: Name of matrix [default: Matrix]

@type title: string

@param space: Starting indentation for matrix [default: 2]

@type space: integer

@Note: Assumes the matrix is complex

writeXMLFooter(matFile)

Page 109: Using Adams/Vibration - MD Adams 2010

125Testing Your ModelUtility Functions

write vibration footer for xml

writeXMLHeader(matFile)

write vibration header for xml

DataMEDissipativeEnergy = 0MEEndMode = -99MEHeader = 0MEKineticEnergy = 0MENormalizedCoordinates = 0MEStartMode = -1MEStrainEnergy = 0__author__ = __date__ = '1 Dec. 2002'__file__ = './AvUtils.pyc'__name__ = 'AvUtils'

Page 110: Using Adams/Vibration - MD Adams 2010

Adams/VibrationUtility Functions

126

Page 111: Using Adams/Vibration - MD Adams 2010

Reviewing Your Model

Importing Vibration ResultsYou can import a previously generated results file and attach it to a vibration analysis. This enables you to plot vibration data generated from the eigen and state matrices in the results file. The imported results file and the vibration analysis must be from the same model.

To import vibration results:

1. From the Vibration menu, point to Review, and then select Import Vibration Results.

2. Complete the dialog box as described in Importing Vibration Results.

3. Select OK.

Displaying EigenvaluesThe Eigenvalue table displays the eigenvalue of a given analysis.

To display eigenvalues:

1. From the Vibration menu, point to Review, and then select Display Eigenvalue Table.

2. Complete the dialog box as described in Eigen Information.

3. Select OK.

Displaying Modal InformationIn the Modal Information Table dialog box, you can view the Modal Coordinates, Modal Participation, or Modal Energy table. The Modal Coordinates and Modal Participation tables are always available when a forced vibration analysis is performed. The Modal Energy table is available when modal energy computation is turned on before performing a forced vibration or normal mode analysis.

To display modal information:

1. From the Vibration menu, point to Review, and then select Display Modal Info Table.

2. Complete the dialog box as described in Modal Information.

Note: You can display the same modal information from Adams/PostProcessor by selecting the Modal Info button in the dashboard.

Page 112: Using Adams/Vibration - MD Adams 2010

Adams/Vibration128

Animating Your Results

Animating Forced Vibration Analyses

For general information on animating, see the Adams/PostProcessor online help.

To animate a forced vibration analysis:

1. Display the Adams/PostProcessor in Animation mode.

2. Right-click the animation window, and then select Load Vibration Animation.

3. From the Database Navigator, select the vibration analysis you want to plot.

4. Select Forced Vibration Animation.

5. Specify values as described in Animation Dashboard - Vibration Animation.

6. Select the Play tool.

Animating Normal Modes Analyses

You can animate the model to inspect and relate mode shapes with mode numbers. Remember, doing a normal modes animation outside of Adams/Vibration is called a frequency-domain animation. So, if you’re referring to the online help for Adams/PostProcessor for more information on normal modes animation, read the sections on frequency-domain animations.

To animate a normal modes analysis:

1. Display Adams/PostProcessor in Animation mode.

2. Right-click the animation window, and then select Load Vibration Animation.

3. From the Database Navigator, select the vibration analysis you want to display.

4. Select Normal Mode Animation.

5. Specify values as described in Animation Dashboard - Vibration Animation.

6. Select the Play tool .

Plotting Your Results

Plotting Adams/Vibration Output in Adams/PostProcessor

To perform a complete vibration analysis, you first pre-process your model using Adams/View and Adams/Car. Then, you use Adams/Vibration to set up and perform vibration analysis. Finally, you post-process the results using Adams/PostProcessor. Post-processing involves animating forced vibrations

Page 113: Using Adams/Vibration - MD Adams 2010

129Reviewing Your Model

and plotting frequency response functions, generating modal coordinates tables, and displaying other time and frequency data (see table below).

You can validate Adams/Vibration results using Adams/PostProcessor. Using Adams/PostProcessor you can plot several key pieces of data, including:

• Frequency Response

• Modal Coordinates

• Modal Participation

• Power Spectral Density (PSD)

• System Modes

• Transfer Function

• 3D

The following table outlines how you can view Adams/Vibration results:

For general information plotting, refer to the online help for Adams/PostProcessor.

Note: Doing a normal modes animation outside of Adams/Vibration is called a frequency-domain animation. So, if you’re referring to the Adams/PostProcessor online help for more information on animation, read the sections on frequency-domain animations

Vibration Results: View as:

System Modes Complex ScatterNormal ModesAnimation ForcedVibration Animation

PSD Plots

Frequency Response Plots

Modal Coordinates Plots and Tables

Modal Participation Factors Plots and Tables

Transfer Function Plots

Modal Energy Distribution Tables

Vibration Animation Normal ModesAnimation ForcedVibration Animation

Page 114: Using Adams/Vibration - MD Adams 2010

Adams/Vibration130

Plotting in Three Dimensions

You can generate three-dimensional plots of frequency response functions (FRF) in the Adams/Vibration postprocessing environment. This feature enables you to show multiple FRFs from a Design study in frequency domain within the same three-dimensional plot, and better visualize the effect of a design change on the frequency response function. The three-dimensional plots feature allows additional complex representations of results. For example, plot FFTs of a time domain signal obtained with different windowing parameters and display them in a waterfall format.

To plot frequency response in three dimensions:

1. In Adams/PostProcessor, set the pulldown menu located in the menu bar below the File menu to Plot3D.

2. In the Vibration Analysis text box, select all analyses you wish to include in your plot.

3. Select your input channels.

4. Select your output channels.

5. Select Add Surface to create the three-dimensional plot.

For more information on setting the display of three-dimensional plots, see Controlling the Display of Three-Dimensional Plots.

Plotting Frequency Response

You can plot the frequency response, change the scale for plotting, and split the Adams/PostProcessor plotting window to compare plots of frequency response functions to see the phase shift.

To plot the frequency response:

1. Display Adams/PostProcessor in Plotting mode.

2. Set Source to Frequency Response.

3. From the Vibration Analysis list, select the vibration analysis you want to plot.

4. From the Input Channels list, select the input channels you want to reference.

5. From the Output Channels list, select the output channels you want to reference.

6. Select one of the following:

• Use Individually: Computes and displays a curve for each selected input channel/output channel pair.

• Sum All Input Channels: Computes and displays a curve for each output channel selected. The curve is the sum of the response for all the input channels.

• Sum Selected Input Channels: Works like Sum All Input Channels, but only uses the selected inputs.

7. Select Add Curves.

Adams/PostProcessor plots the frequency response in the default scale (dB).

8. To plot the phase angle of the response, select Phase.

Page 115: Using Adams/Vibration - MD Adams 2010

131Reviewing Your Model

Learn more about Frequency Response.

To change the scale for plotting the frequency response:

1. Right-click the horizontal axis of the plot, point to Axis: haxis, and then select Select. (This selects the horizontal axis.)

2. Set the Scale to Logar, dB, or Linear.

3. Right-click the vertical axis of the plot, point to Axis: vaxis, and then select Select.

4. Set the Scale to either Logar, dB, or Linear.

To split the Adams/PostProcessor plotting screen:

• Right-click the Page Layout tool , and select the 2 Views-over & under tool .

The plotting area of the screen splits into two plots, one containing the frequency response plot, and the other containing a blank plot. You can then create a new plot in the blank region.

Plotting Modal Coordinates

To plot modal coordinates:

1. Display Adams/PostProcessor in Plotting mode.

2. Set Source to Modal Coordinates.

3. From the Vibration Analysis list, select the vibration analysis you want to plot.

4. From the Input Channels list, select the input channels you want to reference.

5. Set Modal Coordinates By to one of the following:

• Mode - How the modal coordinate value changes with frequency.

• Frequency - What modal coordinates are active at a frequency.

6. Complete one of the following:

• If you selected Mode, select the mode whose coordinate value you want to plot.

• If you selected Frequency, select the frequencies at which coordinates are to be plotted.

7. Select Add Curves.

Learn more about Modal Coordinates.

Note: If you change the axis limits, the upper and lower limits will have different meanings. For example, in the logarithmic scale, the limit values are the exponent. So, if the values are 2 and 3, the limits are 102 and 103 or 100 and 1000, respectively. In a linear scale, values of 2 and 3 actually mean limits of 2.0 and 3.0, respectively.

Page 116: Using Adams/Vibration - MD Adams 2010

Adams/Vibration132

Plotting Modal Participation

Modal Participation is the absolute contribution of model modes to the transfer function for the model.

To plot modal participation:

1. Display Adams/PostProcessor in Plotting mode.

2. Set Source to Modal Participation.

3. From the Vibration Analysis list, select the vibration analysis you want to plot.

4. From the Input Channels list, select the input channels you want to reference.

5. Select the mode whose participation value you want to plot.

6. Select Add Curves.

Plotting Power Spectral Density (PSD)

To plot PSD:

1. Display Adams/PostProcessor in Plotting mode.

2. Set Source to PSD.

3. From the Vibration Analysis list, select the vibration analysis you want to plot.

4. From the Output Channels list, select the output channels you want to reference.

5. Select Add Curves.

Learn more about Power Spectral Density (PSD).

Plotting System Modes

To plot system modes:

1. Display Adams/PostProcessor in Plotting mode.

2. Set Source to System Modes.

3. From the Simulation list, select the simulation you want to plot.

4. From the Eigen list, select the Eigen you are interested in examining.

5. Select Add Scatters.

To display a table of eigenvalues next to your scatter plot:

1. Split the plotting area by selecting the Page Layout: 2 Views, side by side tool .

2. Right-click the left view, and then select Load Vibration Animation.

3. Select Table of Eigenvalues.

4. Select Save to File and save as eigen.txt.

5. Right-click the right view, and then select Load Report.

6. Select eigen.txt.

Page 117: Using Adams/Vibration - MD Adams 2010

133Reviewing Your Model

Plotting Transfer Function

You can plot the transfer function, change the scale for plotting, and split the Adams/PostProcessor plotting window to compare plots of frequency response functions to see the phase shift.

To plot the transfer function:

1. Display Adams/PostProcessor in Plotting mode.

2. Set Source to Transfer Function.

3. From the Vibration Analysis list, select the vibration analysis you want to plot.

4. From the Input Channels list, select the input channels you want to reference.

5. From the Output Channels list, select the output channels you want to reference.

6. Select Add Curves.

Adams/PostProcessor plots the transfer function in the default scale (dB).

7. To plot the phase angle of the response, select Phase.

To change the scale for plotting the transfer function:

1. Right-click the horizontal axis of the plot, point to Axis: haxis, and then select Select. (This selects the horizontal axis.)

2. Set the Scale to Logar, dB, or Linear.

3. Right-click the vertical axis of the plot, point to Axis: vaxis, and then select Select.

4. Set the Scale to either Logar, dB, or Linear.

To split the Adams/PostProcessor plotting screen:

• Right-click the Page Layout tool , and select the 2 Views-over & under tool .

The plotting area of the screen splits into two plots, one containing the transfer function plot, and the other containing a blank plot. You can then create a new plot in the blank region.

Nastran Modal ExportYou can export modal coordinates of flexible body in MDF file format to recover stress and strain information in MSC Nastran. You need restart run in Nastran to recover stress and strain information. In brief, first create flexible body using Nastran, then do vibration analysis in Adams on model that use

Note: If you change the axis limits, the upper and lower limits will have different meanings. For example, in the logarithmic scale, the limit values are the exponent. So, if the values are 2 and 3, the limits are 102 and 103 or 100 and 1000, respectively. In a linear scale, values of 2 and 3 actually mean limits of 2.0 and 3.0, respectively

Page 118: Using Adams/Vibration - MD Adams 2010

Adams/Vibration134

this flexible body, export modal coordinates for this flexible body in MDF file format, re-start Nastran run to recover element stress and strain information.

To export modal coordinates:

1. From the Vibration menu, point to Review, and then select Nastran Modal Export.

2. Complete the dialog box as described in NASTRAN Modal Export.

3. Select OK.

Page 119: Using Adams/Vibration - MD Adams 2010

Improving Your Model

Design ConstraintsTo learn more about design constraints in general, see the Adams/View online help.

To create a vibration design constraint:

1. From the Vibration menu, point to Improve, point to Vibration Design Constraint, and then select Create.

The Create Design Constraint dialog box opens with the Definition text box set to /View Variable and Vibration Macro. Then, the Create Vibration Design Constraint Macro dialog box opens automatically.

2. Follow the instructions in the dialog box help for Create Vibration Design Constraint Macro.

3. Select OK in the Create Vibration Design Constraint dialog box.

4. Select OK in the Create Design Constraint dialog box.

To delete a vibration design constraint:

1. From the Vibration menu, point to Improve, point to Vibration Design Constraint, and then select Delete.

2. From the Database Navigator, select the design constraint macro you want to delete.

Adams/Vibration deletes the macro.

To evaluate a vibration design constraint:

1. From the Vibration menu, point to Improve, point to Vibration Design Constraint, and then select Evaluate.

2. From the Database Navigator, select the design objective macro you want to evaluate.

3. In the Optimize Constraint Evaluate dialog box, enter the name of the macro and the analysis with which it is associated.

4. Select OK.

An information window appears with the details of the macro.

To modify a vibration design constraint:

1. From the Vibration menu, point to Improve, point to Vibration Design Constraint, and then select Modify.

2. From the Database Navigator, select the design constraint you want to modify.

3. Enter your changes.

4. Select OK.

Page 120: Using Adams/Vibration - MD Adams 2010

Adams/Vibration138

Design Evaluation ToolsYou can start a parametric analysis to help you investigate the influence of design variables on model performance. During a parametric analysis, Adams/View runs a series of simulations with different values for the design variables and gives you feedback on the effects of the changes. To learn more about parametric analyses, see the Adams/View online help.

To start a design evaluation:

1. From the Vibration menu, point to Improve, and then select Design Evaluation.

2. Complete the dialog box as described in Design Evaluation Tools.

3. Select OK.

Design Objective MacrosYou can create a macro to retrieve vibration-specific data and use it when performing a Design study. To learn more about design objectives in general, see the Adams/View online help.

To create a vibration design objective macro:

1. From the Vibration menu, point to Improve, point to Vibration Design Objective, and then select Create.

The Create Design Objective dialog box opens with the Definition text box set to /View Variable and Vibration Macro. Then, the Create Vibration Design Objective Macro dialog box opens automatically.

2. Follow the instructions in the dialog box help for Create Vibration Design Objective Macro.

3. Select OK in the Create Vibration Design Objective dialog box.

4. Select OK in the Create Design Objective dialog box.

To delete a vibration design objective macro:

1. From the Vibration menu, point to Improve, point to Vibration Design Objective, and then select Delete.

2. From the Database Navigator, select the design objective macro you want to delete.

Adams/Vibration deletes the macro.

To evaluate a vibration design objective macro:

1. From the Vibration menu, point to Improve, point to Vibration Design Objective, and then select Evaluate.

2. From the Database Navigator, select the design objective macro you want to evaluate.

3. In the Optimize Object Evaluate dialog box, enter the name of the macro and the analysis with which it is associated.

4. Select OK.

Page 121: Using Adams/Vibration - MD Adams 2010

139Improving Your Model

An information window appears with the details of the macro.

To modify a vibration design objective macro:

1. From the Vibration menu, point to Improve, point to Vibration Design Objective, and then select Modify.

2. From the Database Navigator, select the design objective macro you want to modify.

3. Enter your changes.

4. Select OK.

Page 122: Using Adams/Vibration - MD Adams 2010

Adams/Vibration140

Page 123: Using Adams/Vibration - MD Adams 2010

141Adams/Vibration Theory

Adams/Vibration Theory

Page 124: Using Adams/Vibration - MD Adams 2010

Adams/VibrationIntroduction to Adams/Vibration

142

Introduction to Adams/VibrationUsing Adams/Vibration, you can compute system response in the frequency domain. You can perform two types of analyses:

1. Normal-modes analysis

2. Forced response analysis

A normal modes analysis computes eigen-values and eigenvectors of your model at an operating point you specify. This analysis is effective in understanding natural modes of vibration for the model and to determine the basic dynamic characteristics of your model. Although the result of an eigenvalue analysis is independent of specific excitation, they are useful in predicting the effects of applying dynamic loads on your model.

Normal modes analysis is relevant in many scenarios. In one scenario you may need to assess dynamic interaction between parts in an Adams model. For example, if you are designing a washing machine, it is necessary to determine if the operating rotational frequency of the tub is close to one or more natural frequencies of the supporting structure and electronic components. If they are then ordinary operation of the washing machine may lead to damage of the supporting structure and/or premature failure of electrical and electronic components in the machine.

If you are setting up a physical test, a normal-modes analysis is useful in determining the best location on your systems to attach strain gauges and/or accelerometers. After the test, test results can be correlated with the results of the normal-modes analysis.

Frequency-response analysis is an efficient method for finding the steady-state model response to sinusoidal excitation. In this analysis the loading is in the form of a sine wave for which you specify the frequency, amplitude, and phase. Adams/Vibration performs frequency response analysis using linearized Adams models. Several different types of inputs can be applied to the model and force and kinematic output measured.

This document describes the theory and modeling constructs used in Adams/Vibration. It is to be used as a companion to the on-line product documentation. It is assumed that you are familiar with using the product in its interactive or batch environments. If not, consult the on-line product documentation for Adams/Vibration before reading this document.

The next section presents linearization theory for Adams model. This is followed by definition of vibration modeling entities available in Adams/Vibration. Solutions types available in Adams/Vibration are described in Section 4. The last section, Section 5, gives a list of references you may want to consult for more details on the respective topics.

Page 125: Using Adams/Vibration - MD Adams 2010

143Adams/Vibration TheoryLinearization in Adams/Vibration

Linearization in Adams/VibrationNonlinear Adams models are represented by implicit equations of the form:

(6-1)

where:

• z = vector of states of the model.

• G = system of first-order differential and algebraic equations.

States of the model include:

• Displacement and velocity states from mass-bearing elements PART, POINT_MASS, and FLEX_BODY

• First-order states introduced by the DIFF, LSE, GSE, and TFSISO modeling elements

• Forces variables due to force elements

Lagrange multipliers due to kinematic constraints (JOINT, JPRIM, MOTION, PTCV and CVCV) also contribute to the vector of states.

This system of equations is linearized about an operating point z0. An operating point is defined by an

initial-conditions analysis or static or dynamic analysis [Sohoni, 1986; Negrut and Ortiz, 2005]. Using a process of eliminating algebraic equations from the linearized representation of , ordinary differential equations along with algebraic output equations of the following state-space form are obtained:

(6-2)

where:

• x = Vector of states of the linear model

• y = Outputs from the linear model

• u = Inputs to the linear model

• [A,B,C,D] = State matrices for the linear model

Specific details of the linearization process implemented in Adams/Solver (FORTRAN) are given by Sohoni [1986]. Negrut and Ortiz [2005] have given details of linearization process implemented in Adams/Solver (C++).

States of the linear model, x in (6-2)are a subset of states of the nonlinear model, represented by z in (6-1). When performing normal-modes analysis, specification of inputs and outputs is not required. Therefore, the problem is reduced to finding a solution to the homogeneous equation:

(6-3)

Representing the solution to (6-3) as:

G z· z t 0=

x· Ax Bu+=

y Cx Du+=

x· Ax=

Page 126: Using Adams/Vibration - MD Adams 2010

Adams/VibrationLinearization in Adams/Vibration

144

where:

• = ith eigenvector

• = ith eigenvalue

Substituting in (6-3) gives:

(6-4)

Equation (6-4) is the classic eigenvalue problem. This problem is solved in Adams/Vibration using the well-known QR method [Press et. al., 1994] for computing eigen-values and eigen-vectors.

Note that Adams/Vibration always computes and as complex quantities. The complete eigen-solution to (6-3) can be expressed in the form [Ewins, 1995],

(6-5)

where:

• System mode shape matrix .

• the ith diagonal element of diagonal system eigenvalue matrix is

• , the ith natural frequency.

• * indicates the complex conjugate

Differences between proportional and general viscous damping – Adams/Vibration implements general viscous damping. In these cases, damping matrix is no longer guaranty to be proportional to mass

x t ieit

=

Ai ii=

*

*

* *

0

0

Λ

Λ

Φ ΦQ

ΦΛ Φ Λ

i i i– i 1 i

2–+

ri

iii

+=

i ri

2i

i 2

+=

i ri i–=

Page 127: Using Adams/Vibration - MD Adams 2010

145Adams/Vibration TheoryLinearization in Adams/Vibration

and/or stiffness matrices. Following ways are generally referred in modal space to identify a presence of non-proportional damping in the Adams/Vibration model:

• The real-valued modal matrix of the un-damped model no-more diagonals the damping matrix.

• For fixed k, the phase is no-more constant for all i=l,...,n.

• The real and imaginary parts of the kth eigenvector are now linearly independent.

• The modal matrix cannot be normalized to become real-valued.

Forced-Response AnalysisInputs and outputs to the linear model are defined by means of input and output channels in Adams/Vibration. Input channels contribute to the B matrix. Output channels contribute to the C matrix. The D matrix represents direct interaction between input and output channels. For more details, see Modeling of Vibration Entities.

Using Laplace transform, (6-2) can be expressed in the form [De Silva, 2000]:

(6-6)

where:

• s = Laplace variable

From (6-6), transfer function in the state-space form is given as:

(6-7)

Transformation to Modal SpaceUsing the model eigenvectors as a basis for the solution,(6-6) is transformed to modal space using the modal transformation:

(6-8)

Page 128: Using Adams/Vibration - MD Adams 2010

Adams/VibrationLinearization in Adams/Vibration

146

where:

• = Matrix of eigenvectors

• = Array of modal coordinates

The ith column of corresponds to eigenvector of the model.

Substituting from (6-8) in (6-6) gives:

(6-9)

Simplifying (6-9) gives:

(6-10)

where:

Therefore, the transfer function for the model in modal space is given as:

(6-11)

When you ask for the transfer function of a model to be computed, you specify the range of values for s and the number of steps. At each step in the range of s, transfer function H(s) is computed from expression in the right-hand side of (6-11).

Transfer function can be computed in two forms, that is, using (6-7) or (6-11). Solution of the transfer function in the form of (6-7) is called the direct solution, while solution in the form (6-11) is called the modal solution.

Adams/Vibration uses the following steps to compute the transfer function for the model:

Ζ

sq

Am Z1–AZ=

Bm Z1–B=

Cm CZ=

Page 129: Using Adams/Vibration - MD Adams 2010

147Adams/Vibration TheoryLinearization in Adams/Vibration

1. From the given input/output channel specification,

2. Compute state matrices in the state space forms as in (6-2).

3. Compute eigen-solution for the model using (6-4).

4. Transform to modal space using (6-10).

5. Compute transfer function from (6-11).

Due to degeneracy in the eigen-solution, for some models, Z may not be invertible. In such cases, the transfer function is computed using the direct solution of (6-7). The modal solution for transfer function computation is much faster than the direct solution. If the transfer function is computed using the direct method, it will not be possible to plot model coordinates and participations or perform vibration animation for the model. However, normal mode shapes can still be animated.

Page 130: Using Adams/Vibration - MD Adams 2010

Adams/VibrationModeling of Vibration Entities

148

Modeling of Vibration EntitiesThis section presents the formulation for modeling the following vibration entities:

• Vibration Input Channels

• Vibration Actuators

• Vibration Output Channels

• Frequency-dependent (FD) Modeling Elements

Vibration Input ChannelsA vibration input channel defines the location, orientation, and type of forcing function to be applied. There are three types of input channels you can specify in Adams/Vibration:

1. Force-type input channel applies a force at the specified marker. The expression for the force is as specified by the vibration actuator.

2. User-specified state variable applies the vibration actuator to a state variable that you may have created in your model. This input channel is useful in applying vibratory input to models that are represented by general dynamical elements, such as GSE/LSE/TFSISO.

3. Kinematic input channel applies displacement, velocity, or acceleration input. This form of the input channel imposes a kinematic constraint in the frequency domain at the specified marker. This constraint will result in removal of one degree of freedom at the maker at which it is applied.

Vibration ActuatorsA vibration actuator defines the magnitude and phase of the applied forcing function. Vibration actuators are required for modeling forcing function in forced response analysis. Phase angle, as defined in a vibration actuator, is with respect to the positive direction of the marker in the vibration input channel on which this actuator is defined.

Vibration actuators are applied at the input channel after the model is linearized. Therefore, vibration actuators are only in effect for frequency domain analysis and have no effect on the operation point analysis for the model.

Swept Sine Actuator

Force applied in a swept-sine actuator is defined as:

Note: Due to this constraint, the frequency response peaks may be shifted from the frequencies of the normal modes of the model.

Page 131: Using Adams/Vibration - MD Adams 2010

149Adams/Vibration TheoryModeling of Vibration Entities

where:

• f= force magnitude

• =phase angle

The phase angle is measured with respect to positive direction of the marker axis for the input channel on which this actuator is acting.

Rotating Mass Actuator

Force Type

The force rotating mass actuator is represented by two actuators. The Leading and Lagging actuators are represented as:

Figure 1 Rotating Mass Actuator

where:

• = Force applied in leading actuator

• = Force applied in lagging actuator

• m = Unbalanced mass

)(sle

)(sla

Page 132: Using Adams/Vibration - MD Adams 2010

Adams/VibrationModeling of Vibration Entities

150

• r = Radial offset

• = Frequency of excitation

When you want to incorporate vibratory effects due to an unbalanced mass in your vibration analysis, you must create two vibration actuators acting on the same input channel. The first actuator must be defined as a Leading actuator and the second as the Lagging actuator.

Moment Type

The moment type of rotating mass actuator is applicable for simulating moments due to radial, as well as axially offset unbalanced masses. The leading and lagging actuators are represented as:

Figure 2 Rotating Mass Actuator - Moment Type

where:

• Mle = Moment applied in the leading actuator

• Mla = Moment applied in the lagging actuator

• d = Axial offset between unbalanced masses

As with the force type rotating mass actuator, to incorporate vibratory moment effects due to an unbalanced mass in your vibration analysis, you must create two vibration actuators acting on the same input channel. The first actuator must be defined as a Leading actuator and the second as the Lagging actuator.

PSD Actuator

The PSD actuator is for defining a spectrum that you want to apply to the model. For more information on power spectral density, see Reference 4. The PSD actuator is specified using a spline. You can create a spline using the Function Builder in Adams/View. In Adams/Vibration, you can specify the

Page 133: Using Adams/Vibration - MD Adams 2010

151Adams/Vibration TheoryModeling of Vibration Entities

autocorrelation PSD of an input channel to itself, as well as the cross correlation PSD to other input channels. Section 4d provides details of how auto and cross correlations are used for computing PSD response.

PSD type actuators cannot be mixed with swept sine, rotating mass, or user-type actuators in the same vibration analysis. Response solution for PSD actuator is different from the force vibration response analysis.

Vibration Output ChannelsVibration output channels are defined using run-time expressions. These expressions can consist of kinematic or force expression or some combination of the state variables you define.

Frequency-dependent (FD) Modeling ElementsFD modeling elements are useful for incorporating compliant components with frequency-domain force characteristics in your model. These force characteristics may have been measured using a bench test in a laboratory. Several flavors of frequency-dependent modeling elements are available within Adams/Vibration. From given force versus frequency characteristics, you can use system identification tools, such as described in article 1-KB12433 (see MSC.Software Knowledge Base) for identifying parameters needed for defining FD element.

The FD modeling element is represented by a combination of spring and dampers in series and parallel. Each FD element adds two internal auxiliary states for each direction. These differential and output equations are contained within customized GSE subroutines in Adams/Vibration.

A GFORCE element is used to apply forces on the I- and J-bodies between which you are applying the FD element. When you add a 3D FD element to your model, Adams/Vibration automatically creates a GSE and GFORCE element in your model and instantiates the associated customized user subroutines for evaluation of the force in the FD element.

FD modeling elements are usable in frequency domain, as well as time domain analysis.

Page 134: Using Adams/Vibration - MD Adams 2010

Adams/VibrationModeling of Vibration Entities

152

Figure 3 Scematic of One-dimentional FD Element

Page 135: Using Adams/Vibration - MD Adams 2010

153Adams/Vibration TheoryVibration Analyses

Vibration AnalysesAdams/Vibration performs two types of vibration analyses:

• Normal Mode Analysis to compute eigen-values and eigenvectors for a model

• Forced Vibration Analysis to compute the forced response of the model to vibratory inputs applied using vibration input channels and actuators on the model. Eigen-values and eigenvectors are also available computed during the forced-response analysis.

Normal Mode AnalysisThe general equation of motion for a MDOF system with general viscous damping and harmonic excitation is:

(1)

This can be arranged in the form of equation (6-2) as a state-space representation. For normal mode analysis, matrix A in equation (6-3) takes the form [Ewins, 1995],

(2)

Representing solution to (6-3) as ,

(3)

The solution to this equation constitutes a complex eigen-problem. In this case there are 2N eigen-values and now those occur in complex conjugate pairs. This is an inevitable (unavoidable) result of the fact that all coefficients in the matrices are real and thus any characteristic values, or roots, must either be real or occur in complex conjugate pairs). As a result, eigen-vector corresponding to these eigen-values also occurs as complex conjugates. Hence the eigen-solution needs to be described as:

(4)

Express each eigen-value in the form:

Page 136: Using Adams/Vibration - MD Adams 2010

Adams/VibrationVibration Analyses

154

(5)

Where, is ‘natural frequency’ and is the critical damping ratio for that mode. Sometimes this

natural frequency is referred to as ‘un-damped natural frequency’ but this is not strictly correct except in the case of proportional damping (or, of a single degree of freedom system). In Adams/Vibration, the

general viscous damping is implemented which may not necessarily proportional, and therefore is

referred as ‘natural frequency’ instead ‘un-damped natural frequency’.

The pair of orthogonal equations is shown to be:

(6)

For complex conjugate pairs, we will get a very important result,

(7)

Where denotes the Hermitian (complex conjugate) transpose, from which we can obtain:

(8)

Here, mr, kr and cr (all real) may be described as modal mass, stiffness and damping parameters

respectively although the meaning is slightly different from those used in other systems (un-damped, hysteretic damping).

Rewriting second equation of (6) in energy format,

r r

r

H

Page 137: Using Adams/Vibration - MD Adams 2010

155Adams/Vibration TheoryVibration Analyses

(9)

This shows that the Kinetic modal energy equals Potential modal energy. It should be noted that with little algebra it can be shown that the modal energies thus calculated are time averaged over one cycle.

Adams/Vibration computes eigen-values and eigenvectors as complex numbers. When you perform normal-modes analysis in Adams/View, you can display the results in the form as shown in Table 1

EIGEN VALUES (Time = 0.000000)FREQUENCY UNITS: Hz

Table 1 Eigenvalue Table Reported in Adams/View

Quantities presented in this table are computed in this table are computed as:

(10)

where:

• = Natural frequency, column 2 of table

• = Damping ratio, column 3 of table

• = Real part of the eigenvalue, column 4 of table

Mode Number

Undamped Natural Frequency

Damping Ratio Real Imaginary

1 0.00617426 1 -0.00617426 0

2 16.6257 1 -16.6257 0

3 0.270866 0.23569 -0.0638404 +/-0.263235

4 0.712246 0.580427 -0.413406 +/-0.57999

r r i

r

r

Page 138: Using Adams/Vibration - MD Adams 2010

Adams/VibrationVibration Analyses

156

• = Imaginary part of the eigenvalue, column 5 of table

Correspondence between the number of modes in the table and the number of states in the model is as follows. The number of modes conforms to the following identity:

2*Nc + Nr = 2* Nm + Nd (11)

where:

• Nc = Number of complex eigen-values, that is, eigen-values with nonzero real and imaginary

parts

• Nr = Number of real eigen-values, that is, eigen-values with zero imaginary parts

• Nm = Number of mechanical degrees of freedom

• Nd = Number of states due to supplementary differential states contributed by modeling

elements, such as DIFF/LSE/GSE/TFSISO

For the three-DOF model (Nm =3, Nd =0) from which Table 1 is obtained, there are two complex (Nc =2) and two real (Nr =2) eigen-values. Using these values, it can be verified that the identity in (11) holds.

Eigen-values can be plotted as a complex scatter on a real-imaginary axis, as shown in Figure 4. The real part of eigen-values corresponds to damping in a model. The imaginary part corresponds to stiffness in the model. A mode with an eigenvalue of negative real part is considered stable. Conversely, a mode with eigen-values of positive real part is unstable. As shown in Figure 4, eigen-values lying in the left half plane are stable and those in the right half plane are unstable.

i

Page 139: Using Adams/Vibration - MD Adams 2010

157Adams/Vibration TheoryVibration Analyses

Figure 4 Complex Scatter Plot

A model with all stable eigen-values, if perturbed, will return to its original unperturbed configuration on removal of the perturbation. A perturbation applied to a model with unstable eigenvalue(s) may cause unstable modes to be excited. In this case, the model will have an unbounded response to this perturbation. For more information, see Reference 4.

Forced Vibration AnalysisTo perform a forced-response analysis, Adams/Vibration requires you to construct a vibration analysis. A vibration analysis consists of: a collection of input and output channels, the operating point specification, the frequency range and number of steps in this range.

Page 140: Using Adams/Vibration - MD Adams 2010

Adams/VibrationVibration Analyses

158

Figure 5 Input and Output Channels

Each input channel results in an action-only SFORCE being created in the model along with a VARIABLE. The VARIABLE is used to define the SFORCE. The expression for the variable is zero. Each output channel results in one VARIABLE being created. Function expression for this entity depends on the type of output channel you define. On defining a vibration analysis, the variable corresponding to the input channels are collected into a PINPUT and variables corresponding to the output channels are collected into a POUTPUT. The model is linearized using this PINPUT and POUTPUT pair. As shown in Figure 5, each input channels contributes one column to the B matrix. Each output channel defines one rows of the C matrix.

For output channels representing acceleration outputs, there will be nonzero entries in the corresponding rows in the D matrix.

Forced vibration response is the response of a model to vibration input channels and is computed as:

(1)

where:

• = Vector of vibration actuators evaluated at si

• H(si)= Transfer function as defined in (6-11), evaluated at si

• n = Number of steps in the frequency range

Transfer FunctionThe transfer function plot is computed from (1) with unit inputs applied at all input channels. For this plot the vibration actuator definition is ignored.

PSD Response ComputationFor actuators of the PSD type, the PSD output is computed using the following:

( )isΡ

Page 141: Using Adams/Vibration - MD Adams 2010

159Adams/Vibration TheoryVibration Analyses

(2)

where:

• = Output PSD

• = Matrix input PSD

• = Transfer function

• = Hermitiam transpose of

For multiple PSD input channels:

(3)

where:

• Pk(s) = PSD function corresponding to PSD actuator k

• Pkj(s) = Cross-correlation of PSD actuator k due to PSD actuator j

When plotting PSD response, input channels with actuators of type PSD cannot be mixed with actuators of force type in one vibration analysis.

Modal CoordinatesThe plots of modal coordinates identify the response of coordinates corresponding to modes of the model. They are computed as:

(4)

where:

• = Vector of modal coordinates for the model

out isP

in isP

( )isH

HisH ( )isH

1 12 1

21 2 2

1 2

...

...

... ... ... ...

...

n

nin

n n n

P P P

P P Ps

P P P

P

c sM

Page 142: Using Adams/Vibration - MD Adams 2010

Adams/VibrationVibration Analyses

160

At a given frequency, the modal coordinates identify how much each of the respective system modes is excited. As shown in the Figure 6, the frequency response has three peaks.

Figure 6 Plot of Modal Coordinates

Modal coordinates for Modes 1, and 2 show that the first peak corresponds to the first peak in the modal coordinate response for Mode 1. While at the second peak in the frequency response, Mode 2 is the one with the most excitation.

Page 143: Using Adams/Vibration - MD Adams 2010

161Adams/Vibration TheoryVibration Analyses

Modal ParticipationWhile the modal coordinates define how active a certain mode is at a given frequency, the modal participation identifies how much given modes contribute to the response at a specified frequency.

Figure 7 Plot of Modal Participations

Modal participation is computed as:

(1)

where:

• = vector of modal participations

Modal Energy Computationi. Kinetic energy distribution – Mass bearing modeling such as PART, POINT_MASS, and FLEX_BODY contribute to kinetic energy distribution computation. The modal kinetic energy distribution in a system is defined with respect to degree of freedom of various modeling elements mentioned above.

p sM

Page 144: Using Adams/Vibration - MD Adams 2010

Adams/VibrationVibration Analyses

162

From equation , the modal kinetic energy of ith mode can be calculated as

(2)

where:

• ith column mode shape vector of system mode shape matrix

• = System mass matrix

To find modal energy contributions from various parts and degrees of freedom, it is convenient to substructure this system level energy equation to part level equations. Finally, these sub-structured part level energies will be summed to calculate the system level modal kinetic energy.

Kinetic energy contribution of PART j to individual mode i can therefore be written as,

(3)

where:

• ith column vector of matrix , which is condensed mode shape matrix from system

mode shape matrix , corresponding to six degrees of freedom of PART j

• = Mass matrix of PART j

Adams/Vibration breaks this modal kinetic energy contribution of PART j in nine components to present it in modal energy tables:

(4)

i Φ

Μ

ji ζ jΨ

Φ

*1

*2

*3

1(1) (1)

21

(2) (2)21

(3) (3)2

j j ji i

j j ji i

j j ji i

K m

K m

K m

ζ ζ

ζ ζ

ζ ζ

Page 145: Using Adams/Vibration - MD Adams 2010

163Adams/Vibration TheoryVibration Analyses

(5)

(6)

Equation (3) now equivalently expressed as,

(7)

Total kinetic energy for mode i can then be computed as,

(8)

where:

• = Total kinetic energy of mode i

• n = Number of parts in the model

• Kinetic energy contribution of PART j to mode i

Percentage distribution of PART j mode i kinetic energy in direction e is defined as:

(9)

4

6

*

*5

*

1(4) (4)

21

(5) (5)21

(6) (6)2

i i

i i

i i

j j jxx

j j jyy

j j jzz

K I

K I

K I

ζ ζ

ζ ζ

ζ ζ

7

8

9

*

*

*

(4) (5)

(4) (6)

(5) (6)

i i

i i

i i

j j jxy

j j jxz

j j jyz

K I

K I

K I

ζ ζ

ζ ζ

ζ ζ

1

nj

i ij

i

ji

Page 146: Using Adams/Vibration - MD Adams 2010

Adams/VibrationVibration Analyses

164

Above equation shows that the percentage kinetic energy contribution of any degree of freedom to a particular mode is independent on natural frequency of that mode and depends on the product of the mass or inertia and square of the mode shape amplitude (mass and inertia terms) or product of mode shape amplitudes (product of inertia terms) of the mode in that directions. As the sum of the kinetic energy contributions of all degree of freedoms in that mode shape (not part degrees of freedom) is made equal to 100, through the definition in equation , it is easy to identify the relative importance of various degrees of freedoms. This will help to identify which particular degree of freedom is contributing more or less to the overall modal kinetic energy.

Percentage kinetic energy contributed by PART j to mode i is defined as:

(10)

where:

• = Percentage kinetic energy contributed by PART j to mode i

Equation (10) shows that the percentage kinetic energy contribution of any part to a particular mode is independent on natural frequency of that mode and depends on the sum of product of mass (or inertia) and square of the mode shape amplitude (mass and inertia terms) or product of mode shape amplitudes (product of inertia terms) of that mode in all nine directions. As the sum of the kinetic energy contributions of all parts is made equal to 100, it is easy to identify the relative importance of various parts over each other. This will help to identify which particular part of model is contributing more or less to the overall modal kinetic energy.

It should be noted that the large kinetic energy contribution can be due to large mass (inertia) or motion of that degree of freedom. Therefore, the modal kinetic energy density needs to be calculated to remove this ambiguity and make it dependent only on mode shape. The modal kinetic energy density for a given mode is defined as the ratio of modal kinetic energy contribution of a degree of freedom to the rigid body mass of the part.

Sometimes it is advantageous to normalize the modal kinetic energy contributions with respect to generalized mass of that mode. This will make these modal kinetic energy distributions independent of mode shape normalization.

Adams/Vibration computes the kinetic, strain, and dissipative energy distribution within modes of your model. Table 1 shows an example of these distribution tables. These distributions are important indicators of which components of the model have the greatest contribution to a given mode.

As in this example, PART_2 has the greatest contribution to the kinetic energy in this mode. The Strain energy tables indicate that SPRING_2 stores the most amount of strain energy in this mode. Similarly, from the dissipative energy table, SPRING_2 dissipates the most amount of energy in this mode.

jiT

Page 147: Using Adams/Vibration - MD Adams 2010

165Adams/Vibration TheoryVibration Analyses

Table 1 Modal Energy Distribution

ii. Strain energy distribution - Compliant components, such as SPRINGDAMPER, SFORCE, BUSHING, and so on, contribute to the computation of strain energy in a mode. In addition, FLEX_BODYs in the model contribute to strain energy computation.

Strain energy due to a compliant element p is:

(11)

where:

• = Strain energy in complaint element p for mode i

• = Matrix of size equal to model stiffness matrix, with all zero entries except stiffness matrix entries contributed by compliant element p.

ip

Page 148: Using Adams/Vibration - MD Adams 2010

Adams/VibrationVibration Analyses

166

Percentage distribution of strain energy for mode i is given as:

; p=1, …,m (12)

where:

• = Percentage strain energy contribution by compliant element p to mode i

• m = Number of compliant elements in the model

iii. Dissipative energy distribution is computed in a similar manner to the strain energy distribution. In (11) and (12), the damping matrix is substituted for the stiffness matrix.

Stress RecoveryWith Adams/Vibration you can recover stresses and strains on flexible bodies. Recovering stresses on flexible bodies is called Modal Stress Recovery (MSR). Adams/Vibration allows you to export modal-coordinates corresponding to flexible body modes that can later be used as input to FEM software like NASTRAN to recover the stresses in the flexbody.

The linear deformation (y) of the flexbody nodes can be approximated as a linear combination of M

orthogonalized mode shape vectors ( ) of that flexbody.

(13)

The basic advantage of the modal superposition is that the deformation behavior of a component with a very large number of nodal DOF can be captured with a much smaller number of modal DOF.

Adams/Vibration exports the modal coordinates ( ) in a Modal Deformation File (MDF) format (binary). FEM software like NASTRAN then does the summation to get linear deformation of flexbody nodes and then recovers stresses and strains as follows,

(14)

where:

• is the strain vector

• is the stress vector

m

p

ip

ip

ipS

1

100

ipS

q

Page 149: Using Adams/Vibration - MD Adams 2010

167Adams/Vibration TheoryVibration Analyses

• B is a function matrix of the FE geometry relating strains to displacements

• E is the stress-strain relationship matrix.

Note that it is necessary to create a super-element of flexbody without any constraints (free-free boundary condition). The restart run is necessary in NASTRAN to recover the stresses and strains.

Page 150: Using Adams/Vibration - MD Adams 2010

Adams/VibrationPerforming Acoustic Pressure Recovery

168

Performing Acoustic Pressure Recovery

Acoustic Pressure Recovery in Adams/VibrationWith Adams/Vibration you can recover acoustic pressure around flexible body. Recovering pressure around flexible bodies is called Modal Pressure Recovery (MPR). You can perform MPR outside of Adams using MD Nastran.

Acoustic Pressure Recovery DMAPA special NASTRAN DMAP ALTER is required to input the modal velocities from a NASTRAN formatted file and recover acoustic pressure in NASTRAN. For instructions regarding reading Modal Deformation File (MDF), please refer the corresponding section for MSR help.

Page 151: Using Adams/Vibration - MD Adams 2010

169Adams/Vibration TheoryAcoustic Pressure Recovery Theory

Acoustic Pressure Recovery Theory

Acoustic Pressure Recovery AnalysisThe Adams modal synthesis method and its advantages are already covered in MSR help. During Adams simulation, we assume that the fluid loading on structure is negligible. Then we export modal deformations from Adams to MD Nastran in MDF file format. Adams provides two options to user to recover acoustic pressure in Nastran from the modal co-ordinate data.

1. Recover acoustic pressure without fluid loading.

2. Recover acoustic pressure with fluid loading.

1. Recover acoustic pressure without fluid loading.

The modal co-ordinates from Adams are directly used to find modal loading on fluid portion.

The second equation in Eq. 13-65 of Nastran Reference Manual (NRM) can be rewritten in terms of modal load vector from Adams:

(15)

By knowing right hand side vector for every frequency step from Adams, the above equation can be solved for . From here, acoustic pressure {p} can be recovered using following equation.

(16)

2. Recover acoustic pressure with fluid loading.

The modal co-ordinates from Adams are used to recover the modal structural load. The fluid-structure coupled equations are then solved to get corrected modal co-ordinates for structure and fluid.

Assemble the right hand side of Eq. 13-65 of NRM with the modal load vector from Adams:

(17)

By making use of Nastran Eq. 13-66 to Eq. 13-70, the fluid modal co-ordinates can be written in terms of Adams structural modal co-ordinates.

(18)

The correction matrix [C] in above equation can be used to get judgment of fluid loading on structure. This is useful matrix to check the validity of assumption made during Adams simulation.

f

2Z2 a

Tsad ams

–=

f

p f f

=

ms 0

aT– mf

··cs··cf

bs 0

0 bf

·cs·

cf

ks a

0 kf

csc

f

ms··

sadams b

s

s·· adams

kssadams+

0+

=+ +

cs C s

adams =

C I 2– Z1 a Z2 a T 1–

++

Page 152: Using Adams/Vibration - MD Adams 2010

Adams/VibrationAcoustic Pressure Recovery Theory

170

Finally, the corrected fluid modal co-ordinates can be get as,

(19)

By knowing right hand side vector for every frequency step from Adams, the above equation can be

solved for . From here, acoustic pressure {p} can be recovered using following equation.

(20)

cf 2 Z2 a T C s

adams –=

cf

p f cf =

Page 153: Using Adams/Vibration - MD Adams 2010

171Adams/Vibration TheoryAdams/Vibration References

Adams/Vibration References1. De Silva, C.W., Vibration: Fundamentals and Practice, CRC Press, Boca Raton, (2000).

2. D. J. Ewins., Modal Testing: Theory and Practice, John Willey and Sons Inc., New York, (1995).

3. Lyon, R.H., and Dejong, R.G. Theory and applications of Statistical Energy Analysis (second edition), Butterworth-Heinemann, London, (1995).

4. Munjal, M. L., Fundamentals of vibration (Chapter 2), In Workshop on Noise, Vibration and Harshness (NVH) for Automotive Engineering, SAE Western section, ARAI, Pune-India, (2002).

5. Negrut, D and Ortiz, J.L., On An Approach For The Linearization of The Differential Algebraic Equations of MultiBody Dynamics, ASME/IEEE International Conference on Mechatronic and Embedded Systems and Applications, (2005).

6. Press, W. H., Flannery, B. P., Teukolsky, S. A., and Vetterling, W. T. "QR Decomposition." §2.10 in Numerical Recipes in FORTRAN: The Art of Scientific Computing, 2nd ed. Cambridge, England: Cambridge University Press, pp. 91-95, (1992).

7. Sohoni, V.N and Whitesell, J., Automatic Linearization of Constrained Dynamical Systems, ASME J, of Mechanisms, Transmissions and Automation in Design, Vol.108, No. 3, pp. 300-304, (1986).

Page 154: Using Adams/Vibration - MD Adams 2010

Adams/VibrationAdams/Vibration References

172

Page 155: Using Adams/Vibration - MD Adams 2010

1Adams2Nastran

Adams2Nastran

Page 156: Using Adams/Vibration - MD Adams 2010

Adams/VibrationIntroduction

2

IntroductionUsing Adams/Vibration – Adams2Nastran (A2N) feature, you can define the operating point at which exporting the Mass, Stiffness and Damping matrices of the full linearized model and then performing Nastran modal or frequency response analysis: the operating point has been achieved running Adams/Solver, taking into account all the nonlinearities of the system and with the possibility to easily change any parameter or variable for exploring different model configuration and, consequently, to easily recreate full Nastran equivalent model. The Mass, Stiffness and Damping matrices are exported as Nastran DMIG and connected to the system using MPC (Multi Point Constraint) while the location of input channels and output channels (Adams Markers) are exported as Nastran GRIDs and generalized degrees of freedom as SPOINTs.

Page 157: Using Adams/Vibration - MD Adams 2010

3Adams2NastranIntroduction

The following image displays the work flow, starting from an Adams model and getting the Nastran bdf file for Complex Modal Analysis (SOL 107) and Frequency Response Analysis (SOL 108):

To implement the procedure, the MKB (Mass, Stiffness, Damping) system is recovered by Adams/Linear function.

(1)

A Plant Input and a plant output have to be defined to input and output channels, which correspond to u and y respectively in equation (1). The current Adams2Nastran approach requires velocities for output

M x· KB x P u+=

y C x D u+=

Page 158: Using Adams/Vibration - MD Adams 2010

Adams/VibrationIntroduction

4

channels, som the feed forward term, D matrix, can be neglected. Then, equation (1) can be written as 1st order differential equation like as follows.

(2)

, (3)

where:

Equation (2) can be transformed to 2nd order differential equation.

(4)

(5)

The variable x and M, B and K matrices in equation are expressed by SPOINT and DMIG respectively. A plant input and plant output are always defined on same degree of freedoms, thus P equals the transpose of C; consequently equation (3) can be written as follows.

, (6)

A degree of freedom of xm and fm is modeled by GRID, and MPC (Multi Point Constraint) are used to express the relationship between GRID and SPOINT in equation .

Typical analysis (SOL 101: static analysis; SOL 103: modal analysis) into Nastran could not be performed because they require symmetric matrices. DMIG matrices can be not symmetric ones: a customized DMAP has been developed for symmetrization of not symmetric matrices and it has been made available for Nastran users in the Adams2Nastran installation directory.

Full details about the symmetrization procedure can be found in Symmetrization of Not Symmetric matrices paragraph.

: Displacement of part coordinates

: Displacement of states

Displacement of marker coordinates

: Force to part coordinates

Force to marker coordinates

I 0 0

0 bs mu

0 bv mp

x·p

x· s

x··p

0 0 I–

ku ks bu

kp kv bp

+

xp

xs

x·p 0

0

fp

=

fp P fm= x·m C xp=

xp

xs

xm

fp

fm

M x·· B x· K x++ f=

mp 0

mu 0

x··px··s

bp bv

bu bs

+x·p

x· s

kp kv

ku ks

+xp

xs fp

0 =

fm Ct

fm= xm C xp=

Page 159: Using Adams/Vibration - MD Adams 2010

5Adams2NastranA2N Input Channel

A2N Input ChannelAdams2Nastran Input Channel requires the definition of input marker, with its location and orientation evaluated at the operating point, that is at the end of the Adams analysis: each marker is exported to Nastran as GRID, while the local reference frames is defined by CORD2R

Example: an input channel is defined on ADAMS marker 19.

$ MARKER 19

CORD2R* 1000 -1.000000000D+02 3.000000000D+02

* -1.582453600D-16-1.010000000D+02 3.000000000D+02-1.582453600D-16

* -1.000000000D+02 3.000000000D+02 1.000000000D+00

GRID 1000 1000 0.000 0.000 0.000 1000

On the input channel an actuator force (swept-sine type) is applied into Nastran: each actuator is described by the direction (X, Y, Z) , mode (translational = force or rotational = torque), force magnitude and phase angle

Swept sine defines a constant amplitude sine function being applied to the model. The amplitude of the sine function and the starting phase angle are required and must be specified in the Create/Modify A2N Input Channel dialog box.

(7)

where:

• f is the forcing function

• F is the magnitude of the force

• is the phase angle

• is the frequency

On each marker it is possible to define 6 different actuators (3 forces, 3 torques). Actuator parameters are exported into DLOAD, RLOAD1, FORCE and DPHASE statement.

Example: Force amplitude = 1, phase angle = 0, frequency start = 1, frequency end = 10, frequency steps = 99, no logarithmic space

DLOAD 101 1.00 1.00 201RLOAD1 201 301 401 501FORCE* 301 1000 1000 1.000000000E+00* 0.000000000E+00 1.000000000E+00 0.000000000E+00DPHASE* 401 1000 2 0.000000000E+00* TABLED1 501* 1.000000000E+00 1.000000000E+00 1.000000000E+02 1.000000000E+00* ENDT

f F cos j+ sin =

Page 160: Using Adams/Vibration - MD Adams 2010

Adams/VibrationA2N Input Channel

6

In correspondence of the A2N Input Channel an A2N Output Channel is automatically created, if not already existing; one only A2N output channel is created on a marker

Creating A2N Input ChannelTo create an A2N input channel:

1. From the Vibration menu, point to Adams2Nastran, point to Input Channel, and then select New.

2. Follow the instructions in the dialog box help for Create/Modify A2N Input Channel.

3. Select OK.

Deleting A2N Input ChannelTo delete an A2N input channel:

1. From the Vibration menu, point to Adams2Nastran, point to Input Channel, and then select Delete.

2. From the Database Navigator, select the A2N input channel you want to delete, and then select OK.

3. In the message window that appears, select one of the following:

• Delete All – Deletes the A2N input channel and all of its dependents.

• Remove Parametric Expressions – Deletes the A2N input channel after removing all of its parametric dependencies.

• Cancel – Stops the process without deleting the A2N input channel.

Modifying A2N Input ChannelTo modify an A2N Input Channel:

1. From the Vibration menu, point to Adams2Nastran, point to Input Channel, and then select Modify.

2. Select the A2N Input Channel you want to modify.

3. Select OK.

4. Modify only the actuators parameters, while the input marker can not be modified, as described in Create/Modify A2N Input Channel.

5. Select OK.

Note: Deleting the A2N Input Channel doesn’t delete the corresponding A2N Output Channel on the same marker.

Page 161: Using Adams/Vibration - MD Adams 2010

7Adams2NastranA2N Input Channel

Note: In correspondence of the A2N Input Channel an A2N Output Channel is automatically created, if not already existing.

Page 162: Using Adams/Vibration - MD Adams 2010

Adams/VibrationA2N Output Channel

8

A2N Output ChannelADAMS2Nastran Output channel provides port in your system at which Nastran users can examine the frequency response of the system. A2N Output channel is defined as marker on which Nastran can evaluate all components of displacement, velocity and acceleration.

In correspondence of an A2N Output Channel, six state variables, VX, VY, VZ, WX, WY, WZ velocity functions wrt ground (i.e, “VX(I marker, 0, I marker)”) are created and included in a Plant Output element for providing the size and terms of Mass, Stiffness and Damping Matrices.

An A2N Output channel is automatically created, if not already existing, on the same marker when an A2N input channel is created or modified.

Each A2N Output channel is exported to Nastran as GRID and CORD2R card, and the row and column order and Mass, Stiffness and Damping matrices size are related to the sequence and number of A2N output channels. The mathematical connection between matrices (DMIG) and GRID is expressed by Nastran MPCs.

Example:

SPOINT 10000 THRU 10007$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0DMIG EXMASS 0 1 2 0DMIG* EXMASS 10000 0* 10000 0 2.756055107D+00DMIG* EXMASS 10001 0* 10001 0 5.252287746D+00……………………………………………………………………………………………………………………….$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0DMIG EXDAMP 0 1 2 0DMIG* EXDAMP 10000 0* 10000 0 4.535042735D+00* 10001 0-1.466666667D+00* 10002 0 6.000000000D-01* 10004 0-1.866666667D+02* 10005 0 7.500000000D+00* 10006 0 1.833333333D+01.*.......................................................$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0DMIG EXSTIF 0 1 2 0DMIG* EXSTIF 10000 0* 10000 0 3.413400630D+03* 10001 0-1.466666667D+03* 10002 0 6.000000000D+02* 10003 0 1.573580786D-13* 10004 0-1.866666667D+05* 10005 0 7.500000000D+03* 10006 0 1.833333333D+04..................................................$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0MPC* 701 1000 1-1.000000000D+00* 10003 0 1.000000000D+00MPC* 701 1000 2-1.000000000D+00* 10002 0 1.000000000D+00…………..........................................................................

Page 163: Using Adams/Vibration - MD Adams 2010

9Adams2NastranA2N Output Channel

Creating A2N Output ChannelTo create an A2N output channel:

1. From the Vibration menu, point to Adams2Nastran, point to Output Channel, and then select New.

2. Follow the instructions in the dialog box help for Create/Modify A2N Output Channel.

3. Select OK.

Deleting A2N Output ChannelTo delete an A2N output channel:

1. From the Vibration menu, point to Adams2Nastran, point to Output Channel, and then select Delete.

2. From the Database Navigator, select the A2N output channel you want to delete, and then select OK.

3. In the message window that appears, select one of the following:

• Delete All - Deletes the A2N output channel and all of its dependents.

• Remove Parametric Expressions - Deletes the A2N output channel after removing all of its parametric dependencies.

• Cancel - Stops the process without deleting the A2N output channel.

Modifying A2N Output ChannelTo modify an A2N output channel:

1. From the Vibration menu, point to Adams2Nastran, point to Output Channel, and then select Modify.

2. Enter the name of the A2N output channel you want to modify.

3. Modify the output channel, as needed, as described in Create/Modify A2N Output Channel. Only the name of the Output Channel is allowed to be modified.

4. Select OK.

Note: Deleting an A2N Output Channel doesn’t delete the corresponding A2N input channels, if they exist. It means that the order and size of the Mass, Stiffness and Damping matrices are affected by this operation, and the consistency of the Plant Input (A2N Input Channels) and Plant Output (A2N Output Channels) should be verified carefully before to perform MKB matrices exporting to Nastran.

Page 164: Using Adams/Vibration - MD Adams 2010

Adams/VibrationExporting MKB Matrices to Nastran

10

Exporting MKB Matrices to Nastran

Exporting a Nastran bdf file for Frequency Response Analysis1. From the Vibration menu, point to Adams2Nastran, and then select MKB matrices export.

2. Select A2N Analysis name.

3. Fill all the fields as described in the dialog box help for Adams to Nastran MKB export, being sure to select Frequency Response under Nastran Analysis menu.

4. Select OK.

Adams2Nastran features performs the linearization of the model around the operating point and write out the Nastran bdf file containing DMIG matrices and data for SOL 108 analysis. The process runs quickly. If no error messages appear, you can assume the Adams2Nastran process completed correctly. If you receive error messages, correct the problem, and rerun your analysis.

It must be underlined that, due to the fact tat LINEAR/MKB command is available only as solver command, for both integrated and external solver, the script must be Adams/Solver command type.

Exporting a Nastran bdf file for Modal Analysis1. From the Vibration menu, point to Adams2Nastran, and then select MKB matrices export.

2. Select A2N Analysis name.

3. Fill all the fields as described in the dialog box help for Adams to Nastran MKB export, being sure to select Modal under Nastran Analysis menu.

4. Select OK.

Adams2Nastran features perform the linearization of the model around the operating point and write out the Nastran bdf file containing DMIG matrices and data for SOL 107 analysis. The process runs quickly. If no error messages appear, you can assume the Adams2Nastran process is completed correctly. If you receive error messages, correct the problem, and rerun your analysis.

It must be underlined that, due to the fact that LINEAR/MKB command is available only as solver command, for both integrated and external solver, the script must be Adams/Solver command type.

Page 165: Using Adams/Vibration - MD Adams 2010

11Adams2NastranBdf file format

Bdf file formatA description of the content of Nastran bdf files provided by Adams2Nastran feature is presented. For each solution (SOL 107 and SOL 108) it has been reported the Adams statement and the equivalent Nastran one.

For detailed description of Nastran cards, please refer to Nastran Quick Reference Guide

SOL 107: Modal Analysis

Bdf example:

$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0$$ MSC.ADAMS TO MSC.Nastran (2006.05.30)$$ Create: Thu Jul 13 16:30:53 2006$ Model: fourbar$ Result: A2N_Analysis_1_analysis$ Units: Mass = kg$ Length = mm$ Force = newton$ Time = sec$$ Remarks:$ 1 - PARAM WTMASS is set to 1.000-3 for FE model.$$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0SOL 107CEND$$ GLOBAL CASE$ ECHO = NONE CMETHOD = 101$$ ADAMS SYSTEM$ M2PP = 1.000-3 * EXMASS B2PP = EXDAMP K2PP = EXSTIFBEGIN BULK$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0PARAM WTMASS 1.000-3PARAM POST 0$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0EIGC 101 HESS 16$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0SPOINT 10000 THRU 10007SPCOFF1 0 10000 THRU 10007$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0DMIG EXMASS 0 1 2 0DMIG* EXMASS 10000 0* 10000 0 2.755440476D+00DMIG* EXMASS 10001 0* 10001 0 5.252287746D+00DMIG* EXMASS 10002 0* 10002 0 5.252287746D+00DMIG* EXMASS 10003 0* 10003 0 5.252287746D+00DMIG* EXMASS 10004 0* 10004 0 1.282302797D+05* 10005 0-4.199421680D-02* 10006 0-5.605457646D-01DMIG* EXMASS 10005 0

Page 166: Using Adams/Vibration - MD Adams 2010

Adams/VibrationBdf file format

12

* 10004 0-4.199421680D-02* 10005 0 1.347205250D+03*DMIG* EXMASS 10006 0* 10004 0-5.605457646D-01* 10006 0 1.274301887D+05*DMIG* EXMASS 10007 0* 10007 0 3.958056122D+00$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0DMIG EXDAMP 0 1 2 0DMIG* EXDAMP 10000 0* 10000 0 4.532914511D+00* 10001 0-1.466398703D+00* 10002 0 5.995003071D-01* 10004 0-1.864490322D+02* 10005 0 7.501563296D+00* 10006 0 1.834580084D+01*DMIG* EXDAMP 10001 0* 10000 0-1.466398703D+00* 10001 0 1.499999962D+00* 10002 0 1.195301198D-04* 10004 0 1.999534271D+01* 10005 0 2.025474762D-03* 10006 0-1.001322983D+01* 10007 0-1.399869256D+00DMIG* EXDAMP 10002 0* 10000 0 5.995003071D-01* 10001 0 1.195301198D-04* 10002 0 1.100000038D+00* 10004 0-2.500224210D+01* 10005 0 7.510507328D+00* 10006 0 1.008692445D-03* 10007 0-6.672570113D-01DMIG* EXDAMP 10003 0* 10003 0 1.600000000D+00* 10004 0 6.559495598D-15* 10005 0 9.996494532D+00* 10006 0 1.999998438D+02*DMIG* EXDAMP 10004 0* 10000 0-1.864490322D+02* 10001 0 1.999534271D+01* 10002 0-2.500224210D+01* 10003 0 6.559495598D-15* 10004 0 6.924869389D+04* 10005 0-1.877618384D+03* 10006 0-2.498367950D+02* 10007 0-1.668872954D+02*DMIG* EXDAMP 10005 0* 10000 0 7.501563296D+00* 10001 0 2.025474762D-03* 10002 0 7.510507328D+00* 10003 0 9.996494532D+00* 10004 0-1.877618384D+03* 10005 0 2.349190155D+03* 10006 0-2.499591160D+03* 10007 0-1.030472286D-14*DMIG* EXDAMP 10006 0* 10000 0 1.834580084D+01* 10001 0-1.001322983D+01* 10002 0 1.008692445D-03* 10003 0 1.999998438D+02* 10004 0-2.498367950D+02* 10005 0-2.499591160D+03

Page 167: Using Adams/Vibration - MD Adams 2010

13Adams2NastranBdf file format

* 10006 0 1.029900612D+05* 10007 0 1.090787078D-02*DMIG* EXDAMP 10007 0* 10001 0-1.399869256D+00* 10002 0-6.672570113D-01* 10004 0-1.668872954D+02* 10005 0-1.030542734D-14* 10006 0 1.090787078D-02* 10007 0 4.330263082D+00*$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0DMIG EXSTIF 0 1 2 0DMIG* EXSTIF 10000 0* 10000 0 3.412018310D+03* 10001 0-1.466577382D+03* 10002 0 5.996411340D+02* 10003 0 1.573367955D-13* 10004 0-1.864886959D+05* 10005 0 7.503384141D+03* 10006 0 1.834937440D+04DMIG* EXSTIF 10001 0* 10000 0-1.466577382D+03* 10001 0 1.499999962D+03* 10002 0 1.195301198D-01* 10003 0 5.784718673D-15* 10004 0 1.999534271D+04* 10005 0 2.025474762D+00* 10006 0-1.001322983D+04* 10007 0-1.400033980D+03*DMIG* EXSTIF 10002 0* 10000 0 5.996411340D+02* 10001 0 1.195301198D-01* 10002 0 1.100000038D+03* 10003 0 4.758209997D-14* 10004 0-2.500224210D+04* 10005 0 7.510507328D+03* 10006 0 1.008692445D+00* 10007 0-6.673978891D+02*DMIG* EXSTIF 10003 0* 10000 0 1.573367955D-13* 10001 0 5.784718673D-15* 10002 0 4.758209997D-14* 10003 0 1.600000000D+03* 10004 0 6.559495598D-12* 10005 0 9.996494532D+03* 10006 0 1.999998438D+05* 10007 0 1.528635281D-13*DMIG* EXSTIF 10004 0* 10000 0-1.864886959D+05* 10001 0 1.999534271D+04* 10002 0-2.500224210D+04* 10003 0 6.559495598D-12* 10004 0 6.923746080D+07* 10005 0-1.877343487D+06* 10006 0-2.492603664D+05* 10007 0-1.669225235D+05*DMIG* EXSTIF 10005 0* 10000 0 7.503325770D+03* 10001 0 2.025474762D+00* 10002 0 7.510507328D+03* 10003 0 9.996494532D+03* 10004 0-1.877353983D+06* 10005 0 8.015266946D+05

Page 168: Using Adams/Vibration - MD Adams 2010

Adams/VibrationBdf file format

14

* 10006 0-2.498762553D+06* 10007 0-1.030689789D-11*DMIG* EXSTIF 10006 0* 10000 0 1.834803644D+04* 10001 0-1.001322983D+04* 10002 0 1.008692445D+00* 10003 0 1.999998438D+05* 10004 0-2.495012254D+05* 10005 0-2.498762553D+06* 10006 0 1.009168430D+08* 10007 0 1.090915422D+01*DMIG* EXSTIF 10007 0* 10001 0-1.400033980D+03* 10002 0-6.673978891D+02* 10003 0 1.528635287D-13* 10004 0-1.669225235D+05* 10005 0 1.159730625D-02* 10006 0 1.117684518D+01* 10007 0 3.753995853D+03ENDDATA

Blocks description:

1. Header block: it has been included for information purposes

It contains:

• date of creation

• name of the Adams model

• name of analysis

• system of units

• useful remarks

$......1.......2.......3......4......5......6.......7.......8.......9.......0

$

$ MSC.ADAMS TO MSC.Nastran (2006.05.30)

$

$ Create: Thu Jul 13 16:30:53 2006

$ Model: fourbar

$ Result: A2N_Analysis_1_analysis

$ Units: Mass = kg

$ Length = mm

$ Force = newton

$ Time = sec

$

$ Remarks:

$ 1 - PARAM WTMASS is set to 1.000-3 for FE model.

$

2. Executive Deck

Type of Nastran solution

Page 169: Using Adams/Vibration - MD Adams 2010

15Adams2NastranBdf file format

$......1.......2.......3.......4.......5.......6.......7......8.......9.....0

SOL 107

CEND

3. Control Case Deck

It contains:

• eigenvalue method ID

• Mass matrix name

• Stiffness matrix name

• Damping matrix name

$ GLOBAL CASE

$

ECHO = NONE

CMETHOD = 101

$

$ ADAMS SYSTEM

$

M2PP = 1.000-3 * EXMASS

B2PP = EXDAMP

K2PP = EXSTIF

4. Bulk Data Deck

It contains:

• PARAM cards

• Complex Eigenvalue Analysis card

• SPOINTs definition

• SPCOFF1 definition

• DMIG matrices: Mass, Stiffness, Damping

• ENDDATA

BEGIN BULK

$......1.......2.......3.......4.......5.......6......7......8.......9......0

PARAM WTMASS 1.000-3

PARAM POST 0

$......1.......2.......3.......4.......5.......6......7......8.......9......0

EIGC 101 HESS 16

$......1.......2.......3.......4.......5.......6......7......8.......9......0

SPOINT 10000 THRU 10007

Page 170: Using Adams/Vibration - MD Adams 2010

Adams/VibrationBdf file format

16

SPCOFF1 0 10000 THRU 10007

$......1.......2.......3.......4.......5.......6......7......8.......9......0

DMIG EXMASS 0 1 2 0

DMIG* EXMASS 10000 0

* 10000 0 2.755440476D+00

DMIG* EXMASS 10001 0

* 10001 0 5.252287746D+00

...................................................................

$......1.......2.......3.......4.......5.......6......7......8.......9......0

DMIG EXDAMP 0 1 2 0

DMIG* EXDAMP 10000 0

* 10000 0 4.532914511D+00

* 10001 0-1.466398703D+00

* 10002 0 5.995003071D-01

* 10004 0-1.864490322D+02

* 10005 0 7.501563296D+00

* 10006 0 1.834580084D+01

*

.................................................................

$......1.......2.......3.......4.......5.......6......7......8.......9......0

DMIG EXSTIF 0 1 2 0

DMIG* EXSTIF 10000 0

* 10000 0 3.412018310D+03

* 10001 0-1.466577382D+03

* 10002 0 5.996411340D+02

* 10003 0 1.573367955D-13

* 10004 0-1.864886959D+05

* 10005 0 7.503384141D+03

* 10006 0 1.834937440D+04

.......................................................................

ENDDATA

SOL 108: Frequency Response Analysis

Bdf example:

$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0$$ MSC.ADAMS TO MSC.Nastran (2006.05.30)$$ Create: Thu Jul 13 16:31:42 2006$ Model: fourbar$ Result: A2N_Analysis_2_analysis$ Units: Mass = kg

Page 171: Using Adams/Vibration - MD Adams 2010

17Adams2NastranBdf file format

$ Length = mm$ Force = newton$ Time = sec$$ Remarks:$ 1 - PARAM WTMASS is set to 1.000-3 for FE model.$$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0SOL 108CEND$$ GLOBAL CASE$ ECHO = NONE$$ ADAMS SYSTEM$ M2PP = 1.000-3 * EXMASS B2PP = EXDAMP K2PP = EXSTIF MPC = 701$$ SUBCASES$ FREQ = 601$SUBCASE 1 DLOAD = 101 SET 901 = 1001, 1002, 1000 DISP(SORT2,REAL,PLOT) = 901SUBCASE 2 DLOAD = 102 SET 902 = 1001, 1002, 1000 DISP(SORT2,REAL,PLOT) = 902SUBCASE 3 DLOAD = 103 SET 903 = 1001, 1002, 1000 DISP(SORT2,REAL,PLOT) = 903BEGIN BULK$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0PARAM WTMASS 1.000-3PARAM POST 0$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0FREQ1* 601 1.000000000E+00 1.000000000E+00 99* $$ SUBCASE 1$DLOAD 101 1.00 1.00 201RLOAD1 201 301 401 501FORCE* 301 1000 1000 1.000000000E+00* 0.000000000E+00 0.000000000E+00 1.000000000E+00DPHASE* 401 1000 3 0.000000000E+00* $$ SUBCASE 2$DLOAD 102 1.00 1.00 202RLOAD1 202 302 402 501FORCE* 302 1000 1000 1.000000000E+00* 0.000000000E+00 1.000000000E+00 0.000000000E+00DPHASE* 402 1000 2 0.000000000E+00* $$ SUBCASE 3$DLOAD 103 1.00 1.00 203 1.00 204RLOAD1 203 303 403 501

Page 172: Using Adams/Vibration - MD Adams 2010

Adams/VibrationBdf file format

18

RLOAD1 204 304 404 501FORCE* 303 1000 1000 1.000000000E+00* 0.000000000E+00 0.000000000E+00 1.000000000E+00FORCE* 304 1000 1000 1.000000000E+00* 0.000000000E+00 1.000000000E+00 0.000000000E+00DPHASE* 403 1000 3 0.000000000E+00* DPHASE* 404 1000 2 0.000000000E+00* $......1.......2.......3.......4.......5.......6.......7.......8.......9.......0TABLED1 501* 1.000000000E+00 1.000000000E+00 1.000000000E+02 1.000000000E+00* ENDT$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0SPOINT 10000 THRU 10007SPCOFF1 0 10000 THRU 10007$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0$$ MARKER 20$CORD2R* 1000 -1.000821603D+02 2.999278399D+02* -8.274412874D-03-1.010821603D+02 2.999280486D+02-8.305584232D-03* -1.000821914D+02 2.999285405D+02 9.917253412D-01$$ MARKER 19$CORD2R* 1001 -4.250334666D+02 1.500167286D+02* 4.132257754D-14-4.245864525D+02 1.509112556D+02 2.866736573D-10* -4.250334666D+02 1.500167286D+02 1.000000000D+00$$ MARKER 21$CORD2R* 1002 2.499438241D+02 1.499625342D+02* 7.040716957D-14 2.493888123D+02 1.507943767D+02-4.122712479D-10* 2.499438241D+02 1.499625342D+02 1.000000000D+00$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0GRID 1000 1000 0.000 0.000 0.000 1000GRID 1001 1001 0.000 0.000 0.000 1001GRID 1002 1002 0.000 0.000 0.000 1002$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0DMIG EXMASS 0 1 2 0DMIG* EXMASS 10000 0* 10000 0 2.755440476D+00DMIG* EXMASS 10001 0* 10001 0 5.252287746D+00DMIG* EXMASS 10002 0* 10002 0 5.252287746D+00DMIG* EXMASS 10003 0* 10003 0 5.252287746D+00DMIG* EXMASS 10004 0* 10004 0 1.282302797D+05* 10005 0-4.199421680D-02* 10006 0-5.605457646D-01DMIG* EXMASS 10005 0* 10004 0-4.199421680D-02* 10005 0 1.347205250D+03*DMIG* EXMASS 10006 0* 10004 0-5.605457646D-01* 10006 0 1.274301887D+05*DMIG* EXMASS 10007 0* 10007 0 3.958056122D+00$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0DMIG EXDAMP 0 1 2 0DMIG* EXDAMP 10000 0* 10000 0 4.532914511D+00* 10001 0-1.466398703D+00

Page 173: Using Adams/Vibration - MD Adams 2010

19Adams2NastranBdf file format

* 10002 0 5.995003071D-01* 10004 0-1.864490322D+02* 10005 0 7.501563296D+00* 10006 0 1.834580084D+01*DMIG* EXDAMP 10001 0* 10000 0-1.466398703D+00* 10001 0 1.499999962D+00* 10002 0 1.195301198D-04* 10004 0 1.999534271D+01* 10005 0 2.025474762D-03* 10006 0-1.001322983D+01* 10007 0-1.399869256D+00DMIG* EXDAMP 10002 0* 10000 0 5.995003071D-01* 10001 0 1.195301198D-04* 10002 0 1.100000038D+00* 10004 0-2.500224210D+01* 10005 0 7.510507328D+00* 10006 0 1.008692445D-03* 10007 0-6.672570113D-01DMIG* EXDAMP 10003 0* 10003 0 1.600000000D+00* 10004 0 6.559495640D-15* 10005 0 9.996494532D+00* 10006 0 1.999998438D+02*DMIG* EXDAMP 10004 0* 10000 0-1.864490322D+02* 10001 0 1.999534271D+01* 10002 0-2.500224210D+01* 10003 0 6.559495640D-15* 10004 0 6.924869389D+04* 10005 0-1.877618384D+03* 10006 0-2.498367950D+02* 10007 0-1.668872954D+02*DMIG* EXDAMP 10005 0* 10000 0 7.501563296D+00* 10001 0 2.025474762D-03* 10002 0 7.510507328D+00* 10003 0 9.996494532D+00* 10004 0-1.877618384D+03* 10005 0 2.349190155D+03* 10006 0-2.499591160D+03* 10007 0-1.030472287D-14*DMIG* EXDAMP 10006 0* 10000 0 1.834580084D+01* 10001 0-1.001322983D+01* 10002 0 1.008692445D-03* 10003 0 1.999998438D+02* 10004 0-2.498367950D+02* 10005 0-2.499591160D+03* 10006 0 1.029900612D+05* 10007 0 1.090787078D-02*DMIG* EXDAMP 10007 0* 10001 0-1.399869256D+00* 10002 0-6.672570113D-01* 10004 0-1.668872954D+02* 10005 0-1.030542734D-14* 10006 0 1.090787078D-02* 10007 0 4.330263082D+00*$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0DMIG EXSTIF 0 1 2 0DMIG* EXSTIF 10000 0

Page 174: Using Adams/Vibration - MD Adams 2010

Adams/VibrationBdf file format

20

* 10000 0 3.412018310D+03* 10001 0-1.466577382D+03* 10002 0 5.996411340D+02* 10003 0 1.573367954D-13* 10004 0-1.864886959D+05* 10005 0 7.503384141D+03* 10006 0 1.834937440D+04DMIG* EXSTIF 10001 0* 10000 0-1.466577382D+03* 10001 0 1.499999962D+03* 10002 0 1.195301198D-01* 10003 0 5.784719046D-15* 10004 0 1.999534271D+04* 10005 0 2.025474762D+00* 10006 0-1.001322983D+04* 10007 0-1.400033980D+03*DMIG* EXSTIF 10002 0* 10000 0 5.996411340D+02* 10001 0 1.195301198D-01* 10002 0 1.100000038D+03* 10003 0 4.758210007D-14* 10004 0-2.500224210D+04* 10005 0 7.510507328D+03* 10006 0 1.008692445D+00* 10007 0-6.673978891D+02*DMIG* EXSTIF 10003 0* 10000 0 1.573367955D-13* 10001 0 5.784719046D-15* 10002 0 4.758210007D-14* 10003 0 1.600000000D+03* 10004 0 6.559495640D-12* 10005 0 9.996494532D+03* 10006 0 1.999998438D+05* 10007 0 1.528635281D-13*DMIG* EXSTIF 10004 0* 10000 0-1.864886959D+05* 10001 0 1.999534271D+04* 10002 0-2.500224210D+04* 10003 0 6.559495640D-12* 10004 0 6.923746080D+07* 10005 0-1.877343487D+06* 10006 0-2.492603664D+05* 10007 0-1.669225235D+05*DMIG* EXSTIF 10005 0* 10000 0 7.503325770D+03* 10001 0 2.025474762D+00* 10002 0 7.510507328D+03* 10003 0 9.996494532D+03* 10004 0-1.877353983D+06* 10005 0 8.015266946D+05* 10006 0-2.498762553D+06* 10007 0-1.030689789D-11*DMIG* EXSTIF 10006 0* 10000 0 1.834803644D+04* 10001 0-1.001322983D+04* 10002 0 1.008692445D+00* 10003 0 1.999998438D+05* 10004 0-2.495012254D+05* 10005 0-2.498762553D+06* 10006 0 1.009168430D+08* 10007 0 1.090915422D+01*DMIG* EXSTIF 10007 0

Page 175: Using Adams/Vibration - MD Adams 2010

21Adams2NastranBdf file format

* 10001 0-1.400033980D+03* 10002 0-6.673978891D+02* 10003 0 1.528635280D-13* 10004 0-1.669225235D+05* 10005 0 1.159730625D-02* 10006 0 1.117684518D+01* 10007 0 3.753995853D+03$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0MPC* 701 1000 1-1.000000000D+00* 10001 0-3.102511751D-05* 10002 0 7.006083498D-04* 10003 0 9.999997541D-01MPC* 701 1000 2-1.000000000D+00* 10001 0 2.087450606D-04* 10002 0 9.999997328D-01* 10003 0-7.006018585D-04MPC* 701 1000 3-1.000000000D+00* 10001 0-9.999999777D-01* 10002 0 2.087232730D-04* 10003 0-3.117135775D-05MPC* 701 1000 4-1.000000000D+00* 10004 0 9.999997541D-01* 10006 0-7.006018588D-04* MPC* 701 1000 5-1.000000000D+00* 10004 0-7.006018585D-04* 10006 0-9.999997546D-01* MPC* 701 1000 6-1.000000000D+00* 10004 0-3.117135775D-05* 10005 0 1.000000000D+00* MPC* 701 1001 1-1.000000000D+00* 10000 0-3.235825399D-09MPC* 701 1001 2-1.000000000D+00* 10000 0 1.117909315D+00MPC* 701 1001 3-1.000000000D+00* 10000 0 0.000000000D+00MPC* 701 1001 4-1.000000000D+00* 10000 0-6.665923255D-03MPC* 701 1001 5-1.000000000D+00* 10000 0-1.929473481D-11MPC* 701 1001 6-1.000000000D+00* 10000 0-1.910667665D-12MPC* 701 1002 1-1.000000000D+00* 10007 0 4.594834411D-09MPC* 701 1002 2-1.000000000D+00* 10007 0 1.202150689D+00MPC* 701 1002 3-1.000000000D+00* 10000 0 0.000000000D+00MPC* 701 1002 4-1.000000000D+00* 10007 0-6.668332228D-03MPC* 701 1002 5-1.000000000D+00* 10007 0 2.548755549D-11MPC* 701 1002 6-1.000000000D+00* 10007 0 2.749631148D-12ENDDATA

Blocks description:

1. Header block: It has been included for information purposes.

It contains:

• date of creation

• name of the Adams model

Page 176: Using Adams/Vibration - MD Adams 2010

Adams/VibrationBdf file format

22

• name of analysis

• system of units

• useful remarks

$......1.......2.......3.......4.......5.......6......7......8.......9......0

$

$ MSC.ADAMS TO MSC.Nastran (2006.05.30)

$

$ Create: Thu Jul 13 16:31:42 2006

$ Model: fourbar

$ Result: A2N_Analysis_2_analysis

$ Units: Mass = kg

$ Length = mm

$ Force = newton

$ Time = sec

$

$ Remarks:

$ 1 - PARAM WTMASS is set to 1.000-3 for FE model.

$

2. Executive Deck

Type of Nastran solution.

$......1.......2.......3.......4.......5.......6......7......8.......9......0

SOL 108

CEND

3. Control Case Deck

It contains:

• Mass matrix name

• Stiffness matrix name

• Damping matrix name

• MPC ID

• Eventually SPC ID

• Subcases

- DLOAD ID

- GRID set for output

- Output type (disp, vel, acc) and format

$ GLOBAL CASE

$

Page 177: Using Adams/Vibration - MD Adams 2010

23Adams2NastranBdf file format

ECHO = NONE

$

$ ADAMS SYSTEM

$

M2PP = 1.000-3 * EXMASS

B2PP = EXDAMP

K2PP = EXSTIF

MPC = 701

$

$ SUBCASES

$

FREQ = 601

$

SUBCASE 1

DLOAD = 101

SET 901 = 1001, 1002, 1000

DISP(SORT2,REAL,PLOT) = 901

SUBCASE 2

DLOAD = 102

SET 902 = 1001, 1002, 1000

DISP(SORT2,REAL,PLOT) = 902

SUBCASE 3

DLOAD = 103

SET 903 = 1001, 1002, 1000

DISP(SORT2,REAL,PLOT) = 903

4. Bulk Data Deck

It contains:

• PARAM cards

• Frequency parameters: start, end, steps, logarithmic space

• Actuator parameters subcase by subcase

i. DLOAD

ii. RLOAD1

iii. FORCE

iv. DPHASE

• TABLED1 parameters

• SPOINTs definition

• SPCOFF1 definition

• CORD2R definition: reference system for GRID

Page 178: Using Adams/Vibration - MD Adams 2010

Adams/VibrationBdf file format

24

• GRID definition: ID, Reference system,

• DMIG matrices: Mass, Stiffness, Damping

• MPC data

• Eventually SPC data for fixing dofs with no values in DMIG

• ENDDATA

BEGIN BULK

$......1.......2.......3.......4.......5.......6......7......8.......9......0

PARAM WTMASS 1.000-3

PARAM POST 0

$......1.......2.......3.......4.......5.......6......7......8.......9......0

FREQ1* 601 1.000000000E+00 1.000000000E+00 99

*

$

$ SUBCASE 1

$

DLOAD 101 1.00 1.00 201

RLOAD1 201 301 401 501

FORCE* 301 1000 1000 1.000000000E+00

* 0.000000000E+00 0.000000000E+00 1.000000000E+00

DPHASE* 401 1000 3 0.000000000E+00

*

$

$ SUBCASE 2

$

DLOAD 102 1.00 1.00 202

RLOAD1 202 302 402 501

FORCE* 302 1000 1000 1.000000000E+00

* 0.000000000E+00 1.000000000E+00 0.000000000E+00

DPHASE* 402 1000 2 0.000000000E+00

*

$

...........................................................

*

$......1.......2.......3.......4.......5.......6......7......8.......9......0

TABLED1 501

* 1.000000000E+00 1.000000000E+00 1.000000000E+02 1.000000000E+00

* ENDT

$......1.......2.......3.......4.......5.......6......7......8.......9......0

SPOINT 10000 THRU 10007

SPCOFF1 0 10000 THRU 10007

Page 179: Using Adams/Vibration - MD Adams 2010

25Adams2NastranBdf file format

$......1.......2.......3.......4.......5.......6......7......8.......9......0

$

$ MARKER 20

$

CORD2R* 1000 -1.000821603D+02 2.999278399D+02

* -8.274412874D-03-1.010821603D+02 2.999280486D+02-8.305584232D-03

* -1.000821914D+02 2.999285405D+02 9.917253412D-01

$

$ MARKER 19

$

CORD2R* 1001 -4.250334666D+02 1.500167286D+02

* 4.132257754D-14-4.245864525D+02 1.509112556D+02 2.866736573D-10

* -4.250334666D+02 1.500167286D+02 1.000000000D+00

$

................................................................

$......1.......2.......3.......4.......5.......6......7......8.......9......0

GRID 1000 1000 0.000 0.000 0.000 1000

GRID 1001 1001 0.000 0.000 0.000 1001

$......1.......2.......3.......4.......5.......6......7......8.......9......0

DMIG EXMASS 0 1 2 0

DMIG* EXMASS 10000 0

* 10000 0 2.755440476D+00

DMIG* EXMASS 10001 0

* 10001 0 5.252287746D+00

DMIG* EXMASS 10002 0

* 10002 0 5.252287746D+00

..........................................................

$......1.......2.......3.......4.......5.......6......7......8.......9......0

DMIG EXDAMP 0 1 2 0

DMIG* EXDAMP 10000 0

* 10000 0 4.532914511D+00

* 10001 0-1.466398703D+00

* 10002 0 5.995003071D-01

* 10004 0-1.864490322D+02

* 10005 0 7.501563296D+00

* 10006 0 1.834580084D+01

*

...............................................................

$......1.......2.......3.......4.......5.......6......7......8.......9......0

DMIG EXSTIF 0 1 2 0

DMIG* EXSTIF 10000 0

* 10000 0 3.412018310D+03

Page 180: Using Adams/Vibration - MD Adams 2010

Adams/VibrationBdf file format

26

* 10001 0-1.466577382D+03

* 10002 0 5.996411340D+02

* 10003 0 1.573367954D-13

* 10004 0-1.864886959D+05

* 10005 0 7.503384141D+03

* 10006 0 1.834937440D+04

....................................................................

$......1.......2.......3.......4.......5.......6......7......8.......9......0

MPC* 701 1000 1-1.000000000D+00

* 10001 0-3.102511751D-05

* 10002 0 7.006083498D-04

* 10003 0 9.999997541D-01

MPC* 701 1000 2-1.000000000D+00

* 10001 0 2.087450606D-04

* 10002 0 9.999997328D-01

* 10003 0-7.006018585D-04

.........................................................

ENDDATA

Page 181: Using Adams/Vibration - MD Adams 2010

27Adams2Nastran Symmetrization of Not Symmetric matrices

Symmetrization of Not Symmetric matricesOne of the most important items is the possibility to use the MSC.Nastran equivalent model in all the solution sequences. Considering the A2N approach for building the equivalent model, the final exported system will include an abstract linear system in the form of DMIGs/SPOINTs/GRIDs.

However dynamical behaviors of generic systems cannot be expressed in terms of symmetric coefficient matrices. As consequence, the corresponding DMIGs could be used only in some of the MSC.Nastran solution sequences:

1. Solution 107 to 112, where they can be imported in terms of K2PP, M2PP and B2PP or transfer funcions (TF)

2. Nonlinear solutions, where asymmetric stiffness matrices are supported to take into account the effects of follower forces.

In linear static (SOL 101) and normal mode analysis (SOL 103) matrices cannot be asymmetric. Consequently, the asymmetric systems should be transformed into equivalent symmetric systems, for taking advantage of the well-developed and standard theories about analysis of symmetric system.

The referenced document - Symmetrization of Not Symmetric matrices - describes some DMAP procedures developed to this scope: a suite of examples has been also provided for showing the full procedure.

Page 182: Using Adams/Vibration - MD Adams 2010

Adams/Vibration Examples

28

Examples• MKB matrices export:

A suite of examples has been provided to illustrate some of the Adams2Nastran features. The example directory contains several Adams models which demonstrate how mass, stiffness, and damping matrices can be exported to Nastran for both modal and frequency response analyses. Each example is stored in a separate directory in the Adams/Vibration distribution

install_dir/vibration/examples/adm2nastranEach sub-directory contains an A/View command file named "run.cmd" which executes the example. For a detailed explanation of each example, please refer to the pdf document "Adams2NastranTests.pdf" in the above directory.

• Symmetrization

A suite of examples has been provided for showing the procedure for symmetrize not symmetric matrixes for SOL 101 and SOL 103.

The list of examples includes:

• ALTER_Symmetrization_SOL_101

• ALTER_Symmetrization_SOL_103

For a detailed explanation and description about the tests, please refer to Symmetrization of Not Symmetric matrices.

Page 183: Using Adams/Vibration - MD Adams 2010

1Getting started using Adams/Vibration – Adams2Nastran feature

Getting started using Adams/Vibration – Adams2Nastran feature

Introduction

Using Adams/Vibration – Adams2Nastran (A2N) feature, you can define the operating point at which exporting the Mass, Stiffness and Damping matrices of the full linearized model and then performing Nastran modal or frequency response analysis: the operating point has been achieved running Adams/Solver, taking into account all the nonlinearities of the system and with the possibility to easily change any parameter or variable for exploring different model configuration and, consequently, to easily recreate full Nastran equivalent model. The Mass, Stiffness and Damping matrices are exported as Nastran DMIG and connected to the system using MPC (Multi Point Constraint) while the location of input channels and output channels (Adams Markers) are exported as Nastran GRIDs and generalized degrees of freedom as SPOINTs

This guide includes the following section:

• Introducing the Problem

• Building the Model

• Exporting the Mass, Stiffness and Damping Matrices to Nastran bdf file

• Describing the bdf files

• Comparing Adams/Vibration and Nastran results

Introducing the Problem

OverviewThis tutorial teaches you how to use Adams/Vibration – Adams2Nastran feature - in Adams/View to perform the Mass, Stiffness and Damping matrices export of the full Adams model to Nastran bdf file as DMIG matrices.

Accordingly to the proposed steps, you will perform the Adams2Nastran operation on a concept vehicle situated on a four-post shaker test-rig; you will define the A2N input and output channels; you will export the model for both Modal Analysis and Frequency Response analysis, and you will have a look into the corresponding Nastran bdf file.

This chapter provides details about the model you will use, and the problem you will address. It includes the following sections:

• About This Tutorial

• What You’ll Create

• What You Will Learn

This tutorial takes about half an hour to complete.

Page 184: Using Adams/Vibration - MD Adams 2010

Adams/VibrationGetting started using Adams/Vibration – Adams2Nastran feature

2

About This TutorialWe assume that you will work through this tutorial in sequential order. Therefore, we give you more guidance in the beginning and less as you proceed through the tutorial. If you choose not to work through the tutorial in sequential order, you may have to reference the beginning chapters for some of the basic concepts.

We also assume the following:

You know how to run the MD Adams product to which Adams/Vibration plugs in (for example, you know how to run Adams/View).

Adams/Vibration is installed on your computer or network, and that your path variable contains the location where Adams/Vibration is installed and that you have permission to execute Adams/Vibration. If you do not know if Adams/Vibration is installed or where it is located, see your local Adams/Vibration expert or system administrator.

What You’ll CreateThe concept vehicle is situated on a four-post shaker test-rig. The purpose of this test rig is to permit the definition of different combination of vertical inputs to the four pads and to prepare the model for measuring into Nastran the vertical displacement, velocity, acceleration of the chassis at different points, i.e. at the driver’s seat., using frequency response analysis; it permits also the evaluation into Nastran of normal modes of the system : in both cases the DMIG matrices representation of the Mass, Stiffness and Damping content .of the Adams model will be used.

In this tutorial, you will perform the extraction of the Mass, Stiffness and Damping matrices in correspondence of Static operating point, and you will define the range of frequency used from the Nastran analysis.

What You Will LearnThe tutorial leads you through the A2N process flow outlined in Figure 1.

There are basic steps you should follow whenever you use Adams/Vibration – Adams2Nastran feature and the Adams2Nastran menu in Adams/View is organized to facilitate the Build-Export process.

Step 1: Build : Define A2N input channels to an existing MD Adams model to define location and actuator characteristic on the system for Nastran Frequency Response Analysis; Define A2N output channels to measure Disp, Vel, Acc. Response.

Step 2: Export: Define the operating point, the Nastran analysis type, the frequency content and the combination of A2N input and output channels; run a linear analysis for evaluating Mass, Stiffness and Damping matrices of the system and export them into Nastran bdf file as DMIG matrices.

Page 185: Using Adams/Vibration - MD Adams 2010

3Getting started using Adams/Vibration – Adams2Nastran feature

Select Fortran or Adams/Solver (C++) and Nastran output type (displacement, velocities, accelerations).

Figure 1 Adams2Nastran process flow

Building the Model

OverviewIn this section, you start with a full nonlinear MD Adams model and add to it A2N input and output channels.

Completing this section involves the following:

Page 186: Using Adams/Vibration - MD Adams 2010

Adams/VibrationGetting started using Adams/Vibration – Adams2Nastran feature

4

• Starting Adams/View and Importing the Model

• Loading Adams/Vibration

• Creating A2N Input Channels

• Creating A2N Output Channels

Starting Adams/View and Importing the ModelIn this section, you learn how to start Adams/Vibration from within Adams/View.

In the UNIX environment, you start Adams/View from the MD Adams Toolbar and then, from within Adams/View, you load the Adams/Vibration plugin.

In the Windows environment, you start Adams/View from the Start menu, and then load the Adams/Vibration plugin.

For information on starting MD Adams, see the Running and Configuring online help.

To start MD Adams and import your model:

1. Create a working directory, and copy the contents of install_dir/vibration/examples/adm2nastran/a2n_vehicle_model to that directory (where install_dir is the directory where Adams/Vibration is installed).

2. Do either of the following depending on the platform on which you are running

Adams/View:

• In UNIX, type the command to start the MD Adams Toolbar at the command prompt, and then press Enter. Select the Adams/View tool .

• In Windows, from the Start menu, point to Programs, point to MSC.Software, point to MD Adams 2010, point to AView, and then select Adams - View.

The Welcome dialog box appears, in the Adams/View main window.

3. Select Import a File.

4. Select the Find Directory tool next to the Start in text box. This displays the Find Directory dialog box.

5. Navigate to the working directory that you created in step 1.

6. Select OK.

Note: On Windows, you may need to set the permissions to Full Control to edit the tutorial files.

Note: The Start in text box specifies the working directory that Adams/Vibration uses as the default directory for reading and writing files.

Page 187: Using Adams/Vibration - MD Adams 2010

5Getting started using Adams/Vibration – Adams2Nastran feature

This ensures that all your work gets stored in the working directory you selected.

7. Select OK.

The File Import dialog box appears.

8. Right-click the File to Read text box, and select Browse.

9. Select the file a2n_concept_vehicle.cmd.

10. Select OK.

Adams/View opens the vehicle model and displays it, as shown in Figure 2.

Figure 2 A2N Concept Vehicle

The concept vehicle contains 4 markers of the wheels located at wheel centers, 4 markers of the chassis located at end of the Spring-Dampers and 1 marker of chassis located at the driver’s seat, as shown in Figure 3 and Figure 4.

Input and output channels will be defined in correspondence of these markers.

Page 188: Using Adams/Vibration - MD Adams 2010

Adams/VibrationGetting started using Adams/Vibration – Adams2Nastran feature

6

Page 189: Using Adams/Vibration - MD Adams 2010

7Getting started using Adams/Vibration – Adams2Nastran feature

Figure 3 Front suspension

Figure 4 Rear suspension

Loading Adams/VibrationBecause Adams/Vibration is a plugin to Adams/Car, and Adams/View, you need to load Adams/Vibration when you use Adams/Vibration from within any of these products. If you’re creating a new model, or importing a model that has no Adams/Vibration data associated with it, you will need to load the Adams/Vibration plugin. If, however, you’re importing a model that already has Adams/Vibration data, the plugin automatically loads when you open the model.

To load Adams/Vibration:

1. From the Tools menu, select Plugin Manager.

Page 190: Using Adams/Vibration - MD Adams 2010

Adams/VibrationGetting started using Adams/Vibration – Adams2Nastran feature

8

2. Select the Load checkbox next to Adams/Vibration.

3. Select OK.

Adams/View loads the Adams/Vibration plugin and displays the Vibration menu. If you receive an error message, you might have a problem with your licensing. Contact your system administrator or local MD Adams expert.

Remember, you only need to load Adams/Vibration when working with a new model. Once you have an Adams/Vibration model, you do not have to load the product. It automatically loads when you import your file.

Creating A2N Input Channels Here you create A2N input channels at the wheel centers (along the local Z direction).

Input channels provide ports into your system that you can use to define actuators in the Nastran bdf file.

An actuator applies force input to vibrate the system for the Nastran Frequency Response Analysis.

For this problem, we will define Swept-sine actuators with Amplitude = 1 and phase = 0, providing in-phase excitation to the system, over the range of specified frequencies. For providing out-of-phase excitation, it is possible to change amplitude sign or phase value. We will get in any case a Nastran bdf file, which can be easily edited and modified by the user, for inserting different amplitude and phase values, as he could decide to define different combination of inputs and outputs for creating different analysis subcases.

Creating A2N input channels, A2N output channels (velocities state variables) on the same markers will be automatically created.

To create A2N input channels:

1. From the Vibration menu, point to Adams2Nastran, point to Input Channel, and then select New.

The Create A2N Input Channel dialog box appears, as shown in Figure 5.

2. In the Input Channel Name text box, enter .a2n_Concept_vehicle.a2n_Input_Channel_lf

(lf means left_front).

3. Right-click the Input Marker text box, point to Marker, and then select Pick.

Pick the left_front_wheel.center_wheel.

(or select Browse, the Database Navigator appears and double-click left_front_wheel.center_wheel).

Adams/Vibration inserts this marker into the Input Marker text box.

Note: To automatically load Adams/Vibration each time Adams/View starts up, in the Plugin Manager, select the Load at Startup checkbox.

Page 191: Using Adams/Vibration - MD Adams 2010

9Getting started using Adams/Vibration – Adams2Nastran feature

4. Set the Actuator Parameter DOF to Z.

5. Set Mode to Translational.

6. In the Force Magnitude text box, enter 1.

7. In the Phase Angle (deg) text box, enter 0.

8. Select Apply.

Adams/Vibration creates the A2N input channel, creates automatically the A2N output channel (output_from_A2N_input_channel_lf) and leaves the dialog box open so you can create the second A2N input channel.

Figure 5 A2N Input Channel dialog box

9. In the Input Channel Name text box, enter .a2n_Concept_vehicle.a2n_Input_Channel_rf (rf means right_front).

10. Right-click the Input Marker text box, point to Marker, and then select Pick.

Pick the right_front_wheel.center_wheel.

(or select Browse, the Database Navigator appears and double-click right_front_wheel.center_wheel).

11. Set the Actuator Parameter DOF to Z.

12. Set Mode to Translational.

13. In the Force Magnitude text box, enter 1.

14. In the Phase Angle (deg) text box, enter 0.

Page 192: Using Adams/Vibration - MD Adams 2010

Adams/VibrationGetting started using Adams/Vibration – Adams2Nastran feature

10

15. Select Apply.

Adams/Vibration creates another A2N input channel, creates automatically the A2N output channel (output_from_A2N_input_channel_rf) and leaves the dialog box open

16. In the Input Channel Name text box, enter .a2n_Concept_vehicle.a2n_Input_Channel_lr.

(lr means left_rear)

17. Right-click the Input Marker text box, point to Marker, and then select Pick.

Pick the left_rear_wheel.center_wheel.

(or select Browse, the Database Navigator appears and double-click left_rear_wheel.center_wheel).

18. Set the Actuator Parameter DOF to Z.

19. Set Mode to Translational.

20. In the Force Magnitude text box, enter 1.

21. In the Phase Angle (deg) text box, enter 0.

22. Select Apply.

Adams/Vibration creates another A2N input channel, creates automatically the A2N output channel (output_from_A2N_input_channel_lr) and leaves the dialog box open

23. In the Input Channel Name text box, enter .a2n_Concept_vehicle.a2n_Input_Channel_rr.

(rr means right_rear)

24. Right-click the Input Marker text box, point to Marker, and then select Pick.

Pick the right_rear_wheel.center_wheel.

(or select Browse, the Database Navigator appears and double-click right_rear_wheel.center_wheel).

25. Set the Actuator Parameter DOF to Z.

26. Set Mode to Translational.

27. In the Force Magnitude text box, enter 1.

28. In the Phase Angle (deg) text box, enter 0.

29. Select OK.

Adams/Vibration creates another A2N input channel, creates automatically the A2N output channel (output_from_A2N_input_channel_rr) and closes the dialog box.

Creating A2N Output ChannelsHere you create other output channels. Output channels are output ports at which you examine the frequency response of the system. You can think of output channels as instrumentation ports where you can measure system response and report the results of the Nastran Frequency Response Analysis directly in the frequency domain.

Page 193: Using Adams/Vibration - MD Adams 2010

11Getting started using Adams/Vibration – Adams2Nastran feature

To create A2N output channels:

1. From the Vibration menu, point to Adams2Nastran, point to Output Channel, and then select New.

The Create A2N Output Channel dialog box appears, as shown in Figure 6.

2. In the Output Channel Name text box, enter: .a2n_Concept_vehicle.a2n_Output_Channel_seat.

3. Right-click the Output Marker text box, point to Marker, and then select Browse.

The Database Navigator appears.

4. Double-click chassis.cm.

Adams/Vibration inserts the marker chassis.cm into the Output Marker text box.

5. Select OK.

Adams/Vibration creates an A2N output channel.

Figure 6 A2N Output Channel dialog box

Exporting the Mass, Stiffness and Damping Matrices to Nastran bdf file

OverviewIn this section, you export to Nastran bdf file the Adams model Mass, Stiffness and Damping matrices evaluated at a particular configuration (after assembly, static or dynamic analysis). Completing this section involves the following:

• Creating A2N Analysis and defining Operation Point

• Defining Nastran analysis type

• Defining Adams analysis options

• Defining Frequency Range

• Defining Subcases

• Defining Nastran data

Page 194: Using Adams/Vibration - MD Adams 2010

Adams/VibrationGetting started using Adams/Vibration – Adams2Nastran feature

12

Creating A2N Analysis and defining Operation PointThe Modal and Frequency Response Analysis set up the reference configuration for your model.

When you create a A2N analysis, Adams/Vibration evaluates and designates input and output locations. These locations are used when you perform the Nastran analysis, and they will be written in the bdf file.

The user can choose if he wants to export data for a Modal or a Frequency Response Analysis.

.We will perform a modal analysis before and then a Frequency Response Analysis (1 subcase only).

Modal Analysis

To create A2N analysis and to define the Operating Point:

1. From the Vibration menu, point to Adams2Nastran, and then select MKB Matrices export.

The Adams to Nastran MKB matrices export dialog box appears, as shown in Figure 7.

2. In the A2N Analysis Name text box, enter .a2n_Concept_vehicle.A2N_Analysis_modal.

3. For Operating Point, select Static.

This linearizes the model around an equilibrated configuration.

To define Nastran analysis type:

4. Select Modal.

5. In the File Prefix text box, enter vehicle.

To define Adams analysis options:

6. Select Damping.

7. Don’t select Linear Options (C++ only): the Adams/Solver (FORTRAN) will be used by default; otherwise the Adams/Solver (C++) will be automatically selected. The user can change Solver also selecting it from the Vibration menu, point to Adams2Nastran, and then Solver settings.

To define Nastran data:

8. Insert starting ID number in the GRID ID offset text box and starting SPOINT in the SPOINT ID offset text box

9. Select Apply.

Adams/Vibration will perform the static analysis, evaluate markers position and extract Mass, Stiffness and Damping matrices in the equilibrated configuration, then it will write out the Nastran bdf file: vehicle_eig.bdf.

Page 195: Using Adams/Vibration - MD Adams 2010

13Getting started using Adams/Vibration – Adams2Nastran feature

A message window will be displayed, monitoring the performed analysis, as shown in Figure 8.

Page 196: Using Adams/Vibration - MD Adams 2010

Adams/VibrationGetting started using Adams/Vibration – Adams2Nastran feature

14

Page 197: Using Adams/Vibration - MD Adams 2010

15Getting started using Adams/Vibration – Adams2Nastran feature

Figure 7 MKB matrices export dialog box: Modal Analysis

Figure 8 Modal analysis : message window

Frequency Response Analysis

To create A2N analysis and to define the Operating Point:

1. In the A2N Analysis Name text box, enter .a2n_Concept_vehicle.A2N_Analysis_frf.

2. For Operating Point, select Static.

To define Nastran analysis type:

3. Select Frequency Response: the Frequency response container is displayed as shown in Figure 9.

4. In the File Prefix text box, leave vehicle.

To define Adams analysis options:

5. Select Damping.

6. Don’t select Linear Options (C++ only):

To define Frequency Range:

7. Don’t’select Logarithmic Spacing of Steps.

8. Under Frequency Range (hz), in the Begin text box, enter 1.

9. In the End text box, enter 100.

10. In the Steps text box, enter 99.

To define Subcases:

11. Right-click the Input Channels text box, point to A2N_Input_channel, point to Guesses, and then select *.

Adams/Vibration inserts all the A2N input channels you created earlier, that is

a2n_Input_Channel_lf

a2n_Input_Channel_lr

a2n_Input_Channel_rf

Page 198: Using Adams/Vibration - MD Adams 2010

Adams/VibrationGetting started using Adams/Vibration – Adams2Nastran feature

16

a2n_Input_Channel_rr

into the Input Channels text box.

12. Right-click the Output Channels text box, point to OA2N_Output_channel, point to Guesses, and then select *.

Adams/Vibration inserts all the output channels you created earlier, that is

output_from_a2n_Input_Channel_lf

output_from_a2n_Input_Channel_rf

output_from_a2n_Input_Channel_lr

output_from_a2n_Input_Channel_rr

Output_Channel_seat

into the Output Channels text box.

13. Select Disp as Output type

14. Select Create Subcase # 1: Adams/Vibration stores all data regarding Subcase # 1.

To create a New Subcase, select New Subcase.

To define Nastran data:

15. Insert starting ID number in the GRID ID offset text box and starting SPOINT in the SPOINT ID offset text box.

16. Select OK.

Adams/Vibration will perform the static analysis, evaluate markers position and extract Mass, Stiffness and Damping matrices in the equilibrated configuration, then it will write out the Nastran bdf file: vehicle_frf.bdf

Page 199: Using Adams/Vibration - MD Adams 2010

17Getting started using Adams/Vibration – Adams2Nastran feature

A message window will be displayed, monitoring the performed analysis and summarizing most important data, as shown in Figure 10.

Page 200: Using Adams/Vibration - MD Adams 2010

Adams/VibrationGetting started using Adams/Vibration – Adams2Nastran feature

18

Page 201: Using Adams/Vibration - MD Adams 2010

19Getting started using Adams/Vibration – Adams2Nastran feature

Figure 9 MKB matrices export dialog box: Frequency Response Analysis

Figure 10 Frequency Response analysis : message window

Describing the bdf files

In this section, a brief description of the content of Nastran bdf files provided by Adams2Nastran feature is presented.

For each solution (SOL 107 and SOL 108) it has been reported the Adams statement and the equivalent Nastran one.

For detailed description of Nastran cards, please refer to Nastran Quick Reference Guide.

Page 202: Using Adams/Vibration - MD Adams 2010

Adams/VibrationGetting started using Adams/Vibration – Adams2Nastran feature

20

SOL 107: Modal Analysis

Blocks description:

1. Header block: it has been included for information purposes

It contains:

• date of creation

• name of the Adams model

• name of analysis

• system of units

• useful remarks

$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0$$ ADAMS TO Nastran$ Version 2006.1.0$$ Create: Thu Sep 28 14:11:48 2006$ Model: a2n_Concept_vehicle$ Result: A2N_Analysis_modal_analysis$ Matrix: MKB_LINEAR$ Units: Mass = kg$ Length = mm$ Force = newton$ Time = sec$$ Remarks:$ 1 - PARAM WTMASS is set to 1.000-3 for FE model.$$

2. Executive Deck

Type of Nastran solution

$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0SOL 107CEND

3. Control Case Deck

It contains:

• eigenvalue method ID

• Mass matrix name

• Stiffness matrix name

• Damping matrix name

$$ GLOBAL CASE

Page 203: Using Adams/Vibration - MD Adams 2010

21Getting started using Adams/Vibration – Adams2Nastran feature

$ ECHO = NONE CMETHOD = 101$$ ADAMS SYSTEM$ M2PP = 1.000-3 * EXMASS B2PP = EXDAMP K2PP = EXSTIF

4. Bulk Data Deck

It contains:

• PARAM cards

• Complex Eigenvalue Analysis card

• SPOINTs definition

• SPCOFF1 definition

• DMIG matrices: Mass, Stiffness, Damping

• ENDDATA

BEGIN BULK$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0PARAM WTMASS 1.000-3PARAM POST 0$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0EIGC 101 HESS 30$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0SPOINT 10000 THRU 10014SPCOFF1 0 10000 THRU 10014$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0DMIG EXMASS 0 1 2 0DMIG* EXMASS 10000 0* 10000 0 2.024450228D+01* 10001 0-2.983384010D-12* 10002 0 9.843529185D-01* 10003 0 1.255368365D+00* 10004 0 1.152556266D-13* 10005 0-1.209118964D+00* 10006 0 9.770409669D-14DMIG* EXMASS 10001 0* 10000 0-2.983384010D-12* 10001 0 2.022750866D+01* 10002 0 9.975685248D-01* 10003 0-8.602381364D-01* 10004 0-1.130941551D-13* 10005 0 9.095326767D-01* 10006 0-1.168722042D-13………………………………………………………………………………………………………………………………………………………………………………………$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0DMIG EXDAMP 0 1 2 0DMIG* EXDAMP 10000 0* 10000 0 2.377423746D+00* 10001 0 5.366176817D-12* 10002 0-1.770614960D+00* 10003 0-3.945918287D+00* 10004 0-3.622755655D-13* 10005 0 3.910387431D+00* 10006 0-3.159828628D-13DMIG* EXDAMP 10001 0* 10000 0 5.366176655D-12

Page 204: Using Adams/Vibration - MD Adams 2010

Adams/VibrationGetting started using Adams/Vibration – Adams2Nastran feature

22

* 10001 0 2.365513683D+00* 10002 0-1.758968214D+00* 10003 0 3.270187897D+00* 10004 0-3.500670975D-14* 10005 0-3.305490734D+00* 10006 0-7.045371647D-14………………………………………………………………………………………………………………………………………………………………………………………$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0DMIG EXSTIF 0 1 2 0DMIG* EXSTIF 10000 0* 10000 0 5.529439021D+02* 10001 0 5.657090515D-10* 10002 0-1.866614623D+02* 10003 0-3.872688442D+02* 10004 0-3.555523184D-11* 10005 0 3.835275741D+02* 10006 0-3.099133857D-11DMIG* EXSTIF 10001 0* 10000 0 5.657809455D-10* 10001 0 5.510553492D+02* 10002 0-1.848608254D+02* 10003 0 3.150141449D+02* 10004 0 1.252339095D-11* 10005 0-3.187204575D+02* 10006 0 9.164562683D-12………………………………………………………………………………………………………………………………………………………………………………………ENDDATA

SOL 108: Frequency Response Analysis

Blocks description:

1. Header block: it has been included for information purposes

It contains:

• date of creation

• name of the Adams model

• name of analysis

• system of units

• useful remarks

$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0$$ ADAMS TO Nastran$ Version 2006.1.0$$ Create: Thu Sep 28 14:37:00 2006$ Model: a2n_Concept_vehicle

Page 205: Using Adams/Vibration - MD Adams 2010

23Getting started using Adams/Vibration – Adams2Nastran feature

$ Result: A2N_Analysis_frf_analysis$ Matrix: MKB_LINEAR$ Units: Mass = kg$ Length = mm$ Force = newton$ Time = sec$$ Remarks:$ 1 - PARAM WTMASS is set to 1.000-3 for FE model.$

2. Executive Deck

Type of Nastran solution

$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0SOL 108CEND

3. Control Case Deck

It contains:

• Mass matrix name

• Stiffness matrix name

• Damping matrix name

• MPC ID

• Eventually SPC ID

• Subcases

- DLOAD ID

- GRID set for output

- Output type (disp, vel, acc) and format

$ GLOBAL CASE$ ECHO = NONE$$ ADAMS SYSTEM$ M2PP = 1.000-3 * EXMASS B2PP = EXDAMP K2PP = EXSTIF MPC = 701$$ SUBCASES$ FREQ = 601$SUBCASE 1 DLOAD = 101 SET 901 = 1000, 1001, 1002, 1003, 1004 DISP(SORT2,REAL,PLOT) = 901

4. Bulk Data Deck

It contains:

• PARAM cards

• Frequency parameters: start, end, steps, logarithmic space

Page 206: Using Adams/Vibration - MD Adams 2010

Adams/VibrationGetting started using Adams/Vibration – Adams2Nastran feature

24

• Actuator parameters subcase by subcase

- DLOAD

- RLOAD1

- FORCE

- DPHASE

• TABLED1 parameters

• SPOINTs definition

• SPCOFF1 definition

• CORD2R definition: reference system for GRID

• GRID definition: ID, Reference system,

• DMIG matrices: Mass, Stiffness, Damping

• MPC data

• Eventually SPC data for fixing dofs with no values in DMIG

• ENDDATA

BEGIN BULK$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0PARAM WTMASS 1.000-3PARAM POST 0$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0FREQ1* 601 1.000000000E+00 1.000000000E+00 99* $$ SUBCASE 1$DLOAD 101 1.00 1.00 201 1.00 202 1.00 203 1.00 204RLOAD1 201 301 401 501RLOAD1 202 302 402 501RLOAD1 203 303 403 501RLOAD1 204 304 404 501FORCE* 301 1000 1000 1.000000000E+00* 0.000000000E+00 0.000000000E+00 1.000000000E+00FORCE* 302 1002 1002 1.000000000E+00* 0.000000000E+00 0.000000000E+00 1.000000000E+00FORCE* 303 1001 1001 1.000000000E+00* 0.000000000E+00 0.000000000E+00 1.000000000E+00FORCE* 304 1003 1003 1.000000000E+00* 0.000000000E+00 0.000000000E+00 1.000000000E+00DPHASE* 401 1000 3 0.000000000E+00* DPHASE* 402 1002 3 0.000000000E+00* DPHASE* 403 1001 3 0.000000000E+00* DPHASE* 404 1003 3 0.000000000E+00* $......1.......2.......3.......4.......5.......6.......7.......8.......9.......0

Page 207: Using Adams/Vibration - MD Adams 2010

25Getting started using Adams/Vibration – Adams2Nastran feature

TABLED1 501* 1.000000000E+00 1.000000000E+00 1.000000000E+02 1.000000000E+00* ENDT$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0SPOINT 10000 THRU 10014SPCOFF1 0 10000 THRU 10014$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0$$ MARKER 40142$CORD2R* 1000 2.475740242D+02-9.078700962D+02* 3.157066811D+02 2.475734435D+02-9.078681974D+02 3.167066792D+02* 2.485740241D+02-9.078701064D+02 3.157072619D+02$$ MARKER 40141$CORD2R* 1001 2.475837217D+02 9.082203448D+02* 3.112969549D+02 2.475824204D+02 9.082222338D+02 3.122969523D+02* 2.485837208D+02 9.082203369D+02 3.112982561D+02$$ MARKER 40144$CORD2R* 1002 3.098665659D+03-8.413320186D+02* 3.165435790D+02 3.098664704D+03-8.413304485D+02 3.175435773D+02* 3.099665659D+03-8.413320140D+02 3.165445340D+02$$ MARKER 40143$CORD2R* 1003 3.098793748D+03 8.414624204D+02* 3.159420941D+02 3.098792787D+03 8.414639729D+02 3.169420924D+02* 3.099793747D+03 8.414624254D+02 3.159430551D+02$$ MARKER 4$CORD2R* 1004 1.673000000D+03 0.000000000D+00* 2.401403295D+02 1.672999042D+03 1.794576611D-03 2.411403275D+02* 1.674000000D+03 1.718932160D-06 2.401412874D+02$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0GRID 1000 1000 0.000 0.000 0.000 1000GRID 1001 1001 0.000 0.000 0.000 1001GRID 1002 1002 0.000 0.000 0.000 1002GRID 1003 1003 0.000 0.000 0.000 1003GRID 1004 1004 0.000 0.000 0.000 1004$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0DMIG EXMASS 0 1 2 0DMIG* EXMASS 10000 0* 10000 0 2.024450228D+01* 10001 0-2.982935319D-12* 10002 0 9.843529185D-01* 10003 0 1.255368365D+00* 10004 0 1.152449065D-13* 10005 0-1.209118964D+00* 10006 0 9.770311489D-14DMIG* EXMASS 10001 0* 10000 0-2.982935319D-12* 10001 0 2.022750866D+01* 10002 0 9.975685248D-01* 10003 0-8.602381364D-01* 10004 0-1.123596577D-13* 10005 0 9.095326767D-01* 10006 0-1.171047919D-13…………………………………………………………………………………………………………………………………………………………………..$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0DMIG EXDAMP 0 1 2 0DMIG* EXDAMP 10000 0* 10000 0 2.377423746D+00* 10001 0 5.365084312D-12* 10002 0-1.770614960D+00

Page 208: Using Adams/Vibration - MD Adams 2010

Adams/VibrationGetting started using Adams/Vibration – Adams2Nastran feature

26

* 10003 0-3.945918287D+00* 10004 0-3.622418697D-13* 10005 0 3.910387431D+00* 10006 0-3.159796876D-13DMIG* EXDAMP 10001 0* 10000 0 5.365084150D-12* 10001 0 2.365513683D+00* 10002 0-1.758968214D+00* 10003 0 3.270187897D+00* 10004 0-3.515501946D-14* 10005 0-3.305490734D+00* 10006 0-7.060952004D-14…………………………………………………………………………………………………………………………………………………………………..$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0DMIG EXSTIF 0 1 2 0DMIG* EXSTIF 10000 0* 10000 0 5.529439021D+02* 10001 0 5.656009746D-10* 10002 0-1.866614623D+02* 10003 0-3.872688442D+02* 10004 0-3.555192480D-11* 10005 0 3.835275741D+02* 10006 0-3.099102715D-11DMIG* EXSTIF 10001 0* 10000 0 5.656728633D-10* 10001 0 5.510553492D+02* 10002 0-1.848608254D+02* 10003 0 3.150141449D+02* 10004 0 1.251492228D-11* 10005 0-3.187204575D+02* 10006 0 9.156850638D-12…………………………………………………………………………………………………………………………………………………………………..$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0MPC* 701 1000 1-1.000000000D+00* 10000 0-7.912242725D-03* 10001 0-1.067902581D-13* 10002 0 3.523390270D-02* 10003 0 1.009569150D-02* 10005 0-3.683663169D-02* 10006 0 2.976591853D-15* MPC* 701 1000 2-1.000000000D+00* 10000 0 7.685973208D-02* 10001 0 2.311493596D-13* 10002 0-7.627791166D-02* 10003 0 2.162781519D-03* 10005 0-4.643385172D-03………………………………………………………………………………………………………………………………………………………………….. ENDDATA

Page 209: Using Adams/Vibration - MD Adams 2010

27Getting started using Adams/Vibration – Adams2Nastran feature

Comparing Adams/Vibration and Nastran results

OverviewIn this section, a comparison between Adams/Vibration and Nastran results is presented: both modal and frequency response analysis have been performed providing eigenvalue tables and magnitude/phase vs frequency plots.

It is not shown the procedure for creating standard Adams/vibration input and output channels, how to run Adams/Vibration or Nastran for getting results which is out of the scope of the present tutorial.

Completing this section involves the following:

• Eigenvalue comparison:

• Frequency response analysis plot comparison:

Eigenvalue comparison:The Nastran table contains complex eigenvalues and the ordering is different wrt Adams table (due to different order extraction), but the values match exactly.

Adams/VibrationMODE UNDAMPED NATURAL DAMPINGNUMBER FREQUENCY RATIO REAL IMAGINARY

1 3.183099E+001 1.000000E+000 -3.183099E+001 0.000000E+000

2 3.183099E+001 1.000000E+000 -3.183099E+001 0.000000E+000

3 3.183099E+001 1.000000E+000 -3.183099E+001 0.000000E+000

4 3.183099E+001 1.000000E+000 -3.183099E+001 0.000000E+000

5 4.154554E+000 1.908554E-001 -7.929192E-001 +/- 4.078185E+000

6 5.627360E+000 1.413466E-001 -7.954082E-001 +/- 5.570862E+000

7 7.447912E+000 2.206229E-001 -1.643180E+000 +/- 7.264389E+000

8 2.414114E+001 4.446276E-001 -1.073382E+001 +/- 2.162360E+001

9 2.420125E+001 4.463721E-001 -1.080276E+001 +/- 2.165643E+001

10 2.620374E+001 3.770737E-001 -9.880742E+000 +/- 2.426947E+001

11 2.644142E+001 3.870627E-001 -1.023449E+001 +/- 2.438040E+001

12 1.492581E+003 1.172233E-005 -1.749652E-002 +/- 1.492581E+003

13 1.492630E+003 1.172318E-005 -1.749838E-002 +/- 1.492630E+003

14 1.492630E+003 1.172318E-005 -1.749838E-002 +/- 1.492630E+003

15 1.492630E+003 1.172318E-005 -1.749838E-002 +/- 1.492630E+003

Page 210: Using Adams/Vibration - MD Adams 2010

Adams/VibrationGetting started using Adams/Vibration – Adams2Nastran feature

28

Nastran C O M P L E X E I G E N V A L U E S U M M A R Y

ROOT EXTRACTION EIGENVALUE FREQUENCY DAMPING

NO. ORDER (REAL) (IMAG) (CYCLES) COEFFICIENT

1 13 -4.982058E+00 -2.562399E+01 4.078186E+00 3.888588E-01

2 14 -4.982058E+00 2.562399E+01 4.078186E+00 3.888588E-01

3 11 -4.997697E+00 -3.500276E+01 5.570862E+00 2.855602E-01

4 12 -4.997697E+00 3.500276E+01 5.570862E+00 2.855602E-01

5 9 -1.032440E+01 -4.564350E+01 7.264389E+00 4.523932E-01

6 10 -1.032440E+01 4.564350E+01 7.264389E+00 4.523932E-01

7 24 -2.000000E+02 0.0 0.0 0.0

8 23 -2.000000E+02 0.0 0.0 0.0

9 25 -2.000000E+02 0.0 0.0 0.0

10 26 -2.000000E+02 0.0 0.0 0.0

11 7 -6.744256E+01 -1.358651E+02 2.162359E+01 9.927874E-01

12 8 -6.744256E+01 1.358651E+02 2.162359E+01 9.927874E-01

13 5 -6.787576E+01 -1.360714E+02 2.165643E+01 9.976495E-01

14 6 -6.787576E+01 1.360714E+02 2.165643E+01 9.976495E-01

15 3 -6.208253E+01 -1.524896E+02 2.426947E+01 8.142528E-01

Page 211: Using Adams/Vibration - MD Adams 2010

29Getting started using Adams/Vibration – Adams2Nastran feature

16 4 -6.208253E+01 1.524896E+02 2.426947E+01 8.142528E-01

17 1 -6.430517E+01 -1.531866E+02 2.438040E+01 8.395666E-01

18 2 -6.430517E+01 1.531866E+02 2.438040E+01 8.395666E-01

19 19 -1.099339E-01 -9.378163E+03 1.492581E+03 2.344465E-05

20 20 -1.099339E-01 9.378163E+03 1.492581E+03 2.344465E-05

21 21 -1.099455E-01 -9.378474E+03 1.492630E+03 2.344636E-05

22 17 -1.099455E-01 -9.378474E+03 1.492630E+03 2.344636E-05

23 15 -1.099455E-01 -9.378474E+03 1.492630E+03 2.344636E-05

24 22 -1.099455E-01 9.378474E+03 1.492630E+03 2.344636E-05

25 18 -1.099455E-01 9.378474E+03 1.492630E+03 2.344636E-05

26 16 -1.099455E-01 9.378474E+03 1.492630E+03 2.344636E-05

Page 212: Using Adams/Vibration - MD Adams 2010

Adams/VibrationGetting started using Adams/Vibration – Adams2Nastran feature

30

Frequency response analysis plot comparison:The following plots show the the comparison between Nastran and Adams/Vibration frequency response analysis: magnitude and phase evaluated at the output channels, wheel centers and driver’s seat.

Page 213: Using Adams/Vibration - MD Adams 2010

31Getting started using Adams/Vibration – Adams2Nastran feature

Figure 11 Adams vs. Nastran wheel’s center magnitude

Page 214: Using Adams/Vibration - MD Adams 2010

Adams/VibrationGetting started using Adams/Vibration – Adams2Nastran feature

32

Figure 12 Adams vs. Nastran wheel’s center phase

Figure 13 Adams vs. Nastran driver’s seat mag and phase

Page 215: Using Adams/Vibration - MD Adams 2010

Examples and TutorialsThe following Adams/Vibration examples are available:

• Getting Started Using Adams/Vibration

• Getting started using Adams/Vibration – Adams2Nastran feature

• Adams/Vibration features

• Python Examples

You can also find many examples in your Adams/Vibration installation directory (install_dir/examples). Each folder contains all of the files required to run the example.

Page 216: Using Adams/Vibration - MD Adams 2010

Adams/Vibration174

Page 217: Using Adams/Vibration - MD Adams 2010

1Dialog Box - F1 Help

Dialog Box - F1 Help

Page 218: Using Adams/Vibration - MD Adams 2010

Adams/VibrationActuator Preview Plot

2

Actuator Preview Plot

Vibration -> Build -> Input Channel -> Modify -> Plot Actuator

Plot your actuator without running a simulation.

For the option: Do the following:

Tips on Entering Object Names in Text Boxes

Input Channel Name Enter the name of the input channel you want to create or modify.

Logarithmic Spacing of Steps Select if you want the frequency steps spaced logarithmically. If not selected, the steps are spaced linearly.

Begin Enter the beginning value for the frequency range.

End Enter the ending value for the frequency range.

Steps Enter the number of steps in the frequency range.

Actuator Value To Plot Select one of the following:

• Phase - Plots the phase of the actuator.

• Magnitude - Plots the magnitude of the actuator.

Horizontal Axis Scale Select one of the following:

• Linear

• Logarithmic

Close Action Select one of the following:

• Delete Plot - When you close this dialog box, Adams/Vibration deletes the plot.

• Save Plot - When you close this dialog box, Adams/Vibration saves the plot in the database and creates a page for it in Adams/PostProcessor.

If you set Close Action to Save Plot, Adams/Vibration displays the following option:

Name Enter the name for the plot object that will be stored in the database.

Page 219: Using Adams/Vibration - MD Adams 2010

3Dialog Box - F1 HelpCreate Design Variable from File

Create Design Variable from File

Vibration -> Test -> Vibration Analysis -> User-Specified Frequencies -> Create Design Variable from File

Creates a design variable from the values in a specified file.

For the option: Do the following:

Tips on Entering File Names in Text Boxes

Filename Enter the name of an ASCII file that contains the design variable values. The design variable is used to define the frequencies at which the vibration analysis is performed.

To accommodate a wide variety of formats used by third-party software, the format of the file to be read is intentionally general. Adams/Vibration only reads the lines that begin with a number. All other lines are considered comments and are ignored. Using this command, output files generated from finite element, modal analysis, or custom programs can be read into Adams/Vibration.

Design Variable Name Enter the name of the design variable you want to create.

Page 220: Using Adams/Vibration - MD Adams 2010

Adams/VibrationCreate Vibration Design Constraint Macro

4

Create Vibration Design Constraint Macro

Vibration -> Improve -> Vibration Design Constraint -> New/Modify or Simulate -> Design Constraint -> New/Modify -> /View Variable and Vibration Macro

For the option: Do the following:

Tips on Entering Object Names in Text Boxes

Macro Name Specify the name of the macro you are creating.

Return Value Variable Specify the name of the variable you want to use in your design study.

Target Vibration Data Select one of the following options:

• Freq. Resp. Magnitude Limit: 1 Input, 1 Output - The frequency response of the specified output channel to the specified input channel.

• Freq. Resp. Magnitude Limit: All Inputs, 1 Output - The frequency response of the specified output channel to the all input channels.

• Modal Energy: Kinetic Energy - The modal energy kinetic energy value for a specified object.

• Modal Energy: Strain Energy - The modal energy strain energy value for a specified object.

Depending on how you set Target Vibration Data, Adams/Vibration may display the following options:

Limit Value Specify a value below which the Target Vibration Data (see option above) must be for the constraint to be satisfied.

Input Channel Enter the input channel you want to use in your macro.

Output Channel Enter the output channel you want to use in your macro.

Frequency Range Select one of the following:

• All Frequencies - Use all frequencies from your frequency response calculation.

• Specific Range - Enter a range of frequencies.

Mode Number Enter the mode number of interest.

Object Type Select an object type.

Object Name Enter the name of the object of interest.

Body Name Enter the name of the body of interest.

Component Select an object component.

Page 221: Using Adams/Vibration - MD Adams 2010

5Dialog Box - F1 HelpCreate Vibration Design Objective Macro

Create Vibration Design Objective MacroVibration -> Improve -> Vibration Design Object -> New/Modify or Simulate -> Design Objective -> New/Modify -> /View Variable and Vibration Macro

Creates a macro capable of retrieving vibration-specific data. You can then use it when performing a design study.

For the option: Do the following:

Tips on Entering Object Names in Text Boxes

Macro Name Specify the name of the macro you are creating.

Return Value Variable Specify the name of the variable you want to use in your design study.

Target Vibration Data Select one of the following options:

This option: Returns:

Frequency Response: 1 Input, 1 Output

A minimum or maximum value of the frequency response curve.

Frequency Response: All Inputs, 1 Output

A minimum or maximum value of the frequency response curve.

Freq. Resp. Magnitude of sums: 1 Input, Multiple Outputs

A minimum or maximum value of the frequency response curve for each pairing of the input channel with the multiple output channels.

The minimum or maximum values are summed, and used as the return value for the design objective macro.

See Example: Freq. Resp. Magnitude of sums: 1 Input, Multiple Outputs

Freq. Resp. Magnitude of sums: All Inputs, Multiple Outputs

Same as above, except all input channels are used together (you do not specify the input channels themselves).

See Example: Freq. Resp. Magnitude of sums: All Inputs, Multiple Outputs

Freq. Response Area: 1 Input, Multiple Outputs

The sum of the areas beneath the frequency response curves for each pairing of the input channel with the output channels.

See Example: Freq. Response Area: 1 Input, Multiple Outputs

Page 222: Using Adams/Vibration - MD Adams 2010

Adams/VibrationCreate Vibration Design Objective Macro

6

Freq. Response Area: All Inputs, Multiple Outputs

Same as above, except all input channels are used together (you do not specify the input channels themselves).

See Example: Freq. Response Area: All Inputs, Multiple Outputs

Frequency Response Error: 1 Input, 1 Output

The sum, maximum, or average error between the test data you provide and a one input / one output Frequency Response calculation.

Frequency Response Error: All Inputs, 1 Output

The sum, maximum, or average error between the test data you provide and an output frequency response calculation.

PSD: 1 Output A minimum or maximum value of the frequency response curve.

Modal Participation: 1 Input, 1 Output

A minimum or maximum value of the frequency response curve.

Eigen Natural Frequency Error

The amount of error between the test value you provide and the natural frequency value for a particular mode number in the eigen solution.

Eigen Real Part The eigen solution's real part for a specified mode.

Eigen Imaginary Part The eigen solution's imaginary part for a specified mode.

Eigen Damping Ratio The eigen solution's damping ratio for a specified mode.

Modal Energy: Normalized Coordinates

The modal energy normalized coordinates value for a specified object.

Modal Energy: Kinetic Energy

The modal energy kinetic energy value for a specified object.

Modal Energy: Strain Energy

The modal energy strain energy value for a specified object.

Modal Energy: Dissipative Energy

The modal energy dissipative energy value for a specified object.

Depending on how you set Target Vibration Data, Adams/Vibration may display the following options:

Input Channel Enter the input channel you want to use in your macro.

Output Channel Enter the output channel you want to use in your macro.

For the option: Do the following:

Page 223: Using Adams/Vibration - MD Adams 2010

7Dialog Box - F1 HelpCreate Vibration Design Objective Macro

Value Type Specify one of the following:

• Minimum (Sum of Minimums) - Uses minimum (sum of minimum) values.

• Maximum (Sum of Maximums) - Uses maximum (sum of maximum) values.

Frequency Range Select one of the following:

• All Frequencies - Use all frequencies from your frequency response calculation.

• Specific Range - Enter a range of frequencies.

Test Data Enter a result set component that represents your test data. This data may have been created by the file testdata read or other actions that can create results set components. The number of values you provide should be the same as the number of frequencies used for the frequency response calculation.

Error Type Specify how you want the error value to be computed. The basic process is to take the frequency response curve that is obtained using the Input Channel and Output Channel values and then see how it differs from the curve obtained from the Test Data.

Select one of the following:

• Sum - The absolute values of the differences between the curves at each of their points are added together to yield the error value.

• Maximum - The maximum difference between the curves represents the error value.

• Average - The absolute values of the differences between the curves at each of their points are added together and then averaged to yield the error value.

Mode Number Enter the mode number of interest.

Test Value Enter the target value. The absolute value of the difference between the test value and the natural frequency for the specified mode will be the return value for the macro.

Object Type Select an object type.

Object Name Enter the name of the object of interest.

Component/State Depending on the Object Type you selected, Adams/Vibration will display the Component pull-down menu or the State text box:

• Component - Select an object component.

• State - Enter an integer for the state of interest.

For the option: Do the following:

Page 224: Using Adams/Vibration - MD Adams 2010

Adams/VibrationCreate Vibration Design Objective Macro

8

Body Name Enter the name of the body of interest.

Component Select an object component.

For the option: Do the following:

Page 225: Using Adams/Vibration - MD Adams 2010

9Dialog Box - F1 HelpCreate Vibration Multi-Run Script

Create Vibration Multi-Run Script

Vibration -> Test -> Vibration Analysis -> Create Multi-Run Script or Vibration -> Test -> Create Multi-Run Script

Creates a simulation Script that you can use during multi-run simulations (such as Design study, Design of experiments (DOE), and so on).

For the option: Do the following:

Tips on Entering Object Names in Text Boxes

Sim Script Name Enter the name of the simulation script you want to create.

Vibration Analysis Name Enter the name of your new or existing analysis.

Operating Point Specify one of the following:

• Static - Performs an equilibrium analysis (after assembling the system).

• Assembly - Assembles the system into its input configuration.

• Script - Executes a user-specified script. If the internal solver is selected in the simulation settings, this script can only contain Adams/View commands. For the external solver, the script can only contain Adams/Solver commands. Learn more with Solver Settings - Executable dialogbox.

If you set Operating Point to Script, Adams/Vibration displays the following option:

Simulation Script Name Specify the name of your simulation script.

Damping Check to include damping effects in the analysis. If not checked, damping effects are not included in the analysis.

Linear States Options (Valid Only with Adams/Solver (C++))

Select to specify linear state options. This is only available for users running Adams/Solver (C++).

• Plant State

• Reference Marker

Frequency Range/User-Specified Frequencies

Select the type of frequency you want to use.

If you select Frequency Range, Adams/Vibration displays the following options:

Begin Enter the beginning value for the frequency range.

End Enter the ending value for the frequency range.

Steps Enter the number of steps in the frequency range.

Page 226: Using Adams/Vibration - MD Adams 2010

Adams/VibrationCreate Vibration Multi-Run Script

10

Logarithmic Space of Steps Select if you want the frequency steps spaced logarithmically. If not selected, the steps are spaced linearly.

If you select User-Specified Frequencies, Adams/Vibration displays the following options:

Frequencies Enter the frequency values for the analysis.

Create Design Variables from Values in File

Select to open the Create Design Variable from File dialog box, where you can enter the file name that contains the design variable you want to use.

For the option: Do the following:

Page 227: Using Adams/Vibration - MD Adams 2010

11Dialog Box - F1 HelpCreate/Modify FD 3D Damper

Create/Modify FD 3D Damper

Vibration -> Build -> FD 3D Damper -> New/Modify

Define the parameters for a 3D frequency-dependent damper.

For the option: Do the following:

Tips on Entering Object Names in Text Boxes

Name Enter the name of the 3D FD damper you want to create or modify.

I Marker Enter the name of the I marker on which the 3D FD damper will act.

Reference Marker

Enter the name of the J marker on which the 3D FD damper will react.

Desired Components

Select the directions along which you want the 3D FD damper to apply forces and torques.

Type Select one of the following:

• Pfeffer Linear - Contains two linear dampers and two linear springs.

• Simple FD - Contains one linear damper and two linear springs.

• Simple FD-Bushing - Contains one linear damper and two linear springs.

• General

Depending on the setting of Type, Adams/Vibration displays one or more of the following options:

C 1/2/3 Enter the damping value(s) for the damper.

K 1/2/3 Enter the stiffness value(s) for the damper.

Preload Enter the value of the preload in the component.

Page 228: Using Adams/Vibration - MD Adams 2010

Adams/VibrationCreate/Modify FD Damper

12

Create/Modify FD Damper

Vibration -> Build -> FD Damper -> New/Modify

Define the parameters for a Frequency Domain (FD) Damper.

For the option: Do the following:

Tips on Entering Object Names in Text Boxes

Name Enter the name of the FD damper you want to create or modify.

I Marker Enter the name of the I marker on which the FD damper will act.

J Marker Enter the name of the J marker on which the FD damper will react.

Type Select one of the following:

• Pfeffer Linear - Contains two linear dampers (Damping 2 and 3) and two linear springs (Stiffness 1 and 3).

• Simple FD - Contains one linear damper (Damping 3) and two linear springs (Stiffness 1 and 2).

• Simple FD-Bushing - Contains one linear damper (Damping 3) and two linear springs (Stiffness 2 and 3).

• General - Contains three linear dampers (Damping 1, 2, and 3) and three springs (Stiffness 1, 2, and 3).

Depending on the setting of Type, Adams/Vibration displays one or more of the following options:

C 1/2/3 Enter the damping value(s) for the damper.

K 1/2/3 Enter the stiffness value(s) for the damper.

Preload Enter the value of the preload in the component.

Page 229: Using Adams/Vibration - MD Adams 2010

13Dialog Box - F1 HelpCreate/Modify Vibration Actuators

Create/Modify Vibration ActuatorsDefine the parameters for a vibration actuator.

See how To access the Create/Modify Vibration Actuator dialog box.

For the option: Do the following:

Tips on Entering Object Names in Text Boxes

Vibration Actuator Name Enter the name of the vibration actuator you want to create or modify.

Associated Input Channel Enter the input channel to which you want to assign this actuator.

Actuator Type Select one of the following:

• Swept Sine.

• Rotating Mass.

• PSD. See Power Spectral Density.

• User. See User-Defined Function.

Force Magnitude Enter the force magnitude.

Phase Angle (deg) Enter the phase angle (in degrees).

Page 230: Using Adams/Vibration - MD Adams 2010

Adams/VibrationCreate/Modify Vibration Input Channel

14

Create/Modify Vibration Input Channel

Vibration -> Build -> Input Channel -> New/Modify

Define the parameters for Input Channels. In these dialog boxes, you can also assign and modify vibration actuators.

For the option: Do the following:

Tips on Entering Object Names in Text Boxes.

Input Channel Enter the name of the input channel whose actuator you want to plot.

Logarithmic Spacing of Steps Select one of the following:

• Force

• User-specified state variable

• Kinematic

If you select Force or Kinematic, Adams/Vibration displays the following options:

Input Marker Enter the location of the input marker.

Translational/Rotational Select one of the following:

• Translational - Applies a force.

• Rotational - Applies a torque.

Global/Local Select one of the following coordinate systems:

• Global - Selects the global coordinate system.

• Local - Selects the Input Point marker as the coordinate system.

Force Direction/Torque Axis Select an axis (x, y, or z), about which the force or torque will be applied.

Displacement/Velocity/ Acceleration

Select a kinematic input. Applies to kinematic types only.

If you select User-Specified State Variable, Adams/Vibration displays the following option:

State Variable Enter the state variable you want to use. The state variable input channel allows you to apply input channels to LSE/GSE/TFSISO elements in an Adams model. Therefore, frequency domain inputs can be applied using vibration actuators to general dynamical systems modeling elements represented by LSE/GSE/TFSISO elements.

Page 231: Using Adams/Vibration - MD Adams 2010

15Dialog Box - F1 HelpCreate/Modify Vibration Input Channel

New/Existing Actuator Select one of the following:

• Actuator Parameters - Creates a new vibration actuator.

• Existing Actuator - Enter the name of an existing vibration actuator to associate with this input channel.

Note: If you are using a Kinematic input channel, you cannot specify an existing actuator.

Actuator Type Select one of the following:

• Swept Sine. See Entering Swept Sine Function for available options.

• Rotating Mass (not available for Kinematic). See Entering Rotating Mass for the available options.

• PSD (Power Spectral Density). See Entering PSD Function for the available options.

• User (User-Defined Function). See Entering a User-Defined function for the available options.

Plot Actuator Select to open the Actuator Preview Plot dialog box where you can see the plot of your actuator without running a simulation.

Only available when modifying an input channel.

For the option: Do the following:

Page 232: Using Adams/Vibration - MD Adams 2010

Adams/VibrationCreate/Modify Vibration Output Channel

16

Create/Modify Vibration Output ChannelDefine the parameters for Output Channels.

Vibration -> Build -> Output Channel -> New/Modify

For the option: Do the following:

Tips on Entering Object Names in Text Boxes.

Output Channel Name Enter the name of the output channel you want to create or modify.

Output Function Type Select one of the following:

• Predefined - Adams/Vibration constructs the Adams/Solver function for you, based on the information you enter in this dialog box.

• User - You construct and enter the output channel function in the Output Channel Function text box. To use Adams/Solver functions, see the online help for Adams/Solver.

If you set Output Function Type to Predefined, Adams/Vibration displays the following options:

Output Marker Enter the location of the output marker.

Global Component Specify the type of coordinate system for your output channel.

Axis Specify the axis for your output channel.

If you set Output Function type to User, Adams/Vibration displays the following option:

Output Channel Function Specify the function for your output channel. To create the function in the Function Builder, select .

Page 233: Using Adams/Vibration - MD Adams 2010

17Dialog Box - F1 HelpEigen Information

Eigen Information

Vibration -> Review -> Display Eigenvalue Table

Displays a table of eigen values for an analysis.

For the option: Do the following:

Tips on Entering Object Names in Text Boxes.

Eigen Displays the name of the eigensolution.

+/- Use these buttons to navigate between eigensolutions. Press the + button to go to the next eigensolution; use the - button to go to the previous eigensolution.

(Table area) Displays each mode number with its corresponding undamped natural frequency, damping ratio, real value, and imaginary value.

Highlight Unstable Modes Select to display real values greater than the Unstable Mode Threshold (see next option) in a different color.

Unstable Mode Threshold Value

Enter the value of the unstable mode above which you want to display in a different color in the eigen table (you must also select Highlight Unstable Modes above). For example, if you enter 5.0, all modes with Real values greater than 5.0 will be displayed in a different color.

Base Font Size Select the font size for the text in the table.

File Format Select the type of file to which you want to save the eigen information.

Write Table to File Select if you want to save the eigen information to a file. You can then specify the filename and location of the file.

Page 234: Using Adams/Vibration - MD Adams 2010

Adams/VibrationISO Ride Index

18

ISO Ride IndexRide -> Full-Vehicle Vibration Analysis -> ISO Ride Index

Define the parameters for ISO Ride Index.

For the option: Do the following:

Ride Index This is read only field. Adams/Car Ride will display the calculated output Overall/Point Vibration Total Value here.

Output Select the appropriate output you want to calculate: OVTV, Feet PVTV, Seat PVTV and Back PVTV.

Analysis Select the appropriate vibration analysis for calculating its Ride Index.

Depending on your output option selection, the following four tabs will be disabled or enabled. The Overall tab is enabled only for calculating OVTV output.

Define output channels, scaling factors and ISO weighting curves (for driver/passenger Feet, Seat and Back locations)

• Specify the output channel for X, Y and Z directions at driver/passenger Feet, Seat and Back locations.

• Specify the directional and overall scaling factors for each of these location and direction.

• Specify the ISO frequency weighting curves for each of these locations and directions.

Page 235: Using Adams/Vibration - MD Adams 2010

19Dialog Box - F1 HelpImporting Vibration Results

Importing Vibration Results

Vibration -> Review -> Import Vibration Results

Allows you to import a previously generated results file and attach it to a vibration analysis. This enables you to plot vibration data generated from the eigen and state matrices in the results file. The imported results file and the vibration analysis must be from the same model.

For the option: Do the following:

Tips on Entering Object Names in Text Boxes.

Results File Enter the name of the Adams/Vibration results file.

Vibration Analysis Enter the name of the vibration analysis to which you want your results attached.

(Attach option) Select one of the following:

• Attach results to existing Vibration Analysis - Attaches the results to the current vibration analysis.

• Attach results to a copy of the Vibration Analysis - Makes a copy of the current vibration analysis, names it as specified below, and attaches the results to it.

If you select Attach results to existing Vibration Analysis, Adams/Vibration displays the following option:

New Vibration Analysis Enter the name for the new vibration analysis to which you want the results attached.

Page 236: Using Adams/Vibration - MD Adams 2010

Adams/VibrationModal Energy Computation

20

Modal Energy Computation

Vibration -> Test -> Vibration Analysis -> Modal Energy Computation

Specifies options for computing modal energy during your vibration analysis.

For the option: Do the following:

Compute Modal Energy If you want to compute modal energy during your vibration analysis, select this option.

Normalized Coordinates If you want normalized coordinates of the mode to be computed, select this option.

Kinetic Energy If you want to compute kinetic energy distribution, select this option.

Strain Energy If you want to compute strain energy distribution, select this option.

Dissipative Energy If you want to compute dissipative energy, select this option.

Mode Range Enter the range of modes you want to use in the calculation. If you leave these text boxes blank, Adams/Vibration will use all modes.

Page 237: Using Adams/Vibration - MD Adams 2010

21Dialog Box - F1 HelpModal Information

Modal Information

Vibration -> Review -> Display Modal Info Table

Displays Modal Coordinates, modal participation, or modal energy for an analysis.

For the option: Do the following:

Tips on Entering Object Names in Text Boxes.

(Modal Info Type) Select the type of modal information you want to display:

• Modal Coordinates - This table lists the relative and absolute values of modal coordinates at a specified excitation frequency.

• Modal Participation - This table lists the modal participation of modes in the output channels. Highlights modes with the largest contributions.

• Modal Energy - This table lists the normalized coordinates and distribution of kinetic, strain, and dissipative energies in modes. Highlights modeling entities with the largest contributions.

Vibration Analysis Enter the name of the vibration analysis whose modal information you want to display.

Frequency Enter the frequency at which you want to view the modal information.

Display Phase Values Select to display the phase values for each mode.

Base Font Size Select the font size for the text in the table.

File Format Select the type of file to which you want to save the modal information.

Write Table to File Select if you want to save the modal information to a file. You can then specify the filename and location of the file.

If you select Modal Coordinates, Adams/Vibration displays the following option:

Magnitude Representation Select one of the following:

• Relative - Displays the relative values in the table.

• Absolute - Displays the absolute values in the table.

Page 238: Using Adams/Vibration - MD Adams 2010

Adams/VibrationNASTRAN Modal Export

22

NASTRAN Modal ExportTools > Plugin Manager > Vibration > Nastran_modal_export

Exports modal coordinates of flex-body to NASTRAN in MDF file format.

For the option: Do the following:

Flexible Body Enter the name of flexible body for which you want to export modal coordinates.

Output File Enter the name of output file. Default extension is .MDF

Vibration Analysis

Enter the name of Vibration Analysis for which you want to export modal coordinates.

Output Freq: Start Enter the Start frequency to output the modal coordinates.

End Enter the End frequency to output the modal coordinates.

If Start and End frequencies are not entered, Adams/Vibration defaults to begin and end frequencies specified in Vibration Analysis.

Page 239: Using Adams/Vibration - MD Adams 2010

23Dialog Box - F1 HelpNodal Info

Nodal InfoTools > Plugin Manager > Vibrartion > Build > nodal Info > New > Nodal Info

To plot stress and strain frequency response functions of selected nodes on flexible body in Adams/PostProcessor.

For the option: Do the following:

Nodal Info Name Enter the name for Nodal Info object.

Flexible Body Enter the name of flexible body.

Node IDs Enter the node numbers (IDs) on above selected flexible body to which Stress/Strain FRF information you want to plot in Adams/PostProcessor.

Criterion Select the Type of Stress/Strain.

Page 240: Using Adams/Vibration - MD Adams 2010

Adams/VibrationPSD Cross Correlation

24

PSD Cross Correlation

Vibration -> Build -> Input Channel -> Modify -> Cross Correlation

Define the parameters for PSD cross correlation.

For the option: Do the following:

Tips on Entering Object Names in Text Boxes.

Actuators Enter the name of the PSD actuator you want to use.

Input Channels Enter the name of the input channel that you want to correlate to the PSD actuator.

More Select if you want to insert new combinations of actuators and input channels.

Fewer Select if you want to delete the last row of actuator/input channel associations.

Page 241: Using Adams/Vibration - MD Adams 2010

25Dialog Box - F1 HelpPerform Vibration Analysis

Perform Vibration Analysis

Vibration -> Test -> Vibration Analysis

Creates and runs a vibration analysis (see Vibration Analysis Calculation Methods to learn more).

For the option: Do the following:

Tips on Entering Object Names in Text Boxes.

Analysis Selection Specify whether you are creating a new analysis or running an existing one.

Analysis Name Enter the name of your new or existing analysis.

Operating Point Specify one of the following:

• Static - Performs an equilibrium analysis (after assembling the system).

• Assembly - Assembles the system into its input configuration.

• Script - Executes a user-specified script. If the integrated solver is selected in the simulation settings, this script may only contain view commands. For the external solver, the script can only contain solver commands. If selected, specify the name of your simulation script in the Simulation Script Name text box.

Import Settings From Existing Vibration Analysis

Select to display the Database Navigator, where you can choose an existing vibration analysis whose settings you want to use in your current analysis. Adams/Vibration updates the Perform Vibration Analysis dialog box with the appropriate input and output channels.

Analysis Type Select the type of analysis you want to perform.

• Forced Vibration Analysis. See Creating and Running a Forced Vibration Analysis.

• Normal Mode Analysis. See Creating and Running a Normal Modes Analysis.

Damping Check to include damping effects in the analysis. If not checked, damping effects are not included in the analysis.

Linear States Options (Valid Only with Adams/Solver (C++))

Select to specify linear state options. This is only available if you are running Adams/Solver (C++).

If you select Linear States Options, Adams/Vibration displays the following two options:

Plant State Select the plant state you want to use in the linearization of the model. Learn more about the PSTATE statement.

Page 242: Using Adams/Vibration - MD Adams 2010

Adams/VibrationPerform Vibration Analysis

26

Reference Marker Specify the marker you want to use in generating plant states for linearization.

Frequency Range/User-Specified Frequencies

Select the type of frequency you want to use.

• Frequency Range - Specify the begin and end values and the number of steps in the frequency range. Also, select Logarithmic Space of Steps if you want the frequency steps spaced logarithmically (if not selected, the steps are spaced linearly).

• User-Specified Frequencies - Enter the frequency values for the analysis. You can also select Create Design Variables from Values in File to open the Create Design Variable from File dialog box, where you can enter the filename that contains the design variable you want to use.

Modal Energy Computation

Select to open the Modal Energy Computation dialog box.

Create Multi-Run Script Select to specify multi-run script specifications. Displays the Create Vibration Multi-Run Script dialog box.

If you set Analysis Type to Forced Vibration Analysis, Adams/Vibration displays the following options:

Input Channels Enter the name of the input channels you want to use in this vibration analysis.

Note: You cannot select input channels with actuators of PSD type and input channels with actuators of non-PSD type in the same analysis.

Output Channels Enter the name of the output channels you want to use in this vibration analysis.

If you are modifying an existing forced vibration analysis with results, Adams/Vibration displays the following option:

Reuse Existing State Matrix

If you select this option, you can specify the modes for the Forced Vibration Analysis.

• All Modes - Include all modes in the forced vibration analysis.

• Selected Modes - Specify the modes to include. Learn how to Include or exclude modes.

Note: Changes made in text boxes that are grayed out are not included in the subsequent analysis.

For the option: Do the following:

Page 243: Using Adams/Vibration - MD Adams 2010

1Create/Modify A2N Input Channel

Create/Modify A2N Input ChannelTools > Plugin Manager > Vibration > Create_Modify_A2N_Input_Channel

Define the parameters for an A2N Input Channel.

For the option: Do the following:

Tips on Entering Object Names in Text Boxes.

Input Channel Name Enter the name of the A2N input channel you want to create or modify.

Input Marker Enter the location of the input marker.

Define parameters of the Actuator which will be included in the Nastran bdf file, oriented locally as the input marker axes.

DOF Force or Torque Direction, with respect to input marker axes.

Mode Select one of the following:·

Force Magnitude Define magnitude of the force for Swept Sine actuator

• Translational - Applies a force.

• Rotational - Applies a torque.

Phase angle Define phase angle for Swept Sine actuator.

If not already defined, an A2N output channel on the same marker is automatically created.

Page 244: Using Adams/Vibration - MD Adams 2010

Adams/VibrationCreate/Modify A2N Output Channel

2

Create/Modify A2N Output ChannelTools > Plugin Manager > Vibration > Create_Modify_A2N_Output_Channel

Define the parameters for an A2N Output Channel.

For the option: Do the following:

Tips on Entering Object Names in Text Boxes.

Output Channel Name Enter the name of the output channel you want to create or modify.

Output Marker Enter the location of the output marker.

Page 245: Using Adams/Vibration - MD Adams 2010

3Adams to Nastran MKB export

Adams to Nastran MKB exportTools > Plugin Manager > Vibration > Perform_MKB_matrices_export

Creates and executes a A2N MKB matrices export to Nastran. See Exporting MKB Matrices to Nastran.

For the option: Do the following:

Tips on Entering Object Names in Text Boxes.

A2A Analysis name Specify name of the new A2N analysis for exporting Mass, Stiffness and damping matrices to Nastran.

Operating Point Specify one of the following:·

• Static - Performs an equilibrium analysis (after assembling the system).

• Assembly - Assembles the system into its input configuration.

• Script - Executes a user-specified script. For both integrated and external solver, the script can only contain solver commands. If selected, specify the name of your simulation script in the Simulation Script Name text box.

Nastran Analysis Select the type of Nastran analysis you want to write out ·

• Modal

• Frequency Response

File prefix Define the prefix of the Nastran file: depending on the Nastran analysys type, the name will be completed by "_eig" or "_frf" , while the suffix is always ".bdf"

Damping Check to include damping effects in the analysis. If not checked, damping effects are not included in the analysis.

Linear States Options (Valid Only with Adams/Solver (C++))

Select to specify linear state options. This is only available if you are running Adams/Solver (C++).

If you select Linear States Options, Adams/Vibration displays the following two options:

Plant State Select the plant state you want to use in the linearization of the model. Learn more about the PSTATE statement.

Reference Marker Specify the marker you want to use in generating plant states for linearization.

If you set Nastran Analysis to Frequency Response, A2N displays the following options:

Frequency Range Specify the begin and end values and the number of steps in the frequency range. Also, select Logarithmic Space of Steps if you want the frequency steps spaced logarithmically (if not selected, the steps are spaced linearly)..

Page 246: Using Adams/Vibration - MD Adams 2010

Adams/VibrationAdams to Nastran MKB export

4

Nastran Subcases definition: you can choose different combination of input and output channels and select output type, creating different Nastran subcases.

Input Channels Enter the name of the A2N input channels you want to use in the current subcase for MKB exporting to Nastran.

Output Channels Enter the name of the A2N output channels you want to use in the current subcase for MKB exporting to Nastran.

Type Select as output Disp, Vel or Acc.

Note: After selecting Input/Output channels and Type, for effectively creating the subcase click on Create Subcase button; for starting to create a new one, click on New Subcase button.

GRID ID offset Select the starting value for numbering GRIDs.

SPOINT ID offset Select the starting value for numbering SPOINTs.

For the option: Do the following:

Page 247: Using Adams/Vibration - MD Adams 2010

Appendix

Page 248: Using Adams/Vibration - MD Adams 2010

Adams/VibrationBode Plot

2

Bode PlotPlot of magnitude and phase response of a system for a unit sinusoid applied at an input channel and measured at an output channel.

Page 249: Using Adams/Vibration - MD Adams 2010

3AppendixDecibel

DecibelA unit of measurement for attenuation or amplification of a signal, given as 20*log (input/output).

Page 250: Using Adams/Vibration - MD Adams 2010

Adams/VibrationEigensolution

4

EigensolutionAn analysis that uses a model, along with an existing transient analysis step or static analysis, to compute the frequency domain behavior of the system. The results are a collection of eigenvalues describing the natural modes, and eigenvectors describing the normal mode shapes of the system components.

Page 251: Using Adams/Vibration - MD Adams 2010

5AppendixEntering a User-Defined function

Entering a User-Defined function

For the option: Do the following:

f(omega) Enter a function of the independent variable omega.

Phase Angle (deg) Enter the phase angle (in degrees).

Page 252: Using Adams/Vibration - MD Adams 2010

Adams/VibrationEntering File Names in Text Boxes

6

Entering File Names in Text BoxesTo enter file names in text boxes, you can do either of the following:

• Enter the file name directly in the text box.

• Clear the text box and then double-click to open a selection window.

• Right-click to either:

• Search a database

• Browse a database

Page 253: Using Adams/Vibration - MD Adams 2010

7AppendixEntering PSD Function

Entering PSD Function

For the option: Do the following:

Spline Name Enter the name of the spline for your actuator.

Interpolation Type Enter the type of interpolation to use with your PSD actuator. Select one of the following:

• akima

• cspline

• cubic

• linear

Phase Angle (deg) Enter the phase angle (in degrees).

If you're modifying an existing input channel, Adams/Vibration displays the following option:

Cross Correlation Select if you want to specify cross correlation options. Opens the PSD Cross Correlation dialog box.

Page 254: Using Adams/Vibration - MD Adams 2010

Adams/VibrationEntering Rotating Mass

8

Entering Rotating Mass

For the option: Do the following:

Force/Moment Select one of the following:

• Force

• Moment

Leading/Lagging Select one of the following:

• Leading

• Lagging

Mass Enter the unbalanced mass.

Radial Offset (in plane) Enter the radial distance of the unbalanced mass from the axis of rotation.

Page 255: Using Adams/Vibration - MD Adams 2010

9AppendixEntering Swept Sine Function

Entering Swept Sine Function

For the option: Do the following:

Force Magnitude Enter the force magnitude.

Phase Angle (deg) Enter the phase angle (in degrees).

Page 256: Using Adams/Vibration - MD Adams 2010

Adams/VibrationEntering Object Names in Text Boxes

10

Entering Object Names in Text BoxesTo enter object names in text boxes, you can do either of the following:

• Enter the object name directly in the text box.

• Clear the text box and then double-click to open the Database Navigator.

• Right-click to either:

• Pick an object shown on the screen.

• Browse a complete list of available objects.

• Choose from a product-generated list of guesses.

Page 257: Using Adams/Vibration - MD Adams 2010

11AppendixExample: Freq. Resp. Magnitude of sums: 1 Input, Multiple Outputs

Example: Freq. Resp. Magnitude of sums: 1 Input, Multiple OutputsInput channel= IC1Output channels = OC1, OC2, OC3

• Frequency response curves are computed for IC1/OC1, IC1/OC2, IC1/OC3

• Maximum is computed for each curve: IC1/OC1 ->max1, IC1/OC2->max2, IC1/OC3->max3

• Maximum values are summed: sum = max1+max2+max3

Page 258: Using Adams/Vibration - MD Adams 2010

Adams/VibrationExample: Freq. Resp. Magnitude of sums: All Inputs, Multiple Outputs

12

Example: Freq. Resp. Magnitude of sums: All Inputs, Multiple OutputsOutput channels = OC1, OC2, OC3

• Frequency response curves are computed for ALL Input Channels/OC1, ALL Input Channels/OC2, ALL Input Channels/OC3

• Maximum is computed for each curve: ALL Input Channels/OC1 ->max1, ALL Input Channels/OC2->max2, ALL Input Channels/OC3->max3

• Maximum values are summed: sum = max1+max2+max3

Page 259: Using Adams/Vibration - MD Adams 2010

13AppendixExample: Freq. Response Area: 1 Input, Multiple Outputs

Example: Freq. Response Area: 1 Input, Multiple OutputsInput channel = IC1Output channels = OC1, OC2, OC3

• Frequency response curves are computed for IC1/OC1, IC1/OC2, IC1/OC3

• Area beneath each curve is computed (that is, the curve is integrated): IC1/OC1 ->area1, IC1/OC2->area2, IC1/OC3->area3

• Areas are summed: sum = area1+area2+area3

Page 260: Using Adams/Vibration - MD Adams 2010

Adams/VibrationExample: Freq. Response Area: All Inputs, Multiple Outputs

14

Example: Freq. Response Area: All Inputs, Multiple OutputsOutput channels = OC1, OC2, OC3

• Frequency response curves are computed for ALL Input Channels/OC1, ALL Input Channels/OC2, ALL Input Channels/OC3

• Area beneath each curve is computed (that is, the curve is integrated): ALL Input Channels/OC1 ->area1, ALL Input Channels/OC2->area2, ALL Input Channels/OC3->area3

• Areas are summed: sum = area1+area2+area3

Page 261: Using Adams/Vibration - MD Adams 2010

15AppendixFlexible Body Modes

Flexible Body ModesComponent modes produced by an FEA simulation, such as NASTRAN or ANSYS.

Page 262: Using Adams/Vibration - MD Adams 2010

Adams/VibrationForced Vibration Analysis

16

Forced Vibration AnalysisAn analysis that uses a list of omegas, vibration actuators, and a generalized linear solution to produce two tables: Modal Coordinates and Frequency Responses.

Page 263: Using Adams/Vibration - MD Adams 2010

17AppendixFrequency

FrequencyThe rate of oscillation of harmonic motion.

Page 264: Using Adams/Vibration - MD Adams 2010

Adams/VibrationFrequency Domain (FD) Damper

18

Frequency Domain (FD) DamperAll FD modeling elements are derived from the following representation:

• General: All K and C s are non-zero

• Pfeffer: C1=0; K2=0

• Simple FD: C1=0; C2=0; K3=0

• Simple FD-Bushing: C1=0; K1=0; C2=0

Page 265: Using Adams/Vibration - MD Adams 2010

19AppendixInclude or exclude modes

Include or exclude modes

To include a mode in the analysis:

1. Highlight the mode number you want to include.

2. Select Include Selected Modes.The modes selected have a number in the Use column, indicating that they're included in the analysis.

To exclude a mode from the analysis:

1. Highlight the mode number you want to exclude.

2. Select Exclude Selected Modes.The modes excluded no longer have a number in the Use column, indicating that they're not included in the analysis.

Note: You can hold down the <Ctrl> key as you click to select multiple nodes.

Note: You can hold down the <Ctrl> key as you click to select multiple modes.

Page 266: Using Adams/Vibration - MD Adams 2010

Adams/VibrationInput Channel

20

Input ChannelA driver in the model, providing stimulus for the vibrational analysis.

Page 267: Using Adams/Vibration - MD Adams 2010

21AppendixLinear System Modes

Linear System ModesSee Normal Modes.

Page 268: Using Adams/Vibration - MD Adams 2010

Adams/VibrationModal Participation Factor

22

Modal Participation FactorDescribes a particular mode's contribution to the overall vibrational behavior of a system at a given omega.

Page 269: Using Adams/Vibration - MD Adams 2010

23AppendixNatural Modes

Natural ModesSee Normal Modes.

Page 270: Using Adams/Vibration - MD Adams 2010

Adams/VibrationNormal Mode

24

Normal ModeA frequency at which a given system resonates in a particular way.

Page 271: Using Adams/Vibration - MD Adams 2010

25AppendixNormal Mode Number

Normal Mode NumberThe index of the Normal Mode.

Page 272: Using Adams/Vibration - MD Adams 2010

Adams/VibrationNormal Mode Shape

26

Normal Mode ShapeThe displacements and rotations of a system component resulting from excitation at that normal mode's frequency.

Page 273: Using Adams/Vibration - MD Adams 2010

27AppendixNormal Modes

Normal ModesThe modes that Adams/Vibration produces. Often called principle modes or linear system modes in structural dynamics texts. Normal modes are the results of an eigensolution. This is to differentiate them from component modes that can be computed by other means.

Page 274: Using Adams/Vibration - MD Adams 2010

Adams/VibrationNumber of Modes

28

Number of ModesIf you do not specify the number of modes you want to compute, Adams/Vibration automatically chooses a suitable number of modes based on the model size.

Page 275: Using Adams/Vibration - MD Adams 2010

29AppendixOperating Point

Operating PointA point at which Adams linearizes a model. Because, traditionally, Adams models involve nonlinear elements, you need to specify an operating point. To have an appropriate operating point, your system must meet the following two conditions:

• It must have more than one degree of freedom, so that it is capable of oscillation.

• The Jacobian matrix for the system must be time invariant.

Page 276: Using Adams/Vibration - MD Adams 2010

Adams/VibrationOutput Channel

30

Output ChannelInstrumentation on the model that records some quantity of interest.

Page 277: Using Adams/Vibration - MD Adams 2010

31AppendixPrinciple Modes

Principle ModesSee Normal Modes.

Page 278: Using Adams/Vibration - MD Adams 2010

Adams/VibrationResonance

32

ResonanceA condition where the vibration actuator drives the normal mode of the system.

Page 279: Using Adams/Vibration - MD Adams 2010

33AppendixRigid Body Mode

Rigid Body ModeA mode where the frequency is zero.

Page 280: Using Adams/Vibration - MD Adams 2010

Adams/VibrationSteady State Solution

34

Steady State SolutionSee Forced Vibration Analysis.

Page 281: Using Adams/Vibration - MD Adams 2010

35AppendixTo access the Create/Modify Vibration Actuator dialog box

To access the Create/Modify Vibration Actuator dialog box

1. From the Vibration menu, point to Build, point to Input Channel, and then select New or Modify.

It does not matter which option you select.

2. Using the pull-down menu in the dialog box, select Use Existing Actuator.

3. Perform one of the following:

• To modify an existing actuator, right-click in the Vibration Actuator Name text box, point to the actuator name, and then select Modify.

• To create a new actuator, right-click in the Vibration Actuator Name text box, point to Vibration_Actuator, and then select Create.

4. Refer to Create/Modify Vibration Actuators for information on how to complete the Create/Modify Vibration Actuator dialog box.

Page 282: Using Adams/Vibration - MD Adams 2010

Adams/VibrationTo access the Create/Modify Vibration Actuator dialog box

36