Fatigue User’s Guide > Validation Problems > Problem 3: Comparison to Another Code
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
Problem 3: Comparison to Another Code
Problem Description
This example is concerned with validating MSC.Fatigue against a widely used, in‑house code from a large aerospace company. Only the local strain (crack initiation) method is considered here. The MSC.Fatigue results are compared not only against the in‑house code but also to actual test data.
Objectives
1. To validate MSC.Fatigue against a widely used, in-house fatigue prediction code from a large aerospace company and actual test data.
2. To demonstrate a calibration to test data for accurate fatigue predictions.
3. To demonstrate a method to use stress time histories directly without respect to a specific geometry.
4. To demonstrate the input of your own material property parameters via Materials Database Manager.
Step 1: Geometry and FEA Results
For this series of benchmark problems, the geometry used is arbitrary because stress time histories are used as the loading inputs. Since MSC.Fatigue is highly coupled to the FE model and needs to retrieve stresses (or strains) from the FE analysis, an arbitrary geometry and loading were created so as to reproduce a unit stress due to a unit load. This ensures that the actual stress time history is used exactly as input without any scaling necessary.
If you look carefully at the geometry, you will notice that the units are inches and that a 1 PSI pressure has been applied at one end, while the other end has been constrained. At Node 1 a stress of 1000 PSI results. See the definition of the time history in Step 3: Loading Histories, 1240 of this example.
The geometry is in a file called code.out with the stress results in a file called code.txt, which needs to be converted via RESTXT to code.res similar to all previous example problems. Files can be found in
<install_dir>/mscfatigue_files/examples
 
Note:  
It is possible to set up a job without a finite element mesh using an MSC.Fatigue module called FEFTRN or by using the Utilities option in FEFAT or PCRACK.
Step 2: Material Characterization
The material used is the same as that used by the in-house code (i.e., Aluminum 7075-T6). In order to get the exact same strain data curves into MSC.Fatigue, the strain-life and stress-strain curves used by the in-house code were digitized and curve fit to produce the material properties as shown in Table 14‑1. The MSC.Fatigue calculations assume a good machined surface finish and no surface treatment. The following keystrokes can be used to enter the materials information into the MSC.Fatigue materials database manager. Once the materials data is entered, you can inspect the corresponding strain-life and stress‑strain plots, if you wish. Use these operations to enter the data into the MSC.Fatigue materials database:
 
Operation
Comments
pfmat
Invoke PFMAT either from the system prompt or from the MSC.Fatigue Materials form.
Create / data set 1
Click on the Create option and select data set 1.
OK
No password is necessary. A local copy of the database will be created in your directory.
Primary name: AL7075-T6
Give the material a name. You may fill out the other fields in this form if you desire.
OK
Accept this first page of descriptive data.
Generic Data
Enter the Monotonic properties from Table 14‑8. Properties not listed may be left blank.
E-N Data
Enter the Strain properties from Table 14‑8. Properties not listed may be left blank. The defaults will be used.
S-N Data
Do not enter data in this form. Simply click the OK button.
Fracture Mechanics Data
Do not enter data in this form. Simply click the OK button. After this a confirmation that the material has been loaded will be given.
Graphical Display
Select the Graphical display option.
Strain Life Plot
Choose to plot the Strain Life plot.
File / Exit / eXit
Exit from PFMAT.
 
Table 14‑8
Material Properties
7075-T6
Strain Properties
Fatigue strength coefficient, Sf’
821
Fatigue strength exponent, b
-0.0953
Fatigue ductility coefficient, Ef’
0.398
Fatigue ductility exponent, c
-0.9251
Cyclic strain hardening exponent, n’
0.0685
Cyclic strength coefficient, K’ (Mpa)
799
Monotonic Properties
Young’s Modulus, E (Mpa)
70200
UTS (MPa)
558
Step 3: Loading Histories
The loading histories, as mentioned before, are stress histories. Because the FE model was created such as to give a unit stress due to a unit load, the stress time histories are taken as is, with no scaling factors applied. Table 14‑9 shows the stress time history spectra for each problem. Basically, each block consists of an initial overload (and underload sometimes) followed by 999 (or 998) constant amplitude cycles for a total of 1000 cycles per block.
We will be creating these time histories by reading in ASCII versions of them which can be found in the examples directory delivered with your MSC.Fatigue system. The names of the files are coden.asc where the n refers to the time history number from Table 14‑9. Note that the values in these files are PSI and not KSI as reported in Table 14‑9. This is because we are using stress at Node 1 which was reported to be 1000 PSI which scales the values in the files to KSI.
 
