This tutorial focuses on the topography optimization of an L-bracket modeled with an attached mass. The bracket is modeled with shell elements. The objective is to maximize the frequency of the first mode by introducing beads or swages to the bracket. This can be achieved by using topography optimization. The model is shown in the figure below. The regions around the holes are specified as non-designable, while the bulk of the bracket is available for developing stiffening beads.
L-bracket layout.
The optimization problem for this tutorial is stated as:
Objective:
|
Maximize 1st frequency mode.
|
Constraints:
|
Bead dimensions and layout.
|
Design variables:
|
Perturbation of nodes normal to the shell's mid-plane.
|
The following exercises are included:
• | Setting up a topography optimization in HyperMesh |
• | Post-processing topography results |
Exercise
Step 1: Launch the HyperMesh Desktop, Set the User Profile, and Retrieve the File
1. | Launch HyperMesh Desktop. |
2. | Select OptiStruct in the User Profiles dialog 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. |
3. | From the File menu on the toolbar, select Open. |
4. | Select the Lbkttopog.hm file you saved to your working directory from the optistruct.zip file. Refer to Accessing the Model Files. |
Setting Up a Topography Optimization in HyperMesh
Step 2: Create Design Variables for Topography Optimization
For topography optimization, a design space and a bead definition need to be defined. The following section outlines how this is done. For further information on bead definition, refer to the DTPG card in the Reference Guide.
In this tutorial, the values of a bead width of 15mm, a bead height of 5mm, and draw angle of 85 degrees will be used. Symmetry of the bead pattern should be forced along the symmetry line of the design space.
1. | From the Analysis page, enter the optimization panel. |
2. | Click the topography panel. |
3. | Select the create subpanel using the radio buttons on the left-hand side of the panel. |
4. | Click desvar= and enter topo. |
6. | Check the box next to design and click select. |
7. | Click create to create the shape design variables for the selected component. A topography design space definition, topo, has been created. All elements organized into the design component collector are now included in the design space. |
8. | Select the bead params subpanel using the radio buttons on the left side of the panel. |
9. | By default, the field next to desvar = should contain the name of the newly created design space; if not, click desvar = and select topo from the list of topographical design spaces. |
10. | Click minimum width= and enter 15. This parameter controls the width of the beads in the model. Recommended value is between 1.5 and 2.5 times the average element width. |
11. | Click draw angle= and enter 85. This parameter controls the angle of the sides of the beads. The recommended value is between 60 and 75 degrees. |
12. | Click draw height= and enter 5. This parameter sets the maximum height of the beads to be drawn. |
13. | Check the box next to buffer zone. This parameter establishes a buffer zone between elements in the design domain and elements outside the design domain. |
14. | Set boundary skip: to load & spc. This tells OptiStruct to leave nodes at which loads or constraints are applied out of the design space. |
15. | Set the draw direction: toggle to normal to elements. This parameter defines the direction in which the shape variables are created. |
A bead definition has been created for the design space topo. Based on this information, OptiStruct will automatically generate circular bead variable definitions throughout the design variable domain as shown on the DTPG card of the Reference Guide.
17. | Select the pattern grouping subpanel using the radio buttons on the left-hand side of the panel. |
18. | By default, the field next to desvar = should contain the name of the newly created design space; if not, click desvar = and select topo from the list of topographical design spaces. |
19. | Click the pattern type: switch and select 1-pln sym from the pop-up menu. |
20. | Click anchor node and enter 337. |
21. | Click first node and enter 613. |
23. | Select the bounds subpanel using the radio buttons on the left side of the panel. |
24. | By default the field next to desvar = should contain the name of the newly created design space; if not, click desvar = and select topo from the list of topographical design spaces. |
25. | Click upper bound and enter 1.0 (default). |
26. | Click lower bound and enter 0.0 (default). |
27. | Click update. The upper bound sets the upper bound on grid movement equal to UB*HGT and the lower bound sets the lower bound on grid movement equal to LB*HGT. |
28. | Click return to go to the optimization panel. |
Step 3: Create First Mode as a Response
A detailed description on Responses can be found in the OptiStruct User's Guide under Responses.
1. | Select the responses panel. |
2. | Click response = and enter FREQ. |
3. | Select the switch below response type and select frequency from the pop-up menu. |
4. | Click Mode Number: and enter 1. |
5. | Click create. A response, FREQ, is defined for the frequency of the 1st mode. |
6. | Click return to go to the optimization panel. |
Step 4: Maximize the First Mode as the Objective
In this step, the objective is to maximize the frequency response defined in the previous step.
1. | Select the objective panel from the optimization panel. |
2. | Click the switch in the upper left corner of the panel, and select max from the pop-up menu. |
3. | Click response = and select FREQ from the response list. A loadstep button appears in the panel. |
4. | Click loadstep and select STEP from the subcase (loadstep) list. |
5. | Click create. The objective function is now defined. |
6. | Click return twice to go to the main menu. |
Step 5: Save the Database
1. | Select the Files panel toolbar icon. |
2. | Select the hm file subpanel. |
3. | Click save as to set the directory in which to save the file and, in File name:, enter Lbkttopog.hm. |
Step 6: Run OptiStruct
1. | Select the OptiStruct panel on the Analysis page. |
2. | Click save as following the input file: field. |
3. | Select the directory where you would like to write the OptiStruct model file and enter the name for the model, Lbkttopog.fem, in the File name: field. The .fem extension is used for OptiStruct input decks. |
The name and location of the Lbkttopog.fem file displays in the input file: field.
5. | Set the export options: toggle to all. |
6. | Click the run options: switch, and select optimization. |
7. | Set the memory options: toggle to memory default. |
8. | 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 lbkttopog.out file is a good place to look for error messages that will help to debug the input deck if any errors are present.
lbkttopog.grid
|
An OptiStruct file where the perturbed grid data is written.
|
lbkttopog.hgdata
|
HyperGraph file containing data for the objective function, constraint functions, design variables, and response functions for each iteration.
|
lbkttopog.hist
|
An OptiStruct output file for xy plotting containing the iteration history of the objective function, maximum constraint violation, design variables, DRESP1 type responses, and DRESP2 type responses.
|
lbkttopog.html
|
HTML report of the optimization, giving a summary of the problem formulation and the results from the final iteration.
|
lbkttopog.oss
|
OSSmooth file with a default density threshold of 0.3. You may edit the parameters in the file to obtain the desired results.
|
lbkttopog.out
|
The OptiStruct output file containing specific information on the file set up, the set up of the optimization problem, estimate for the amount of RAM and disk space required for the run, information for each optimization iteration, and compute time information. Review this file for warnings and errors that are flagged from processing the lbkttopog.fem file.
|
Lbkttopog_des.h3d
|
HyperView binary results file for information on shape changes.
|
Lbkttopog_s1_h3d
|
HyperView binary results file for displacement and stress results for subcase 1.
|
lbkttopog.sh
|
Shape file for the final iteration. It contains the material density, void size parameters and void orientation angle for each element in the analysis. The .sh file may be used to restart a run and, if necessary, run OSSmooth files for topology optimization.
|
lbkttopog.stat
|
Summary of analysis process, providing CPU information for each step during analysis process.
|
Post-processing Topography Results
Shape contour information is output from OptiStruct for all iterations. In addition, Eigenvector results are output for the first and last iteration by default. This section describes how to view those results in HyperView.
Step 7: View a Transient Animation of Shape Contour Changes
1. | From the OptiStruct panel, click HyperView. This launches HyperView in a new page within the HyperMesh Desktop and loads lbkttopog_des.h3d. |
A Message Log window appears indicating the location of the .h3d file.
2. | Click Close to exit the window. |
3. | Set the animation mode menu to Transient, as shown below: |
4. | Click the icon to start the animation. |
5. | Click the icon for Animation Controls. |
6. | Move the Max Frame Rate: slider to adjust the animation speed. |
Step 8: Review the Optimized Frequency Difference
1. | Click the Next Page arrow to proceed to the results for first and the last iterations on page 3. |
2. | Select the first iteration listed in the Results browser (Iteration 0). |
The frequencies of all of the modes requested from the analysis are shown in the Subcase drop-down.
Frequency of the first mode for Iteration 0
Look at the frequency values for the last iteration. Upon observation, the frequency for the first mode has changed from around 48 Hz to around 93 Hz for first and last iterations, respectively.
Frequency of the first mode for Iteration 12
Step 9: Apply Optimized Topography to the Model
1. | Click the Next Page arrow to navigate back to the Design History page (page 2). |
2. | Click the icon to set the Current time: to the last step. |
Topography results
3. | From the File menu, select Export > Solver Deck. |
4. | Set Select format: to OptiStruct. |
5. | For File name:, select your working directory for the field and name the file deformed.fem before clicking OK. |
6. | Click Yes to the pop-up dialog. |
7. | Import this file into HyperMesh with overwrite on and your final shape will now exist in the model. (Some organization might need to happen at this point). |
See Also:
OS-3020: Automatic Recognition of Bead Results from Topography Optimization of an L-bracket
OptiStruct Tutorials