Fatigue using S-N (Stress - Life) Method

OptiStruct uses the S-N approach for calculating the fatigue life. The S-N approach is suitable for high cycle fatigue, where the material is subject to cyclical stresses that are predominantly within the elastic range. Structures under such stress ranges should typically survive more than 1000 cycles.

The S-N approach is based on elastic cyclic loading, inferring that the S-N curve should be confined to numbers greater than 1000 cycles. This ensures that no significant plasticity is occurring. This is commonly referred to as high-cycle fatigue.
Figure 1. Low Cycle and High Cycle regions on the S-N curve


Since S-N theory deals with uniaxial stress, the stress components need to be resolved into one combined value for each calculation point, at each time step, and then used as equivalent nominal stress applied on the S-N curve.

In OptiStruct, various stress combination types are available with the default being "Absolute maximum principle stress". In general "Absolute maximum principle stress" is recommended for brittle materials, while "Signed von Mises stress" is recommended for ductile material. The sign on the signed parameters is taken from the sign of the Maximum Absolute Principal value.
Figure 2. Fatigue Analysis Flowchart

The three aspects to the fatigue definition are the fatigue material properties, the fatigue parameters, and the loading sequence and event definitions.
  • Fatigue Material Properties (S-N Curve)
    Figure 3. Two Segment S-N Curve

    Defines the elements and associated fatigue properties that will be used for the fatigue analysis.
    Defines the finish, treatment, layer and the fatigue strength reduction factors for the elements.
    Defines the material properties for the fatigue analysis. These properties should be obtained from the material's S-N curve (Figure 3). The S-N curve, typically, is obtained from completely reversed bending on mirror polished specimen. S-N curves can be one segment or two segments.
  • Fatigue Parameters
    Figure 4. Mean Stress Correction

    Defines the parameters for the fatigue analysis. These include stress combination method, mean stress correction method (Figure 4), Rainflow parameters, Stress Units.
  • Fatigue Sequence and Event Definition
    Figure 5. Load Time History

    Defines the loading sequence for the fatigue analysis. This card can refer to another FATSEQ card or a FATEVNT card.
    Defines loading events for the fatigue analysis.
    Defines fatigue loading parameters.
In this tutorial, a control arm loaded by brake force and vertical force is used, as shown in Figure 1. Two load time histories acquired for 2545 seconds with 1 HZ, shown in Figure 2, are adopted. The SN curve of the material used in the control arm is shown in Figure 4. Because a crack always initiates from the surface, a skin meshed with shell elements is designed to cover the solid elements, which can improve the accuracy of calculation as well.
Figure 6. Control Arm for Fatigue Analysis Model

Figure 7. Load Time History for Vertical Force

Figure 8. Load Time History for Braking Force

Figure 9. SN Curve


The model being used for this exercise is that of a control arm, as shown in Figure 1. Loads and boundary conditions and two static loadcases have already been defined on this model.

Launch HyperMesh and Set the OptiStruct User Profile

  1. Launch HyperMesh.
    The User Profile dialog opens.
  2. Select OptiStruct and click OK.
    This loads the user profile. It includes the appropriate template, macro menu, and import reader, paring down the functionality of HyperMesh to what is relevant for generating models for OptiStruct.

Import the Model

  1. Click File > Import > Solver Deck.
    An Import tab is added to your tab menu.
  2. For the File type, select OptiStruct.
  3. Select the Files icon files_panel.
    A Select OptiStruct file browser opens.
  4. Select the ctrlarm.fem file you saved to your working directory.
  5. Click Open.
  6. Click Import, then click Close to close the Import tab.

Set Up the Model

Define TABFAT Load Collector

The first step in defining the loading sequence is to define the TABFAT curves. This represents the loading history.
  1. Make sure the Utility menu is selected in the View menu. Click View > Browsers > HyperMesh > Utility.
  2. Click on the Utility menu beside the Model tab in the browser. In the Tools section, click on TABLE Create.
  3. Set Options to Import table.
  4. Set Tables to TABFAT.
  5. Click Next.
  6. Browse for the loading file.
  7. In the Open the XY Data File dialog box, set the Files of type filter to CSV (*.csv).
  8. Open the load1.csv file you saved to your working directory.
  9. Create New Table with Name table1.
  10. Click Apply to save the table.
    The curve table1 with TABFAT card image is created.
  11. Browse for a second loading file load2.csv.
  12. Create New Table with Name table2.
  13. Click Apply to save the table.
    The curve table2 with TABFAT card image is created.
  14. Exit from the Import TABFAT window.
    Tables appear under Curve in the Model Browser.
    Note: A file in DAC format can very easily be imported in HyperGraph and converted to CSV format to be read in HyperMesh.

