Fatigue User’s Guide > Total Life and Crack Initiation > Description of Files
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
Description of Files
Various files are created during a fatigue analysis. Some of these files are editable and require detailed descriptions of their formats and/or parameters. These files include:
 
Parameter
Description
This is referred to as the job information file. It contains all of the job information necessary to set up a fatigue analysis. All information filled out in a form in MSC Fatigue Pre & Post or MSC Patran for a MSC Fatigue analysis is contained in this file. This file is read by the PAT3FAT or FATTRANS translator to create the fatigue input file, jobname.fes.
This is not a file that most users will need to worry too much about. It is a UNIX shell script that controls the analysis when submitted directly from MSC Fatigue Pre & Post or MSC Patran. It can be edited and changed to customize the submittal process and is included here for completeness. A similar file is FatigueExecute which is also a UNIX shell script and is used when the user is submitting jobs via the MSC Patran Analysis Manager module.
This is referred to as the fatigue input file and is generally created by the PAT3FAT or FATTRANS translator. It is binary and is not an editable file, however, the format of this file is included in case someone desperately wishes to write their own.
This is the ASCII version of the fatigue input file and is created using FEFAT’s utility programs. It is fully editable and fully described in this section.
This is the pre-processed fatigue input file. It is binary and a description is included here in case a user desires to read this file for his own purposes.
This is the fatigue results file and is in a typical MSC Patran results file format which is also described in this section. It can also be output as a Universal file format by setting the keyword FEFTYPE to the value UNIVERSAL using the MSC Fatigue environment module MENM. See Modifying the MSC.Fatigue Environment (MENM), 1433.
The Job Information File (jobname.fin)
This file has a form as shown in Figure 5‑36 where the data is defined in a parameter-driven format (i.e., PARAMETER=VALUE). The first line always must be #3.x (where x=1, 2, or 4), to distinguish the input file as a MSC Fatigue jobname.fin file. (Upward compatibility does not exist for versions less than 2.5.) Parameters in the jobname.fin file may be in any order with the exception of the ANALYSIS TYPE line, the MATERIAL and the LOAD CASE data. All load case data must be sequential beginning with NUMBER OF LOAD CASES = as well as material information after MATERIAL # =. Comments may be inserted after the parameter and value by using the ! character.
Figure 5‑36 A Typical jobname.fin File
The valid parameters, corresponding values, and their meanings in the jobname.fin file are described in the next few pages.
General Setup Parameters
 
ANALYSIS TYPE =
This must be the first line of the file after the #3.4 line. It indicates the type of fatigue analysis to be performed.
NOMINAL STRESS
CRACK INITIATION
CRACK GROWTH
VIBRATION
SPOT WELD
MULTIAXIAL FOS
MULTIAXIAL CI
MAG WELD
SEAM WELD
FEA RESULTS LOCATION =
Identifies whether stress/strain results are to be found at nodes or element centroids. Also tells MSC Fatigue to expect nodal or elemental results files if external FEA results are under consideration. Calculated fatigue results will also be either nodal or elemental depending on the value of this parameter. Valid entries are:
NODE
ELEMENT CENTROID
NODE AND ELEMENT (used for SPOT WELD analysis only)
AVERAGING
Can be set to GLOBAL or GROUP. If set to GLOBAL all nodal stress or strain results will be averaged at the nodes for each contributing elemental node. GROUP refers to the current group With GROUP set, averaging will not take into account contributions of nodal results from elements that are not in the current group. The current group is always referred to on the title bar of the MSC Patran graphics window.
TITLE =
This is a descriptive text string which will be passed on through the analysis and presented together with the results. It may be used to assist in the identification of the job. The maximum length is 80 characters.
P3DATABASE
Refers to the MSC Patran database from which group information will be read and also stress or strain data.
TENSOR TYPE =
RESULTS TYPE =
This identifies the type of data retrieved from the FEA analysis. Valid values are STRESS, STRAIN or EPINPUT (for CRACK INITIATION or MULTIAXIAL CI). For SPOT WELD analysis, this parameter is RESULTS TYPE = FORCE.
STRESS UNITS =
FORCE UNITS =
If STRESS is chosen in the tensor type parameter, as seen above, the units of stress must be defined here. Acceptable values are:
MPA (N/mm2 or MN/m2)
PASCALS (N/m2)
PSI
KSI
KG/M**2
For SPOT WELD analysis the FORCE UNITS can be:
Nm
Nmm
lbfin
kipin
STRAIN TYPE =
TENSOR or ENGINEERING. The difference is whether the shear strains have been multiplied by two (2). If TENSOR is specified then the shear strains will be scaled. If ENGINEERING is specified it is assumed that the scaling has take place already.
STRESS COMBINATION =
When strains are involved the parameter is STRAIN COMBINATION=. Selections marked with an asterisk (*) are not recommended and disabled from the MSC Fatigue setup forms. However, the jobname.fin file can be edited to use these combinations if necessary.
MAX PRINCIPAL*
MIN PRINCIPAL*
MAX ABS PRINCIPAL
VON MISES*
TRESCA*
SIGNED VON MISES
SIGNED TRESCA
SIGNED MAX SHEAR
X NORMAL
Y NORMAL
Z NORMAL
X-Y SHEAR
Y-Z SHEAR
Z-X SHEAR
SURFACE
!FOSTOGGLE =
This tells you whether or not a Factor of Safety run is going to be made.
Nominal Stress-Life Specific Parameters
 
DESIGN CRITERION =
This is the probability of survival expressed as a percentage (valid numbers are in the range 0.1 to 99.9).
MEAN STRESS CORRECTION =
NONE
GOODMAN
GERBER
BIAXIALITY=
TRUE
FALSE
VIBRATION METHOD =
DIRLIK
NARROW BAND
ALL
Crack Initiation Specific Parameters
 
ANALYSIS METHOD =
NONE
SMITH-WATSON-TOPPER
MORROW
DESIGN CRITERION =
This is the probability of survival expressed as a percentage (valid numbers are in the range 0.1 to 99.9).
PLASTICITY=
NEUBER
MERTENS-DITTMAN
SEEGER-BESTE
BIAXIALITY=
TRUE
FALSE
METHOD BIAXIAL=
This parameter is only written to the .fin file when the BIAXIALITY PARAMETER is set to TRUE. The possible values for this parameter are:
NONE
MATERIAL PARAMETER
HOFFMAN-SEEGER
Crack Growth Specific Parameters
 
CRACK LENGTH UNIT =
INCHES
METERS
MILLIMETERS
MILLIINCHES
CRACK LENGTH INITIAL =
Initial crack length in user's units. If zero the Kitagawa minimum crack theory will then be used to determine the minimum valid initial crack size for linear elastic fracture mechanics.
CRACK LENGTH FINAL=
Final crack length in user's units. Must be larger than the initial crack length.
COMPLIANCE FUNCTION =
The name of the file containing the data defining the K-solution or compliance function. This file must have a KSN extension. It is not necessary to input the extension.
NOTCH DEPTH =
The depth of the notch in user’s units. This parameter may be set to zero in which case the next two parameters are ignored in the analysis. If the initial crack size is set to zero then a non-zero value for the notch depth must be entered.
NOTCH RADIUS =
The radius of the notch in user's units.
SHARP CRACK RADIUS =
The sharp crack tip radius in user's units.
Material Parameters
 
S-N DATA SET n=
MATERIAL n =
The names of the materials datasets are held here where n is the material number being defined. Up to 100 materials may be defined, with each material name not exceeding 32 characters in length. Only one material (MATERIAL 1=) can be specified for crack growth. Also for crack growth, the environment must follow the material name as in the following example:
MATERIAL 1 = BS4360-50D:seawater CP-850mV
M_DIRECTORY=
CENTRAL
LOCAL
USERS
FINISH=
Polished
Ground
Good Machined
Ave. Machined
Poor Machined
Hot Rolled
Forged
Cast
Water Coreoded
Seawater Corr.
User defined
No Finished
TREATMENT=
No Treatment
Nitrided
Shot Peened
Cold Rolled
KF=
A concentration factor. Can be any number greater than zero. Default is one.
ALPHAP=
Shape factor for Mertens-Dittman and Seeger-Beste plasticity corrections. Any number greater than 1.0 is valid. Default is infinity which forces Neuber correction.
REGION=
The MSC Patran group of nodes and/or elements to be used for this combination of material/surface finish and treatment.
MULTIPLIER=
A multiplier value. Any real number is valid. Default is one.
OFFSET=
An applied offset. Any real number is valid. Default is zero.
WELD=
YES
NO
NA
Valid for component S-N analyses only.
ENVIRONMENT=
The name of the environment for crack growth jobs.
S-N TYPE =
S-N curves can be MATERIAL or COMPONENT. The difference is explained in Component vs. Material S-N Curves, 130.
SPOT WELD Analysis
The following two parameters are necessary for SPOT WELD analysis: DIAMETER and THICKNESS. Each group of spotwelds that share the same material parameters are grouped into 3’s. you may have up to 100 groups of 3’s. For example the first grouping will appear as:
MATERIAL 1 = spot_nugget_generic
M_DIRECTORY = CENTRAL
DIAMETER = 1.0
THICKNESS = 1.0
MULTIPLIER = 1.0
REGION = spotwelds
MATERIAL 2 = spot_sheet_generic
.
.
.
MATERIAL 3 = spot_sheet_generic
.
.
.
where the first material describes the nugget and the second two describe the top and bottom sheets. The next group will be MATERIAL 4, 5, and 6.
DIAMETER =
Diameter of the spot weld nugget for a particular material for SPOT WELD analysis. This is only important for the first material in a group.
THICKNESS =
Thickness of the sheet for a particular material for SPOT WELD analysis. This is only important for the second two materials in a group.
FEA Results Parameters
 
