Symmetry and Draw Direction Constraints Applied Simultaneously in a Topology Optimization - OS-2060



Your Ad Here

The purpose of this tutorial is to demonstrate how to perform a topology optimization on an automotive control arm with the simultaneous application of symmetry and draw direction constraints. The finite element mesh of the structural model containing the designable (blue) and the non-designable (yellow) regions, along with the loads and constraints applied, is shown in the figure below. The objective is to minimize the amount of material used in the model subject to certain displacement constraints. The model referred to in this tutorial is available in the HyperWorks installation directory under <install_directory>/tutorials/os.

image\2060_1.gif

The structural model shown in this figure is loaded into HyperMesh. The constraints, loads, material properties, and subcases (loadsteps) are already defined in the model. The topology design variables and the optimization problem setup will be defined using HyperMesh, and the OptiStruct software will be used to determine the optimal material layout. The results will then be reviewed in HyperMesh.

The optimization problem is stated as:

Objective:

Minimize volume.

Constraints:

SUBCASE 1:

The resultant displacement of the point where loading is applied must be less than 0.05 mm.

 

SUBCASE 2:

The resultant displacement of the point where loading is applied must be less than 0.02 mm.

 

SUBCASE 3:

The resultant displacement of the point where loading is applied must be less than 0.04 mm.

Design variables:

Microstructural void sizes and orientations in the design space.

 

The following exercises are included in this tutorial:

·      Retrieving the finite element model file

·      Setting up the topology design variables, along with the symmetry and draw direction constraints, in HyperMesh

·      Setting up the optimization problem in HyperMesh

·      Submitting the job to OptiStruct

·      Post-processing the results

Retrieving the Finite Element Model File

To retrieve the file carm_draw_symm.fem and load the OptiStruct template:

  1. Start HyperMesh and choose OptiStruct in the User Profiles dialog.

User Profiles can also be accessed from the Preferences pull-down menu on the toolbar.

  1. Select the Files panel toolbar button image\files_panel.gif.

  2. Select the import subpanel.

  3. Select FE and set the switch to the right to OPTISTRUT.

  4. Click import….

An Open file… browser window pops up.

  1. Select carm_draw_symm.fem, located in <install_directory>/tutorials/os/.

  2. Click Open.

The carm_draw_symm.fem model is loaded into the current HyperMesh session.

  1. Click return to go to the main menu.

Setting up the Topology Design Variables in HyperMesh

To define the design variables for topology optimization using symmetry and draw direction constraints:

  1. Select the optimization panel on the Analysis page.

  2. Click on the topology panel.

  3. Select the create radio button.

  4. Click comps and check design.

  5. Click select.

  6. Click desvar = and enter solid.

  7. Set the component type toggle to PSOLID.

  8. Click create.

  9. Select the pattern grouping subpanel to define the symmetry constraint and toggle the pattern type: to 1-pln sym.

The symmetry constraints in topology optimization lead to symmetric designs for solid models, regardless of the initial mesh, boundary conditions or loads. In this case, the 1-pln sym option enforces symmetry across a defined plane. A symmetric mesh is not required, as OptiStruct will create variables that are nearly identical across the plane(s) of symmetry. The plane of symmetry is defined by specifying the anchor and the first nodes. The plane of symmetry will then be perpendicular to the vector from the anchor node to the first node and passes through the anchor node.

  1. Double click desvar = and select solid.

  2. Click anchor node and input the node id= 3241 and press ENTER.

This selects the node with the ID of 3241.

  1. Click first node and input the node id= 3877 and press ENTER.

This selects the node with the ID of 3877.

  1. Click the update button to update the design variables.

This completes the definition of the symmetry constraint.

  1. Select the draw subpanel.

  2. Toggle the draw type: to single.

The draw option single assumes that a single die will be used to cast the component and it slides in the defined draw direction. The draw direction is defined by specifying the anchor and the first nodes, with the draw direction being along the vector from the anchor node to the first node.

  1. Click anchor node and input the node id= 3165 and press ENTER.

This selects the node with the ID 3165.

  1. Click first node and input the node id= 3753 and press ENTER.

This selects the node with the ID 3753.

  1. Under obstacle, double-click comps, select nondesign and click select.

This selects the non-designable parts as obstacles for the casting process on the same DTPL card. This preserves the casting feasibility of the final structure.

  1. Click update.

This completes the definition of the draw direction.

  1. Click return to go back to the optimization panel.

Setting up the Optimization Problem in HyperMesh

To define the responses:

A detailed description can be found in the OptiStruct User's Guide under Responses.

  1. Select responses from the optimization panel.

  2. Click response = and enter volume.

  3. Click the response type switch and select volumefrac from the pop-up menu.

  4. Ensure that the regional/total toggle is set to total (this is the default).

  5. Click create.

A response, volume, is defined for the total volume of the model.

  1. Click response = and enter disp.

  2. Click the response type switch and select static displacement from the pop-up menu.

  3. Click nodes and select by id from the extended entity selection menu that pops up.

  4. Enter the node id= 2699 and press ENTER.

The node where the three forces are applied is selected.

  1. Select the total disp radio button.

