OS-HM-T: 12000 3-D Size Optimization of a Rail Joint

Tutorial Level: Advanced This tutorial demonstrates how to perform a size optimization on an automobile rail joint modeled with shell elements.

Before you begin, copy the file(s) used in this tutorial to your working directory.
The structural model with loads and constraints applied is shown in Figure 1. The deflection at the end of the tubular cross-member should be limited. The optimal solution uses as little material as possible.
Figure 1. Structural Model of Rail Joint


The structural model is loaded into HyperMesh. The constraints, loads, material properties, and subcases (loadsteps) are already defined in the model. Size design variables and optimization parameters are defined, and OptiStruct determines the optimal gauges for the components. The results are then reviewed in HyperView.

The optimization problem for this tutorial is stated as:
Objective
Minimize volume.
Constraints
A given maximum nodal displacement at the loading grid point for two loading conditions.
Design Variables
Gauges of the two parts.
The following exercises are included:
  • Set up a size optimization in HyperMesh.
  • Post-process size optimization results in HyperView.

Launch HyperMesh

  1. Launch HyperMesh.
  2. In the New Session window, select HyperMesh from the list of tools.
  3. For Profile, select OptiStruct.
  4. Click Create Session.
    Figure 2. Create New Session


    This loads the user profile, including the appropriate template, menus, and functionalities of HyperMesh relevant for generating models for OptiStruct.

Open the Model File

  1. On the menu bar, select File > Open > HyperMesh Model.
  2. Navigate to and select the joint_size.hm file saved in your working directory.
  3. Click Open.
    The joint_size.hm database is loaded into the current HyperMesh session, replacing any existing data.
    Figure 3. Model Import Options


    Tip: Alternatively, you can drag and drop the file onto the viewport from the file browser window.

Set Up the Model

Create Size Design Variables

  1. Open the Optimize ribbon.
  2. Under Design Variables, click Size.
    Figure 4. Size


  3. For Name, enter tube.
  4. For Move Limit, enter 0.1.
  5. Click initial value and enter 1.0.
  6. Click lower bound and enter 0.1.
  7. Click upper bound and enter 5.0.
  8. Click Close.
    A design variable, tube, has been created. The design variable has an initial value of 1.0, a lower bound of 0.1, and an upper bound of 5.0.
  9. Repeat steps 1 through 8 to create the design variable named rail using the same move limit, initial value, lower, and upper bounds.
  10. In the Size tool group, click the Property Relationships satellite icon.
    Figure 5.


  11. For Name, enter tube_th.
  12. For Property ID, click Unspecified.
  13. Click the Search tool.
  14. Select tube.
  15. For the List of Design Variables, select Designvars.
  16. Click to open Design Variables Advanced Selection.
  17. Select tube and click OK.
  18. Click Close.
    A design variable to property relationship, tube_th, has been created relating the design variable tube to the thickness entry on the PSHELL card for the property tube.
  19. Repeat steps 10 through 18 to create the design variable to property relationship rail_th relating the design variable rail to the thickness entry on the PSHELL card for the property rail.

Create Responses

For more details, see the OptiStruct Responses User Guide.
  1. On the Optimize ribbon, Targets tool group, click Responses.
    Figure 6. Responses


  2. For Name, enter volume.
  3. For Response type, select volume.
  4. Verify the Property Type is set to total.
  5. Click Close.
    A response, volume, is defined for the total volume of the model.
  6. Click the Responses tool to create another response.
  7. For Name, enter X_Disp.
  8. For Response type, select static displacement.
  9. For List of Nodes, click 0 Nodes to start selecting, then choose the node at the center of the rigid spider at the loading point (node 3143).
    Figure 7. Select Node


  10. Click the check mark.
  11. Select DOF1.
  12. Click Close.
    A response, X_Disp, is defined for the x-displacement of the node 3143.
  13. Similarly, create another Response named Z_Disp.
  14. For Response type, select static displacement.
  15. For List of Nodes, click 0 Nodes to start selecting, then choose the node at the center of the rigid spider at the loading point (node 3143).
  16. Click the check mark.
  17. Select DOF3 and click Close.
    A response, Z_Disp, is defined for the z-displacement of the node 3143.