FEA ANALYSIS TYPE =
STATIC
TRANSIENT
TRANSFER FUNCTION
PSD
FEA RESULTS TYPE =
The source of the FEA stress analysis results:
DATABASE
P3/FEA
EXTERNAL (e.g., MSC Patran results files)
XDB
SDRC UNIVERSAL
XDB and SDRC files can be read when the jobname.fin file is created using FEFTRN only. See FEFTRN, 89.
TRANSFORMATION =
BASIC
NONE
EQUIVALENT UNITS =
This is used for calculating and reporting life in the user’s units.
DATABASE =
The name of the MSC Patran database from which results will be extracted.
RESULTS JOB NAME =
This is the results jobname of a MSC Patran FEA analysis. The name must correspond to the name of a jobname.res file created from a MSC Patran FEA analysis. It is not necessary to specify the .res suffix. It is also the name of the XDB or SDRC Universal file.
RESULTS FILE NAME =
If the FEA results are from an external code other than the MSC Patran database or from MSC Patran FEA, then this parameter is used to specify the MSC Patran nodal or elemental results file names. These files are specified by placing a # character in the place of the subcase number (or time step number for a transient analysis). For example if the results files are sub1.nod, sub2.nod, sub3.nod, then the parameter should be specified as:
RESULTS FILE NAME= sub#.dis
RESULTS COLUMNS =
Used to define in which columns the various stress or strain tensors are located in the results files produced by the translator when using an external FEA code. All six component stresses or strains must be specified, separated by commas, even if one or more of these columns are zero due to the nature of the FE analysis. The columns must be specified in order (i.e., X,Y,Z,XY,YZ,ZX directional stresses/strains, respectively). The following example shows how they must be specified:
RESULTS COLUMNS=1,2,3,18,19,20
where
Column 1 points to X directional stress
Column 2 points to Y directional stress
Column 3 points to Z directional stress
Column 18 points to XY directional stress
Column 19 points to YZ directional stress
Column 20 points to ZX directional stress
SHELL SURFACE =
If the analysis is from MSC Patran FEA and there are stresses/strains from shell elements to be considered in the fatigue analysis, then top or bottom results must be specified. This is also true of results from the MSC Patran database regardless of element type. Top results will always be used if this parameter is not specified.
TOP
BOTTOM
NUMBER OF TIME
STEPS =
NUMBER OF FREQUNCY STEPS =
An integer number specifying the number of time steps if the analysis is transient or the number of frequencies in a frequency response or random vibration analysis. For an external FE code, there must be the same number of results files as number of time steps specified.
SCALE FACTOR =
A scale factor that may be applied to the results of a transient analysis.
NUMBER OF LOAD
CASES =
NUMBER OF INPUT =
An integer number specifying the number of load cases. For an external FE code, there must be the same number of results files as number of load cases specified. For frequency response analysis this parameter is NUMBER OF INPUT = referring to the number of input PSD loads.
Load Case Parameters
The next data group is repeated for each load case. All parameters are order independent with the exception of the load case information. All load case information must follow the NUMBER OF LOAD CASES= parameter and all information for each load case must follow the LOAD CASE= parameter. Load case information is not necessary for transient analyses and will be ignored if present.
 
LOAD CASE =
INPUT ID =
An integer between 1 and 40. Must be sequential beginning with 1 and must be repeated for every load case. For frequency response analysis this parameter is INPUT ID = and can only range from 1 to 20.
FEA LOAD CASE ID =
FREQUENCY ID # =
TIME STEP ID # =
An integer (or group of integers) specifying the load case ID as specified in the FE analysis or the internal IDs of the result in the database. When results are specified from the database, they are X.Y-A.B-C- where:
X = Result Case ID
Y = Subcase ID
A = Primary Result
B = Secondary Result
C = Layer ID
TIME HISTORY =
LOAD FILE =
This is the name of the loading time history which describes the time variation of the loading for the load case under consideration. The loading time history must be defined in the time history database. For frequency response analysis this parameter is LOAD FILE = and is the input load psd name as also defined using the time history database which is really a loading database.
TH_DIRECTORY=
The directory name where the time history files are located.
SHIFT=
This is an offset value to be applied to the load case results. Can be any valid number. Default is zero.
SCALE FACTOR=
This is a scale factor to be applied to the load case results. Can be any valid number. Default is one.
LOAD MAGNITUDE =
This is the scalar magnitude of the loading applied in the FEA analysis for this load case (or the magnitude of a related quantity). The value must be in the units defined under LOAD UNIT= parameter below.
LOAD TYPE =
The type of load. This number will correspond to the number allocated in the ltypes.ind file which is contained in the ptime central directory. When shipped, the index numbers are as follows:
0 ! Static
1 ! Force
2 ! Pressure
3 ! Temperature
4 ! Acceleration
6 ! Displacement
7 ! Rotational Velocity
8 ! Velocity
9 ! Uncalibrated
10 ! Scalar
11 ! Moment
LOAD UNIT =
The load unit type as defined by the loading time history database. This number will correspond to the number allocated in the utypes.ind file which is contained in the PTIME central directory. When shipped, the index numbers are as follows:
0 ! Newtons
1 ! kNewtons
2 ! lbs force
3 ! Tons force
4 ! Tonnes force
10 ! Pascals
11 ! MPa
12 ! PSI
13 ! KSI
14 ! TSI
15 ! kgf/m^2
20 ! Degrees Kelvin
21 ! Degrees Celsius
22 ! Degrees Fahrenheit
30 ! m/s^2
31 ! g
32 ! feet/s^2
40 ! m
41 ! mm
42 ! inches
43 ! milliinches
44 ! microinches
50 ! rps
51 ! rpm
52 ! rph
53 ! rad/s
54 ! rad/min
60 ! m/s
61 ! mm/s
62 ! kph
63 ! ips
64 ! mph
70 ! undefined
80 ! none
81 ! %
82 ! levels
90 ! Nm
91 ! Ft lbs
92 ! Nmm
When a Duty Cycle analysis is run a master FIN file shown in Figure 5-37 is written along with a .cfg file, see Figure 5-38. These two files provide all the information that is needed to create the multiple .fin files that are needed for a Duty Cycle run. Note that the lines listed in the master FIN file are the same as those listed for a single analysis run. Only the Load Case information has been replaced with two lines indicating that this is a Duty Cycle run and the location of the CFG file.
Figure 5‑37 A Typical jobname.fin file for a Duty Cycle run
 
Duty Cycle Parameters
 