Define TABLOAD Load Collector

  1. In the Model Browser, right-click and select Create > Load Collector.
  2. For Name, enter FATLOAD1.
  3. Click Color and select a color from the color palette.
  4. For Card Image, select FATLOAD from the drop-down menu.
  5. For TID (table ID), select table1 from the list of curves.
  6. For LCID (load case ID), select SUBCASE1 from the list of load steps.
  7. Set LDM (load magnitude) to 1.
  8. Set Scale to 3.0.
  9. Repeat the process to create another load collector named FATLOAD2 with FATLOAD as card image and pointing to table2 and SUBCASE2.
  10. Set LDM to 1 and Scale to 3.0.

Define TABEVNT Load Collector

  1. In the Model Browser, right-click and select Create > Load Collector.
  2. For Name, enter FATEVENT.
  3. For Card Image, select FATEVNT.
  4. Set FATEVNT_NUM_FLOAD to 2.
  5. Click on the Table icon table_pencil next to the Data field and select FATLOAD1 for FLOAD(1) and FATLOAD2 for FLOAD(2) in the pop-out window.

Define TABSEQ Load Collector

  1. In the Model Browser, right-click and select Create > Load Collector.
  2. For Name, enter FATSEQ.
  3. For Card Image, select FATSEQ.
  4. For FID (Fatigue Event Definition), select FATEVENT from the list of load collectors.
    Defining the sequence of events for the fatigue analysis is completed. The Fatigue parameters are defined next.

Define Fatigue Parameters

  1. In the Model Browser, right-click and select Create > Load Collector.
  2. For Name, enter fatparam.
  3. For Card Image, select FATPARM.
  4. Verify TYPE is set to SN.
  5. Set STRESS COMBINE to SGVON (Signed von Mises).
  7. Set STRESSU to MPA (Stress Units).
  9. Set CERTNTY SURVCERT to 0.5.

Define Fatigue Material Properties

The material curve for the fatigue analysis can be defined on the MAT1 card.

  1. In the Model Browser, click on the Aluminum material.
    The Entity Editor opens.
  2. In the Entity Editor, set SN to MATFAT.
  3. Set UTS (ultimate tensile stress) to 600.
  4. For the SN curve set (these values should be obtained from the material's SN curve):

Define PFAT Load Collector

  1. In the Model Browser, right-click and select Create > Load Collector.
  2. For Name, enter pfat.
  3. For Card Image, select PFAT.
  4. Set LAYER to TOP.
  5. Set FINISH to NONE.
  6. Set TRTMENT to NONE.

Define FATDEF Load Collector

  1. In the Model Browser, right-click and select Create > Load Collector.
  2. For Name, enter fatdef.
  3. For Card Image, select FATDEF.
  4. Select the PTYPE check box, then select the PSHELL check box.
  5. Select shell for PID, and pfat for PFATID in the pop-up window.

Define the Fatigue Load Step

  1. In the Model Browser, right-click and select Create > Load Step.
  2. For Name, enter Fatigue.
  3. Set the Analysis type to fatigue.
  4. For FATDEF, select fatdef.
  5. For FATPARM, select fatparam.
  6. For FATSEQ, select fatseq.

Submit the Job

  1. From the Analysis page, click the OptiStruct panel.
    Figure 10. Accessing the OptiStruct Panel

  2. Click save as.
  3. In the Save As dialog, specify location to write the OptiStruct model file and enter ctrlarm_hm for filename.
    For OptiStruct input decks, .fem is the recommended extension.
  4. Click Save.
    The input file field displays the filename and location specified in the Save As dialog.
  5. Set the export options toggle to all.
  6. Set the run options toggle to analysis.
  7. Set the memory options toggle to memory default.
  8. Click OptiStruct to launch the OptiStruct job.
If the job is successful, new results files should be in the directory where the ctrlarm_hm.fem was written. The ctrlarm_hm.out file is a good place to look for error messages that could help debug the input deck if any errors are present.

Review the Results

  1. When the analysis process completes, click HyperView to launch the results.
  2. In the Results tab, select Subcase 3 (Fatigue) from the subcase field.
  3. On the Results toolbar, click resultsContour-16 to open the Contour panel.
  4. Set Result type to Damage and click Apply to contour the elements.
    Figure 11. Elemental Damage Results