OS-T: 3000 Topography Optimization of a Plate Under Torsion
In this tutorial you will perform a topography optimization of a plate under torsion.
![6001fig1](../../../images/solvers/6001fig1.png)
A finite element model is loaded into HyperMesh. The constraints, load, material properties, and subcase (loadstep) of the model are already defined. Topography design variables and optimization parameters are defined and the OptiStruct software determines the optimal reinforcement patterns. The results are viewed as animations of the contours of shape changes of the design space. Finally, the use of the grouping patterns is shown; based on the shape changes suggested by OptiStruct, a possible pattern is chosen for ease of manufacturing.
- Objective
- Minimize nodal displacement at grid point where loading is applied.
- Design Variables
- Shape variables generated automatically on the designable space aligned with the elements normal.
Launch HyperMesh and Set the OptiStruct User Profile
-
Launch HyperMesh.
The User Profile dialog opens.
-
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.
Open the Model
- Click .
- Select the torsion_plate.hm file you saved to your working directory.
-
Click Open.
The torsion_plate.hm database is loaded into the current HyperMesh session, replacing any existing data.
Verify the Thickness of the Component
-
In the Model Browser, Properties folder, click
design.
The design property opens in the Entity Editor, which displays information regarding shell thicknesses on the PSHELL card.
- Verify that the thickness, T, is set to 1.0.
Set Up the Optimization
Define Topography Design Variables
For a topography optimization, a design space and a bead definition need to be defined.
- From the Analysis page, click the optimization panel.
- Click the topography panel.
-
Create a topography design space definition.
- Select the create subpanel.
- In the desvar= field, enter topo.
- Using the props selector, select design.
- Click create.
A topography design space definition, topo, has been created. All elements organized into the design component collector(s) are now included in the design space. -
Create a bead definition for the design space topo.
A bead definition has been created for the design space topo. Based on this information, OptiStruct will automatically generate bead variable definitions throughout the design variable domain.
-
Update the bounds of the design variable.
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.
- Click return to go to the Optimization panel.
Create Optimization Responses
- From the Analysis page, click optimization.
- Click Responses.
-
Create the displacement response.
- Click return to go back to the Optimization panel.
Define the Objective Function
- Click the objective panel.
- Verify that min is selected.
- Click response and select displace.
- Using the loadsteps selector, select torsion.
- Click create.
- Click return twice to exit the Optimization panel.
Run the Optimization
- From the Analysis page, click OptiStruct.
- Click save as.
-
In the Save As dialog, specify location to write the
OptiStruct model file and enter
torsion_plate for filename.
For OptiStruct input decks, .fem is the recommended extension.
-
Click Save.
The input file field displays the filename and location specified in the Save As dialog.
- Set the export options toggle to all.
- Set the run options toggle to optimization.
- Set the memory options toggle to memory default.
-
Click OptiStruct to run the optimization.
The following message appears in the window at the completion of the job:
OPTIMIZATION HAS CONVERGED. FEASIBLE DESIGN (ALL CONSTRAINTS SATISFIED).
OptiStruct also reports error messages if any exist. The file torsion_plate.out can be opened in a text editor to find details regarding any errors. This file is written to the same directory as the .fem file. - Click Close.
- torsion_plate.hgdata
- HyperGraph file containing data for the objective function, percent constraint violations, and constraint for each iteration.
- torsion_plate.hist
- The OptiStruct iteration history file containing the iteration history of the objective function and of the most violated constraint. Can be used for a xy plot of the iteration history.
- torsion_plate.html
- HTML report of the optimization, giving a summary of the problem formulation and the results from the final iteration.
- torsion_plate.oss
- OSSmooth file with a default density threshold of 0.3. You may edit the parameters in the file to obtain the desired results.
- torsion_plate.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. Review this file for warnings and errors that are flagged from processing the torsion_plate.fem file.
- torsion_plate.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. This file may be used to restart a run.
- torsion_plate.stat
- Contains information about the CPU time used for the complete run and also the break-up of the CPU time for reading the input deck, assembly, analysis, convergence, and so on.
- torsion_plate_des.h3d
- HyperView binary results file that contain optimization results.
- torsion_plate_s#.h3d
- HyperView binary results file that contains from linear static analysis, and so on.
- torsion_plate.grid
- An OptiStruct file where the perturbed grid data is written.
View the Results
Shape contour information is output from OptiStruct for all iterations. In addition, Displacement and Stress results are output for the first and last iteration by default. This section describes how to view those results using HyperView.
View a Static Plot of Shape Contours
-
From the OptiStruct panel, click HyperView.
HyperView launches within the HyperMesh Desktop and loads the torsion_plate_des.h3d and torsion_plate_s1.h3d files reading the model and optimization results.
-
On the Results toolbar, click
to open the Contour panel.
-
Set Result type to Shape Change (v) and
Mag.
Figure 2.
-
On the Animation toolbar, click
to choose the last iteration from the Simulation list.
A deformed plate appears. - Click Apply.
Is the max= field showing 4.0e + 00?
In this case, it is. If it is not, your optimization has not progressed far enough. Decrease the OBJTOL parameter (set in the opti control panel on the optimization panel). This value, 4.0e+00, comes from the draw height defined earlier.
![3000_converged_solution](../../../images/solvers/3000_converged_solution.png)
View a Transient Animation of the Shape Contour Changes
-
From the Animation toolbar, set the animation mode to
(Transient).
Figure 4.
- Click
to start the animation.
-
Click
to open the Animation Controls panel.
- With the animation running, use the slider bar, below Max Frame Rate, to adjust the speed of the animation.
- Click
to pause the animation.
View the Deformed Structure
The displacement and stress results from the first and last iterations (default) are given in the torsion_plate_s1.h3d
file.
-
In the top, right of the application, click
to go to the next page.
This page has the subcase information from the torsion_plate_s1.h3d file. -
On the Animation toolbar, set the animation mode to Linear
Static.
Tip: For a better visual of what it happening with this model, turn on mesh lines and contour the results.
-
On the Results toolbar, click
to open the Deformed panel.
- Set the Result type to Displacement(v).
-
In the Results Browser, select the first iteration
(Iteration 0).
Figure 5.
-
On the Animation toolbar, set the animation mode to
(Linear Static).
- Click
to start the animation.
- Click
to go to the Animation Controls panel.
-
With the animation running, use the slider bar, below Max Frame Rate, to adjust
the speed of the animation.
A deformation animation of the original model is shown.
Does the deformed shape look correct for the boundary conditions you applied to the mesh?
- Click
to stop the animation.
-
On the Page Controls toolbar, click
to delete the HyperView page.
Add Pattern Grouping Constraints
Pattern grouping will be added as a constraint for manufacturability.
A possible pattern, suggested by the static contour plot obtained in the previous exercise, is to use channels parallel to a diagonal. In this example, you choose the diagonal emerging from the node where the load is applied.
- In HyperMesh, click return to exit the OptiStruct panel.
- From the Analysis page, click the optimization panel.
- Click the topography panel.
- Select the pattern grouping subpanel.
- Click desvar = and select topo.
- Set the pattern type to linear.
- Set the sub-type to basic.
-
Select nodes.
Figure 6. Pattern Grouping Node Location
- Click update.
- Click return twice to go to the main menu.
Run the Optimization
- From the Analysis page, click OptiStruct.
- Click save as.
-
In the Save As dialog, specify location to write the
OptiStruct model file and enter
torsion_pattern for filename.
For OptiStruct input decks, .fem is the recommended extension.
-
Click Save.
The input file field displays the filename and location specified in the Save As dialog.
- Set the export options toggle to all.
- Set the run options toggle to optimization.
- Set the memory options toggle to memory default.
-
Click OptiStruct to run the optimization.
The following message appears in the window at the completion of the job:
OptiStruct also reports error messages if any exist. The file torsion_pattern.out can be opened in a text editor to find details regarding any errors. This file is written to the same directory as the .fem file.OPTIMIZATION HAS CONVERGED. FEASIBLE DESIGN (ALL CONSTRAINTS SATISFIED).
- Click Close.
View the new results as before. Also check the objective value for the zero-th and last iteration in the .out file. How does the final value for the objective compare to the final value obtained using 'none' option for pattern grouping?
View a Static Plot of Shape Contours
![3000_contour_plot](../../../images/solvers/3000_contour_plot.png)