!DCMETHOD = MULTI
Indicator that a Duty Cycle analysis is going to be run.
!DCCFGFILE =
Specifies the directory and name of the .cfg file that will be read during the Duty Cycle run.
Figure 5‑38 Typical jobname.cfg file for a Duty Cycle run
CFG File Specific Parameters
TEMPLATE JOBNAME =
The jobname.
NUMBER OF RESULTS ENTITIES PER JOB =
An integer number specifying the number of result entities in the analysis group.
NUMBER_OF_SEQUENCES =
An integer number specifying the number of sequences that have been defined in the CFG file.
SEQUENCE_NAME_# =
This lists the sequence number and the name of that Sequence.
NUMBER OF REPEATS OF SEQUENCE_NAME_# =
An integer number specifying the number of repeats that are going to be applied to the current sequence.
NUMBER OF EVENTS =
An integer number specifying the number of events in the current sequence.
LAYER SELECTION =
Currently this card has two values BOTH and SINGLE.
Note: This will change in future versions where the information will be extracted from the analysis group(s) and recorded here.)
NUMBER OF JOBS REQUESTED =
An integer number specifying the number of jobs or .fin files that will be created.
EVENT_NAME_# =
This lists the event number and the name of that event.
NUMBER OF REPEATS OF
EVENT_NAME_# =
An integer number specifying the number of repeats that are going to be applied to the current event.
NUMBER OF TIME HISTORIES =
An integer number specifying the number of time histories that will be used for the current event.
END EVENT_NAME_#
Signifies the end of the current event.
END SEQUENCE_NAME_#
Signifies the end of the current sequence.
The Submit Script (FatigueSubmit)
MSC Fatigue uses a submit script to manage the execution of MSC Fatigue modules during an analysis. For completion and reference purposes, this script is shown here for the UNIX bourne shell. This script may be edited and modified by the user if necessary. This a only an example of the submit script and it may vary from computer system to computer system and from release to release.
#! /bin/sh
#set -x
 
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 
#  FatigueSubmit   
# 
#
#
# Abstract:
#    This procedure executes a MSC/FATIGUE analysis by running the the
#    MSC/FATIGUE translator and solver in the proper order.  This
#    procedure is called from within MSC/PATRAN when the user submits a job
#    for analysis.
#
# 
#  Arguments:
#
#    -j jobname         Analysis job name
#
#    -a iat             The analysis type:     1 = crack initiation 
#                                              2 = spot weld
#                                              3 = crack growth
#                                              4 = nominal stress
#                                              44 = rotational analysis
#                                              5 = vibration fatigue
#                                              6 = Mag Weld
#                                              7 = Multiaxial CI
#                                              8 = Multiaxial FOS 
#
#    -p partial         Partial Analysis Flag: 0 = full analysis
#                                              1 = pre-processor only
#
#    -y plane           Plane_stress:          0 = none 
#                                              1 = plane stress correction
#
#    -f fos_opt         Safety factor option:  0 = none
#                                              1 = stress based
#                                              2 = life based
#
#    -s str_life        Stress reference or design life (actual value)
#
#    -m max_fac         Maximum factor to calculate (actual value)
#
#    -c cut_off         Use material cutoff:   0 = use cuttoff
#                                              1 = don’t use cutoff
#   
#    -z fast            Fast analysis option:  0 = none
#                                              1 = gate
#                                              2 = points
#                                              3 = reduction
#
#    -g pvx_gate        Percentage gate to use in PV eXtraction for quick analysis
#                       or the number of points or reduction factor
#
#    -n num_ents        Number of entities to keep for fast analysis
#
#    -t temp_dpnd       Use temp dependent mats:    0 = no (default)
#                                                   1 = yes
#
#    -b mmean_mats      Use multi-mean correction:  0 = no (default)
#                                                   1 = yes
#
#    -d spect_lod       Use spectrum loading input: 0 = no (default)
#                                                   1 = yes
#
#    -e seamw_2004      Use seamw2004 solver:       0 = no (default)
#                                                   1 = yes
#   
# 
#  Modification History:
#     11/24/93 Initial Release
#     11/26/94 Update for 1.4
#     09/12/95 Update for 6.0
#     10/22/01 Update Multiaxial (ljd)
#     12/13/01 Fix femlf submit error (dt1)
#     
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
# DEFINE A LOCAL SHELL FUNCTION FOR DISPLAYING VALID PARAMS FOR THIS SCRIPT
abort_usage( ) {
   cat 2>&1 <</
Usage:  $Cmd -j jobname -a iat -p partial [optional flags] 
    flags:  -v             for verbose output
	    -j jobname     to specify a jobname (required)
	    -a iat         to specify analysis type: 
                              1 = crack initiation (default) 
                              2 = spot weld
                              3 = crack growth
                              4 = total life
                              44 = rotation 
                              5 = vibration fatigue
                              6 = Mag Weld
                              7 = MultiCI
                              8 = MultiFOS
	    -p partial     to specify full or partial analysis:
                              0 = full analysis (default)
                              1 = partial analysis (stops after rainflow)
	    -y plane       to specify plane_stress correction:
                              0 = no (default  (for crack
                              1 = yes           growth only)
	-f fos_opt     to specify factor of safety option: 
                              0 = none (default)
                              1 = stress based
                              2 = life based
            -s str_life    to specify reference stress or design life
                              (this is a factor of safety parameter)
            -m max_fac     to specify maximum stress factor
            -c cut_off     to specify material cutoff usage:
                              0 = use cutoff (default)(used for factor
                              1 = don’t use cutoff     of safety only)
            -z fast        to specify fast analysis using PV eXtraction
                              0 = none (default      (Not valid for 
                              1 = percentage gate     crack growth or
                              2 = number of points    rainflow matrices )
                              3 = reduction factor
            -g pvx_gate    to specify actual percentage gate for PV eXtraction
                           or number of points or reduction factor
            -n num_ents    to specify number of FE entities for keep for
                           fast analysis
            -t temp_dpnd   Use temp dependent mats:
                              0 = no (default)
                              1 = yes
            -b mmean_mats  Use multi-mean correction: 
                              0 = no (default)
                              1 = yes
            -d spect_lod   Use spectrum loading input:
                              0 = no (default)
                              1 = yes
            -e seamw_2004  Use seamw2004 solver:
                              0 = no (default)
                              1 = yes
/
   exit 1
}
 
# DEFINE A LOCAL SHELL FUNCTION FOR CHECKING STATUS
check_status( ) {
   if [ -f $jobname.abo ] ; then
      rm -f $Semaphore
      rm -f $jobname.abo
      echo "Abort detected ... aborting $Cmd"
      exit 2
   fi
   if [ "$1" -ne 0 ] ; then
#     trap "No damaging nodes" as a non-error
      code=0
      code=‘tail -5 $jobname.msg|grep -c "No damaging nodes"‘
      if [code -ne 1] ; then
         rm -f $Semaphore
         echo "Error detected ... code is <$1> ... aborting $Cmd"
         exit 2
      fi
   fi
}
   
# DEFINE A LOCAL SHELL FUNCTION FOR DOING A GENERAL-PURPOSE EXIT 
exit_normal() {
   rm -f $Semaphore
   rm -f $jobname.rmn
   echo "$Cmd complete"
   exit 0
}
 
# DETERMINE THE COMMAND NAME OF THIS SCRIPT
Cmd=‘echo $0 | sed ’s;^.*/;;’‘
 
# SET UP PROPER PATHS TO THE EXECUTABLES
if [ -z "$p3fpath" ] ; then
   if [ -z "$P3_HOME" ] ; then
      ExecDir=/msc/patran75/mscfatigue_files/bin 
      FatDir=/msc/patran75/mscfatigue_files
   else
      ExecDir=$P3_HOME/mscfatigue_files/bin
      FatDir=$P3_HOME/mscfatigue_files
   fi 
else
   ExecDir=$p3fpath/bin
   FatDir=$p3fpath
fi 
if [ -z "$npath" ] ; then
   NpathDir=$ExecDir
else
   NpathDir=$npath/nsoft
fi
 
# set nCode environment variables
if [ -z "$SHLIB_PATH" ] ; then
   SHLIB_PATH=$P3_HOME/mscfatigue_files/bin ; export SHLIB_PATH
else
   SHLIB_PATH=$P3_HOME/mscfatigue_files/bin:$SHLIB_PATH ; export SHLIB_PATH
fi
 
# ASSIGN THE DEFAULT ARGUMENT PARAMETER VALUES
jobname=’’
Verbose=’’
iat=1
partial=0
plane=0
fos_opt=0
str_life=0
max_fac=100
cut_off=0
fast=0
pvx_gate=0
num_ents=0
temp_dpnd=0
mmean_mats=0
spect_lod=0
seamw_2004=0
Status=0
 
# PARSE THROUGH THE INPUT ARGUMENTS
while [ $# -ne 0 ] ; do
   case "$1" in
      -v) Verbose=yes    ; shift   ;;
      -j) jobname=$2     ; shift 2 ;;
      -a) iat=$2         ; shift 2 ;;
      -p) partial=$2     ; shift 2 ;;
      -y) plane=$2       ; shift 2 ;;
      -f) fos_opt=$2     ; shift 2 ;;
      -s) str_life=$2    ; shift 2 ;;
      -m) max_fac=$2     ; shift 2 ;;
      -c) cut_off=$2     ; shift 2 ;;
      -z) fast=$2        ; shift 2 ;;
      -g) pvx_gate=$2    ; shift 2 ;;
      -n) num_ents=$2    ; shift 2 ;;
      -t) temp_dpnd=$2   ; shift 2 ;;
      -b) mmean_mats=$2  ; shift 2 ;;
      -d) spect_lod=$2   ; shift 2 ;;
      -e) seamw_2004=$2  ; shift 2 ;;
      -*) abort_usage           ;;
   esac
done
 
# MAKE CERTAIN THAT A JOBNAME PARAMETER WAS SPECIFIED
if [ -z "$jobname" ] ; then
   abort_usage
fi
 
# MAKE CERTAIN THAT AN ANALYSIS TYPE WAS SPECIFIED
if [ -z "$iat" ] ; then
   abort_usage
fi
 
# DISPLAY VERBOSE INFORMATION DESCRIBING PARAMETERS IF REQUESTED TO DO SO
if [ ! -z "$Verbose" ] ; then
   cat <</
 
$Cmd parameters ...
   Jobname              = $jobname
   Analysis Type        = $iat
   Full(0)/Partial(1)   = $partial
   Plane Stress         = $plane
   Factor of Safety     = $fos_opt
   Ref. Stress/Life     = $str_life
   Use Cutoff           = $cut_off
   Fast Analysis        = $fast
   PVX % Gate           = $pvx_gate
   Num. FE Entities     = $num_ents
   Temperature dependent= $temp_dpnd
   Multi-mean correction= $mmean_mats
   Spectrum Load Input  = $spect_lod
   Use Seamw2004        = $seamw_2004
/
fi
 
# DELETE ANY OLD FILES OF THE SAME JOBNAME
rm -f $jobname.fpp
rm -f $jobname.fos
rm -f $jobname.fef
rm -f $jobname.fdf
rm -f $jobname.tcy
rm -f $jobname.crg
rm -f $jobname.rmn
rm -f $jobname.fos_tmpl
rm -f $jobname.fef_tmpl
rm -f $jobname.fdf_tmpl
 
# ASSERT THE SEMAPHORE FOR THIS JOB TO LET THE WORLD KNOW THAT WE’RE BUSY
Semaphore=$jobname.sta
StatusFile=$jobname.sta
echo "Job has begun execution" >$Semaphore
 
# ALSO SEND ALL LICENSE MESSAGES TO A LOG FILE
LogFile=$jobname.log
date >$LogFile
 
# DEFINE SOME USEFUL GLOBAL VARIABLES
PCRACK=$ExecDir/pcrack
PFPOST=$ExecDir/pfpost
FEFAT=$ExecDir/fefat
FATFE=$ExecDir/mfatfe
FEROT=$ExecDir/ferot
FEVIB=$ExecDir/fevib
FASTAN=$ExecDir/fastan
SPOTW=$ExecDir/spotw
SEAMW=$ExecDir/seamw
MULTI=$ExecDir/femlf
EntFile=’pfatigue.ents’
rm -f $EntFile
rm -f fastan.msg
 