Table 14‑9
Problem No.
Step No.
Min. Stress
Max. Stress
No. of Cycles
1
1
2
0.0ksi
5.2ksi
26.4ksi
26.4ksi
1
999
2
1
2
0.0ksi
5.2ksi
47.3ksi
26.4ksi
1
999
3
1
2
3
0.0ksi
-7.9ksi
5.2ksi
47.3ksi
26.4ksi
26.4ksi
1
1
998
4
1
2
3
0.0ksi
-15.8ksi
5.2ksi
47.3ksi
26.4ksi
26.4ksi
1
1
998
5
1
2
3
0.0ksi
-25.0ksi
5.2ksi
47.3ksi
26.4ksi
26.4ksi
1
1
998
6
1
2
3
0.0ksi
-32.5ksi
5.2ksi
47.3ksi
26.4ksi
26.4ksi
1
1
998
7
1
2
-50.0ksi
5.2ksi
26.4ksi
26.4ksi
1
999
The following keystrokes are used to set up the load spectra into PTIME. At the end of the PTIME execution, there will be files called coden.dac in your directory. The ASCII read utility of PTIME is used to read in the load spectra and convert it into a form that PTIME can understand. This session assumes you are starting in a clean, empty directory.
 
Operation
Comments
ptime
Invoke PTIME either from the system prompt or from the MSC.Fatigue Loading form.
ASCII convert & load
Select the ASCII load option.
ASCII Filename: code1
The form that appears asks for the filename to be read. This file ending with the suffix .asc will be read.
Time History: CODE1
Give the new time history a name. Use CODE1
OK
Accept this form after placing the asterisk in the filename databox.
Description 1
You must enter at least one descriptive title. Since you are loading all files at once, this description will be given to all load histories created.
Load type: Pressure
Set the Load type to Pressure.
Units: PSI
Set the Units to PSI. Press OK when ready. The time histories will be read from the ASCII files. Press End when done.
Plot an entry
Select the Plot an entry option to plot the new time histories. Use the List button to select one for viewing. Repeat this operation as many times as you wish to view the time histories.
File / Exit / eXit
Close the graphical display by selecting Exit under the File menu and then select the Exit option to leave PTIME.
Step 4: Setup MSC.Fatigue Job
The files needed to set up the MSC.Fatigue job can be found in the examples directory delivered with your MSC.Fatigue system. The are called code.out and code.txt, where code.out contains the arbitrary geometry and code.txt contains the finite element results. The finite element results come from MSC.Patran FEA and therefore need to be translated into the binary results file code.res by way of the MSC.Patran utility RESTXT. The following operations setup the MSC.Fatigue job:
 
