OS-T: 5070 Fatigue Optimization of a Torque Control Arm

In this tutorial you will perform a free-shape fatigue optimization on a torque control arm. The objective of this optimization is to increase the fatigue life of the control arm by changing the geometry of the model.

Before you begin, copy the file(s) used in this tutorial to your working directory.
The torque control arm is loaded by brake force and vertical force. Two load time histories acquired for 279 seconds with 1HZ are applied. The material of the control arm is Steel, whose S-N curve.

5070_model
Figure 1. Model of Control Arm for Fatigue Optimization

5070_fig1a
Figure 2. Load Time Histories for Vertical Force

5070_fig1b
Figure 3. Load Time Histories for Braking Force

5070_fig3
Figure 4. S-N Curve of Steel

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.

Set Up the Model

Launch the Process Manager and Import the Model

  1. Launching the Process Manager.
    1. From the menu bar, click Tools > Fatigue Process > Create New.
      The Create New Session dialog opens.
    2. In the New Session Name field, enter a session name.
    3. In the Working Folder field, navigate to your working directory.
    4. Click Create.

    A new file to save the instance of the currently loaded fatigue process template is created.

    The Process Manager opens.

  2. Import the model.
    1. In the panel area, set the Model File type to OptiStruct.
    2. In the Model file path field, click files_panel and open the tarm_fatigue.fem file you saved to your working directory.
    3. Click Import.

    5070_import_model
    Figure 5.
    The control arm model is loaded. This model includes a whole definition of two static subcases, elements sets, and material static properties, and so on.
  3. Click Apply.

Create a Fatigue Subcase

The Fatigue Subcase task should be selected in the Process Manager.
  1. In the panel area, Create new fatigue subcase field, enter fatsub.
  2. Click Create.
  3. In the Select existing fatigue subcase field, select the newly created fatigue subcase, fatsub.
    fatsub is selected as the active fatigue subcase. Definitions in the following processes (analysis parameters, fatigue elements and properties, loading sequences, and so on) will be for this subcase.

    newsubcase
    Figure 6.
  4. Click Apply.
    The current definitions are saved.

Apply Fatigue Analysis Parameters

The Analysis Parameters task should be selected in the Process Manager.
  1. Set Analysis type to S-N.
  2. Set Stress combination method to Abs. Max. Principal.
  3. Set Mean stress correction to GOODMAN.
  4. Set FEA stress unit to MPA.
  5. Set Rainflow type to LOAD.
  6. In the Gate field, enter 0.0.
  7. In the Certainty of survival field, enter 0.5.
  8. Click Apply.
The current definitions are saved.

analysis_params
Figure 7.

Apply Fatigue Elements and Materials

The Elements and Materials task should be selected in the Process Manager.
  1. In the panel area, click Add.
    The Material Data dialog opens.
  2. Set Element entity type to Property-PSHELL.
  3. Set Element entity name to shells.
  4. In the Ultimate tensile strength (UTS) field, enter 1800.
  5. Set Input method to Estimate From UTS.
  6. Click input_method to view the SN curve definition, then click Close.
    The SN Method description dialog introduces how to generate the SN material parameter.
  7. Set the Material type to Steel, then click Estimate.
    All the data for SN curve definition are automatically estimated.
  8. Click Plot SN Curve to show the SN curve, then click Close.
  9. Set Layer of stress results in shell elements to TOP and BOTTOM.
  10. Set Surface finish to No Finish.
  11. Set Surface treatment to No Treatment.
  12. Leave the field after Fatigue strength reduction factor blank.
  13. Click Save to save the definition of the SN data for the selected elements.
  14. Click Apply.
The current definitions are saved.

5070elemsandmaterials
Figure 8.

Apply Load-Time History

The Loading Information task should be selected in the Process Manager.
  1. In the Process Manager, under Loading Information, select Load-Time History.
  2. Create the load-time history, hist_y.
    1. In the panel area, click Add by File.
      The Load Time History dialog opens.

      5070_time_history
      Figure 9.
    2. In the Load-time history name field, enter hist_y.
    3. Set Load-time history type to CSV.
    4. In the Select load-time history file field, click files_panel and open the tarm_loadY.csv file.
    5. Click Import.
    6. Click Plot L-T to show the load-time history.
    7. Click Save to write the new load-time history into HyperMesh database.
    8. Close the Load Time History dialog.
  3. Create another load-time history, hist_x, by importing the file tarm_loadX.csv.
  4. Click Apply.
The current definitions are saved.

Load Sequences Definition