# FUNCTION TO PERFORM THE ANALYSIS
SubmitAnalysis()
{
   Semaphore=$jobname.fpr
   echo "Executing MSC/FATIGUE job \"$jobname\"" >$Semaphore
 
 # DO THE CRACK GROWTH ANALYSIS:
   if [ $iat = 3 ] ; then
       # PRE-PROCESS CRACK GROWTH:
       $PCRACK /mscopt=p/INP=$jobname/OV=Y/\*=$jobname.msg >>$LogFile
       check_status $?
       if [ $partial = 0 ] ; then
          # DO THE FULL ANALYSIS:
          if [ -f $jobname.tcy ] ; then
             if [ $plane = 1 ] ; then
                # PLANE STRESS CORRECTION:
			 $PCRACK /mscopt=a/INP=$jobname/PLANE=Y \
				/OV=Y/\*=$jobname.msg >>$LogFile
                check_status $?
             else
                # NO PLANE STRESS CORRECTION:
                $PCRACK /mscopt=a/INP=$jobname/OV=Y/\*=$jobname.msg >>$LogFile
                check_status $?
             fi
          else
             check_status 1
          fi
       fi
   fi
 
 # DO THE SPOT WELD ANALYSIS:
   if [ $iat = 2 ] ; then
      if [ -f $jobname.fes ] ; then
         $SPOTW  /OPT=e/INP=$jobname/OV=Y/\*=$jobname.msg >>$LogFile
         check_status $?
      else
         check_status 1
      fi
   fi
 
# DO THE MAG WELD ANALYSIS:
   if [ $iat = 6 ] ; then
      if [ $seamw_2004 = 1 ] ; then
          if [ -f $jobname.fes ] ; then
             $SEAMW  /OPT=e/INP=$jobname/OV=Y/\*=$jobname.msg >>$LogFile
             check_status $?
          else
             check_status 1
          fi
      else
          $FATFE  /job=$jobname/ana=y/OV=Y/\*=$jobname.msg >>$LogFile
# Until fatfe solver writes status, use manual job-end message
          echo "Job execution has ended" >$StatusFile
          check_status $?
      fi
   fi
 
 # CHECK FOR A pfatigue.ent FILE
   if [ -f $EntFile ] ; then
      location=@$EntFile
   else
      location=all
   fi
 
 # DO THE ROTATION ANALYSIS:
   if [ $iat = 44 ] ; then
         if [ $partial = 0 ] ; then
            # DO FULL ANALYSIS
            if [ -f $jobname.fes ] ; then
               $FEROT  /OPT=a/INP=$jobname/OV=Y/OPT=X/\*=$jobname.msg >>$LogFile
               check_status $?
            else
               check_status 1
            fi
         fi
   fi
   
 # DO THE CRACK INITATION OR TOTAL LIFE ANALYSIS:
   if [ $iat = 1 -o $iat = 4 ] ; then
      # DO THE FAST ANALYSIS IF REQUESTED
      if [ $fast != 0 ] ; then
         if [ $fast = 1 ] ; then
              type=GATE
         fi
         if [ $fast = 2 ] ; then
              type=LEN
         fi
         if [ $fast = 3 ] ; then
              type=REDUCT
         fi
         $FASTAN /JOB=$jobname/METHOD=$fast/$type=$pvx_gate \
			/ENTS=$num_ents/\*=$jobname.msg >>$LogFile
         cat fastan.msg >>$jobname.msg
         rm -f fastan.msg
      else
         if [ $temp_dpnd = 1 -o $mmean_mats = 1 -o $spect_lod = 1 ] ; then
             # DO FULL ANALYSIS
             $FATFE  /job=$jobname/opt=p/popt=a/dobax=n \
				/ov=y/opt=a/ana=y/\*=$jobname.msg >>$LogFile
             echo "Job execution has ended" >$StatusFile
             check_status $?
         else
             # PRE-PROCESS FIRST:
             $FEFAT /OPT=p/INP=$jobname/LOC=$location \
			/OV=Y/ANAL=NO/\*=$jobname.msg >>$LogFile
             check_status $?
 
             if [ $partial = 0 ] ; then
                # DO FULL ANALYSIS
                if [ -f $jobname.fpp ] ; then
                   $FEFAT  /OPT=f/INP=$jobname/OV=Y/\*=$jobname.msg >>$LogFile
                   check_status $?
                else
                   check_status 1
                fi
             fi
         fi
      fi
   fi
 
 # DO THE FACTOR OF SAFETY ANALYSIS:
   if [ $fos_opt != 0 ] ; then
      if [ $temp_dpnd = 1 -o $mmean_mats = 1 -o $spect_lod = 1 ] ; then
         if [ $partial = 0 ] ; then
            # DO ONLY IF FULL ANALYSIS REQUESTED:
            if [ -f $jobname.fpp ] ; then
               echo "FOS calculation has started" >$StatusFile
               if [ $fos_opt = 1 ] ; then
                  # REFERENCE STRESS BASED FACTOR OF SAFETY:
                  $FATFE  /job=$jobname/opt=p/popt=a/dobax=n \
			/ov=y/opt=a/saf=S/dlif=$str_life/\*=$jobname.msg >>$LogFile
                  echo "FOS calculation has ended" >$StatusFile
                  check_status $?
               elif [ $fos_opt = 2 ] ; then
                  if [ $cut_off = 0 ] ; then
                     # DESIGN LIFE BASED FACTOR OF SAFETY W/ CUTOFF:
                     $FATFE/job=$jobname/opt=p/popt=a/dobax=n \
			/MAXFAC=$max_fac/USECUT=Y/ov=y \
			/opt=a/saf=L/dlif=$str_life/\*=$jobname.msg >>$LogFile
                     echo "FOS calculation has ended" >$StatusFile
                     check_status $?
                  else
                     # DESIGN LIFE BASED FACTOR OF SAFETY W/O CUTOFF:
                     $FATFE /job=$jobname/opt=p/popt=a/dobax=n \
				/MAXFAC=$max_fac/USECUT=N/ov=y/opt=a/saf=L \
				/dlif=$str_life/\*=$jobname.msg >>$LogFile
                     echo "FOS calculation has ended" >$StatusFile
                     check_status $?
                  fi
               else
                  check_status 1
               fi
            fi
         fi
      else
         if [ $partial = 0 ] ; then
            # DO ONLY IF FULL ANALYSIS REQUESTED:
            if [ -f $jobname.fpp ] ; then
               if [ $fos_opt = 1 ] ; then
                  # REFERENCE STRESS BASED FACTOR OF SAFETY:
                  $FEFAT /OPT=s/INP=$jobname/ANAL=S/STRESS=$str_life \
				/OV=Y \/*=$jobname.msg >>$LogFile
                  check_status $?
               elif [ $fos_opt = 2 ] ; then
                  if [ $cut_off = 0 ] ; then
                     # DESIGN LIFE BASED FACTOR OF SAFETY W/ CUTOFF:
                     $FEFAT /OPT=s/INP=$jobname/ANAL=L/LIFE=$str_life/OV=Y \
				/MAXFAC=$max_fac/USECUT=Y/\*=$jobname.msg >>$LogFile
                     check_status $?
                  else
                     # DESIGN LIFE BASED FACTOR OF SAFETY W/O CUTOFF:
                     $FEFAT /OPT=s/INP=$jobname/ANAL=L/LIFE=$str_life \
				/OV=Y/MAXFAC=$max_fac/USECUT=N/\*=$jobname.msg >>$LogFile
                     check_status $?
                  fi
               else
                  check_status 1
               fi
            fi
         fi
      fi
   fi
 
 
 # DO THE VIBRATION FATIGUE ANALYSIS:
   if [ $iat = 5 ] ; then
            # DO FULL ANALYSIS
            if [ -f $jobname.fes ] ; then
               $FEVIB  /OPT=G/INP=$jobname/OV=Y/\*=$jobname.msg >>$LogFile
               check_status $?
            else
               check_status 1
            fi
   fi
 
# DO THE MULTIAXIAL CI ANALYSIS:
   if [ $iat = 7 ] ; then
      if [ -f $jobname.fes ] ; then
#        $MULTI  /OPT=c/INP=$jobname/OV=Y/\*=$jobname.msg >>$LogFile       # dt1
         $MULTI  /OPT=c/INP=$jobname/JOB=$jobname/OV=Y/\*=$jobname.msg >>$LogFile
         check_status $?
      else
         check_status 1
      fi
   fi
 
# DO THE MULTIAXIAL FOS ANALYSIS:
   if [ $iat = 8 ] ; then
      if [ -f $jobname.fes ] ; then
#        $MULTI  /OPT=S/INP=$jobname/OV=Y/\*=$jobname.msg >>$LogFile       # dt1
         $MULTI  /OPT=S/INP=$jobname/JOB=$jobname/OV=Y/\*=$jobname.msg >>$LogFile
         check_status $?
      else
         check_status 1
      fi
   fi
 
}
 
eval SubmitAnalysis 
 
# SUCCESSFUL EXIT OF SCRIPT
exit_normal
 
The Analysis Manager Execution Script (FatigueExecute)
MSC Fatigue uses an execution script to manage the execution of MSC Fatigue modules during an analysis submitted by the Analysis Manager. For completion and reference purposes, this script is shown here for the UNIX bourne shell. This script may be edited and modified by the user if necessary. This a only an example of the submit script and it may vary from computer system to computer system and from release to release.
#! /bin/sh
#set -x
 
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 
#  FatigueExecute
# 
#
# Abstract:
#    Script to submit MSC/FATIGUE to a local or remote host via the
#    ANALYSIS MANAGER.  This script will call FatigueSubmit on the 
#    appropriate host.  All FatigueSubmit parameters are obtained from
#    the jobname.job file.
#
#    The current version does not move files from submit node to analysis node.
#    This version handles file conversion & launching of FatigueSubmit.
#
#  Limitations:
#
#  Arguments:
#
#    -j jobname         Analysis job name
#
#    -h remhost         The of the submitting host (where the job originated).
#
#    -d remdir          The directory on the remote host where the job originated.
#
#  Modification History:
#     08/30/04 Initial Release
#
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
# DEFINE A FUNCTION FOR DISPLAYING VALID PARAMS FOR THIS SCRIPT
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
abort_usage( ) {
   cat 2>&1 <</
Usage:  $Cmd -j jobname -h remhost -d remdir
    flags:   -v             for verbose output
             -j jobname     to specify a jobname (required) 
             -h remhost     to specify the remote hostname (required)
             -d remdir      to specify the remote directory (required)
             -e exename     to specify a solution type (optional) 
/
   exit 1
}
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
# DEFINE A FUNCTION FOR CHECKING STATUS
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check_status( ) {
   Status=$1
   if [ "$1" -ne 0 ] ; then
      echo "Error detected ... aborting $Cmd"
      exit 2
   fi
}
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
# DEFINE A FUNCTION FOR DOING A GENERAL PURPOSE EXIT 
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
exit_normal( ) {
   rm -f $jobname.fpr
   echo "$Cmd complete"
   exit 0
}
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
# DETERMINE THE COMMAND NAME OF THIS SCRIPT
Cmd=‘echo $0 | sed ’s;^.*/;;’‘
# SET UP PROPER PATHS TO THE EXECUTABLES
if [ -z "$P3_HOME" ] ; then
    echo "No path to fatigue executables"
    check_status -1
else
    ExecDir=$P3_HOME/bin
fi 
 
# ASSIGN THE DEFAULT ARGUMENT PARAMETER VALUES
jobname=’’
exename=’’
remhost=${MSCP_FATIGUE_HOST:-LOCAL}
remdir=${MSCP_FATIGUE_SCRATCHDIR:-.}
Status=0
 
 
# PARSE THROUGH THE INPUT ARGUMENTS
if [ $# -lt 2 ] ; then
  abort_usage
fi
 
while [ $# -ne 0 ] ; do
   case "$1" in
      -v) Verbose=yes  ; shift   ;;
      -j) jobname=$2   ; shift 2 ;;
      -h) remhost=$2   ; shift 2 ;;
      -d) remdir=$2    ; shift 2 ;;
      -e) exename=$2   ; shift 2 ;;
       *) abort_usage ;;
   esac
