Using Adams/Vibration - MD Adams 2010
Using Adams/Vibration - MD Adams 2010
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.
Adams/Vibration Process
Using 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.
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.
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/Vibration
To start Adams/Vibration, you must first start Adams/View (or one of the Adams vertical products), and
then load the Adams/Vibration plugin.
• 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.
Building Your Model
FD Dampers
When 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
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 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 Channels
Input 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
8 Adams/Vibration
Building Your Model
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.
• 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 Channels
Output 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.
Note: Measures are not fully supported. To avoid syntactical warnings or errors, be sure to enter
the run-time function directly.
3. Select OK.
Vibration Actuators
Vibration 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
Note: You cannot combine vibration actuators of the non-PSD-type with PSD-type vibration
actuators in the same vibration analysis.
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.
2
f = m r
where:
• is the frequency
• f is the unbalanced mass forcing function
• m is the unbalanced mass
11
Building 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.
2
t = m r d
where:
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.
12 Adams/Vibration
Building Your Model
f = F cos + j sin
where:
User-Defined Function
You can define any function of the independent variable omega:
f = g
where:
• is the frequency
• g is the general function of omega
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.
Testing Your Model
28 Adams/Vibration
Analyses and Scripts
Note: You cannot combine vibration actuators of the non-PSD-type with PSD-type vibration
actuators in the same vibration analysis.
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
ys
H s = ---------- = C sI – A –1 B + D
us
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:
y s = H s u s
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:
x s = sI – A – 1 Bu s
30 Adams/Vibration
Analyses and Scripts
p s = H s U s H s
where:
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:
U 1 s U 12 s
Us =
U 21 s U 2 s
where:
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:
ys
H s = ---------- = C sI – A –1 B + D
us
where:
Python Examples
Your 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.
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-:
#
######################################################################
Modules
msc.Adams.Vibration.libAvAPIc os struct types
libsip re sys
math string traceback
Functions
Actuator(self, ActInfo)
Data
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
MEStartMode = -1
MEStrainEnergy = 0
__author__ =
__date__ = '11 Dec. 2003'
__file__ = './Actuator.pyc'
Testing Your Model 35
Classes
__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-:
#
#############################################################################
Modules
fileinput libsip string traceback
msc.Adams.Vibration.libAvAPIc os sys
msc.Adams.Vibration.libAvASOLc re tempfile
Classes
Av2Nastran
AvBdfFile
AvBdfFileEigen
AvBdfFileFrf
AvRes2Nastran
AvStates
MKC
class Av2Nastran
Create a linear system model from an Adams non-linear system.
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, C
onList, sName):
class AvBdfFile
class AvBdfFileEigen(AvBdfFile)
class AvBdfFileFrf(AvBdfFile)
class AvRes2Nastran
Create a linear system model from an Adams non-linear system.
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)
#
###############################################################
#########################
40 Adams/Vibration
Classes
class MKC
Functions
Adm2NasMessage(level, msg)
HandleStep(Type, EventInput=0, EventOutput=0)
PrintEigen(Mat)
PrintPatern(lab, mat)
PrintSubSystem(A, B, C, D, S)
Data
MEDissipativeEnergy = 0
Testing Your Model 41
Classes
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
MEStartMode = -1
MEStrainEnergy = 0
__author__ =
__date__ = '1 Sept. 2004'
__file__ = './Av2Nastran.py'
__name__ = 'Av2Nastran'
AvActuator
This the entry point for the Actuators
Modules
msc.Adams.Vibration.libAvAPIc os struct types
libsip re sys
Classes
AvActuator
AvActuatorPSDFunction
AvActuatorRotatingMass
AvActuatorSweptSine
AvActuatorUserFunction
class AvActuator
class AvActuatorPSDFunction(AvActuator)
class AvActuatorRotatingMass(AvActuator)
class AvActuatorSweptSine(AvActuator)
Methods defined here:
Actuator(self)
WritePy(self, oFile, space)
WriteXML(self, oFile, space)
Swept sine
__init__(self, Name, Type, Mag, Phase)
class AvActuatorUserFunction(AvActuator)
Data
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
Testing Your Model 45
Classes
MEKineticEnergy = 0
MENormalizedCoordinates = 0
MEStartMode = -1
MEStrainEnergy = 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:
46 Adams/Vibration
Classes
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
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 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:
Testing Your Model 47
Classes
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 for
the plant input
int DiffID()
Get the ADAMS ID to assign to the next DIFF
Returns: int - ADAMS ID of the DIFF
Parameters: None
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 marker
Returns: int - the id of the node
Parameters:
Marker - ADAMS_OBJECT database object to get the id fromlist
DependList(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:
50 Adams/Vibration
Classes
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
void Delete(k_obj)
Delete an object from the database
Returns: None
Parameters:
k_obj - key to the object to be removed
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,
52 Adams/Vibration
Classes
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 -
Testing Your Model 53
Classes
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)
54 Adams/Vibration
Classes
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
Testing Your Model 55
Classes
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
56 Adams/Vibration
Classes
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
Testing Your Model 57
Classes
Parameters:
intnRow- Number of rows of data
list of double or complex vals - Data values 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)
58 Adams/Vibration
Classes
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
Testing Your Model 59
Classes
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
60 Adams/Vibration
Classes
AvAPI_SystemSS Class
Constructor:
AvAPI_SystemSS(Time, A, B, C, D, actuatorList)
Constructor for a state space linear system
Returns: Object
62 Adams/Vibration
Classes
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
Testing Your Model 63
Classes
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)
Testing Your Model 65
Classes
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
66 Adams/Vibration
Classes
Parameters: None
AvBuild
This the entry point for Vibration Build
Modules
msc.Adams.Vibration.libAvAMDc libsip string traceback
msc.Adams.Vibration.Plotting.libVibPlotc os sys
libqtc re tempfile
Classes
AvBuild
AvBuildActuator
AvBuildFDElement
AvBuildFDInstance
AvBuildInputChannel
AvBuildOutputChannel
AvBuildPlot
AvBuildTest
class AvBuild
class AvBuildActuator
class AvBuildFDElement
class AvBuildFDInstance
class AvBuildInputChannel
class AvBuildOutputChannel
class AvBuildPlot
class AvBuildTest
Functions
bitBlt(...)
qAlpha(...)
qAppName(...)
qBlue(...)
qDrawPlainRect(...)
qDrawShadeLine(...)
qDrawShadePanel(...)
qDrawShadeRect(...)
qDrawWinButton(...)
qDrawWinPanel(...)
qGray(...)
qGreen(...)
qRed(...)
qRgb(...)
qRgba(...)
qVersion(...)
qt_xdisplay(...)
qt_xrootwin(...)
Testing Your Model 71
Classes
qt_xscreen(...)
Data
IO_AbortError = 6
IO_Append = 4
IO_Async = 128
IO_Combined = 768
IO_ConnectError = 5
IO_Direct = 256
IO_FatalError = 3
IO_ModeMask = 255
IO_Ok = 0
IO_Open = 4096
IO_OpenError = 5
IO_Raw = 64
IO_ReadError = 1
IO_ReadOnly = 1
IO_ReadWrite = 3
IO_ResourceError = 4
IO_Sequential = 512
IO_StateMask = 61440
IO_TimeOutError = 7
IO_Translate = 16
IO_Truncate = 8
IO_TypeMask = 3840
IO_UnspecifiedError = 8
IO_WriteError = 2
IO_WriteOnly = 2
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
MEStartMode = -1
MEStrainEnergy = 0
PYQT_BUILD = 34
PYQT_VERSION = '3.3'
QCOORD_MAX = 2147483647
QCOORD_MIN = -2147483648
QT_VERSION = 304
QT_VERSION_STR = '3.0.4'
__file__ = './AvBuild.pyc'
__name__ = 'AvBuild'
qApp = <qt.QApplication instance>
72 Adams/Vibration
Classes
AvFDElement
This the entry point for the FD Element
Modules
msc.Adams.Vibration.libAvAPIc os struct types
libsip re sys
Classes
AvFDElement
class AvFDElement
Data
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
MEStartMode = -1
MEStrainEnergy = 0
__file__ = './AvFDElement.pyc'
__name__ = 'AvFDElement'
AvFDInstance
This the entry point for the FD Instance
Modules
msc.Adams.Vibration.libAvAMDc math string traceback
libsip re sys
Classes
AvFDInstance
class AvFDInstance
Data
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
MEStartMode = -1
MEStrainEnergy = 0
__file__ = './AvFDInstance.pyc'
__name__ = 'AvFDInstance'
AvFreqRespSol
The entry point for the Adams/Vibration Mechanical Transfer functions
Modules
msc.Adams.Vibration.libAvAMDc math string tempfile
Classes
AvMTF
Sol
class AvMTF
Adams/Vibration class for computing mechanical transfer functions
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 fu
nction
@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)
class Sol
Model(self)
OutChLst(self)
PlotLegend(self)
Resp(self)
Response(self)
Results(self)
VarName(self)
__del__(self)
__init__(self)
Data
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
MEStartMode = -1
MEStrainEnergy = 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-:
#
Testing Your Model 77
Classes
#############################################################################
Modules
os string sys
Classes
AvHelp
class AvHelp
Data
__author__ =
__date__ = '1 Sept. 2002'
__file__ = './AvHelp.pyc'
__name__ = 'AvHelp'
AvInputChannel
The entry point for the Adams/Vibration Input Channel
Modules
msc.Adams.Vibration.libAvAPIc math re sys
libsip os string
Classes
AvInputChannel
AvInputChannelMarker
AvInputChannelStateVariable
78 Adams/Vibration
Classes
class AvInputChannel
Adams/Vibration Input Channel Base Class
class AvInputChannelMarker(AvInputChannel)
Marker Input Channel
class AvInputChannelStateVariable(AvInputChannel)
State Variable Input Channel
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 os struct types
libsip re sys
Functions
InputChannel(ChName, MrkInfo, ActObj)
OutputChannel(ChName, MrkInfo)
Data
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
MEStartMode = -1
MEStrainEnergy = 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-:
#
#############################################################################
Modules
msc.Adams.Vibration.libAvAPIc os struct types
libsip re sys
Classes
AvLinearize
class AvLinearize
Create a linear system model from an ADAMS non-linear system.
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
Data
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
Testing Your Model 85
Classes
MEStartMode = -1
MEStrainEnergy = 0
__author__ =
__date__ = '1 Sept. 2002'
__file__ = './AvLinearize.pyc'
__name__ = 'AvLinearize'
AvMarkerSpec
The entry point for the Adams/Vibration Marker specification
Modules
msc.Adams.Vibration.libAvAPIc math re sys
libsip os string
Classes
AvMarkerSpec
class AvMarkerSpec
Adams/Vibration class for specifying marker info
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
86 Adams/Vibration
Classes
Data
__author__ =
__date__ = '11 Dec. 2003'
__file__ = './AvMarkerSpec.pyc'
__name__ = 'AvMarkerSpec'
AvMechTFs
Modules
msc.Adams.Vibration.libAvAMDc math string tempfile
Functions
CreateModel(BaseName, FreqRange, iDir, oDir)
Testing Your Model 87
Classes
DoVibrAnalysis(Ac, modl)
GetActionList(Ac)
RegisterAnalysis(AnaObj)
message_handler(msg, type, data)
Message handler for vibration
Data
AcList = []
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
MEStartMode = -1
MEStrainEnergy = 0
__file__ = './AvMechTFs.pyc'
__name__ = 'AvMechTFs'
AvMTF
The entry point for the Adams/Vibration Mechanical Transfer functions
Modules
msc.Adams.Vibration.libAvAMDc math string tempfile
Classes
msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol
Accelerance
Compliance
DynamicInertia
DynamicStiffness
ForceTransmissibility
Impedence
Mobility
MotionTransmissibility
88 Adams/Vibration
Classes
class Accelerance(msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol)
# Accelerance
class Compliance
(href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol)
# Compliance
class DynamicInertia
(href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol)
# Dynamic Inertia
class DynamicStiffness
(href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol)
# Dynamic Stiffness
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
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
__del__(self)
class Mobility
(href="avfreqrespsol.html#Sol">msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol)
# Mobility
class MotionTransmissibility
(href="avfreqrespsol.html#Sol"> Adams/Vibration.InstrumentPacks.AvFreqRespSol.Sol)
# Motion Transmissiblity
94 Adams/Vibration
Classes
Data
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
MEStartMode = -1
MEStrainEnergy = 0
__author__ =
__date__ = '11 Dec. 2003'
__file__ = './AvMTF.pyc'
__name__ = 'AvMTF'
Testing Your Model 95
Classes
AvNibble
Modules
copy math struct types
msc.Adams.Vibration.libAvAMDc os sys
msc.Adams.Vibration.libAvAPIc re tempfile
Classes
msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol
Nibble
class Nibble(msc.Adams.Vibration.InstrumentPacks.AvFreqRespSol.Sol)
Results(self)
VarName(self)
__del__(self)
Data
AcList = []
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
MEStartMode = -1
MEStrainEnergy = 0
__file__ = './AvNibble.pyc'
__name__ = 'AvNibble'
AvOutputChannel
This the entry point for the Output Cannel Property Editor
Modules
msc.Adams.Vibration.libAvAPIc math re sys
libsip os string
Classes
AvOutputChannel
AvOutputChannelCompliance
AvOutputChannelPredefined
AvOutputChannelUser
class AvOutputChannel
Adams/Vibration Output Channel Base Class
class AvOutputChannelCompliance(AvOutputChannel)
Adams/Vibration Predefined Output Channel
class AvOutputChannelPredefined(AvOutputChannel)
Adams/Vibration Predefined Output Channel
class AvOutputChannelUser(AvOutputChannel)
Adams/Vibration User Output Channel
Data
__author__ =
__date__ = '1 Sept. 2002'
__file__ = './AvOutputChannel.pyc'
__name__ = 'AvOutputChannel'
AvPPTCmdExporter
The entry point for the Adams/Vibration PPT interface
Modules
msc.Adams.Vibration.libAvAMDc math string tempfile
Classes
VibPPTCmdExporter
class VibPPTCmdExporter
Write .cmd file to create a vibration model in PPT
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
Testing Your Model 101
Classes
Functions
psdFunc(argList, w)
User function used to test this module
Data
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
MEStartMode = -1
MEStrainEnergy = 0
__author__ =
__date__ = '29 Oct. 2002'
__file__ = './AvPPTCmdExporter.pyc'
__name__ = 'AvPPTCmdExporter'
AvResFileWrite
Modules
msc.Adams.Vibration.libAvAMDc math string tempfile
Classes
XRFWrite
class XRFWrite
Functions
CallerName(TstName)
SetName(Name)
message_handler(msg, type, data)
Message handler for vibration
Data
AcList = []
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
MEStartMode = -1
MEStrainEnergy = 0
__file__ = './AvResFileWrite.pyc'
__name__ = 'AvResFileWrite'
AvReview
This the entry point for Vibration Build
Modules
msc.Adams.Vibration.libAvAMDc libsip string traceback
msc.Adams.Vibration.Plotting.libVibPlotc os sys
libqtc re tempfile
104 Adams/Vibration
Classes
Classes
AvReview
class AvReview
Functions
bitBlt(...)
qAlpha(...)
qAppName(...)
qBlue(...)
qDrawPlainRect(...)
qDrawShadeLine(...)
qDrawShadePanel(...)
qDrawShadeRect(...)
qDrawWinButton(...)
qDrawWinPanel(...)
qGray(...)
qGreen(...)
qRed(...)
qRgb(...)
qRgba(...)
qVersion(...)
qt_xdisplay(...)
qt_xrootwin(...)
Testing Your Model 105
Classes
qt_xscreen(...)
Data
IO_AbortError = 6
IO_Append = 4
IO_Async = 128
IO_Combined = 768
IO_ConnectError = 5
IO_Direct = 256
IO_FatalError = 3
IO_ModeMask = 255
IO_Ok = 0
IO_Open = 4096
IO_OpenError = 5
IO_Raw = 64
IO_ReadError = 1
IO_ReadOnly = 1
IO_ReadWrite = 3
IO_ResourceError = 4
IO_Sequential = 512
IO_StateMask = 61440
IO_TimeOutError = 7
IO_Translate = 16
IO_Truncate = 8
IO_TypeMask = 3840
IO_UnspecifiedError = 8
IO_WriteError = 2
IO_WriteOnly = 2
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
MEStartMode = -1
MEStrainEnergy = 0
PYQT_BUILD = 34
PYQT_VERSION = '3.3'
QCOORD_MAX = 2147483647
QCOORD_MIN = -2147483648
QT_VERSION = 304
QT_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
#
106 Adams/Vibration
Classes
Modules
msc.Adams.Vibration.libAvAMDc math string tempfile
Classes
AvSuspension
class AvSuspension
Adams/Vibration Suspension Class
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)
Data
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
MEStartMode = -1
MEStrainEnergy = 0
__file__ = './AvSuspension.pyc'
__name__ = 'AvSuspension'
108 Adams/Vibration
Classes
AvTest
This the entry point for Vibration Build
Modules
msc.Adams.Vibration.libAvAMDc libsip string traceback
msc.Adams.Vibration.Plotting.libVibPlotc os sys
libqtc re tempfile
Classes
AvTest
class AvTest
Functions
bitBlt(...)
qAlpha(...)
qAppName(...)
qBlue(...)
qDrawPlainRect(...)
Testing Your Model 109
Classes
qDrawShadeLine(...)
qDrawShadePanel(...)
qDrawShadeRect(...)
qDrawWinButton(...)
qDrawWinPanel(...)
qGray(...)
qGreen(...)
qRed(...)
qRgb(...)
qRgba(...)
qVersion(...)
qt_xdisplay(...)
qt_xrootwin(...)
qt_xscreen(...)
Data
IO_AbortError = 6
IO_Append = 4
IO_Async = 128
IO_Combined = 768
IO_ConnectError = 5
IO_Direct = 256
IO_FatalError = 3
IO_ModeMask = 255
IO_Ok = 0
IO_Open = 4096
IO_OpenError = 5
IO_Raw = 64
IO_ReadError = 1
IO_ReadOnly = 1
IO_ReadWrite = 3
IO_ResourceError = 4
IO_Sequential = 512
IO_StateMask = 61440
IO_TimeOutError = 7
IO_Translate = 16
IO_Truncate = 8
IO_TypeMask = 3840
IO_UnspecifiedError = 8
IO_WriteError = 2
IO_WriteOnly = 2
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
110 Adams/Vibration
Classes
MEStartMode = -1
MEStrainEnergy = 0
PYQT_BUILD = 34
PYQT_VERSION = '3.3'
QCOORD_MAX = 2147483647
QCOORD_MIN = -2147483648
QT_VERSION = 304
QT_VERSION_STR = '3.0.4'
__file__ = './AvTest.pyc'
__name__ = 'AvTest'
qApp = <qt.QApplication instance>
void SetTitle(Title)
Set the main title for the plot
Returns: None
Parameters:
string Title: Title for plot
Testing Your Model 111
Classes
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
LINEAR,
LOGARITHMIC,
DB
};
enum eSymbol
{
NONE,
CIRCLE,
SQUARE,
DIAMOND,
TRIANGLE,
UTRIANGLE,
LTRIANGLE,
RTRIANGLE,
CROSS,
XCROSS,
HLINE,
VLINE
};
void SetGridMajorXPen(Pen)
Set the color and style used for the Major grid lines
Testing Your Model 113
Classes
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 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
116 Adams/Vibration
Classes
Returns: None
Parameters:
unsigned int cid: curve id
Parameters:
unsigned int cid: curve id
int Size: size in pixels for the symbol
void clear()
Clear the plot
Returns: None
Parameters: None
Constructors:
VibPlot2D()
Constructor
Returns: object
Parameters: None
118 Adams/Vibration
Classes
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
Parameters:
unsigned int Sid: surface id
QColor Color: color to use
Parameters:
AvAPI_Matrix Mat2D: control points (x, y, z)
int order: order to use
AvAPI_Matrix Knot: knot vector
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
122 Adams/Vibration
Utility Functions
Utility Functions
AvUtils
The entry point for the Adams/Vibration Input Channel
Modules
msc.Adams.Vibration.libAvAPIc math string sys
libsip os struct traceback
Classes
AvModalEnergy
class AvModalEnergy
Functions
AvDacFileToMatrix(filename, nPts)
AvDatFileToMatrix(filename, nPts)
AvFFTDataActuator(argList, w)
AvMakeFrequency(start, end, steps, spaceLog)
Testing Your Model 123
Utility Functions
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
124 Adams/Vibration
Utility Functions
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)
Testing Your Model 125
Utility Functions
Data
MEDissipativeEnergy = 0
MEEndMode = -99
MEHeader = 0
MEKineticEnergy = 0
MENormalizedCoordinates = 0
MEStartMode = -1
MEStrainEnergy = 0
__author__ =
__date__ = '1 Dec. 2002'
__file__ = './AvUtils.pyc'
__name__ = 'AvUtils'
126 Adams/Vibration
Utility Functions
Reviewing Your Model
Importing Vibration Results
You 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.
Displaying Eigenvalues
The 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.
Note: You can display the same modal information from Adams/PostProcessor by selecting the
Modal Info button in the dashboard.
128 Adams/Vibration
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.
130 Adams/Vibration
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.
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.
• 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.
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).
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
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.
• 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.
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.
Adams/Vibration Theory
142 Adams/Vibration
Introduction to Adams/Vibration
Introduction to Adams/Vibration
Using 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.
Adams/Vibration Theory 143
Linearization in Adams/Vibration
Linearization in Adams/Vibration
Nonlinear Adams models are represented by implicit equations of the form:
G z· z t = 0 (6-1)
where:
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:
x· = Ax + Bu
(6-2)
y = Cx + Du
where:
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:
x· = Ax (6-3)
Representing the solution to (6-3) as:
144 Adams/Vibration
Linearization in Adams/Vibration
i
i t
xt = e
where:
• = ith eigenvector
• = ith eigenvalue
Substituting in (6-3) gives:
i i i
A = (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],
Λ 0
*
0 Λ
Φ Φ*
Q * *
ΦΛ Φ Λ (6-5)
where:
i 2
– + i 1 – = r + i i
i i i i i
i i 2 i 2
• = r + i , the ith natural frequency.
i i i
• = –r
• * indicates the complex conjugate
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.
Forced-Response Analysis
Inputs 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
(6-7)
(6-8)
146 Adams/Vibration
Linearization in Adams/Vibration
where:
• Ζ = Matrix of eigenvectors
qs
• = Array of modal coordinates
(6-9)
(6-10)
where:
–1
• A m = Z AZ
–1
• Bm = Z B
• C m = CZ
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:
Adams/Vibration Theory 147
Linearization in Adams/Vibration
Note: Due to this constraint, the frequency response peaks may be shifted from the frequencies
of the normal modes of the model.
Vibration Actuators
A 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.
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.
Force Type
The force rotating mass actuator is represented by two actuators. The Leading and Lagging actuators are
represented as:
where:
• 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:
where:
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
Adams/Vibration Theory 151
Modeling 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 Analyses
Adams/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.
(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)
(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:
154 Adams/Vibration
Vibration Analyses
(5)
Where, r is ‘natural frequency’ and r 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 r 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)
H
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,
Adams/Vibration Theory 155
Vibration 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:
• 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.
Adams/Vibration Theory 157
Vibration Analyses
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.
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:
•
Ρ ( si ) = Vector of vibration actuators evaluated at s
i
• H(si)= Transfer function as defined in (6-11), evaluated at si
• n = Number of steps in the frequency range
Transfer Function
The transfer function plot is computed from (1) with unit inputs applied at all input channels. For this plot
the vibration actuator definition is ignored.
(2)
where:
Pout si
• = Output PSD
Pin si
• = Matrix input PSD
H ( si ) = Transfer function
•
H H si H ( si )
• = Hermitiam transpose of
For multiple PSD input channels:
When plotting PSD response, input channels with actuators of type PSD cannot be mixed with actuators
of force type in one vibration analysis.
Modal Coordinates
The plots of modal coordinates identify the response of coordinates corresponding to modes of the model.
They are computed as:
(4)
where:
Mc s
• = Vector of modal coordinates for the model
160 Adams/Vibration
Vibration Analyses
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.
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.
Adams/Vibration Theory 161
Vibration Analyses
Modal Participation
While 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.
(1)
where:
M p s
• = vector of modal participations
From equation , the modal kinetic energy of ith mode can be calculated as
(2)
where:
•
i ith column mode shape vector of system mode shape matrix Φ
(3)
where:
•
ζ ij ith column vector of matrix Ψ j , which is condensed mode shape matrix from system
1
K1j mζ ij (1)* ζij (1)
2
1
K 2j mζ ij (2)* ζ ij (2)
2
1
K 3j mζ ij (3)* ζij (3)
2 (4)
Adams/Vibration Theory 163
Vibration Analyses
1 j *
K 4j ζ (4) I xx ζ ij (4)
2 i
1
K 5j ζ ij (5)* I yy ζ ij (5)
2
1
K 6j ζ ij (6)* I zz ζ ij (6)
2 (5)
(7)
Total kinetic energy for mode i can then be computed as,
n
i i j
j 1
(8)
where:
•
i = Total kinetic energy of mode i
•
i j 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)
164 Adams/Vibration
Vibration Analyses
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:
Ti j
• = 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.
Adams/Vibration Theory 165
Vibration Analyses
(11)
where:
p
• i = Strain energy in complaint element p for mode i
Κp
• = Matrix of size equal to model stiffness matrix, with all zero entries except stiffness matrix
entries contributed by compliant element p.
166 Adams/Vibration
Vibration Analyses
p
100 i
S pi m
p 1
p
i
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 Recovery
With 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 ( q ) 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
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.
168 Adams/Vibration
Performing Acoustic Pressure Recovery
2 T ad ams
= – Z 2 a (15)
f s
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.
f
p = f (16)
f
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:
·· c ·c c ·· adams
ms 0 s + bs 0 s + ks a s = m ·· adams + b + k s sadams
·· c · c c s s s (17)
T
– a mf 0 bf 0 kf f s
f f 0
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.
c
s = C adams
s
–1
C + I – 2 + Z1 a Z2 aT (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.
170 Adams/Vibration
Acoustic Pressure Recovery Theory
c T
f = – 2 Z 2 a C sadams (19)
By knowing right hand side vector for every frequency step from Adams, the above equation can be
solved for fc . From here, acoustic pressure {p} can be recovered using following equation.
p = f fc (20)
Adams/Vibration Theory 171
Adams/Vibration References
Adams/Vibration References
1. 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).
172 Adams/Vibration
Adams/Vibration References
Adams2Nastran 1
Adams2Nastran
2 Adams/Vibration
Introduction
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.
Adams2Nastran 3
Introduction
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.
M x· = KB x + P u
(1)
y = Cx+Du
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
4 Adams/Vibration
Introduction
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.
I 0 0 x· 0 0 –I x 0
· p p
0 bs mu x s + k u ks bu x s = 0
(2)
·· · f p
0 bv mp x p kp kv bp x p
f p = P f m , x· m = C x p (3)
where:
M x·· + B x· + K x = f (4)
mp 0 x·· bp bv x· kp kv x
··p + · p + p = f p(5)
mu 0 x s bu bs x s ku ks x s 0
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.
t
fm = C fm , xm = C xp (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.
Adams2Nastran 5
A2N Input Channel
* -1.582453600D-16-1.010000000D+02 3.000000000D+02-1.582453600D-16
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.
• 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 201
RLOAD1 201 301 401 501
FORCE* 301 1000 1000 1.000000000E+00
* 0.000000000E+00 1.000000000E+00 0.000000000E+00
DPHASE* 401 1000 2 0.000000000E+00
*
TABLED1 501
* 1.000000000E+00 1.000000000E+00 1.000000000E+02 1.000000000E+00
* ENDT
6 Adams/Vibration
A2N Input Channel
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
Note: Deleting the A2N Input Channel doesn’t delete the corresponding A2N Output Channel on
the same marker.
Note: In correspondence of the A2N Input Channel an A2N Output Channel is automatically
created, if not already existing.
8 Adams/Vibration
A2N Output Channel
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.
* 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.......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
*
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+00
DMIG* 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-01
DMIG* 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
Adams2Nastran 13
Bdf 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.......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
DMIG* 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
14 Adams/Vibration
Bdf file format
* 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+03
ENDDATA
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
Adams2Nastran 15
Bdf file format
$......1.......2.......3.......4.......5.......6.......7......8.......9.....0
SOL 107
CEND
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
16 Adams/Vibration
Bdf file format
...................................................................
$......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
$ 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.......0
SOL 108
CEND
$
$ 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) = 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
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
*
$
$ SUBCASE 3
$
DLOAD 103 1.00 1.00 203 1.00 204
RLOAD1 203 303 403 501
18 Adams/Vibration
Bdf 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+00
DMIG* 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-01
DMIG* 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.......0
DMIG EXSTIF 0 1 2 0
DMIG* EXSTIF 10000 0
20 Adams/Vibration
Bdf file format
* 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+04
DMIG* 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
Adams2Nastran 21
Bdf 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.......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
MPC* 701 1000 3-1.000000000D+00
* 10001 0-9.999999777D-01
* 10002 0 2.087232730D-04
* 10003 0-3.117135775D-05
MPC* 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-09
MPC* 701 1001 2-1.000000000D+00
* 10000 0 1.117909315D+00
MPC* 701 1001 3-1.000000000D+00
* 10000 0 0.000000000D+00
MPC* 701 1001 4-1.000000000D+00
* 10000 0-6.665923255D-03
MPC* 701 1001 5-1.000000000D+00
* 10000 0-1.929473481D-11
MPC* 701 1001 6-1.000000000D+00
* 10000 0-1.910667665D-12
MPC* 701 1002 1-1.000000000D+00
* 10007 0 4.594834411D-09
MPC* 701 1002 2-1.000000000D+00
* 10007 0 1.202150689D+00
MPC* 701 1002 3-1.000000000D+00
* 10000 0 0.000000000D+00
MPC* 701 1002 4-1.000000000D+00
* 10007 0-6.668332228D-03
MPC* 701 1002 5-1.000000000D+00
* 10007 0 2.548755549D-11
MPC* 701 1002 6-1.000000000D+00
* 10007 0 2.749631148D-12
ENDDATA
Blocks description:
1. Header block: It has been included for information purposes.
It contains:
• date of creation
• name of the Adams model
22 Adams/Vibration
Bdf file format
• 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
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
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
Adams2Nastran 25
Bdf 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
26 Adams/Vibration
Bdf file format
* 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
Adams2Nastran 27
Symmetrization of Not Symmetric matrices
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/adm2nastran
Each 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.
1
Getting started using Adams/Vibration – Adams2Nastran feature
Overview
This 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
Select Fortran or Adams/Solver (C++) and Nastran output type (displacement, velocities, accelerations).
Overview
In 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:
4 Adams/Vibration
Getting started using Adams/Vibration – Adams2Nastran feature
Note: On Windows, you may need to set the permissions to Full Control to edit the tutorial files.
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.
Note: The Start in text box specifies the working directory that Adams/Vibration uses as the
default directory for reading and writing files.
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.
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.
Loading Adams/Vibration
Because 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.
8 Adams/Vibration
Getting started using Adams/Vibration – Adams2Nastran feature
Note: To automatically load Adams/Vibration each time Adams/View starts up, in the Plugin
Manager, select the Load at Startup checkbox.
Exporting the Mass, Stiffness and Damping Matrices to Nastran bdf file
Overview
In 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
12 Adams/Vibration
Getting started using Adams/Vibration – Adams2Nastran feature
Modal Analysis
A message window will be displayed, monitoring the performed analysis, as shown in Figure 8.
14 Adams/Vibration
Getting started using Adams/Vibration – Adams2Nastran feature
15
Getting started using Adams/Vibration – Adams2Nastran feature
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
16 Adams/Vibration
Getting started using Adams/Vibration – Adams2Nastran feature
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.
A message window will be displayed, monitoring the performed analysis and summarizing most
important data, as shown in Figure 10.
18 Adams/Vibration
Getting started using Adams/Vibration – Adams2Nastran feature
19
Getting 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.......0
PARAM WTMASS 1.000-3
PARAM POST 0
$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0
EIGC 101 HESS 30
$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0
SPOINT 10000 THRU 10014
SPCOFF1 0 10000 THRU 10014
$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0
DMIG EXMASS 0 1 2 0
DMIG* 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-14
DMIG* 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.......0
DMIG EXDAMP 0 1 2 0
DMIG* 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-13
DMIG* EXDAMP 10001 0
* 10000 0 5.366176655D-12
22 Adams/Vibration
Getting started using Adams/Vibration – Adams2Nastran feature
* 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.......0
DMIG EXSTIF 0 1 2 0
DMIG* 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-11
DMIG* 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
Blocks description:
$ 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.......0
SOL 108
CEND
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 1.00 202 1.00 203
1.00 204
RLOAD1 201 301 401 501
RLOAD1 202 302 402 501
RLOAD1 203 303 403 501
RLOAD1 204 304 404 501
FORCE* 301 1000 1000 1.000000000E+00
* 0.000000000E+00 0.000000000E+00 1.000000000E+00
FORCE* 302 1002 1002 1.000000000E+00
* 0.000000000E+00 0.000000000E+00 1.000000000E+00
FORCE* 303 1001 1001 1.000000000E+00
* 0.000000000E+00 0.000000000E+00 1.000000000E+00
FORCE* 304 1003 1003 1.000000000E+00
* 0.000000000E+00 0.000000000E+00 1.000000000E+00
DPHASE* 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
25
Getting 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.......0
SPOINT 10000 THRU 10014
SPCOFF1 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.......0
GRID 1000 1000 0.000 0.000 0.000 1000
GRID 1001 1001 0.000 0.000 0.000 1001
GRID 1002 1002 0.000 0.000 0.000 1002
GRID 1003 1003 0.000 0.000 0.000 1003
GRID 1004 1004 0.000 0.000 0.000 1004
$......1.......2.......3.......4.......5.......6.......7.......8.......9.......0
DMIG EXMASS 0 1 2 0
DMIG* 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-14
DMIG* 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.......0
DMIG EXDAMP 0 1 2 0
DMIG* EXDAMP 10000 0
* 10000 0 2.377423746D+00
* 10001 0 5.365084312D-12
* 10002 0-1.770614960D+00
26 Adams/Vibration
Getting started using Adams/Vibration – Adams2Nastran feature
* 10003 0-3.945918287D+00
* 10004 0-3.622418697D-13
* 10005 0 3.910387431D+00
* 10006 0-3.159796876D-13
DMIG* 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.......0
DMIG EXSTIF 0 1 2 0
DMIG* 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-11
DMIG* 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.......0
MPC* 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
27
Getting started using Adams/Vibration – Adams2Nastran feature
Overview
In 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/Vibration
MODE UNDAMPED NATURAL DAMPING
NUMBER FREQUENCY RATIO REAL IMAGINARY
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
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.
174 Adams/Vibration
Dialog Box - F1 Help 1
• Linear
• Logarithmic
Close Action Select one of the following:
Creates a macro capable of retrieving vibration-specific data. You can then use it when performing a
design study.
Creates a simulation Script that you can use during multi-run simulations (such as Design study, Design
of experiments (DOE), and so on).
• Plant State
• Reference Marker
Frequency Range/User- Select the type of frequency you want to use.
Specified Frequencies
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.
10 Adams/Vibration
Create Vibration Multi-Run Script
Create/Modify FD 3D Damper
Vibration -> Build -> FD 3D Damper -> New/Modify
• 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.
12 Adams/Vibration
Create/Modify FD Damper
Create/Modify FD Damper
Vibration -> Build -> FD Damper -> New/Modify
• 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.
Dialog Box - F1 Help 13
Create/Modify Vibration Actuators
• 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).
14 Adams/Vibration
Create/Modify Vibration Input Channel
Define the parameters for Input Channels. In these dialog boxes, you can also assign and modify vibration
actuators.
• 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:
Eigen Information
Vibration -> Review -> Display Eigenvalue Table
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.
Specifies options for computing modal energy during your vibration analysis.
Modal Information
Vibration -> Review -> Display Modal Info Table
Nodal Info
Tools > 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.
Creates and runs a vibration analysis (see Vibration Analysis Calculation Methods to learn more).
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 If you select this option, you can specify the modes for the Forced
Matrix Vibration Analysis.
Note: Changes made in text boxes that are grayed out are not included
in the subsequent analysis.
1
Create/Modify A2N Input Channel
Creates and executes a A2N MKB matrices export to Nastran. See Exporting MKB Matrices to Nastran.
• 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 Select to specify linear state options. This is only available if you are
(Valid Only with running Adams/Solver (C++).
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)..
4 Adams/Vibration
Adams to Nastran MKB export
Bode Plot
Plot of magnitude and phase response of a system for a unit sinusoid applied at an input channel and
measured at an output channel.
Appendix 3
Decibel
Decibel
A unit of measurement for attenuation or amplification of a signal, given as 20*log (input/output).
4 Adams/Vibration
Eigensolution
Eigensolution
An 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.
Appendix 5
Entering a User-Defined function
• 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.
8 Adams/Vibration
Entering Rotating Mass
• 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.
Appendix 9
Entering Swept Sine Function
Frequency
The rate of oscillation of harmonic motion.
18 Adams/Vibration
Frequency Domain (FD) Damper
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.
Input Channel
A driver in the model, providing stimulus for the vibrational analysis.
Appendix 21
Linear System Modes
Natural Modes
See Normal Modes.
24 Adams/Vibration
Normal Mode
Normal Mode
A frequency at which a given system resonates in a particular way.
Appendix 25
Normal Mode Number
Normal Modes
The 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.
28 Adams/Vibration
Number of Modes
Number of Modes
If 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.
Appendix 29
Operating Point
Operating Point
A 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.
30 Adams/Vibration
Output Channel
Output Channel
Instrumentation on the model that records some quantity of interest.
Appendix 31
Principle Modes
Principle Modes
See Normal Modes.
32 Adams/Vibration
Resonance
Resonance
A condition where the vibration actuator drives the normal mode of the system.
Appendix 33
Rigid Body Mode