The Loading Sequence task should be selected in the Process Manager.
In this step, one event consisting of two load time history is created, in other words, the linear superposition of the stress caused by the two load time history is requested during analysis. Using this event, one load sequence is constructed.
  1. Add a loading definition.
    1. In the panel area, click Add.
      The Loading Definition dialog opens.

      5070_loading_def
      Figure 10.
    2. Set Select static loadcase to loadx.
    3. Set Select load-time history to hist_x.
    4. In the Scale field, enter 1.0.
    5. Select Create new, then enter Event1.
    6. Click Save.
  2. Add another loading definition.
    1. Click Add.
      The Loading Definition dialog opens.
    2. Set Select static loadcase to loady.
    3. Set Select load-time history to hist_y.
    4. In the Scale field, enter 1.0.
    5. Select Existing, then select Event1.
    6. Click Save.
  3. Click Apply.
The fatigue problem set up is now complete.

5070_loading_def_2
Figure 11.

Set Up the Optimization

Create Free-shape Design Variables

  1. From the Analysis page, click the optimization panel.
  2. Click the free shape panel.
  3. Create the design variable, upper.
    1. Select the create subpanel.
    2. In the desvar= field, enter upper.
    3. Click nodes > by sets.
    4. Select node set upper, then click select.
    5. Click create.
  4. Update the parameters for the design variable, upper.
    1. Select the parameters subpanel.
    2. Select options.
    3. In the nsmooth= field, enter 10.
    4. In the mvfactor= field, enter 0.25.
    5. Click update.
  5. Repeat steps 3 and 4 to create a new design variable named lower with the node set lower.
  6. Click return to exit the panel.

Create Optimization Responses

  1. From the Analysis page, click optimization.
  2. Click Responses.
  3. Create the volume response, which defines the volume fraction of the design space.
    1. In the responses= field, enter volume.
    2. Below response type, select volume.
    3. Set regional selection to total and no regionid.
    4. Click create.
  4. Create the fatigue response.
    1. In the response= field, enter life.
    2. Set the response type to fatigue.
    3. Using the props selector, select shells.
    4. Toggle to no regionid.
    5. Under no regionid, select life.
    6. Click create.
  5. Click return to go back to the Optimization panel.

Create Design Constraints

  1. Click the dconstraints panel.
  2. In the constraint= field, enter con_life.
  3. Click response = and select life.
  4. Check the box next to lower bound, then enter 2.0E4.
  5. Using the loadsteps selector, select fatsub.
  6. Click create.
  7. Click return to go back to the Optimization panel.

Define the Objective Function

  1. Click the objective panel.
  2. Verify that min is selected.
  3. Click response and select Volume.
  4. Click create.
  5. Click return twice to exit the Optimization panel.

Define the SHAPE Card

Only displacement and stress results are available in the _s#.h3d file by default. To obtain analysis results (displacement/stress/temperature) on top of a shape change that was applied to the model in HyperView, a SHAPE card needs to be defined.
  1. From the Analysis page, click the control cards panel.
  2. In the Card Image dialog, click SHAPE.
  3. Set FORMAT to H3D.
  4. Set TYPE to ALL.
  5. Set OPTION to ALL.
  6. Click return twice to go back to the main menu.

Run the Optimization

The Submit Analysis task should be selected in the Process Manager.
  1. In the panel area, save .fem file as field, files_panel.
  2. In the Select File dialog, select the directory in which to save the file, and save the file as tarm_fatigue_opti.fem.
  3. Set Run options to optimization.
  4. Click Submit.

    5070_submit
    Figure 12.

OptiStruct runs the fatigue optimization.

If the job was successful, new results files can be seen in the directory where the OptiStruct model file was written. The default files written to your directory are:
tarm_fatigue_opti.0.4.fat
An ASCII format file which contains fatigue results of each fatigue subcase in iteration step.
tarm_fatigue_opti_s4.h3d
Hyper 3D binary results file, with both static analysis results and fatigue free-shape optimization results.
tarm_fatigue_opti.out
OptiStruct output file containing specific information on the file set up, the set up of your fatigue problem, compute time information, etc. Review this file for warnings and errors.
tarm_fatigue_opti.stat
Summary of analysis process, providing CPU information for each step during analysis/optimization process.

View the Results

The Post Processing task should be selected in the Process Manager. When the fatigue optimization is finished successfully, it will automatically go into this task.
  1. In the panel area, click Load H3D Results(HV).

    os_5070_loadH3D
    Figure 13.
    HyperView opens and loads the tarm_fatigue_opti_s4.h3d results file for life results on top of shape results.
  2. In the Results Browser, select the last iteration (Iteration 11).
  3. On the Animation toolbar, click animationPause-24 to stop the animation.
  4. Set the animation mode to animationTransient-24 (Transient).
    The Life Contour on top of shape results displays.
  5. On the Results toolbar, click resultsContour-16 to open the Contour panel.
  6. In the Legend tab, click Edit Legend to edit the legend so that it is the same as Figure 14 and Figure 15.
  7. Click Exit to unload fatigue process manager.

os_5070_contour
Figure 14. Life contour of Iteration 0. volume = 4.674E+02, minimum Life = 2.053E+04.

os_5070_contour2
Figure 15. Life contour of iteration 11. volume = 3.78213E+02, minimum Life = 2.053E+04.