done
 
# MAKE CERTAIN THAT THERE IS A JOBNAME
if [ -z "$jobname" ] ; then
   abort_usage
fi
if [ -z "$FAT_COMMAND_STR" ] ; then
   echo "Env variables not being set from rcf file"
   check_status -1
fi
if [ -z "$FAT_SUBHOST_TYPE" ] ; then
   echo "Env variables not being set from rcf file"
   check_status -1
fi
 
exename=$FAT_EXE_NAME
if [ -z "$exename" ] ; then
   exename=FEFAT
fi
 
 
# DISPLAY VERBOSE INFORMATION DESCRIBING PARAMETERS IF REQUESTED TO DO SO
if [ ! -z "$Verbose" ] ; then
   cat <</
 
$Cmd parameters ...
   Exename              = $exename
   Jobname              = $jobname
   Remote Host          = $remhost
   Remote Directory     = $remdir
/
fi
 
 
# Determine type of analysis machine;
# only two choices since this script only on these machines.
OsName=‘uname‘
case "$OsName" in
   Linux)
      AnalysisHostType="LINUX"
      DestType=3
      ;;
   *)
      AnalysisHostType="UNIX"
      DestType=12
      ;;
esac
 
# Determine type of submit machine;
# env FAT_SUBHOST_TYPE is defined in rcf file & exported to this machine
case "$FAT_SUBHOST_TYPE" in
   WINNT)
      SubmitHostType="WINNT"
      SourceType=3
      ;;
   LINUX)
      SubmitHostType="LINUX"
      SourceType=3
      ;;
   *)
      SubmitHostType="UNIX"
      SourceType=12
      ;;
esac
 
 
LogFile=$jobname.log
date >$LogFile
CONFIL=$ExecDir/mconfil
FASTAN=$ExecDir/fastan
FATFE=$ExecDir/mfatfe
FEFAT=$ExecDir/fefat
FEROT=$ExecDir/ferot
FEVIB=$ExecDir/fevib
MULTI=$ExecDir/femlf
PCRACK=$ExecDir/pcrack
SEAMW=$ExecDir/seamw
SPOTW=$ExecDir/spotw
 
 
# convert ascii fes if needed
if [ "$AnalysisHostType" != "$SubmitHostType" ] ; then
    case "$exename" in
	FASTAN)
	if [ -f $jobname.asc ] ; then
	   $FASTAN /OPT=u/UOPT=b/INP=$jobname \
			/OUT=$jobname/OV=Y/\*=$jobname.msg  >>$jobname.log
	   check_status $? 
	fi
	;;
	MFATFE)
	if [ -f $jobname.asc ] ; then
	   $FATFE /OPT=u/UOPT=f/JOB=$jobname \
			/OV=Y/\*=$jobname.msg  >>$jobname.log
	   check_status $? 
	fi
	;;
	FEFAT)
	if [ -f $jobname.asc ] ; then
	   $FEFAT /OPT=u/UOPT=b/INP=$jobname \
			/OUT=$jobname/OV=Y/\*=$jobname.msg  >>$jobname.log
	   check_status $? 
	fi
	;;
	FEROT)
	if [ -f $jobname.asc ] ; then
	   $FEROT /OPT=u/UOPT=b/INP=$jobname/OUT=$jobname \
			/OV=Y/\*=$jobname.msg  >>$jobname.log
	   check_status $? 
	fi
	;;
	FEVIB)
	if [ -f $jobname.asc ] ; then
	   $FEVIB /OPT=u/UOPT=b/INP=$jobname/OV=Y/\*=$jobname.msg  >>$jobname.log
	   check_status $? 
	fi
	;;	
	FEMLF)
	if [ -f $jobname.asc ] ; then
	   $MULTI /OPT=u/UOPT=b/INP=$jobname/OV=Y/\*=$jobname.msg  >>$jobname.log
	   check_status $? 
	fi
	;;	
	PCRACK)
	if [ -f $jobname.asc ] ; then
	   $PCRACK /MSCOPT=u/UOPT=b/INP=$jobname/OUT=$jobname \
			/OV=Y/\*=$jobname.msg  >>$jobname.log
	   check_status $? 
	fi
	;;	
	SEAMW)
	if [ -f $jobname.asc ] ; then
	   $SEAMW /OPT=u/UOPT=b/INP=$jobname/OV=Y/\*=$jobname.msg  >>$jobname.log
	   check_status $? 
	fi
	;;
	SPOTW)
	if [ -f $jobname.asc ] ; then
	   $SPOTW /OPT=u/UOPT=b/INP=$jobname/OV=Y/\*=$jobname.msg  >>$jobname.log
	   check_status $? 
	fi
	;;
	*)
	abort_usage
	;;
    esac
fi
 
 
# DETERMINE NUMBER OF SUPPORTING FILES USED
numdac=0
numpsd=0
numcyh=0
numksn=0
numspe=0
numlcs=0
nummdb=0
numhtd=0
nummnd=0
numdac=‘ls *.dac | wc -l‘ > /dev/null 2>&1
numpsd=‘ls *.psd | wc -l‘ > /dev/null 2>&1
numcyh=‘ls *.cyh | wc -l‘ > /dev/null 2>&1
numksn=‘ls *.ksn | wc -l‘ > /dev/null 2>&1
nummdb=‘ls *.mdb | wc -l‘ > /dev/null 2>&1
 
# DO CONVERSIONS IF THEY CAME FROM BINARY INCOMPATIBLE SYSTEMS
if [ "$AnalysisHostType" != "$SubmitHostType" ] ; then
   if [ "$numdac" -ne 0 ] ; then
      find . -name \*.dac -print | awk -F/ ’{print $2}’ > names
      for i in ‘cat names‘
      do
         $CONFIL /INP=$i/TYP=11 - DAC/SOU=$SourceType \
			/DES=$DestType/OV=Y/\*=$jobname.msg  >>$jobname.log
      done
      rm -f names
   fi
   if [ "$numpsd" -ne 0 ] ; then
      find . -name \*.psd -print | awk -F/ ’{print $2}’ > names
      for i in ‘cat names‘
      do
         $CONFIL /INP=$i/TYP=11 - DAC/SOU=$SourceType \
			/DES=$DestType/OV=Y/\*=$jobname.msg  >>$jobname.log
      done
      rm -f names
   fi
   if [ "$numcyh" -ne 0 ] ; then
      find . -name \*.cyh -print | awk -F/ ’{print $2}’ > names
      for i in ‘cat names‘
      do
         $CONFIL /INP=$i/TYP=11 - DAC/SOU=$SourceType \
			/DES=$DestType/OV=Y/\*=$jobname.msg  >>$jobname.log
      done
      rm -f names
   fi
   if [ "$numksn" -ne 0 ] ; then
      find . -name \*.ksn -print | awk -F/ ’{print $2}’ > names
      for i in ‘cat names‘
      do
         $CONFIL /INP=$i/TYP=11 - DAC/SOU=$SourceType \
			/DES=$DestType/OV=Y/\*=$jobname.msg  >>$jobname.log
      done
      rm -f names
   fi
   if [ "$nummdb" -ne 0 ] ; then
      find . -name \*.mdb -print | awk -F/ ’{print $2}’ > names
      for i in ‘cat names‘
      do
         $CONFIL /INP=$i/TYP=74 - MDB/SOU=$SourceType \
			/DES=$DestType/OV=Y/\*=$jobname.msg  >>$jobname.log
      done
      rm -f names
   fi
fi
 
# Perform the analysis;
# env FAT_COMMAND_STR is defined in rcf file & exported to this machine
$ExecDir/FatigueSubmit $FAT_COMMAND_STR ; check_status $? 
 
 
# SUCCESSFUL EXIT OF SCRIPT
exit_normal
 
The Fatigue Input File (jobname.fes)
The file is stored in 512 byte blocks, the first of which is a standard nCode header. The file is a mixture of 16-bit integers, 32 -bit integers (INTEGER*4), 32 bit real numbers and character information stored as 16-bit integers (two characters per integer). The date format is 7 INTEGER values, in order Year, Month, Day, Hour, Minute, Second, Hundredths.
Record 1 (Header record)
 