Create Constraints

A response defined as the objective cannot be constrained. In this case, you cannot constrain the response volume.

Upper bound constraints are to be defined for the responses X_Disp and Z_Disp.

  1. On the Optimize ribbon, Targets tool group, click Constraints.
    Figure 8. Constraints


  2. For Name, enter Disp_X.
  3. For Response, select Unspecified.
  4. Click the Search tool and select X_Disp.
  5. For List of Loadsteps, click 0 Loadsteps > to open Advanced Selection.
  6. Select FORCE_X.
  7. Click OK.
  8. For Upper Options, select Upper bound from the drop-down.
  9. For Upper Bound, enter 0.9.
    Figure 9. Create Disp_X Optimization Constraint


  10. Click Close.
    A constraint is defined on the response X_Disp. The constraint is an upper bound with a value of 0.9. The constraint applies to the subcase FORCE_X.
  11. Similarly, repeat steps 1 through 10 to create another Constraint named Disp_Z with:
    • Response: Z_Disp
    • Loadstep: FORCE_Z
    • Upper Bound: 1.6
    Figure 10. Create Disp_Z Optimization Constraint


Define the Objective Function

In this example, the objective is to minimize the volume response defined previously.

  1. On the Optimize ribbon, Targets tool group, click Objectives.
    Figure 11. Objectives


  2. Verify the Objective Type is set to Minimize.
  3. For Response, click Unspecified.
  4. Click the Search tool and select volume.
  5. Click Close.
    The objective function is now defined.

Save the HyperMesh Database

  1. From the File menu, click Save as > HyperMesh Model.
  2. Select the directory where you would like to save the database.
  3. For File name, enter joint_sizeOPT.hm.
  4. Click Save.

Run the Optimization

  1. From the Optimize tool, click Run.
    Figure 12. Run Optimization


  2. Select the directory where you want to write the OptiStruct model file.
  3. For File name, enter joint_sizeOPT.
    The .fem filename extension is the recommended extension for Bulk Data Format input decks.
  4. Click Save.
  5. For Export, select All.
  6. Click Export.
  7. In the Altair Compute Console, click Run.
    If the job is successful, new results files are seen in the directory where the model file was written. The joint_sizeOPT.out file is a good place to look for error messages that could help debug the input deck if any errors are present.
    Important files for the size optimization include:
    joint_sizeOPT.hgdata
    file containing data for the objective function, percent constraint violations, and constraint for each iteration.
    joint_sizeOPT.prop
    OptiStruct property output file containing all updated property data from the last iteration for size optimization.
    joint_sizeOPT.hist
    OptiStruct iteration history file containing the iteration history of the objective function and of the most violated constraint. This file can be used for a xy plot of the iteration history.
    joint_sizeOPT.out
    OptiStruct output file containing specific information on the file setup, the setup of the optimization problem, estimates for the amount of RAM and disk space required for the run, information for all optimization iterations, and compute time information. This file contains compliance, volume calculations, and gauge information for optimization iterations. It is highly recommended to review this file for warnings and errors.
    joint_sizeOPT.res
    HyperMesh binary result file.
    joint_sizeOPT_des.h3d
    HyperView binary result file containing the design iteration results.
    joint_sizeOPT_s1.h3d
    HyperView binary result file containing the analysis results of subcase with ID 1.
    joint_sizeOPT_s2.h3d
    HyperView binary result file containing the analysis results of subcase with ID 2.
    joint_sizeOPT.stat
    Summary of analysis process, providing CPU information for each step during analysis process.

Post-process the Results

Displacement and stress results are output by default for linear static analyses. This section describes how to view those results in HyperView. Size optimization results from OptiStruct are given in the .h3d files and joint_sizeOPT.out.
joint_sizeOPT_des.h3d
Contains the element thickness for all five iterations.
joint_sizeOPT_s1.h3d
Contains displacement and stress results for the linear static analysis for iteration 0 and iteration 4 of the subcase with ID 1 (subcase Force_X).
joint_sizeOPT_s2.h3d
Contains displacement and stress results for the linear static analysis for iteration 0 and iteration 4 of the subcase with ID 2 (subcase Force_Z).
joint_sizeOPT.out
Contains gauge and volume information for all iterations.
The results contained in the HyperView binary results are examined first. Then the gauge history in the joint_sizeOPT.out file are also reviewed.

