This tutorial demonstrates how to perform topology optimization using pattern repetition. The model is a rectangular plate with a concentrated force on one edge and two constraints on the opposite edge. Two other rectangular plates with a scaled size of 0.6 and 0.3 from the original plate, with forces and boundary conditions applied in different directions, are also modeled to highlight the difference between the topology results with and without pattern repetitions.
The objective is to minimize the compliance for the single subcase. The volume fraction of the design space is limited to 0.3. The design spaces are the three plates.
The following exercises are covered:
• | Retrieving the OptiStruct input file |
• | Setting up the optimization problem without pattern repetition |
• | Post-processing the results without pattern repetition |
• | Adding pattern repetition cards |
• | Post-processing new results with pattern repetition |
The following file can be found in the optistruct.zip file and copied to your working directory. Refer to Accessing the Model Files.
no_repeat.fem
|
Original ASCII OptiStruct input deck.
|
Exercise
Retrieving the OptiStruct Input File
Step 1: Launch the HyperMesh Desktop, Set the User Profile, and Import the File
1. | Launch HyperMesh Desktop. |
2. | Choose OptiStruct in the User Profiles dialog and click OK. |
3. | From the File menu on the toolbar, select Import > Solver Deck. An Import tab is added to your tab menu. |
4. | Click the Select file icon to locate and open the no_repeat.fem file you saved to your working directory from the optistruct.zip file. Refer to Accessing the Model Files. |
5. | Click Import. The no_repeat.fem OptiStruct input file is loaded into the current HyperMesh session. |
Setting Up the Optimization Problem Without Pattern Repetition
Step 2: Create the Topology Design Variable
1. | From the Analysis page, enter the optimization panel. |
2. | Click topology to enter the panel. |
3. | Make sure the create subpanel is selected using the radio buttons on the left-hand side of the panel. |
4. | Click desvar = and enter dv1. |
5. | Click props and select the property labeled first by checking the box beside it. |
7. | Set the type: selector to PSHELL. |
9. | Select the parameters subpanel using the radio buttons on the left-hand side of the panel. |
10. | Toggle minmemb off to mindim=. |
11. | Click mindim= and enter 2.0. |
13. | Repeat steps 3 through 12 for the components labeled second and third with the desvar names dv2 and dv3, respectively. This defines the design space. |
Step 3: Create the Volume Fraction and Compliance Response
1. | Enter the responses panel. |
2. | Click response = and enter volfrac. |
3. | Set the switch below response type: to volumefrac. |
4. | Verify that the toggle in the center of the panel is set to total. |
5. | Click create. This creates the volume fraction response. |
6. | Click response = and enter comp. |
7. | Set the selector under response type: to compliance. |
8. | Verify that the toggle in the center of the panel is set to total. |
9. | Click create. This creates the compliance response. |
Step 4: Create a Constraint on Volume Fraction Response
2. | Click constraint = and enter volfrac. |
3. | Click response = and select volfrac. |
4. | Check the box next to upper bound =. |
5. | Click upper bound= and enter 0.3. |
6. | Click create. This creates a volume fraction constraint. |
Step 5: Define the Objective
1. | Enter the objective panel. The switch on the left should be set to min. |
2. | Click response = and select comp. |
3. | Click loadstep and select sub. |
4. | Click create. This creates the compliance response as the objective. |
5. | Click return twice to return to the main menu. |
This completes the definition of the topology optimization problem without pattern repetition.
Step 6: Run the Optimization Problem
1. | Click OptiStruct to enter the panel to run OptiStruct. |
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, no_repeat_opt.fem, in the File name: field. The .fem extension is suggested for OptiStruct input decks. |
The name and location of the no_repeat_opt.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. | Leave the options: field blank. |
This will export the input deck and start the execution of OptiStruct in the solver GUI window.
Post-processing the Results Without Pattern Repetition
Step 7: Review an Iso Value Plot of Element Densities
1. | Click HyperView in the OptiStruct panel. This launches HyperView in a new page with the HyperMesh Desktop and loads the session file no_repeat_opt.mvw that is linked with the no_repeat_opt_des.h3d file. |
2. | Click Close in the Message Log window that appears. |
3. | Click the Iso Value toolbar icon. |
4. | Under Result type:, select Element Densities(s) from the drop-down list. |
5. | Click to choose the last iteration from the Simulation list. |
7. | Set Current value: to 0.4 using the slider bar in the same panel. |
8. | Set Show values: to Above. |
9. | Check the boxes beside Features and Transparent under Clipped geometry:. |
An isosurface plot is displayed in the graphics window. (Note the display of each plate). Those elements of the model with a density greater than the value of 0.4 are shown in color, the rest are transparent.
10. | Use the page delete button contained within the page control toolbar to delete the HyperView page. |
Adding Pattern Repetition Cards
Step 8: Set up Pattern Repetition
The pattern repetition cards can now be defined in HyperMesh. Once back in HyperMesh, set up the pattern repetition.
1. | From the Tool page, select the numbers panel. |
3. | Enter all of the following values after id=, separating them with commas: |
1329
66
6
46
507
447
487
928
892
948
5. | Click the green on button. This displays the selected node numbers. |
6. | Click return to exit the Numbers panel. |
7. | From the View menu, select the Mask browser tab menu, if it not already displayed. |
8. | From the Mask tab menu, select 1 under the Isolate column to display only component collectors. |
9. | From the Analysis page, enter the optimization panel. |
10. | Click topology to enter the panel. |
11. | Select the pattern repetition subpanel using the radio buttons on the left side of the panel. |
12. | Double-click the desvar= and select dv1. |
13. | Make sure the switch is pointing to master. |
14. | Toggle from system to coordinates. |
15. | Click first and select node ID 6. |
16. | The blue border moves over second after the first has been selected; now choose the second node ID 46. |
17. | Select the third node ID 1329. |
18. | Click anchor and select the node ID 66. |
19. | Click update on the right side to create a master DTPL card. |
20. | Click desvar= and select dv2. |
21. | Click the switch and select slave. |
22. | Make sure master= is pointing to dv1. |
23. | Set the following values: sx= 0.6, sy= 0.6, sz= 1.0. |
24. | Click first and select the node ID 447. |
25. | For second and select the node ID 487. |
26. | For third and select the node ID 1329. |
27. | For anchor and select the node ID 507. |
28. | Click update on the right side to create the slave DTPL card. |
29. | Click desvar= and select dv3. |
30. | Click the switch and change to slave. |
31. | Make sure master= is pointing to dv1. |
32. | Set the following values: sx= 0.3, sy= 0.3, sz= 1.0. |
33. | Click first and select the node ID 892. |
34. | For second and select the node ID 928. |
35. | For third and select the node ID 1329. |
36. | For anchor and select the node ID 948. |
37. | Click update on the right side to create the slave DTPL card. |
The above modification identifies the first DTPL card with ID 1 (on the first component) as the master. The DTPL’s of ID 2 (second component) and ID 3 (third component) are slaves and dependent on DTPL of ID1. The second component is scaled 0.6 in both the x- and y-axis, while the third component is scaled 0.3 in both the x- and y-axis with respect to the first component.
To view the card image for the DTPL card, right-click on any of the design variables in the Results browser and select Card Edit. The card image for dv2 is shown below.
Step 9: Run the Optimization Problem
1. | From the Analysis page, click OptiStruct to run the solver. |
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, repeat_opt.fem, in the File name: field. |
The name and location of the repeat_opt.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. | Leave the options: field blank. |
This will export the input deck and start the execution of OptiStruct in the solver GUI window.
Post-processing New Results with Pattern Repetition
Step 10: Review an Iso Value Plot of Element Densities
1. | From the OptiStruct panel, click HyperView. This launches HyperView in a new page within the HyperMesh Desktop and loads the session file repeat_opt.mvw that is linked with the repeat_opt_des.h3d file. |
A Message Log window will appear, indicating the location of the .h3d file.
2. | Click Close to exit the Message Log window. |
3. | Click the Iso toolbar icon . |
4. | Click to choose the last iteration from the Simulation list. |
5. | Select the last design under Simulation. |
7. | Set current value: to 0.38 using the slider bar in the same panel. |
9. | Check the boxes for Features and Transparent under Clipped geometry:. |
An iso surface plot is displayed in the graphics window. Those parts of the model with a density greater than the value of 0.38 are shown in color, and the rest are transparent.
10. | From the File menu, click Exit to quit HyperView. |
See Also:
OptiStruct Tutorials