WORD
CONTENTS
1-7
Creation date (7xINTEGER)
8-14
Update date (7xINTEGER)
15
Operating system which created the file. (INTEGER), 2=VMS,10=DEC Unix,12=Other Unix, 101=Windows
16
File ID number (89=FES File) (INTEGER)
17
Major Revision level (3=Current level) (INTEGER)
18
Minor Revision level (5=Current level) (INTEGER)
19-34
Program name which last wrote the file (CHARACTER*32)
35
FES Type (Integer): 0=Full FES file, 1=Partial FES file
36
Data Source (Integer)
0 = MSC/PATRAN or MSC/FATIGUE
1 = Hypermesh
2 = SDRC
3 = Mechanica
4 = ANSYS
5 = NASTRAN OP2
6 = ABAQUS
7 = MEDINA
8 = FEDEM
9 = ADAMS
37-50
Unused
51
Record number containing load data LODREC (usually record 3) (INTEGER*4)
53
Record number containing group/mat. data (INTEGER*4)
55
Record number containing stress data (INTEGER*4)
57
Number of calculation points (nodes or elements) (INTEGER*4)
59-256
Unused
Record 2 (Parameter record)
 
WORD
CONTENTS
1
Fatigue Calculation Type (INTEGER): 1=Local Strain, 2=S-N, 3=Crack Growth, 4=Spot Weld, 5=Vibration analysis, 6=Seam Weld S-N, 7=Multiaxial E-N, 8=Multiaxial safety factor, 9=Multiple mean stress S-N
2
FE results type (INTEGER): 0=Linear Static, 1=Linear Time Step (Transient dynamic, etc.), 2=Transfer function, 3=PSD, 4=Elastic-plastic Time Step, 5=Rotating analysis (wheels)
3
Results Type (INTEGER): 0=Stress, 1=Strain (Local strain method only), 2=Forces (Spot weld only), 3=Stress and Strain (from Elastic-Plastic)
4
Results at (INTEGER): 0=Node, 1=Element centroid, 2=Node and element, 3=Element centroid and corners
5
Results co-ordinate system (INTEGER): 0=Full 3D, no defined co-ordinate system, 1=2D resolved to surface.
6
Results combination method (INTEGER): 1=Max. Principal, 2=Min. Principal, 3=Abs. Max. Principal (*), 4=Von Mises, 5=Max. Shear (stress) or Tresca (strain), 6=Signed Von Mises (*), 7= X component (*), 8=Y component (*), 9=Z component (*), 10=XY component (*), 11=YZ component (*), 12=ZX component (*), 19=Signed Max. Shear Stress (*), 20=Signed Tresca Strain(*), 21=Mid Principal, 22=Min. Abs. Principal, 23=Critical plane analysis (set for multiaxial, non-changeable). The (*) indicates approved options.
7
Number of load inputs (static) or time steps (time-step analyses) or load inputs (vibration) or load conditions (rotating analysis) (INTEGER). If number of time steps=-1, see offset in word 17.
8
Number of groups/materials (INTEGER)
9
Design Criterion, in % (REAL)
11
Stress units (INTEGER): 0=MPa, 1=Pascals, 2=PSI, 3=KSI, 4=kg/m^2
Force/length units (Spot Weld only): 0=Newtons/mm, 1=Newtons/m, 2=lbs/ins, 3=kips/in
12
Damage Model (INTEGER): Local Strain: 0=SWT, 1=Morrow, 2=Strain-Life; S-N: 0=No correction, 1=Goodman, 2=Gerber, 3=Interpolate (multiple mean stress only); Spot Weld: 0=only valid number; Seam Weld: 0=No mean stress correction, 1=Mean stress correction; Multiaxial E-N: 0=Normal strain, 1=SWT-Bannantine, 2=Shear stress, 3=Fatemi-Socie, 4=Wang-Brown, 5=Wang-Brown with Mean; Multiaxial safety factor: 0=Dang Van, 1=McDiaemid
13
Elastic-plastic correction (INTEGER): 0=Neuber, 1=Mertens/Dittmann, 2=Seeger/Beste, 3=None (for elastic-plastic results), 4=Glinka (not supported yet)
14
Biaxial correction method (INTEGER): 0=None, 1=Ratio, 2=Hoffmann-Seeger
15
S-N small cycle correction (INTEGER): 0=None, 1=Heibach relative Miner.
16
Vibration Analysis (INTEGER): 0=Dirlik, 1=Narrow Band, 2=All
17
Number of time steps (v3.2 or above) (INTEGER*4)
19
Temperature dependent (INTEGER): 0=No, 1=YES
20
Temperature units (INTEGER): 0=Celsius, 1=Fahrenheit, 2=Kelvin
21
Shell element data type (INTEGER): For FEMAP: 1=Element centroid Top+Bottom, 2=Element centroid top, 3=Element centroid bottom, 4=Element centroid & corners (top+bottom), 5=Element centroid & corners (top), 6=Element centroid & corners (bottom), 7=Nodial average top, 8=Nodal average bottom
22
Solid element data type (INTEGER): For FEMAP: 1=Nodal average (default), 2=Element corners
23
Critical plane angle increment (REAL)
25
Seam weld analyses - Miners sum (REAL)
27
Unused
29
Hardening Parameter for Dang Van (REAL)
31
Crack Growth Initial crack length (REAL)
33
Crack Growth Final crack length (REAL)
35
Crack Growth Sharp crack radius (REAL)
37
Crack Growth Notch length (REAL)
39
Crack Growth Notch root radius (REAL)
41-56
KSN filename (CHARACTER*32)
57-68
Unused
69
Vibration fatigue PSD data (INTEGER): 0=1 combined or directional PSD per node, 1=6 component PSD per node
70
Number of vibration frequency steps (INTEGER), maximum value 8192
71-86
Vibration analysis - Load matrix filename (CHARACTER*32)
87-100
Unused
101-140
Job ID string 1 (CHARACTER*80)
141-180
Job ID string 2 (CHARACTER*80)
181
Number of equivalent units (REAL): Default 0.0; if 0.0, look in time histories extra details, or ignore if no time histories
183
Equivalent units (CHARACTER*80)
223-256
Unused
Frequency step records (start at record 3)
Only applicable for vibration analysis. Contains N real *4 values, one per frequency step. N is defined in record 2, element 70. The number of records occupied is defined by NREC=(N-1)/128 + 1.
The start of the load records is defined by LODREC=3+NREC.
Load description records (start at LODREC - usually record 3)
For load cases:
 
WORD
CONTENTS
1
Load case index number (INTEGER)
2-41
Load case descriptor (CHARACTER*80)
42
Load case type (INTEGER): 1=constant amplitude, 0=static, >0=see value in LTYPES.IND
43
Load case units (INTEGER)
44-103
Load case time history name (static), Load case PSD input (vibration) (CHARACTER*120)
104
Channel number (for RPCIII input) (INTEGER)
105
Load case applied value (REAL)
107
Load case scaling factor (REAL)
109
Load case offset (REAL)
111
Constant amplitude type (INTEGER): 0=Peak-peak, 1=Zero-peak, 2=User Defined
112
Constant amplitude maximum value (REAL)
114
Constant amplitude minimum value (REAL)
116
Time history file type (INTEGER): 0=DAC, 1=RPC 111 (see word 104)
117-128
Unused
129-256
Load case #2, structure as in 1-128.
For loading conditions
:
WORD
CONTENTS
1
Load conditions index number (INTEGER)
2-41
Load condition descriptor (CHARACTER*80)
42
Number of wedges (INTEGER)
43-104
Unused
105
Design life (REAL)
107
Load condition scaling factor (REAL)
109
Load condition offset (REAL)
111-128
Unused
129-256
Load condition #2, structure as in 1-128
Record LODREC+1 (if NLOADS > 2)
 