View the Size Optimization Results

View the gauge thickness.

  1. When the "OptiStruct job completed" message appears in the Run Summary window, click Results.
    HyperView is launched and joint_sizeOPT_des.h3d is loaded.
  2. In the Results Browser, select the first iteration.
    Note: If the Results Browser is not visible, you can activate it using the View menu on the menu bar.
    Figure 13. View Menu


  3. From the Post ribbon, Plot tool group, click Contour.
    Figure 14.


  4. For Results type, ensure the first drop-down is set to Element Thicknesses (s).
  5. Ensure the second drop-down is set to Thickness.
  6. Verify Averaging method is set to None.
  7. Click Apply.
  8. In the Results Browser, select the last iteration.
    A contoured image representing shell thickness should be visible. Each element in the model is assigned a legend color, indicating the thickness value for that element for the current iteration.
    Figure 15. Thickness Contour at Last Iteration


View the Displacement Results

It is helpful to view the deformations of the model to determine if the boundary conditions have been met and to see if the model is deforming as expected.

  1. In HyperView, click Design History to expand the Page Selection dialog.
    Figure 16. Design History


  2. Select Subcase 1-Force_X.
    Figure 17. Select Subcase


    Note: If the other pages are not available in the drop-down menu:
    1. Click File > Session > Open.
    2. Select joint_sizeOPT.mvw.
    3. Click Open.
    4. Click Yes.
    Now the other options should be available in the drop-down.
  3. From the Post ribbon, Plot tool group, click Contour.
    Figure 18.


  4. For Results type, in the first drop-down menu, select Displacement [v].
  5. In the second drop-down menu, select X.
  6. Verify Averaging method is set to None.
  7. Click Apply.
    The resulting contours represent the x component displacement field resulting from the applied loads and boundary conditions.
  8. In the Home tool group, select Measure.
    Figure 19. Measure Tool


  9. From the first drop-down menu on the guide bar, select Nodal Contour.
    Figure 20. Select Nodal Contour


  10. Click Nodes and select the rigid spider node with loads (node 3143).
    Figure 21. Displacement on X-Direction for the X-Force Loadcase at the First Iteration


    The x-displacement value for 3143 (center of rigid spider, where loading is applied) is shown in the modeling window. The x-displacement is larger than the upper bound constraint of 0.9 that you defined earlier.
  11. In the Results Browser, select the last iteration.
    Figure 22. Displacement on X-Direction for the X-Force Loadcase at the Last Iteration


    The contour now shows the x-displacement results for Subcase 1 (FORCE_X) and iteration 4, which corresponds to the end of the optimization iterations. The x-displacement is now less than 0.9.
  12. Expand the Page Selection dialogue and select Subcase 2-Force_Z.
    Note: The name of the page is displayed as Subcase 2 – Force_Z to indicate that the results correspond to subcase 2.
  13. From the Post ribbon, Plot tool group, click Contour.
    Figure 23.


  14. For Results type, in the first drop-down menu, select Displacement [v].
  15. In the second drop-down menu, select Z.
  16. Click Apply.
  17. Repeat steps 8 through 11 to measure and display the z-displacement value for node 3143.
    Figure 24. Displacement on Z-Direction for the Z-Force Loadcase, First Iteration


    Figure 25. Displacement on Z-Direction for the Z-Force Loadcase, Last Iteration

Alternate Method to View Gauge Thickness Results

  1. From the UNIX or MSDOS shell, open the joint_sizeOPT.out file in a text editor.
  2. Review all five iterations, noting the volume, constraint information, and gauge at each iteration.
    • Has the volume been minimized for the given constraints?
    • Have the displacement constraints been met?
    • What are the resulting gauges for the rail and tube?