Operation
Comments
patran
Invoke MSC.Patran (or MSC.Fatigue Pre & Post) if you have not already done so.
File / New...
Open a new database from the File pull -down menu. Call it “code.” Set the analysis preference to MSC.Patran FEA if asked. Ignore any warning messages.
File / Import...
Import the neutral file code.out into the database. At this time you may wish to manipulate the model, turn labels off, or other MSC.Patran operations. When ready, go on to the next step.
Tools / FATIGUE...
(Analysis)
Invoke MSC.Patran’s FATIGUE interface by selecting it from under the Tools pull-down menu (or the Analysis application switch in MSC.Fatigue Pre & Post.
General Setup Parameters:
Analysis: Initiation
Set the analysis type to Crack Initiation on the main form.
Units: PSI
Set the Stress Units to PSI.
Jobname: code
Give the job a name. Use code.
Title: Crack Initiation analysis comparison to another code
Give the job a title.
Solution Parameters Form: Accept all defaults.
Materials Information Form:
Material: AL7075-T6
Place the cursor in the cell under the word Material and click on the mouse. A listbox will appear. Select the material AL7075-T6 from this listbox.
Finish: Good Machined
Select Good Machined from the option menu that appears. The word Good Machined appears in the Finish cell.
Treatment: No Treatment
Select No Treatment from the option menu that appears.
Before completely filling out the Materials form we need to digress a bit and create a special MSC.Patran group which contains only the node with the unit stress associated with it. We only care to do a fatigue analysis at this node since the entire geometry is actually arbitrary.
 
Operation
Comments
Group / Create
From the top MSC.Patran form, select the Group pull down menu and choose the Create option.
New Group Name
In the form that appears, enter Node1 as the New Group Name. Make sure there is no space in the group name.
Entity Selection / Node 1
In the Entity Selection databox either type in Node 1 or select node 1 from the graphics screen with the cursor. Then click the Apply button to create the group and then the Cancel button to close the form down.
 
Operation
Comments
Materials Information Form:
Region: Node1
Select the Node1 group as the region of the fatigue analysis now.
Loading Information Form:
Results From: MSC.Patran FEA
The results are from an external MSC.Patran FEA results file.
Select a MSC.Patran FEA Job: code
Select the code.res file from the listbox. Appear only as “code.” Make sure you actually select it so that it is highlighted.
Load Case ID: 1
Place the cursor in the Load Case ID cell and click the mouse button. A databox appears in which the load case ID from the FE analysis is to be entered. Press RETURN to accept the default (1).
Time History: CODE1
Select a time history from the list that appears. Our time history is the one that was previously created and scaled, CODE1.
Load Magnitude: 1.0
Enter 1.0 as the load magnitude. There is no need to normalize the stresses from the FE analysis. Press RETURN to enter this value into the cell. This form can now be closed down by clicking the OK button.
Job Control Form:
Full Analysis
Set the action to Full Analysis and click the Apply button.
Monitor Job
At this point, the job has been submitted and can be monitored as to its progress if desired. Set the Action to Monitor and click Apply each time you wish to see the progress state of the job. Once the message Fatigue analysis completed successfully appears as the status message, the results can be examined.
Step 5: Evaluate Results
Quickly view the results.
 
Operation
Comments
Results Form:
List Results
Set the Action to List Results. The separate MSC.Fatigue module PFPOST will be spawned. Press the Apply button.
OK
Press OK when the PFPOST form comes up to accept the default jobname.
Most damaged nodes
Select the first option to view the most damaged nodes.
End / eXit
Press End and then exit PFPOST.
You will notice that the answer from MSC.Fatigue is a very large number of Repeats. This number is actually meaningless without calibration. Our goal now is to calibrate MSC.Fatigue to come in line with the actual test data results of 47 Repeats.
Step 6: Design Optimization
To illustrate this, invoke the MSC.Fatigue module called FEFAT by typing the symbol fefat at the system prompt or pick Optimize from the Results form in MSC.Fatigue. First reanalyze the original problem to see that the same answer is achieved and then set the parameter optimization to do a scale factor back calculation. You will be asked for a back calculation life. This life should be the actual test value of 47.657 Repeats. Reanalyze and note the scale factor calculated. Now you can run the rest of the problems by changing the time history and using this new calibration scale factor.
 
Operation
Comments
Results Form:
Or type fefat at the system prompt.
Optimize
Set the Action to Optimize. The separate MSC.Fatigue module FEFAT will be spawned. You can select a node from the graphics screen or type one in if you wish. Type in “Node 1” since it is node 1 we wish to look at.
OK
Press the OK button to reanalyze using node 1.
Design Life [Repeats]: 47.647
Enter the targeted design life. Use a design life of 47.
End
Close down the summary page.
Parameter optimization... \
Scaling Factor
Select the Parameter optimization option to do a back calculation of life. Choose the scaling factor option.
Recalculate
Recalculate. Note the back calculated scale factor.
End / exit
Quit from FEFAT.
A back calculated scaling factor of about 2.2 is reported. Note the exact number on your computer and use it in the rest of the exercise. Instead of re-entering the MSC.Patran system to set up each additional problem, invoke the fatigue preprocessor routine FEFAT by typing the symbol fefat from the system prompt and enter the following keystrokes.
 
Operation
Comments
fefat
Invoke FEFAT from the system prompt.
Preprocessing and analysis
Go into the preprocessing portion of the code.
Input file (CODE_CI):
Accept this as the default. Press OK.
Node to process (ALL):
Accept the default.
Output Results filename (code):
Accept the default or enter a new name. You will be prompted for overwrite permission if you accept the default.
Edit load cases
Set this to Yes.
Full analysis (N)
Answer no to this question. Press OK.
Time History name: CODE2
Enter CODE2 for the second time history. Press OK.
We can now use our calibration scale factor.
 
Operation
Comments
Design Optimization
Enter the design optimization portion of FEFAT.
Input file (CODE_CI):
Accept this as the default. Press OK.
OK
Press OK to rerun the analysis. Don’t forget to enter a design life if needed.
End
Press end to exit the result summary page.
Change parameters...
Select the Change parameters.
Scaling Factor: 2.2
Enter the scale factor that you noted earlier. Press OK.
Recalculate
Recalculate. Note the new life.
End / exit
Quit from FEFAT.
Table 14‑10 tabularizes the measured and predicted lives. MSC.Fatigue used three different mean stress correction factors, STW, Morrow, and no correction. Figure 14‑8 plots the predicted vs. measured lives. Repeat the last few operations (fefat) for each different problem you wish to review.
Note that problem #1 is not listed in the results table. This is because problem #1 was used to “calibrate” MSC.Fatigue, as was done for the in-house code as well. A “K” factor was determined to make the results for the first problem fall exactly in line with the test data. This factor was then applied to the remaining six problems.
In general, MSC.Fatigue and the in-house code are in good agreement with the measured lives, falling well within the scatter band of Figure 14‑8. However, the strain-life durability is very sensitive to the effects of positive mean stress and is highly dependent of surface finish and surface treatment.
 
Table 14‑10
Problem No.
Test
In-House
MSC.Fatigue No Correction
STW
Morrow
1
47.647
 
(calibrated with Kt=2.2
2
1028
1182
~1200
~200
~330
3
309
450
~550
~130
~230
4
129
173
~280
~100
~170
5
64
59
~130
~60
~90
6
31
35
~85
~40
~60
7
32
26
~100
~16
~27
Figure 14‑8 Measured and Predicted Lives of In-House Code