1-128
Load case #3, etc. up to maximum of 200 load cases
If the results are from a time step analysis or PSD type vibration analysis, there is only one load case record. Only the description, scale factor and offset are used.
First Material record ( =LODREC + TRUNC(NLOADS/2 + 0.5)
 
WORD
CONTENTS
1
Material source (INTEGER): 0=Database local/central, 1=Database external, 2=Generated, 3=In FES file (not supported), 4=External ASCII file, 6=No material (e.g. BS5400)
2
S-N analysis type (INTEGER): 0=Material based, 1=Component based, 2=BS5400 welded, 3=BS5400 non-welded, 4=Spot Weld, 5=Seam Weld
3-42
Database file name (CHARACTER*80)
43-58
Material name for Spot Weld, sheet material name (CHARACTER*32)
59-74
Sub name (e.g., for Spot Weld: nugget material name; for Crack growth: environment name) (CHARACTER*32)
75
Analysis code parameter (INTEGER). If analysis code=2 or 3, then the following codes are used to define the weld classes : 1 = B, 2 = C, 3 = D, 4 = E, 5 = F, 6 = F2, 7 = G, 8 = S, 9 = W
76
Type of material as per PFMAT codes (INTEGER)
77
UTS (REAL)
79
Young’s modulus (REAL)
81
Elastic Poisson’s Ratio (REAL)
83
Cutoff (REAL)
85
Standard error for generated data (REAL)
87-128
Space for 21 material params if option 3 (REAL x 21)
129
Surface finish ID (INTEGER): 1=No finish/Polished, 2=Ground, 3=Good Machined, 4=Average Machined, 5=Poor Machined, 6=Hot rolled, 7=Forged, 8=Cast, 9=Water corroded, 10=Seawater corroded
130
Surface treatment ID (INTEGER): 1=No treatment, 2=Nitrided, 3=Cold rolled, 4=Shot peened
131
Multiplier on stress (REAL)
133
Stress offset (REAL)
135
Fatigue limit reduction factor, kf (REAL)
137
Plastic stress conc. factor (REAL)
139
M1/M2 Ratio (Seam weld, v3.4 onwards) (REAL), must be >0.0
141
Nugget diameter (Spot weld) (REAL), if 0.0, use the value in the data area. If -1.0, use the spotweld.sys file
143
Sheet thickness (Spot weld) (REAL), if 0.0, use the value in the data area
145
R-ratio transition ratio (Seam weld) (REAL), 0.0<=R-ratio <=1.0
147
Materials data type (INTEGER): 0=standard, 1=isothermal
148
Unused
149
Temperature for this group(REAL)
151-172
Unused
173-212
Group name for reference (CHARACTER*80)
213-256
Unused
This repeats, one group per block up to 25 groups.
Elements 76-128 are not used and can be set to 0, unless material source option=2, in which case type, E and UTS are required.
Data Records
These records start at the first record after the last material block.
 
WORD
CONTENTS
1
Node (INTEEGER*4)
3
Element (INTEGER*4). For “Node at element” either both may be set, or only one. If Node is set to 0, then the result is element only.
5
Pointer to group number (material etc.) (INTEGER)
7
Multiplier for this node (REAL)
9
Offset for this node (REAL)
11
Temperature @node (REAL)
13
For Spot Weld analyses - nugget diameter, for Seam weld analysis - element width (REAL)
15
For Spot Weld analyses - sheet thickness, for Seam weld analyses - element thickness (REAL)
17
Element type (INTEGER): 0=solid, 1=shell, 2=bar element (Spot Weld)
18
Element location if type=1 (INTEGER): 1=bottom, 2=mid, 3=top
19-32
Unused
33-44
X,Y,Z,XY,YZ,XZ stresses/strains for LC1 (6*REAL) and so on for other LCs. This block repeats for nodes/elements. For time step, LC=time step.
For spot welds, these 6 values are used for the forces and moments: Fx, Fy, Fz, Mx, My, Mz.
For a Spot Weld analysis, the element number must be the same for 3 consecutive entries (nugget, sheet1 and sheet2). The node number for the nugget must be zero. The node numbers for sheet1 and sheet2 correspond to the node numbers of the shell to which the spot weld beam is connected.
For Seam welds analysis, the first 2 values are stress on top and bottom surface of shell respectively (the rest are assumed to be 0):
S@ top, S@ bottom
For vibration analysis, the six components of the transfer function (as complex numbers) must be stored for each frequency step, for each input. The order is as follows:
Frequency step 1:
Input 1: Sx1,Sx2,Sy1,Sy2,Sz1,Sz2,Sxy1,Sxy2,Syz1,Syz2,Sxz1, Sxz2
Input 2: ……
…….
Frequency step 2
Input 1 :
and so on where the frequency steps are in the order defined in the header.
If the FE results type is PSD, there is only one load input. Since the value is load, not a transfer function there is only one value per frequency step, not twelve.
For elastic-plastic results, each time step would also contain 12 results, the first six for strain and the next six for stress.
For rotating analysis results, the six stresses for each load case for each wedge are stored as follows:
Load case 1:
Wedge 1: Sxx, Syy, Szz, Sxy, Syz, Sxz
Wedge 2: ...
Load case 2:
Wedge 1: Sxx, Syy, Szz, Sxy, Syz, Sxz
Wedge 2: ..
and so on.
Node/Element = -1 indicates end of file. It must be present even if the number of valid nodes is stored in the header.
ASCII Version (jobname.asc)
The format of the file is reasonably straightforward due to the fact that keywords have been used together with the data. The information in this file is a combination of information from the MSC Patran database, the jobname.fin and FEA results files as combined and translated by the PAT3FAT translator. FEFAT’s file conversion utility is used to create the jobname.asc file from a jobname.fes and convert back. The following is a brief explanation of each of the parameters:
 
File revision=
Should be set to 3 (REAL)
Fatigue code=
(INTEGER) Valid settings are 1 (Crack initiation), 2 (Component S-N), 3 (Crack growth), 4 (Spot weld S-N), 5 (Vibration), 6 (Seam weld S-N), 7 (Multiaxial E-N), 8 (Multiaxial safety factor), and 9 (Multiple menu stress S-N)
FE results type=
FE results type (INTEGER): 0=Linear Static, 1=Linear Time Step (Transient dynamic, etc.) 2=Transfer function, 3=PSD, 4=Elastic-plastic time step, 5=Rotating analysis (wheels)
Stress/strain=
Valid settings are 0 and 1 for stress or strain, respectively.
Results location=
Results at (INTEGER): 0=Node, 1=Element Centroid, 2=Node and Element, 3=Element centroid and corners
Results co-ordinate system=
Results co-ordinate system (INTEGER): 0=Full 3D, no defined co-ordinate system, 1=2D resolved to surface.
Stress/strain combination=
Results combination method (INTEGER): 1=Max. Principal, 2=Min. Principal, 3=Abs. Max. Principal (*), 4=Von Mises, 5=Max. Shear (stress) or Tresca (strain), 6=Signed Von Mises (*), 7= X component (*), 8=Y component (*), 9=Z component (*), 10=XY component (*), 11=YZ component (*), 12=ZX component (*), 19=Signed Max. Shear Stress, 20=Signed Tresca Strain(*), 21=Mid Principal, 22=Min. Abs. Principal, 23=Critical plane analysis. The (*) indicates approved options.
Number of load cases=
Number of time steps=
Number of load cases or time steps (INTEGER)
Number of materials=
Number of materials (INTEGER)
Number of nodes=
Number of nodes with stress or strain results. Can refer to number of elements also if element based analysis (INTEGER)
Stress units=
Stress units (INTEGER): 0=Mpa, 1=Pascals, 2=PSI, 3=KSI, 4=kg/m^2
Force units
Force units (INTEGER): 0=Nmm, 1=Nm, 2=lbs ins, 3=kip in
Certainty of survival=
Design criterion in percentage (REAL). This must be 50 for crack initiation.
Damage model=
Damage Model (INTEGER): Local Strain: 0=SWT, 1=Morrow, 2=Strain-Life; S-N: 0=No correction, 1=Goodman, 2=Gerber, 3=Interpolate (multiple mean stress only); Spot weld: 0=only valid number; Seam weld: 0=No menu stress correction, 1=Menu stress correction on; Multiaxial E-N: 0=Normal strain, 1=SWT-Bannantine, 2=Shear stress, 3=Fatemi-Socie, 4=Wang-Brown, 5=Wange-Brown with menu.
Elastic-plastic correction=
Elastic-plastic correction (INTEGER): 0=Neuber, 1=Mertens/Dittmann, 2=Seeger/Beste, 3=None (not supported), 4=Glinka; for Multiaxial E-N: 0=Glinka, notch correction
Biaxiality correction=
Biaxial correction method (INTEGER): 0=None, 1=Ratio, 2=Hoffmann-Seeger
Initial crack length=
Crack Growth Initial crack length (REAL)
Final crack length=
Crack Growth Final crack length (REAL)
Sharp crack radius=
Crack Growth Sharp crack radius (REAL)
Notch length=
Crack Growth Notch length (REAL)
Notch root radius=
Crack Growth Notch root radius (REAL)
K Solution filename=
KSN file name (CHARACTER*32)
Load case number=
Load case index number (INTEGER)
Description=
Load case descriptor (CHARACTER*80)
Load type=
Load case type (INTEGER) See the description of the jobname.fin file for LOAD TYPE=
Load units=
Load case units (INTEGER) See the description of the jobname.fin file for!! UNIT TYPE=
Time history name=
Load case time history name (CHARACTER*32)
Applied FE load=
Load case applied value (REAL)
Scale factor=
Load case scaling factor (REAL)
Offset=
Load case offset (REAL)
Group ID number=
The group ID number which is the same as the material number (INTEGER)
Material source=
Material source (INTEGER): 0=Database local/central, 1=Database external, 2=Generated, 3=In FES file (not supported), 4=External ASCII file, 6=No material (e.g. BS5400)
Group description=
Group name for reference (CHARACTER*80)
S-N Analysis type=
S-N analysis type (INTEGER): 0=Material based, 1=Component based, 2=BS5400 welded, 3=BS5400 non-welded, 4=Spot weld, 5=Seam weld
Database name=
Database file name (CHARACTER*80)
Material name=
Material name (CHARACTER*32)
Sub-name=
Sub name (e.g. environment) (CHARACTER*32)
Weld class=
Analysis code parameter (INTEGER). If analysis code=2 or 3, then the following codes are used to define the weld classes: 1 = B, 2 = C, 3 = D, 4 = E, 5 = F, 6 = F2, 7 = G, 8 = S, 9 = W
Surface finish=
Surface finish ID (INTEGER)
Surface treatment=
Surface treatment ID (INTEGER)
Stress/strain raiser=
Multiplier on stress (REAL)
Stress/strain offset=
Stress offset (REAL)
Fatigue limit reduction (Kf)=
Fatigue limit reduction factor (REAL)
Plastic stress concentration factor (Formzahl)=
Plastic stress conc. factor (REAL)
Node number=
Element number=
The node or element number. A node or element number of -1 indicates the end of the file (INTEGER)
Group ID=
The group ID applied to the above node or element (INTEGER)
Multiplier=
The scale factor to be applied to results values for the above node or element (REAL)
Offset=
An offset to be applied to the results values for the above node or element (REAL)
Temp.=
A temperature reference for the above (REAL). Not used.
Six component stresses or strains for each load case or time step appear between each Node number= or Element number= line.
The Preprocessed File (jobname.fpp)
The file is stored in 256 byte blocks, the first of which is a standard header. The file is a mixture of 16-bit integers, 32 -bit integers (INTEGER*4), 32 bit real numbers and character information stored as 16-bit integers (two characters per integer). The date format is 7 INTEGER values, in order Year, Month, Day, Hour, Minute, Second, Hundredths.
Record 1 (Header record)
 
WORD
CONTENTS
1-7
Creation date (7xINTEGER)
8-14
Update date (7xINTEGER)
15
Operating system which created the file. (INTEGER): 7=SUN, 8=SGI, 9=IBM, 10=DECS, 11=HP700
16
File ID number (88) (INTEGER)
17
Major Revision level (INTEGER)
18
Minor Revision level (INTEGER)
19-34
Program name which last wrote file (CHARACTER*32)
35-50
Unused
51
Pointer to record containing load data (INTEGER*4)
53
Pointer to record containing group/mat. data (INTEGER*4)
55
Pointer to first record containing stress data (INTEGER*4)
57
Number of nodes (INTEGER*4)
59
Bin size used in this file (INTEGER)
60
FPP file has been used (1) or not (0) (INTEGER)
61-128
Unused
Record 2 (Parameter record)
 
WORD
CONTENTS
1
Fatigue Calculation Type (INTEGER): 1=Local Strain, =Component S-N, 4=Material S-N
2
FE results type (INTEGER): 0=Linear Static, 1=Linear Time Step (Transient dynamic, etc.)
3
Results Type (INTEGER): 0=Stress, 1=Strain (Local strain method only)
4
Results at (INTEGER): 0=Node, 1=Element Centroid
5
Results co-ordinate system (INTEGER): 0=Full 3D no defined co-ordinate system, 1=2D resolved to surface.
6
Results combination method (INTEGER): 1=Max. Principal, 2=Min. Principal, 3=Abs. Max. Principal (*), 4=Von Mises, 5=Max. Shear (stress) or Tresca (strain), 6=Signed Von Mises (*), 7= X component (*), 8=Y component (*), =Z component (*), 10=XY component (*), 11=YZ component (*), 12=ZX component (*), 19=Signed Max. Shear Stress (*), 20=Signed Tresca Strain (*), 21=Mid Principal, 22=Min. Abs. Principal
The (*) indicates approved options.
7
Number of load cases or time steps (INTEGER)
8
Number of groups/materials (INTEGER)
9
Design Criterion, in % (REAL)
11
Stress units (INTEGER), 0=MPa, 1=Pascals, 2=KSI, 3=PSI, 4=kg/m^2
12
Damage Model (INTEGER): Local Strain: 0=SWT, 1=Morrow, 2=Strain-Life; S-N: 0=No correction, 1=Goodman, 2=Gerber
13
Elastic-plastic correction (INTEGER): 0=Neuber, 1=Mertens-Dittmann, 2=Seeger-Beste, 3=Glinka, 4=None
14
Biaxiality correction method (INTEGER): 0=None, 1=Ratio, 2=Hoffmann-Seeger
15
S-N small cycle correction (INTEGER): 0=None, 1=Heibach relative Miner
16-29
Unused
30-69
Job ID string 1 (CHARACTER*80)
70-109
Job ID string 2 (CHARCATER*80)
110-128
Unused
Record 3 (Equivalent unit record)
 
1
Number of Equivalent units (REAL)
2-41
Equivalent units string (CHARACTER*80)
42-128
Unused
Record 4(Load description records)
 
1
Load case index number (INTEGER)
2-41
Load case descriptor (CHARACTER*80)
42
Load case type (INTEGER)
43
Load case units (INTEGER)
44-103
Load case time history name (CHARACTER*32)
104
Unused
105
Load case applied value (REAL)
106
Load case scaling factor (REAL)
107
Load case offset (REAL)
108-128
Unused
Record 5 (if NLOADS > 1)
 
1-128
Load case #3, etc. up to maximum of 200 load cases
Time step analyses have only one load record.
First Material record ( =2 + NLOADS + 1)
 
WORD
CONTENTS
1
Material source (INTEGER): 0=Database local/central, 1=Database external, 2=Generated, 3=In FES file, 4=External ASCII file, 5=M/Vision, 6=No material (e.g. BS5400)
2
S-N analysis type(INTEGER): 0=Material based, 1=Component based, 2=BS5400 welded, 3=BS5400 non-welded
3-42
Database file name (CHARACTER*80)
43-58
Material name (CHARACTER*32)
59-74
Sub name (e.g. environment) (CHARACTER*32)
75
Analysis code parameter (INTEGER)
76
Type of material as per PFMAT codes (INTEGER)
77
UTS (REAL)
79
Young’s modulus (REAL)
81
Elastic Poisson’s Ratio (REAL)
83
Cutoff (REAL)
85
Standard error for generated data (REAL)
87-128
Space for 21 material params if option 3 (REALS)
Second block of info. for material 1
 
1
Surface finish ID (INTEGER)
2
Surface treatment ID (INTEGER)
3
Multiplier on stress (REAL)
5
Stress offset (REAL)
7
Fatigue limit reduction factor (REAL)
9
Plastic stress conc. factor (REAL)
11-44
Unused
45-84
Group name for ref. (CHARACTER*80)
85-128
Unused
This repeats, one group per 2 blocks up to 25 groups.
Data Records
These records start at the first record after the last material block.
 
WORD
CONTENTS
1
Node (INTEGER*4)
3
Element (INTEGER*4) Both may be present for node at element method.
5
Group number (material etc.) (INTEGER)
6-10
Unused
11
Temperature @node (REAL)
13-16
Unused
17
Minimum on mean axis (REAL)
19
Mean bin size (REAL)
21
Minimum on range axis (REAL)
23
Range bin size (REAL)
25
Stats are valid (1) or not present (0) (INTEGER)
27
Biaxiality ratio average (REAL)
29
Biaxiality standard deviation (REAL)
31
Most popular angle (REAL)
32
Angle spread (REAL)
33
Max. Stress Range (REAL)
34
Gate used in biaxiality analysis. (REAL)
35-48
Unused
49
Total number of cycles counted (INTEGER*4)
51
Pointer to next node/element block (INTEGER*4)
From 53 onwards are cycle bin descriptors. These consist of a X/Y bin location and a cycle count for the bin. Only non-zero bins are stored. If range bin=-1 then the records terminate. These records can spill over to a new data block or blocks.
 
53
Range bin (INTEGER)
54
Mean bin (INTEGER)
55
Cycle count for bin (INTEGER*4)
56-59
Next cycle, etc.
The Results Files (jobname.fef/fos)
The results from a MSC Fatigue analysis are written to a nodal or elemental results file(s) which is a standard MSC Patran results text file. An example of a MSC Fatigue nodal output file (jobname.fef/fos) is shown in Figure 5‑39. If elemental fatigue results are under consideration, then this file will be a MSC Patran elemental output file with the same name. MSC Fatigue automatically determines which file format the jobname.fef/fos file is and compensates accordingly.
Figure 5‑39 A jobname.fef Fatigue Results File
In this example, there are six columns of data. A jobname.fef file can have either 6 or 12 columns of data depending on whether biaxiality parameters have been calculated. A jobname.fos file, from a factor of safety analysis, has only one column of data associated with it. The description of these columns is:
jobname.fes file:
 
Column 1
corresponds to Damage
Column 2
to Log of Damage
Column 3
to Life in Repeats
Column 4
to Log of Life in Repeats
Column 5
to Life in User-Defined Units (cycles in this case)
Column 6
to Log of Life in User-Defined Units (cycles in this case)
Column 7
to Mean of the Biaxiality Ratio
Column 8
to Standard Deviation of the Biaxiality Ratio
Column 9
to Angle Spread
Column10
to Most Popular Angle
Column 11
to Maximum Principal Stress Range
Column 12
to Gate in Stress Units
jobname.fos file:
 
Column 1
to Factor of Safety
For an explanation of the meaning of these results, see Postprocessing Results, 78.
This file can also be written out as a SDRC Universal file. To create fatigue results in Universal file format as opposed to the standard MSC Patran results file format, set the keyword FEFTYPE to the value UNIVERSAL using the MSC Fatigue environment module MENM. See Modifying the MSC.Fatigue Environment (MENM), 1433. MSC Patran cannot read a Universal file.
The format of these MSC Patran results file types is:
A MSC Patran nodal results file is formatted as follows:
Record 1:	TITLE	(80A1)
Record 2:	NNODES,MAXNOD,DEFMAX,NDMAX,NWIDTH	(2I9 E15.6, 2I9) 
Record 3:	SUBTITLE1	(80A1)
Record 4:	SUBTITLE2	(80A1)
Record 5 to n+4:	NODID, (DATA(J), J=1, NWIDTH)	(I8, (5E13.7)) 
 
Parameter
Description
TITLE
80A1 title stored in an 80 word real or integer array
SUBTITLE1
Same format as TITLE
SUBTITLE2
Same format as TITLE
NNODES
Number of nodes (integer)
MAXNOD
Highest node ID number (integer)
DEFMAX
Maximum absolute displacement (real)
NDMAX
ID of node where maximum displacement occurs (integer)
NWIDTH
Number of columns after NODID for nodal information (integer)
NODID
Node ID number (integer)
DATA
Result quantities organized by column index (real)
A MSC Patran element results file is formatted as follows:
Record 1:	TITLE	(80A1)
Record 2:	NWIDTH	(I5)
Record 3:	SUBTITLE1		(80A1)
Record 4:  	SUBTITLE2		(80A1)
Record 5 To N+4:	ID, NSHAPE, (DATA(J), J=1,NWIDTH)	(2I8, /, (6E13.7)) 
 
Parameter
Description
TITLE
80A1 Title Stored In An 80 Word Real Or Integer Array
SUBTITLE1
Same format as TITLE
SUBTITLE2
Same format as TITLE
NWIDTH
Number Of Columns Of Data Stored In The File (Integer)
ID
Element Identification Number (Integer)
NSHAPE
Essential Shape Code (Bar = 2, Tri = 3, Quad = 4, Tet = 5, Pyr = 6, Wedg = 7, Hex = 8; Integer)
DATA
Result Quantities Organized By Column Index (Real)