Professional Documents
Culture Documents
14
Dynamic Fatigue
Introduction
Vibration Fatigue
Comparison Studies
354
363
388
361
356
Introduction
All fatigue is dynamically induced. That is, there must be some level of dynamic loading in order for
fatigue damage to occur. It is probably a true statement to say that nothing in real life is actually static,
or not moving at all. Even slight changes in temperature will cause stress fluctuations in an otherwise
apparently static structure. Some dynamic loading is hardly detectable, changes very slowly, and is quite
repeatable while other types are quite noticeable and very random in nature such as engine noise from an
automobile.
The pseudo-static approach for calculating a stress time response, where unit stresses are associated with
load time histories, is valid if the frequency of the input loading is below the lowest natural frequency of
the structure. However, for cases where the dynamic response of the structure comes into play, the usage
of transient response or random response is appropriate to compute fatigue life.
Objective
Perform analysis using transient results
Perform analysis using the modal superposition method
Random Vibration Fatigue analysis
Run comparative studies
Table 14-1
P3_HOME/mscfatigue_files/examples/key_tran.op2
P3_HOME/mscfatigue_files/examples/key_stat.op2
P3_HOME/mscfatigue_files/examples/key_tran.asc
P3_HOME/mscfatigue_files/examples/transient.fin
P3_HOME/mscfatigue_files/examples/static.fin
Table 14-2
P3_HOME/mscfatigue_files/examples/bs_fresp_v.op2
P3_HOME/mscfatigue_files/examples/bs_fresp_h.op2
P3_HOME/mscfatigue_files/examples/bs_fresp_t.op2
P3_HOME/mscfatigue_files/examples/7d_44-50.dac
P3_HOME/mscfatigue_files/examples/8d_44-50.dac
P3_HOME/mscfatigue_files/examples/9d_44-50.dac
Table 14-3
P3_HOME/mscfatigue_files/examples/bs_modal.op2
P3_HOME/mscfatigue_files/examples/bs_static.op2
P3_HOME/mscfatigue_files/examples/bd_modal.op2
P3_HOME/mscfatigue_files/examples/bd_fresp_v.op2
P3_HOME/mscfatigue_files/examples/bd_fresp_h.op2
P3_HOME/mscfatigue_files/examples/bd_fresp_t.op2
P3_HOME/mscfatigue_files/examples/abarun.fil
P3_HOME/mscfatigue_files/examples/bd_trans_v.op2
P3_HOME/mscfatigue_files/examples/bd_trans_h.op2
P3_HOME/mscfatigue_files/examples/bd_trans_t.op2
P3_HOME/mscfatigue_files/examples/bd_trans_vth.op2
In these cases it is generally better to use a dynamic FE analysis to capture all the important dynamic
effects. All time variations of the loading are defined directly in the FE model and a direct or modal
dynamic transient analysis is performed. There is no need for any externally defined and associated time
histories as with the pseudo-static method. The drawback however, is that you cannot separate the loads.
They must all be defined in the same FE analysis. Investigation of the influence each load may have on
fatigue life requires a new FE analysis to be run each time.
To illustrate the use of transient results in MSC Fatigue, follow this mini-exercise:
Loading Information
Open the Loading Info... form. This is where the analysis setup differs when using transient FE results.
For the transient analysis the loading time history is defined by the FE analysis in the input deck and
therefore it is not necessary to create externally. You will notice that the Loading Info... form appears
quite a bit different than for a pseudo-static setup. The following observations are made:
1. The Results Type is set to Transient. This is the controlling setting for the appearance of this
form.
2. Note that no access to the Time History Manager is available when set to Transient since this is
unnecessary.
3. Results can be extracted from, this is the results from widget, three different sources: Database,
MSC Patran FEA, or External, with the Database being the most common source.
Note:
External PATRAN Results files can be accessed in the same manner as for pseudostatic cases with multiple loading except the # symbol in the file name now refers to
the time step number. They must start at 1 and exist up to the number of time steps
indicated, e.g., filename1.node, filename2.nod, ...
4. A scale factor is allowed to uniformly scale the FE results for all time steps selected.
5. For results extracted from the database, you must filter all the time steps you wish to include in
the analysis using the Get/Filter Results... button. Only the time step you want must appear in the
Result Time Steps listbox. The Number of Time Steps selected is indicated in the databox below
the Scale Factor and is dimmed and unchangeable since the number of items in the listbox
determines the number of time steps.
For example if you open the Get/Filter Results... form and select LOAD_CASE.1 in the top list
box, and set the Filter Method to Global Variable with the Variable set to Time and press Filter,
you will get all time steps associated with this Result Case. You can individually remove time
steps you do not want by selecting them in the lower listbox and pressing the Remove button.
Press the Add button to place all selected time steps into the Result Time Steps listbox on the
Loading Info... form. Press the Close button to close down the Select Result Cases form.
6. Finally you must select the stress or strain tensor (and layer if applicable) to use in the analysis.
This is simply done by selecting one of the time steps in the Results Time Steps listbox. Then you
select the stress or strain tensor in the adjacent listbox. There is no need to fill in any spreadsheet
as with the pseudo-static method.
To summarize the Loading Info... form for Database results:
Supply a Scale Factor if desired
Get/Filter Results... to include only the time steps of interest
Select one of the time steps in the Results Time Steps listbox (all will be used in the analysis)
Select a stress or strain tensor from the Select a Stress/Strain Tensor listbox
Select a Layer if necessary
Check that the No. of Time Steps agrees with your expectation
Job Control
Open the Job Control... form and submit the analysis. Monitor it if desired.
Static Superpositioning
Stress Input
Loading
Static Analysis
Stress for unit load case i
Loading function for
channel i
Modal Superpositioning
Transient Analysis
Stress for mode shape i
Modal Participation factors for Mode
i
An advantage of this method is that due to the similarity with the quasi-static method, this technique can
be used in S-N, E-N, Spot weld, Seam Weld, Crack Growth and Multi-axial analysis.
Here is an example of how to do modal superposition using MSC Nastran. Analogous methods exist for
other solver codes. Some familiarity with each solver code is required to extract the correct information.
1. Run MSC Nastran modal analysis (SOL = 103) for your model and request stress to be written to
the .op2 or .xdb file (STRESS = ALL). Use the EIGRL card to select frequency range of interest
and / or number of modes.
2. Run MSC Nastran modal transient (SOL = 112) with same EIGRL card. Define the time history
loading in the MSC Nastran deck using TABLED1 cards in the normal manner. Request the
output to be SDISPLACEMENTS (PUNCH) = ALL. This gives the modal participation time
histories for each mode of interest. If six (6) modes are solved for, this will give an ASCII punch
file with six (6) time histories.
Note:
In the latest version of NASTRAN steps 1 and 2 can be combined into a single run
by specifying the first subcase in the SOL 112 run as the normal modes run.
3. Run MSC Fatigue Pre&Post or MSC Patran and import the .op2 file from the SOL 103 run
(step 1) into the database. Fill the Solution Control and Materials forms as required.
4. Open the Loading information form, enter the number of modes recovered in the number of static
conditions data box, and turn the fill down option on. Click on the Load Case ID cell and the
Get/Filter Results button to display the stress results from the SOL 103 run. Select the first mode
and the associated stress tensor and click on Fill Cell. This should load up the cells in the first
column of the spreadsheet with the modal stress IDs corresponding to the number of modes
recovered.
5. The creation of the Time histories off the modal participation factors in the punch file is achieved
by clicking on the Read Punch button. This button will be displayed on this form when the user
clicks on the Time history cell. A local Time history database that contains the time histories from
the participation factors in the punch file is created in the local run directory. The local database
can now be used to load the cells in the second column by clicking on the first cell in the Time
history column and selecting Fill Cell (MSC Fatigue accesses the local database automatically).
6. Run fatigue analysis as usual.
Vibration Fatigue
The techniques described in this section deal with random vibration induced fatigue, which is calculated
from random vibration and/or frequency response FE analysis results. A Power Spectral Density
Function (PSDF or PSD) is the most common way of representing the loadings or responses in the
frequency domain. The transformation between time domain, i.e., the time history of the loading, and the
frequency domain, i.e., a PSD, should not trouble the reader. The PSD simply shows the frequency
content of the time signal and is an alternative way of specifying the time signal. It is obtained by utilizing
the Fast Fourier Transform (FFT). Figure 14-1 shows this equivalence for a typical structural response
signal.
Transforming from the frequency domain to the time domain is also a relatively easy task which can be
done using the Inverse Fourier Transform (IFT). However, when transforming in this direction the
random phase angles attributable to each frequency component (which have not been kept when
converting to the frequency domain) have to be generated or re-generated. This can be done such that a
statistically equivalent signal can be reproduced.
Figure 14-1
It is not the intention of this manual to teach the user all there is to know about random vibration. For
those unfamiliar with random vibration techniques, refer to Vibration Fatigue Theory (p. 656) in the MSC
Fatigue Users Guide Volume I.
Definitions
These are some of the terms you might come across when going through the Vibration Fatigue example:
Power Spectral Density (PSD)
Transfer function
Irregularity factor
Narrow band
Wide band
White noise
Probability Density Function (PDF)
Expected mean crossing
Expected number of peaks
Spectral movement
E [ P ]T
m
Fatigue Damage = ---------------- S P ( S ) dS
K
To obtain a time history of stress or strain response, either a steady state or transient analysis would be
required. For the random response history indicated this would obviously be a transient analysis. In the
frequency domain a transfer function would first be computed for the structural model. This is completely
independent of the input loading and is a fundamental characteristic of the system, or model. The PSD
response caused by any PSD of input loading is then obtained by multiplying the transfer function by the
input loading PSD. Further response PSDs caused by additional PSDs of input loading can then be
calculated with a trivial amount of computing time. An essential requirement of a structural analysis in
the frequency domain is that it results in a PSD which is equivalent to the time history obtained using the
transient approach. The rest of the design process is then concerned with using the vibration fatigue tools
to compute fatigue life directly from these PSDs of stress. These tools either estimate rainflow histograms
(or PDFs), or fatigue life directly. These are shown schematically in the dashed box in the figure above
under the heading fatigue modeler. This is intended to show that the time and frequency domain
processes are actually very similar. The only differences being the structural analysis approach used (time
or frequency domain) and the fact that a fatigue modeler is required to transform from a PSD of stress to
the rainflow cycle histogram. In this context the vibration fatigue modeler can be envisaged as just
another form of rainflow cycle counting.
Vibration Model Setup
A simple bracket, shown to the left, is subject to random vibration excitations defined by loading power
spectral density (PSD) functions, which induce serious fatigue damage around the attachment location
(the circular hole). The bracket is subject to three input loads, a vertical and horizontal force and a
twisting moment, at the far end of the slot. The model is constrained around the circular hole. A random
vibration analysis is performed by combining FE frequency response analysis results using three unit
loads combined with the loading input PSDs. Fatigue damage is calculated due to each independently
and all three simultaneously.
Open a new database and call it bracket.db. Press the Import toggle switch (Analysis in MSC Patran) on
the main form. When the form appears, set the Action to Access Results, the Object to Read Output2,
and the Method to Both; then, press the Select Results File button and select the file bs_fresp_v.op2.
Press the Apply button to read in the file. Now set the Method to Result Entities and select the file
bs_fresp_h.op2. Press Apply. Repeat for the bs_fresp_t.op2 file.
Solution Parameters
Material Information
Open the Material Info... form. This form is used to assign material and other information to regions of
the model. In fact it is identical to the time domain S-N material set up form which you should be familiar
with from previous exercises.
The Material Info... form and spreadsheet should then be filled in as follows:
1. Number of Materials: 1
2. Material: MANTEN
3. Finish: Polished
4. Treatment: No Treatment
5. Region: default_group
Accept the defaults for anything else on the form and close the form by pressing the OK button when
finished.
Loading Information
Open the Loading Info... form. Before completing this form we need loading input PSDs. These PSDs
will be created from the time signals we used in the pseudo-static runs. On the Loading Info... form press
the PSD Manager button. This will spawn PTIME, the loading database manager.
When PTIME appears, select Add an entry... | creaTe psd from time. This will spawn a utility module
called MASD for creating auto spectral density functions. This module has multiple functions which are
beyond the scope of this text. We wish only to create a Power Spectral Density function from a time series
using MASD. A number of screens will be presented to you. Accept the defaults for all items except those
indicated below:
Hint:
PSDs can be created in a number of ways. They can be created as shown here from existing
time signals. They can also be imported as ASCII text files (Add an entry... | ASCII
convert + load) or they can be created manually by supplying xy points (Add an entry...
| x-Y psd entry).
Once the PSDs are created you can proceed to fill out the appropriate information on the
Loading Info... form:
For this first example using the vertical loading PSD, we only have a single input. Multiple inputs
will be covered later.
4. Frequency Resp: 6.(5-30)-2.1-2Clicking on the cell just below this title will activate a number of widgets on the bottom of the
screen. This is where the Transfer Function from the FE analysis is selected. This is a multi-step
operation so continue reading.
5. Get/Filter Results...
Open this form to select the Transfer Function of interest. You will see all Result Cases in the
upper listbox. Select the BS_FRESP_V vertical Transfer Function Result Case. Press the Filter
button. This will display all subcases (frequencies) associated with this Transfer Function in the
lower listbox. If you press the Add button, the Result Case IDs will be transferred to the Loading
Info... form listbox.
This form is quite versatile. You can remove various frequencies if you wish. You can filter based
on various criteria. You can do multiple selections and fill the Loading Info... form listbox with
multiple transfer function results (which will be necessary for a multiple input load analysis). It
is suggested that you play with this form a bit to understand its usage. Press the Close button when
you have successfully filled the listbox on the Loading Info... form with BS_FRESP_V,6.(5:30)representing all the frequencies in the Transfer Function Result Case.
6. Select a Results Load Case: BS_FRESP_V,6.(5:30)Back on the Loading Info... form select this Result Case that you just filled in using the Get/Filter
Results... mechanism. Once this is selected you will see the tensor results associated with this
transfer function in the adjacent listbox.
7. Select a Stress Tensor: 2.1-Stress Tensor,
Select the only available tensor from this listbox. The layer information will update.
8. Select a layer: 2-At Z1,
This is displayed by default. Accept the default which is the top layer of stress of the shell
elements.
9. Fill Cell
Press the Fill Cell button. This will fill the Frequency Resp. cell with the appropriate IDs in the
spreadsheet above. The Input PSD cell then becomes active.
10. Select a PSD File Name: 7D_44-50.PSD
Select the PSD representing the vertical force which we created earlier.
The Loading Info... form is now complete. Press the OK button to accept the form. Before going on,
however, a word or two on loading input PSDs is appropriate.
Vibration fatigue analysis makes certain assumptions of loading input. Those assumptions are that the
signal is random, stationary and gaussian in nature. Random means that the signal contains no
deterministically dominant event such as a spike occurring occasionally or a superimposed dominating
sine wave. Truly random signals can only be characterized by their statistics such as root mean square
(rms) and mean levels.
Stationary means that those statistics are not changing significantly with time. Any section of the signal
should show very close statistical agreement.
Gaussian means that the peak and amplitude probability density function are gaussian in nature or follow
a bell shaped curve as shown here. If you draw tram lines through a signal and count the number of times
the signal passes through it and plot that as a density function it is gaussian if it follows a bell shape. An
example of a non-gaussian signal is a pure sine wave. However adding multiple sine wave together
quickly becomes gaussian.
Hint:
If you ever have the need to check the stationarity of a time signal, use the MSTATS utility
module. MSTATS will give you running statistics of a signal and plot them for you. The
increment of time history and overlaps can be specified. This is a very useful mechanism
to determine stationarity.
Job Control
Open the Job Control... form and set the Action to Full Analysis and press the Apply button to submit
the job. Change the Action to Monitor Job and press the Apply button occasionally to monitor the job.
This analysis will create the usual files: the job parameter file, bs_fresp_v.fin, the fatigue input file,
bs_fresp_v.fes, and the fatigue results file, bs_fresp_v.fef. Also a message and status file are created
(bs_fresp_v.msg, bs_fresp_v.sta). Unlike a standard time domain solution there is no intermediate
rainflow count file, bs_fresp_v.fpp.
When the job is complete open the Results... form and with the Action set to Read Results, press the
Apply button. This will read the results into the database for later viewing.
jobs you can follow the table below for Vibration analysis. Use default values if parameters are not
specified.
Vertical Load
Horizontal Load
Twist Moment
bs_fresp_v
bs_fresp_h
bs_fresp_t
Title:
Vertical Load
Horizontal Load
Twist Moment
6.(5.30)-2.1-2-
7.(31-56)-2.1-2-
8.(57-82)-2.1-2-
(BS_FRESP_V)
(BS_FRESP_H)
(BS_FRESP_T)
7D_44-50.PSD
8D_44-50.PSD
9D_44-50.PSD
Again, after each fatigue analysis is finished, read the results into the database under the Results form in
the main MSC Fatigue form with the Action set to Read Results.
Correlated and Uncorrelated Loading
When each of these jobs is done we can now set up a multiple load input job with all three loads
acting simultaneously. It is at this point however, that we have to decide whether the individual load
inputs are correlated or uncorrelated. Simultaneously acting loads are said to be fully correlated if, in the
time domain, the peaks and valleys from each signal occur simultaneously. This is normally the case for
random load signals. Fully uncorrelated signals have the opposite true. Peaks and valleys do not occur at
the same time and may cause a cancelling effect. Thus you would expect correlated loads to be more
damaging than uncorrelated loads.
Since we are dealing with correlated loads, we need some way of determining the cross-correlation PSDs
that will relate one input load PSD to another. If you have the original time series, this can be done with
a MSC Fatigue module called MFRA (frequency response analysis). Start MFRA from a system prompt
by typing mfra, or by selecting it from the Tools | Fatigue Utilities | Advanced Loading Utilities pulldown
menu in Pre&Post or the Tools |MSC Fatigue | Advanced Loading Utilities pulldown menu in MSC
Patran.
To get cross PSDs from MFRA follow these instructions after selecting Transfer Function Analysis
from the main menu (use the defaults if not specified):
1. Input File: 7d_44-50.dac
Select the vertical load time history.
2. Response Filename: 8d_44-50.dac
Select the horizontal load time history. Press the OK button to accept these two file names.
3. Output Type: Power Spectral Density
Press the OK button to accept this screen and move to the next.
4. FFT Buffer Size: 1024 : 0.9766 Hz width
Select this buffer size so that there are the same number of points in the resulting cross-PSDs as
in the PSDs created thus far. Press the OK button to accept this screen and go to the next.
5. Generic Output Filename: 7-8d_44-50
Give this cross term the name 7-8d_44_50 to indicate that the vertical load (7d) had been
correlated with the horizontal load (8d).
6. Zero/Zero in Gain File: Zero
Press the OK button to proceed with the analysis.
Repeat this process to correlate 7d_44-50.dac with 9d_44-50.dac and 8d_44-50.dac with 9d_44-50.dac
and use the output file names of 7-9d_44-50 and 8-9d_44-50 for the two respectively. Exit from MFRA
when you are finished or you may plot the results using Results Display on the main menu of MFRA.
You will have in your directory three files called 7-8d_44-50.sxy, 7-9d_44-50.sxy and 8-9d_44-50.sxy.
These are the cross PSD terms. Next, invoke PTIME and load these three new PSD files in using the Add
an entry | Load file option so that they exist and are known in the PTIME database. Use a wild card to
specify all three at the same time, i.e., *.sxy. Accept all defaults and press OK. Exit from PTIME when
you are finished.
PSD Matrix File
One last step must be performed before the Loading Info... form can be properly filled for a multiple
input load job. We must create a matrix file that relates the cross PSD terms with the input load PSDs.
There are two ways to do this. Since we want to look at the effect of both uncorrelated loads and
correlated loads we will introduce you to both methods by creating two matrix files.
Perhaps the easiest method is to manually create the file and then load it into PTIME. Create a file using
any editor that looks like this in your working directory and call it cor789.pmx:
3
7d_44-50.psd 7-8d_44-50.sxy 7-9d_44-50.sxy
7-8d_44-50.sxy 8d_44-50.psd 8-9d_44-50.sxy
7-9d_44-50.sxy 8-9d_44-50.sxy 9d_44-50.psd
Note that the contents of this file are the names of the input load PSD files on the diagonal terms and the
names of the cross PSD files on the off-diagonal terms. The first line indicates that there are three input
loads and therefore the matrix is to be 3x3.
This file can be loaded into PTIME by using the option Add an entry | ASCII convert + load. Once in
this option do the following:
1. Filename: uncor789.pmx
2. Description 1: uncorrelated loads
Press the OK button to accept this screen.
3. Enter Matrix Size: 3
Press the OK button to accept this screen. A spreadsheet will appear. In the diagonal cells of the
spreadsheet type the names of the load input PSD files: 7d_44-50.psd, 8d_44-50.psd, and 9d_4450.psd. Leave the other cells blank since this is meant to be uncorrelated. You must press the
return or enter key for the file name to be accepted. Also the file must have been loaded into the
PTIME database and physically exist. When you have filled out the spreadsheet select File | OK.
This will load the new matrix file uncor789.pmx.
If you look at the contents of the second file it should look like this:
3
7d_44-50.psd NONE NONE
NONE 8d_44-50.psd NONE
NONE NONE 9d_44-50.psd
Loading Information - Multiple Load Inputs
Finally you can return to the Loading Info... form and set the job up for a multiple input load analysis.
1. Results Type: Transfer Function
2. Results Transformation: Transform to Basic
3. Load Input: Multiple
This will cause a listbox to appear with the PSD matrix files listed.
4. Select a PSD file: COR789.PMX
When you select the matrix file it will automatically update the spreadsheet on the form to indicate
the number of input loads (number of rows). You must then supply a transfer function for each
input load.
5. Frequency Resp:
6.(5-30)-2.1-2-
Clicking on the first cell just below this title will activate a number of widgets on the bottom of
the screen. This is where the Transfer Functions from the FE analysis are selected. This is a multistep operation.
6. Get/Filter Results...
Open this form to select the Transfer Functions of interest. This operation is identical to what you
did for a single load input except this time you need to fill the listbox with all three Transfer
Functions. Select the BS_FRESP_V vertical Transfer Function Result Case. Press the Filter
button. This will display all subcases (frequencies) associated with this transfer function in the
lower listbox. Press the Add button, the Result Case IDs will be transferred to the Loading Info...
form listbox. Do the same for BS_FRESP_H, and BS_FRESP_T Transfer Function Result
Cases pressing the Add button to add them to the listbox. Press the Close button when you have
successfully filled the listbox on the Loading Info... form with BS_FRESP_V,6.(5:30)-,
BS_FRESP_H,7.(31:56)-, and BS_FRESP_T,8.(57:82)-.
7. Select a Results Load Cases: BS_FRESP_V,6.(5:30)Back on the Loading Info... form select this Result Case that you just filled in using Get/Filter
Results... mechanism. Once this is selected you will see the tensor results associated with this
transfer function in the adjacent listbox.
8. Select a Stress Tensor: 2.1-Stress Tensor,
Select the only available tensor from this listbox. The layer information will update.
Results
Perhaps the most obvious thing to do first is to make contour plots of fatigue life from the various jobs
run so far. All of the fatigue analyses should have been run and the results imported into the database, so
open the Results application switch on the main menu bar (remember not to confuse this with the
Results... button on the main MSC Fatigue form).
When the Results application appears, make sure the Object is set to Quick Plot. You will see many
Result Cases in the top listbox. Scroll all the way down to the bottom and select the Result Case that
corresponds to the vibration fatigue analysis called Vibration Analysis, bs_fresp_vfef. Select Log of
Life (Seconds) and press the Apply button to produce a plot. The plot is shown below.
Design Optimization
Let us now investigate the design optimization (sensitivity) capabilities of the vibration fatigue analysis.
This is analogous to those capabilities in the S-N and strain-life analyzer FEFAT. The design optimization
feature can be invoked directly from the Results... form with the Action set to Optimize or from FEVIB
started at the system prompt by typing fevib and then entering the Design optimization menu pick. Do
this with any of the vibration fatigue jobs completed thus far.
After specifying a jobname, if necessary, and selecting a node of interest and supplying a design life, the
program will proceed to a summary report screen reporting the same life as the global analysis. When the
summary report is closed you are placed in the main menu of the design optimization mode. The
operation is identical to that of FEFATs design optimization mode and is therefore left to you to
investigate its many options.
The only unique option to FEVIBs design optimization mode is its ability to calculate life due to all the
analysis methods (Dirlik, Narrow Band, etc.). This is done under Sensitivity analysis | Analysis
methods (all).
To see the statistical nature of the vibration analysis, you may want to plot the rainflow cycle count
histogram, which is really a probability density function of rainflow ranges. In order to plot the histogram
you will need to do the following from the Design Optimization main menu:
1. Select Original Parameters:
This will reset everything to the original parameters in case you have changed anything while
investigating this tool.
2. Select Change Parameters:
Enter the Change Parameters screen and change the next two items below.
3. Mean Stress Correction: Goodman
4. Global Offset Stress: 0
Keep this set to zero. We must run a Dirlik plus mean stress correction in order to obtain a
histogram plot. Press the OK button to return to the main menu.
5. Select Recalculate
6. Select results Display |plot Cycles histogram
This will plot the histogram. Change the view to 2D viewed from the left so you can see the stress
ranges. This is done by selecting Plot-type | View Left.
Stationarity Checks
As a last exercise before we go on to the second model of the bracket, let us look at another feature of the
vibration fatigue analysis module FEVIB. Again invoke FEVIB from the system prompt and this time
select the Output power spectrum option. Or on the Results... form set the Action to Extract PSD and
press Apply.
Supply a jobname if necessary. The job we want to extract a PSD from is the multi-input correlated load
case, bs_fresp_vth_c at Node 72. Do the following after supplying the proper jobname:
1. Generic Output Filename:
You can accept the default here. However, be aware that all file names created from this option
will have the node number appended to the output filename.
2. Nodes/Elements to Select: 72
3. Combination Method: Abs Max principal
4. Interpolation Method: Linear
5. Stationarity Check Output: Yes
Be sure to turn this on. Press the OK button to continue. A result summary screen will be
presented. Press the End button to continue.
6. plot Power v. Frequency
At this point you are presented with three options for displaying different types of plots. Plot each one of
them separately. The first is the stress response PSD as calculated by FEVIB at Node 72. This is, of
course, calculated by multiplying the input PSD by the Transfer Function. For multiple inputs this
becomes a matrix operation.
The second plot (angular deviation v. Load case) shows the total angular spread of the principal stress
axes for each load case. The solid red line is plotted through the median value at each load case. The
yellow error bars indicates the total deviation for each load case; the first load case being the first yellow
error bar, the second, the second load case, and the third, the third load case, from left to right.
The third plot (angular deviation v Load Frequency) shows how the principal stress axes change with
respect to frequency for each load case - actually three different plots.
The angle vs. frequency plot for the vertical load case shows a total angular deviation of the principal
stress axes of only about two degrees according to the y-axis labels. The horizontal load case is very
small, almost zero, and the twist shows a total of about 20 degrees. These corresponds to the single yellow
error bars on the angle vs. load case plot for each load case. The yellow error bars on the angle vs.
frequency plots indicate how the stress axes change due to differential damping at each frequency. In
other words, it represents how the principal stress axes change subject to a sine wave load input at that
frequency.
All angle spreads reported on these plots are relative to an arbitrarily selected angle. The angle vs. load
case plot shows the angles relative to each other. You can see that there is about a 45 degree difference
between the vertical load case and the horizontal and twist load cases, these two being very similar. This
is as expected also in that the horizontal and twist loads are inducing a shear state at Node 72 whereas
the vertical load case is not. This is confirmed by plotting the principal stress at Node 72 using the
Results application.
Hint:
To make these plots in Pre&Post or MSC Patran using the Results application, set the
Object to Marker, the Method to Tensor, and select the appropriate Result Case. Show
the tensor as 2D Principal and turn off the Min principal. It also may be desirable to only
show the arrows and not the tensor box (under Display Attributes). The principals can also
be animated to see the change in angle over frequency when all frequencies have been
selected from a particular Transfer Function. The above plots were made from the static
load cases.
These angular spread plots are characteristics of the model. To see whether or not there may be a problem
with stationarity of the principal stress axes, you must look at the regions of interest on the response PSD
(between zero and 25 Hz) and the corresponding frequency locations on the stationarity plots. For all
three load cases, there is little movement of the stress axes in this region.
Comparison Studies
Pseudo-Static vs. PSD Approach
Now that a general background to the frequency domain approach has been given, we can begin to
illustrate the concepts introduced with our bracket model.
Copy the following files over to a clean working directory from the examples directory of your
installation and then start MSC Fatigue Pre&Post or MSC Patran:
bs_modal.op2, bs_static.op2, bs_fresp_v.op2, bs_fresp_h.op2,
bs_fresp_t.op2,
7d_44-50.dac, 8d_44-50.dac, 9d_44-50.dac
Open a new database and call it bracket_s.db.
While you have this form open, read in the results from the other result files: bs_static.op2,
bs_fresp_v.op2, bs_fresp_h.op2 and bs_fresp_t.op2. Set the Method to Result Entities and then select
each of these files one by one and press the Apply button each time. Read the files in the order listed here.
Now you can view the results. Press the Results toggle on the main form.
Note:
The first result case shown is a single mode with frequency greater than 50 Hz, which confirms
that the bracket model has no modes under 50 Hz. Why this is important will become clear
momentarily. If you plot the displacement vector of this mode, you will see that it represents
the first bending mode of the bracket.
Set the Object to Fringe. Besides the single mode shape, you will notice that there are three static result
cases and three kinds of frequency response result cases. The three static results were obtained by
applying a vertical unit force (_v), a horizontal unit force (_h) and a unit twisting moment (_t) at the end
of the slot. The three frequency response results were obtained with the same unit forces and moment but
applied across the frequency range of zero to 50 Hz. These analyses were done in MSC Nastran. The
frequency response analyses used a damping ratio of 5% of critical. This is inconsequential however,
since no dynamic modes will be excited. The frequency response results are the transfer functions for the
three load cases. In order to obtain transfer functions from MSC Nastran, the load magnitudes must be
unity in the analysis.
Because no modes exist in the frequency range of interest (0-50 Hz), the stress results from the frequency
response analyses should be very close to those of the static analyses for the lower frequencies. This is
easily confirmed by plotting the stresses from these. For example do the following:
1. Select Result Case: BS_STATIC_V, Static Subcase
Select this result case. Press this icon to view all subcases from every Result Case.
Press Apply
7. Select Result Case: BS_FRESP_V, Freq.=0
.Go back to the Select Results mode of the form and select the first subcase of the vertical
frequency response analysis. And press Apply again.
You should see almost identical plots. The reason for only plotting the area around the hole is for better
comparison purposes due to spurious results around the loading area. Repeat this for the horizontal and
the twist load cases if you wish.
If you plot higher frequencies you will begin to see a small divergence from the static cases. This is due
to the dynamic influences of the first mode shape. In fact if you make an XY plot of the transfer function
at the high stress area of interest (Node 72) you can see this divergence.
To make the XY plot of the transfer function at the high stress area of interest, set the Action to Create
and the Object to Graph. Select all the Result Cases for one of the frequency responses (e.g.,
BS_FRESP_V, Freq=*) and make sure the Y axis is set to Result, Quantity is set to Max Principal, the
X axis is set to Global Variable, and set Variable to Frequency.
Two more steps are necessary. Under Target Entities, the Target Entity must be set to Path with Node 72
specified and under Plot Options, you must change the Complex No. as: optionmenu to Magnitude. Then
you can press the Apply button.
Note:
The transfer function contains frequencies from zero to 50 Hz by increments of two, or in other
words, 26 evenly spaced frequencies. The frequency resolution of the transfer function is very
important in order to obtain accurate fatigue results. This will be illustrated later in this
exercise.
Note:
If you have been running through this document sequentially, then you will need to first select
Add an entry... and then you can select the Load files option.
These files represent a six second slice (44 sec. to 50 sec.) of very large measured random input loadings.
A six second slice was removed out of convenience for making the jobs manageable in a tutorial guide.
In order to compare against the vibration fatigue results, give each time history set the Fatigue equivalent
units to Seconds, set the Number of fatigue equivalent units to 6, enter a description, set the Load type
to Force, and the Units to Newtons. Press OK. You need to do this for each of the three files listed above.
Now we can set up the Pseudo-static jobs. The job set up is briefly described here in order for you to
recreate the results. No details are given since pseudo-static analysis has been thoroughly covered in
previous chapters. Open the main MSC Fatigue form from the Analysis switch in Pre&Post or select
MSC Fatigue from the Tools pulldown menu in MSC Patran and fill out the form according to the table
below for the four jobs of interest. Accept all defaults if not otherwise specified. The Analysis type should
be set to S-N
.
Table 2- 2
Horizontal
Load
Vertical Load
Twist Moment
Combined Run
bs_static_v
bs_static_h
bs_static_t
bs_static_vth
Title:
Vertical Load
Horizontal Load
Twist Moment
Combined Run
Time History:
3
5.4-2.1-23.2-2.1-24.3-2.1-2-
5.4-2.1-2-
3.2-2.1-2-
4.3-2.1-2-
(BS_STATIC_V)
(BS_STATIC_H)
(BS_STATIC_T)
7D_44-50
8D_44-50
9D_44-50
7D_44-50
8D_44-50
9D_44-50
The Load Case IDs correspond to the various load cases (vertical, horizontal, and twist). The
actual Load Case IDs are dependent on the order in which they were read into the database. If
you read them in the order in which they have been listed in this exercise then they should be
as indicated. In any case you must select the indicated result for the proper IDs to be selected
regardless of what is listed in the above table.
Once a job is set up, go to the Job Control... form and do a Full Analysis. After the analysis is completed,
go to the Results... form and set the Action to Read Results. Repeat these steps for each job. The results
of these analyses will be investigated later. For now go on to set up the vibration fatigue runs.
Results
Open the Results application switch on the main menu bar. When the application appears, set the Object
to Quick Plot. Scroll down to the bottom and select the Result Case corresponding to the first pseudostatic job we ran called Total Life, bs_static_vfef for the vertical load case. Select Log of Life (Seconds)
and press the Apply button to produce the contours. Make a note of this plot.
Now compare this plot with the one we looked at in the previous section. Select the Result Case
Vibration Analysis, bs_fresp_vfef. Next select Log of Life (Seconds) and press Apply to produce the
plot. The two plots are shown below. Notice the disparaging difference between them.
.
This difference is due to the endurance limit imposed on the material MANTEN that we used in the
analysis. With an S-N analysis, any locations with stress ranges below this endurance limit will be
reported as infinite life. The vibration analysis, because of its statistical nature, has many more stress
range bins, tending to spread the life contours out and appear not to be as sensitive to the endurance limit.
The plots are, in actuality, very similar. This can be seen by removing the endurance limit for MANTEN
and rerunning the pseudo-static analyses. If you feel so inclined you may do this. The corresponding plots
then look much more similar as shown below
Hint:
To remove the endurance limit run PFMAT and Load the material MANTEN into data set
1. Turn off the Material checking under Preferences and then Edit data set 1 which
contains MANTEN. Do not supply a password to modify the central database. Simply press
the return key and a local copy of the database will be created. Proceed to the screen with
E-N Data and change the Cut-off to 2E12. This will remove any fatigue limit from the SN curve. (Do not be confused that strain-life data is being used here. Only the S-N (elastic)
portion of the strain-life curve is used.)
The rest of the plots are shown below comparing horizontal, twist and combined loading pseudo-static
versus vibration fatigue analyses. These plots are left for you to create at your leisure. Note that all the
pseudo-static plots were created after removing the endurance limit. Also note that the area at the end of
the slot contains spurious results due to the singularities caused by the loading and should be ignored. We
are really only interested in the critical location around the circular hole (Node 72)
PFPOST Listings
The table below shows the results from all the jobs run thus far (calculated using the smallest bin size of
32) at Node 72. You can view a listing of damage and fatigue life by running PFPOST. You can either
invoke this utility from the system prompt by typing pfpost or set the Action to List Results in the
Results... form on the main MSC Fatigue setup form. Once PFPOST has appeared do the following
1. Jobname: bs_static_v
Start with the vertical pseudo-static analysis. Press the OK button twice to proceed until the form
appears as to the right.
2. User specified nodes: 72
Select the option User Specified nodes. Enter 72 as the node of interest to view and press OK.
Press OK to close the table after you have viewed the results
.
Hint:
To view the results at Node 72 for the other analyses press the Cancel button when you
return to the form at the right. This will allow you to enter another jobname and repeat the
steps above.
Pseudo-Static
Vibration
Factor
Vertical Load
6.5E5 Seconds
2.1E6 Seconds
3.2
Horizontal Load
9.8E8 Seconds
3.2E9 Seconds
3.3
Twist Load
9.1E8 Seconds
9.4E7 Seconds
9.6
Combined Load
3.7E4 Seconds
4100 Seconds
9.0
Uncorrelated
N/A
1.2E5 Seconds
The results are with the endurance limit removed as explained earlier. As you can see the results are fairly
good with a couple of the cases being out by a factor of ten or so on life. The shorter the life, the more
discrepancy there can be because of sensitivity due to the logarithmic nature of the problem. Small
differences in stress can mean large differences in life. Note also that the uncorrelated run is much less
damaging as we expected.
There are many factors that can influence this accuracy some of which may be:
1. The coarseness of the FE model and accuracy of the stresses.
2. Some possible cancelling effects due to the combined loading which would be evident in the
pseudo-static case because of only partial correlation of the input loads.
3. Shortness of the signal; perhaps not long enough to fully characterize as fully stationary and
gaussian.
4. Influence of the first mode shape as evident in the earlier plot of the Transfer Function at Node 72.
5. Frequency resolution of the Transfer Function to fully capture the influence of the input PSD.
Frequency Resolution
Even though the total areas under each input PSD curve is identical between the two (the difference being
that one has twice as many points), the underlying dominant factor is the frequency resolution of the
Transfer Function in the important areas of the input PSD. Because our Transfer Function has evenly
incremented frequency steps of two Hz, we may skip over certain peaks or valleys in the input PSD.
Interpolation only occurs within the input PSD at frequency points found in the Transfer Function and
not those found in the input PSD. This is illustrated below for two different cases:
So for our case, with more and more points defining the input PSD and no greater resolution of the
Transfer Function, the damage calculated becomes greater because the analysis is calculating more area
under the curve than there really is. The opposite could also be true if a large spike occurred between two
frequencies in the Transfer Function, and was missed entirely.
Also do the same thing in FEFAT with the time domain solution for the same load case and node location
(although you will not need to change the mean stress correction).
Below are histogram plots (viewed in 2D mode) from the pseudo-static and vibration fatigue analyses for
the vertical load case. Note how the time domain solution has discrete finite sequence whereas the
frequency domain solution has values in all bins based on the probability of cycles occurring at that stress
range. It is a statistical representation of an infinitely long sequence.
Hint:
The load step information for the transient FE analyses was captured, for practical
purposes of this exercise, from the XY contents of these time history files which were
dumped to ASCII files using the MSC Fatigue utility module MCOE (channel editor) and
then converted into TABLED1 cards for MSC Nastran. Before doing this however, the
signals were filter to remove any frequency content above 50 Hz (using MBFL) and then
decimated to reduce the number of points in the signal from 6001 to 601 (using PTIME,
Sample Rate Adjust).
Frequency response analyses were also performed for the three load cases and the fully correlated
combined loading case. If you wish to reproduce the results of this exercise you will need the following
results files (bd_ = bracket dynamic model):
Here you are assigning the proper Transfer Function for this new model, BD_FRESP_V,
corresponding to the vertical load on the Loading Info... form.
3. Input PSD: 7D_44-50.PSD
When you re-run the job you will see that the predicted life at Node 72 is very small (2 seconds). This
shows you that the dynamic effects are quite significant. Because of this, change the material from
MANTEN to the higher strength steel, RQC100 and modify it to also have no endurance limit (Cut-off
=2E12) as you did with MANTEN.
Note:
In order to be able to compare these results with the Transient Analysis, you must create a
group called hole with only the elements (one layer deep) around the hole AND their nodes
(Node 65:72 129:135 202:214 221 222 237 263 and Element 29:34 108:117). Then you must
select this group as the Region of interest on the Material Info... form.
Rerun all four vibration jobs with new job names (bd_fresp_v, bd_fresp_h, bd_fresp_t, and
bd_fresp_vth_c) and the appropriate Transfer Function Result Case IDs. Make sure you change the
material to RQC100 from MANTEN.
Note:
The frequency resolution of the Transfer Functions is much higher (26 frequencies vs. 41
frequencies) to better capture the dynamic effects around each natural frequency.
Shown here are the fringe plots of the log of fatigue life comparing the transient (Total Life, bd_trans*)
and the vibration fatigue analyses as was done for the pseudo-static (Vibration Analysis, bd_freq*)
comparisons earlier. Only the region around the hole is shown since only fatigue life was calculated in
the this region due to the enormity of the transient analysis FE results.
The table below shows the results from all the jobs run from this second model (calculated using the
smallest bin size of 32). Use PFPOST to list results at Node 72.
Transient* / rms
Vibration / rms
Factor
Vertical Load
40 Seconds / 288
~2.2
Horizontal Load
1.5E9 Seconds / 58
1E9 Seconds / 75
~1.5
Twist Load
~88
Combined Load
~1.15
* Transient analysis results from MSC Fatigue are initially reported in Repeats of the Analysis or time
history. The numbers reported here for the transient analysis have been multiplied by 6 to reflect the
fact that the time history is 6 seconds of data.
The following notes are made:
1. Shown in the table above are also the rms values of the stress response time histories or PSDs.
They are included in the table to illustrate that you can gauge the relative magnitude of damage
that a load input may cause in relation to another by the rms value of the signals.
The rms values of a time signal are reported in the stress response plot when you Output time
histories using the FEFAT module. When there is a non-zero mean of a signal look at the standard
deviation instead of the rms which is done in this case. The rms value of a response PSD is
reported in the tabular listing using PFPOST.
You can also estimate the relative magnitude of damage due to the combined loads by taking the
root mean square of the rms values for the individual load cases ([2352+582+1132]1/2)=267 and
([2882+752+1422]1/2)=339. Although not 100% accurate, if the rms for one signal is less
compared to another, the damage will also be less.
2. The twist load which appears to be out by a larger than acceptable factor is a special case which
needs to be illustrated.
When performing a transient dynamic analysis, or a pseudo-static analysis, the principal stresses
are computed at every time step increment. At each increment the time history contains, in
general, more than one frequency component. However, only one principal direction can exist at
each time step. In contrast, for a vibration fatigue run there can, in general, be a different principal
stress direction for each frequency and each load application point. The Transfer Functions in
MSC Fatigue compute principal stress PSDs where each component is a principal. The vibration
fatigue approach, therefore, has the potential to give an upper bound on fatigue damage for FEA
models where there is a large variation in principal stress direction. As an analogy to this, consider
the outcome from tossing dice. Make set 1 the mean value of the three dice and set 2 the highest
value from the three dice. Set 2 will consistently give higher values than set 1. This will only be
significant where there is a large variation in principal stress direction. This is probably the case
for this model and the twist loading as the results appear to indicate.
3. In all cases where there appears to be a large amount of mobility, the vibration fatigue calculations
are conservative.
Care must be taken when comparing transient analysis fatigue results to PSD fatigue analysis
results when the loading is correlated. The time domain analysis could impose cancelling effects
if the sign of the loads are not applied correctly, which would cause the comparison to be
unfavorable.
4. The lives are very low for the vertical and combined runs which means the region of the S-N curve
that is being used is not really valid. Random vibration fatigue using the S-N method is valid only
for high cycle fatigue problems (>1e4 cycles). However, since the curve is linear, it is still valid
for comparison purposes.
5. As a continuation of the previous comment, the time domain transient analysis does not report
back the exact life if less than one repeat of the signal. If you run the combined transient case, it
will report 1 repeat or 6 seconds as the life. But in actuality it lasted less than one repeat. A fatigue
life can be determined from a single shot analysis by placing a scale factor of 0.8 on the loading.
This gives a life of around 55 seconds. In order to estimate the fatigue life equivalent to the actual
stress level, we worked out the slope of the S-N curve at around 1e0 cycles to be:
-b = 1 / 21.5.
We know that the number of cycles to failure N, is
N = S-b
Therefore the fatigue life goes down by:
(0.8)21.5 = 0.0083
55 x 0.0083 = 0.45 Seconds
2. Run FEVIB and use the option Output power spectrum to create the response PSD at Node 72.
Give it the output name: resp_psd.psd. The final name will be resp_psd.psd72, as it appends the
node number.
3. Create an ASCII dump file of the response PSD (resp_psd.psd72) using the utility module
MDTA (Convert Binary .dac to ASCII). It can be invoked from the Tools + | File Conversion
Utilities pulldown in Pre&Post or from the system prompt by typing mdta. This module is
straight forward to use. Do not write any header information or any multi-channels. A file called
resp_psd72.asc will be created containing the xy data points.
4. Read the ASCII file into PTIME using Add an entry | ASCII convert + load. Set Data y type to
Power spectrum; set the Frequency Rate (sample rate) to 1.024; select X-y pairs as the Equally
Spaced Data and set Take All Numbers to Yes. Call the new Power Spectrum, resp_psd. Enter a
description when asked. Do not worry about the Load Type or Units. They will be wrong. Just
remember that the units are MPa2/Hz. This will create the response PSD with the exact same
sample rate as the input PSD.
5. Use another utility to cut down the size of the input PSD to the same number of points as the
response PSD. Use the program MLEN (File Cut and Paste) which can be accessed from the Tools
| Fatigue Utilities | Advanced Loading Utilities pulldown in Pre&Post or from the Tools | MSC
Fatigue | Advanced Loading Utilities pulldown in MSC Patran. It can also be accessed from
the system prompt by typing mlen. Use the Extract Section - Single File option and select the
input PSD, 7d_44-50.psd. Give the output file name of input_psd.psd. Change the End Time to
50, indicating 50 Hz. The start time should be either START or 0. Now both the input PSD
(input_psd.psd) and the response PSD (resp_psd.psd) are identical in length with the same
sample rate. They are plotted here using MMFD.
6. Now divide the response PSD by the input PSD to recreate the Transfer Function using another
utility module called MMFM (Multi-File Manipulation). The module is also invoked in the usual
way. Select the Division option. Select the resp_psd.psd and input_psd.psd as the two input files
.
Note:
Select them both from the file browser at the same time by clicking on input_psd.psd and then
holding down the Control key and selecting resp_psd.psd. The Output filename should be
something like trans_func.frf. The Divide by Zero Value should be zero (0) and the Special case
of 0/0 should be Zero.
7. The last thing that must be done is to take the square root to convert to stresses. Use the utility
module called MART (Arithmetic Manipulation) which has an option to Raise to a power. The
power to raise the entire function to should be 0.5 (square root). Change the YLabel + Units to
Max. Principal and MPa. Overwrite the existing file.
8. Use MQLD (Quick Look Display) to plot the Transfer Function which is shown here. It is almost
identical to that shown in Pre&Post or MSC Patran as we would expect.
apparent. Note that the plot of Maximum Abs. Principal vs. Angle from the transient analysis shows
about an 85 degree spread and the vibration analysis shows around 108 degrees total, which compares
favorably.
Hint:
The biaxiality plot from the time domain analysis was produced in FEFAT under the
Assess multiaxiality option.
As further explanation, the error bars are showing the degree of angular spread due to class II principal
stress variation (due to differential damping at each frequency) while the solid red line is showing the
maximum angular variation due to class III stress variation (how the stress tensor changes with
frequency). It is quite possible that the vector having the maximum departure from an arbitrary base
vector (class III) is different from the one exhibiting maximum spread through class II. The plots are
essentially saying then, that load case one and three, in particular, are giving us a class II and class III
non-stationarity. Compare this plot with load case 2, here we see a stationary tensor. For a more in-depth
discussion on multiaxiality and biaxial indicators, see the MSC Fatigue Users Guide on Vibration
Fatigue analysis.
Change the Results Type to Power Spectrum. Select all the frequencies from the new Result
Case, RandomResponse. Select the Stresses, Components at SECTION_POINT_1. Note that
you do not have to associate and input loading PSD to your Result Case as with the Transfer
Function approach. This is analogous to the pseudo-static versus transient approaches where the
transient does not need any external load variations defined because the transient analysis already
defines them. Thus, similarly we are using a response PSD directly from the analysis code,
ABAQUS, in this case.
5. Job Control: Full Analysis
Results are shown below (with the transient analysis) for the Y-component direction at Node 72.
Transient Approach
Y-component Vertical Load
~300 Seconds
PSD Approach
~2150 Seconds
The FE response PSD from the Results application for the Y-component is shown next to that
extracted from FEVIBs Output a power spectrum option at Node 72.