The total disp is the vector sum of the x, y, and z translations for the node 2699.

  1. Click create.

This defines a response, disp, for the total displacement of the node 2699.

  1. Click return to go back to the optimization panel.

To define the objective function:

In this example, the objective is to minimize the volume response defined in the previous section.

  1. Select the objective panel.

  2. Click the switch in the upper left corner of the panel, and select min from the pop-up menu.

  3. Click response = and select volume from the response list.

  4. Click create.

The objective function is now defined.

  1. Click return to return to the optimization panel.

To define constraints:

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

An upper bound constraint is to be defined for the response disp in each of the three subcases (loadsteps).

  1. Select the dconstraints panel.

  2. Click constraint = and enter constr1.

  3. Click response = and select disp from the list of responses.

A loadsteps button should appear in the panel.

  1. Click loadsteps.

  2. Check the box next to brake and click select.

  3. Check the box next to upper bound =.

  4. Click upper bound = and enter 0.05.

  5. Click create.

A constraint is defined on the response disp. The constraint is an upper bound with a value of 0.05. The constraint applies to the subcase brake.

  1. Click constraint = and enter constr2.

  2. Click response = and select disp from the list of responses.

  3. Click loadsteps.

  4. Check the box next to corner and click select.

  5. Check the box next to upper bound =.

  6. Click upper bound = and enter 0.02.

  7. Click create.

A constraint is defined on the response disp. The constraint is an upper bound with a value of 0.02. The constraint applies to the subcase corner.

  1. Click constraint = and enter constr3.

  2. Check the box to the left of upper bound =.

  3. Click on upper bound = and enter 0.04.

  4. Click response = and select disp from the response list.

  5. Click loadsteps.

  6. Check the box next to pothole and click select.

  7. Click create.

A constraint is defined on the response disp. The constraint is an upper bound with a value of 0.04. The constraint applies to the subcase pothole.

  1. Click return twice to go to the main menu.

To save the HyperMesh database:

  1. Select the Files panel toolbar button image\files_panel.gif.

  2. Select the hm file subpanel using the radio button on the left-hand side of the panel.

  3. Click save as….

A Save file… browser window pops up.

  1. Select the directory where you would like to save the database and enter the name for the database, carm_draw_symm_opt.hm in the File name: field.

  2. Click save.

Submitting the Job to OptiStruct

To launch OptiStruct:

This tutorial takes a long time to run (elapsed time of about 52 hours on a typical work station) because of the fine mesh of solid elements. For the sake of user convenience, the results file (carm_draw_symm_opt.res) is available from ossupport@altair.com. You can skip this section and directly load the results file in HyperMesh for post-processing. The following steps are given for the sake of completeness of this tutorial and as a helpful user reference.

  1. Select the OptiStruct panel on the Analysis page.

  2. Click save as… following the input file: field.

A Save file… browser window pops up.

  1. Select the directory where you would like to write the OptiStruct model file and enter the name for the model, carm_draw_symm_opt.fem, in the File name: field.

The .fem extension is suggested for OptiStruct input decks.

  1. Click Save.

Note the name and location of the carm_draw_symm_opt.fem file displays in the input file: field.

  1. Set the memory options: toggle, located in the center of the panel, to memory default.

  2. Click the run options: switch, located at the left of the panel, and select optimization.

  3. Set the export options: toggle to all.

  4. Click OptiStruct.

This launches the OptiStruct job. If the job was successful, new results files can be seen in the directory where the OptiStruct model file was written. The carm_draw_symm_opt.out file is a good place to look for error messages that will help to debug the input deck if any errors are present.

Post-processing results with HyperView

Element density results are output from OptiStruct for all of the iterations. In addition, displacement and stress results are output for each subcase for the first and last iterations by default. This section describes how to view those results in HyperView.

To view an Iso Value plot of the density results:

This plot provides the information about the element density. With the Iso Value feature, all of the elements are retained at and above a density threshold which is specified according to the structure that will suit your needs.

  1. Launch HyperView.

  2. Click the open folder icon and load the file carm_draw_symm_des.h3d.

  3. Click Apply.

  4. At the bottom right of the GUI, click in the area circled below to activate the Load Case and Simulation Selection dialog.

image\2060_lc.gif

  1. Select Design under Load Case and the last Iteration under Simulation and click OK.

image\2060_lcsim.gif

  1. Click the Iso Value image\iso.gif toolbar button and set the Result type: to Element Densities.

  2. Set Current value: to 0.3.

  3. Click Apply.

  4. An iso value plot is displayed in the graphics window. The parts of the model with densities greater than the specified value of 0.3 are shown in color, and the rest are transparent (shown in the figure below).

image\2060_iso.gif

  1. Move the slider below Current value: to change the density threshold.

You will see the iso value in the graphics window update interactively when you scroll to a new value. Use this tool to get a better look at the material layout and the load paths from OptiStruct.

  1. From the File pull-down menu, select Exit to quit HyperView.

Review

Has the volume been minimized for the given constraints?

Have the displacement constraints been met?

Go To

OptiStruct Tutorials

Return to Altair HyperWorks Index