Вы находитесь на странице: 1из 109

Altair

Engineering

OptiStruct Tutorials
Version 3.5
For technical support, contact us by phone or e-mail:

Country Phone E-mail

United States 248.614.2400 ossupport@altair.com

Germany 49.7031.6208.22 support@altair-gmbh.de

India 91.80.665.8871 support@india.altair.soft.net

Israel 972.3.5473651 support@netvision.net.il

Italy 39.11.900.77.11 support@altairtorino.it

Japan 81.3.5396.1341 aj-support@altair.com

Korea 822.573.4152 support@yewon.co.kr

Scandinavia 46.46.286.2050 support.sweden@altair.com

United Kingdom 44.1327.810700 support@uk.altair.com

Copyright (c) 2000 Altair Engineering, Inc. All rights reserved.

Trademark Acknowledgments:
OptiStruct is a registered trademark of Altair Engineering, Inc.
UNIX is a registered trademark of AT&T.
PATRAN is a registered trademark of MSC
OptiStruct Tutorials
All of the files referenced in the OptiStruct tutorials are located in the HyperWorks installation
directory under /tutorials/os/. If you do not know the location of the HyperWorks installation
directory, contact your systems administrator.

Running Optistruct/FEA

Running OptiStruct at the Command Line

Analysis of a Plate with a Hole

Analysis of a Coffee Pot Lid with Thermal Loads

Normal Modes Analysis of a Splash Shield

Design Concept for a Structural C-Clip

Design Concept for an Automotive Control Arm

Design Concept for Satellite Structural Panels

2-D Shape Optimization of a Cantilever Beam

Altair Engineering, Inc. 1 OptiStruct


Running OptiStruct/FEA - OS001
This lesson guides you through the mechanics of retrieving a HyperMesh database containing a fully
defined OptiStruct/FEA database, exporting the input deck, and running an OptiStruct/FEA job from
the solver panel in HyperMesh.

To retrieve the file:

1. Select the files panel from any of the pages in HyperMesh.


2. Select the hm file subpanel.
3. Click file = and type plate.hm, or click file = a second time and browse your directory structure
for the plate.hm HyperMesh file.
4. Click retrieve.

Writing the .fem file

You will first need to write your OptiStruct/FEA input deck (usually specified with the .fem filename
extension) before you can run OptiStruct/FEA.

To write your file:

1. Select the files panel from any of the pages in HyperMesh.


2. Select the export subpanel.
3. If you have been building an OptiStruct/FEA model inside of HyperMesh, you should already
have the optistruct template specified in the template = field. If you have not yet specified
this template, click template = and type in optistruct/optistruct. Or click template = a
second time and select the optistruct sub-directory and subsequently, the optistruct
template file.
4. Click filename = and type plate.fem.
5. Click write. This will write your HyperMesh database as an OptiStruct/FEA ascii input deck.

To run OptiStruct/FEA:

1. Select the solver panel from the BCs page in HyperMesh.


2. Select the switch at the upper left hand corner of the panel and click OPTISTRUCT/FEA. (At this
point, HyperMesh will load the direct path to the optistruct executable in the solver= field. You do
not need to edit this field at this time)
3. Click input file = and type in the OptiStruct/FEA input deck plate.fem. Or, click input file =
again and browse your directory structure for the file plate.fem.
4. Click memory in Mb = and type the amount of RAM required in MB (in this case, you can use
10MB). RAM is directly dependent upon the number of grids in your model. A starting point is to
use 8MB/1000 grids/nodes. A check run can be made and OptiStruct/FEA will calculate a
recommended amount of RAM for your solution.
5. Click solve. This will launch the OptiStruct/FEA job. If the job is successful, you should see new

OptiStruct 2 Altair Engineering, Inc.


results files in the directory where HyperMesh was invoked. The plate.out file is a good place
to look for error messages that will help you debug your input deck if any errors are present.

The default files that will be written to your directory are:

plate.res HyperMesh binary results file.

plate.HM.ent.cmf HyperMesh command file used to organize elements into


entity sets based on their density result values (only used with
OptiStruct topology optimization runs).

plate.HM.comp.cmf HyperMesh command file used to organize elements into


components based on their density result values (only used
with OptiStruct topology optimization runs).

plate.out OptiStruct output file containing specific information on the file


set-up, the set-up of your optimization problem, estimate for
the amount of RAM and disk space required for the run,
information for each optimization iteration, and compute time
information. It is highly recommended to review this file for
warnings and errors that are flagged from processing the
plate_hole.fem file.

plate.oslog OptiStruct log file containing compliance and volume


calculations for each optimization iteration.

Altair Engineering, Inc. 3 OptiStruct


Running OptiStruct at the Command Line - OS002
In OS001 you ran OptiStruct from the solver panel in HyperMesh. OptiStruct can also be run at the
command line (UNIX or MSDOS). This lesson assumes you already have a running OptiStruct file
in your UNIX or MSDOS directory, plate.fem. This lesson also assumes that you know the location
of the OptiStruct installation directory, $OSDIR. $OSDIR/optistruct is used to describe the direct
path to the OptiStruct executable.

The following exercises are included:

Running OptiStruct from the UNIX command line

Running OptiStruct from the MSDOS command line

Running OptiStruct from the UNIX command line

To run OptiStruct:

1. At your UNIX command prompt, type:


$OSDIR/optistruct plate.fem -len 10

2. Or, to check the current version of OptiStruct, type:


$OSDIR/optistruct -version

3. Or, to execute a check run to validate your input deck and determine how much RAM and disk
space is necessary for the run, type:
$OSDIR/optistruct plate.fem -len 10 -check

Information regarding memory requirements will be written to plate.out.

Running OptiStruct from the MSDOS command line

To run OptiStruct:

1. At your MSDOS command prompt, type:


$OSDIR\optistruct plate.fem 10

2. Or, to check the current version of OptiStruct, type:


$OSDIR\optistruct -version

3. To execute a check run to validate your input deck and determine how much RAM and disk
space is necessary for the run on the PC, you must add the check parameter to your input deck
and run OptiStruct as in step 1.
Information regarding memory requirements will be written to plate.out

OptiStruct 4 Altair Engineering, Inc.


Analysis of a Plate with a Hole - OS101
In this lesson, you will create finite elements on a given geometry of a plate with a hole, apply
boundary conditions, and perform a finite element analysis of the problem. You will use post
processing tools in HyperMesh to determine deformation and stress characteristics of the loaded
plate.

The following exercises are included:


Setting up the problem in HyperMesh

Submitting the job

Viewing the results

Setting up the problem in HyperMesh

To retrieve the geometry in the file plate_hole.hm and define your


OptiStruct template:

1. Select the files panel from any page in HyperMesh.


2. Click hm file.
3. Click file = and type in plate_hole.hm. Or, click file = a second time and browse your
directory structure for the file plate_hole.hm.
4. Click retrieve.
5. In the files panel, select the template subpanel.
6. Click template = twice and select the optistruct directory and subsequently, the
optistruct template file. Selecting the OptiStruct template will allow you to define OptiStruct
specific attributes in your HyperMesh session.

To set up your material properties and element thicknesses:

It is recommended that you create your material collectors first (before creating your component
collectors). This is the most efficient way of setting up your file since components need to reference a
material.
1. Return from the files panel and select the collectors panel.
2. Set your subpanel to create.
3. Select the collector type switch and click mats.
4. Click name = and type: steel.
5. Click card image = and select MAT1.
6. Click create/edit. This will load the MAT1 card image for a new material, steel.
7. Add values for E (2E5) and NU (0.30).
If a block has a yellow heading, it is off. To turn it on, select the yellow heading. To add a value
for a block in the card image, click on the number field and type in the number. Once you have

Altair Engineering, Inc. 5 OptiStruct


entered the correct values, click return.

It is not necessary to define a density value since only a static analysis is desired. Density values
are required, however, for normal mode analysis.

8. Select the collector type switch and select comps.


9. Click name = and type: shells.
10. Click card image = and select PSHELL.
11. Click material = and select steel.
12. Click color and select blue (color8).
13. Click create/edit. This will load the PSHELL card image for a new component, shells, assign
color8 to the elements that are organized into this component, and assign the material, steel to
this component.
14. Turn on the thickness T by selecting the yellow T header and type in 10.0.
OptiStruct stores information regarding shell thicknesses on the PSHELL card.

15. Click return.


You now have a component called shells. Any elements created and organized into this
component will have the thickness attribute defined on the PSHELL card for the shells component
(T=10.0mm). The elements will also have material attributes defined on the MAT1 card by the
material collector steel since the shell component references this material.

At any time, you can modify the card images for these collectors using the card image subpanel.
You can also define a different material for your components using the update subpanel.

To mesh the geometry:

The automeshing module is used to create a quad dominant mesh. Since the shells component was
just created and is your current component, elements generated now will be organized into that
component.
1. Access the automesh panel (either F12 or through page 2D).
2. Select the surface displayed and click mesh.
3. Set the using size = field to 40 and click recalc all. Then click mesh.
4. See figure 1 for an illustration of what your mesh should look like. The automesher should create
about 415 elements on the surface.
5. Click return to save the mesh into the shells component.

OptiStruct 6 Altair Engineering, Inc.


Figure 1. Plate mesh using element size of 40mm.

To apply Boundary Conditions to the model:

In this section, the model is constrained such that two opposing edges of the four total edges cannot
move. The other two edges are left free. A total lateral load of 1000N is applied at the edge of the
hole such that all forces point in the positive z-direction.
1. Access the collectors panel.
2. Create two load collectors, spcs and forces.
- Select the collector type switch and click loadcols.

- Click name = and type, spcs.

- Click color and select green (color10).

- Click create.

- Click name = again and type, forces.

- Click color and select red (color15).

- Click create.

3. Create constraints.
- In the BCs page, select the constraints panel. (Make sure the current load collector is set to
spcs in the global panel)

- Click nodes and select by window. See figure 2 to determine which nodes to select.

- Constrain dof1, dof2, dof3, dof4, dof5, and dof6

- Make sure dofs 1-6 have been checked.

Dofs with a check will be constrained while dofs without a check will be free.

Dofs 1,2, and 3 are x, y and z translation degrees of freedom.

Dofs 4, 5, and 6 are x, y and z rotational degrees of freedom.

Altair Engineering, Inc. 7 OptiStruct


- Select create to apply these constraints to the selected nodes.

4. Create forces on the nodes around the hole.


- In the BCs page, select the forces panel. (Set your current load collector to forces in the
global panel).

- Click nodes and select by window. (See Figure 3 to determine which nodes to pick.)

- After you click select entities, click nodes, and from the extended entity selection window
click save.

In an intermediate step, these nodes will be automatically counted using the count panel
so that a calculation can be made to create a total force of 1000N.

- Return out of the forces panel and access the count panel in the Tool page of HyperMesh.

- Click the switch in the upper left hand corner and select nodes.

- Click nodes and select retrieve to retrieve the nodes you just saved in the forces panel.

- Click selected to count the number of nodes around the hole.

- Record the number of nodes.

- Return back to the forces panel in the BCs page of HyperMesh.

- Click nodes, and from the extended entity selection window click retrieve.

- Click magnitude = and enter a magnitude such that the total load on the nodes around the
hole is 1000N.

- Click the vector definition switch (below magnitude =), and select z-axis.

- Click create.

5. The last step in setting up the boundary conditions is to create an OptiStruct subcase (a loadstep
in HyperMesh).
- Access the load steps panel on the BCs page of HyperMesh.

- Click name = and type lateral force.

- Click loadcols and select spc and forces from the collector list.

- Click return and then click create.

OptiStruct 8 Altair Engineering, Inc.


Figure 2. Illustration of which nodes to select for applying single point constraints

Figure 3. Nodes selected for creating loading around hole.

Submitting the job

You will first need to write your OptiStruct input deck (usually specified with the .fem filename
extension) before you can run OptiStruct.

To write the file:

1. Select the files panel from any of the pages in HyperMesh.


2. Select the export subpanel.
3. If you have been building an OptiStruct model inside of HyperMesh, you should already have the
optistruct template specified in the template = field. If you have not yet specified this

Altair Engineering, Inc. 9 OptiStruct


template, click template = and type in optistruct/optistruct. Or click template = a
second time and select the optistruct sub-directory and subsequently, the optistruct
template file.
4. Click filename = and type plate.fem.
5. Click write. This will write your HyperMesh database as an OptiStruct/FEA ascii input deck.

To run OptiStruct:

1. Select the solver panel from the BCs page in HyperMesh.


2. Select the switch at the upper left hand corner of the panel and click OPTISTRUCT/FEA. (At this
point, HyperMesh will load the direct path to the optistruct executable in the solver= field. You do
not need to edit this field at this time)
3. Click input file = and type in the OptiStruct input deck plate_hole.fem. Or, click input file =
again and browse your directory structure for the file plate_hole.fem.
4. Click memory in Mb = and type the amount of RAM required in MB (in this case, you can use
10). RAM is directly dependent upon the number of grids in your model. A starting point is to use
8MB/1000 grids. A check run can be made and OptiStruct/FEA will calculate a recommended
amount of RAM for your solution.
5. Click solve. This will launch the OptiStruct/FEA job. If the job is successful, you should see new
results files in the directory from which plate_hole.fem was selected. The plate_hole.out
file is a good place to look for error messages that will help you debug your input deck if any
errors are present.
The default files that will be written to your directory are:

plate_hole.res HyperMesh binary results file.

plate_hole.HM.ent.cmf HyperMesh command file used to organize elements into


entity sets based on their density result values (only
used with OptiStruct topology optimization runs).

plate_hole.HM.comp.mf HyperMesh command file used to organize elements into


components based on their density result values (only
used with OptiStruct topology optimization runs).

plate_hole.out OptiStruct output file containing specific information on


the file set-up, the set-up of your optimization problem,
estimate for the amount of RAM and disk space required
for the run, information for each optimization iteration,
and compute time information. It is highly recommended
to review this file for warnings and errors that are flagged
from processing the plate_hole.fem file

plate_hole.oslog OptiStruct log file containing compliance and volume


calculations for each optimization iteration.

Viewing the results

OptiStruct will give you displacement and Von Mises Stress results for your linear static analysis.
This section describes how to view those results in HyperMesh. First, you will need to load your
HyperMesh binary results file.

OptiStruct 10 Altair Engineering, Inc.


To load the results file:

1. Select the files panel from any page in HyperMesh.


2. Click results to access the results subpanel.
3. Click results = and type plate_hole.res. Or, click results = a second time and browse your
directories for the file plate_hole.res.

To view a deformed shape:

1. Select the deformed panel in the Post page.


2. Click simulation =.
You will notice that there are two simulations: DENSITY - ITER 0 and SUBCASE 1 - ITERATION
0. If you are only running a linear static analysis, the DENSITY simulation can be ignored;
simulations tagged with SUBCASE # contain the results from your analysis.

If you had created two loadsteps instead, you would see three simulations here: DENSITY -
ITER 0, SUBCASE 1 - ITERATION 0 , SUBCASE 2 - ITERATION 0. The subcase ids
reflect your HyperMesh loadstep ids.

3. Click SUBCASE 1 - ITERATION 0.


4. Click model units = and set your model units to 250.
5. Click deform to view a deformed plot of your model overlaid on the original undeformed mesh
(see figure 4 for what your plot should look like with an isometric view).
- Does the deformed shape look correct for the boundary conditions you applied to the mesh?

Figure 4. Isometric view of deformed plot overlaid on original undeformed mesh. Model units are set to 250.

To view a contour plot of stresses and displacements:

1. Select the contour panel from the Post page in HyperMesh.


2. Set your simulation to SUBCASE 1 -ITERATION 0.
3. Click data type = and select Displacements.
There are three data types available: Displacements, Von Mises Stress and Density. The
density data type is used only with topology optimization results and will not be used here.

4. Click contour.

Altair Engineering, Inc. 11 OptiStruct


- What is the maximum displacement value?

- At what location does your model have its maximum displacement?

- Does this make sense based on the boundary conditions applied to the model?

5. Click data type = and select Von Mises Stress.


6. Click assign.
- What is the maximum Von Mises stress value?

- At what location does your model have its maximum stress?

- Does this make sense based on the boundary conditions applied to the model?

Figure 6. Von Mises Stress plot using discrete contours (performance graphics option).

Analysis Review

Review the following points:


- How could the structure be modeled using symmetry?

- Do you expect the results to be symmetric for this model? Why?

OptiStruct 12 Altair Engineering, Inc.


Analysis of Coffee Pot Lid with Thermal Loads -
OS201
In this lesson you will use an existing finite element model of a plastic coffee pot lid to apply boundary
conditions and perform a finite element analysis of the problem. HyperMesh post processing tools
are used to determine deformation and stress characteristics of the loaded plate.

The following exercises are included:


Retrieving the .fem file

Setting up the problem in HyperMesh

Submitting the job

Viewing the results

Retrieving the .fem file

To delete the current model:

In the next step you will import an ascii OptiStruct data deck. If you have information stored in the
current HyperMesh session, HyperMesh will read the OptiStruct data deck in on top of the current
model. To avoid this, follow these steps.
1. Select the delete panel from the Tool page. Or, use F2 to jump to the delete panel.
2. Click delete model.
3. A message should pop-up asking you if you wish to delete the current model. Click yes.
Deleting the current model simply clears the current HyperMesh database. Information stored in
.hm files on your disk is not affected.

To retrieve the file coffee_lid.fem and define your OptiStruct template:

1. Select the files panel from any page in HyperMesh.


2. Click import.
3. Click translator= twice and select optistruct from the list of input translators. The
OptiStruct input translator allows you to retrieve model information stored in an OptiStruct
ascii .fem file.
4. Click filename = and type in coffee_lid.fem. Or, click filename = a second time and browse
your directory structure for the file coffee_lid.fem.
5. Click import.
The temperature loads by default will be represented by icons sized to 100% of the temperature
magnitude. These icons may be too large with respect to the model size. Access the
temperatures panel on the BCs page and set magnitude% to 0.500. Or you can suppress the
display of your load collector in the display panel.

Altair Engineering, Inc. 13 OptiStruct


Notice that the temperatures are higher around the drip-through hole and lower at the edges of
the lid. This loading is representative of the brewed liquid running through the hole; the most
extreme temperature gradient the lid will see during regular use.

6. In the files panel, select the template subpanel.


- Click template = twice and select the optistruct directory and subsequently, the
optistruct template file. Selecting the OptiStruct template will allow you to define
OptiStruct specific attributes in your HyperMesh session.

Setting up the problem in HyperMesh

To set up the material properties and element thicknesses:

The model you imported has two component collectors with no materials. You will need to create a
material collector and assign it to your component collectors.
1. Return from the files panel and select the collectors panel.
2. Set your subpanel to create.
3. Select the collector type switch and click mats.
4. Click name = and type: plastic.
5. Click card image = and select MAT1.
6. Click create/edit. This will load the MAT1 card image for a new material, plastic.
7. Add values for E (1137MPa), NU (0.26) and A (81E-6mm/mm/C). (A is the coefficient of linear
thermal expansion)
If a block has a yellow heading, it is off. To turn it on, select the yellow heading. To add a value
for a block in the card image, click on the number field and type in the number. Once you have
entered the correct values, click return.

It is not necessary to define a density value since only a static analysis is desired. Density values
are required, however, for normal mode analysis.

8. Select the collector type switch and select comps.


9. Click the card image subpanel and edit the shells and shells_nondesign component
collectors. You will need to designate the component name in the name= field and then click
edit.
10. Make sure that the thickness for both components is set to 2.5.
OptiStruct stores information regarding shell thicknesses on the PSHELL card in the T block.

Notice that both components have MIDs of 0. You will need to assign the correct material
collector for each of your components.

To assign a material collector for each of your components:

1. Click the update subpanel of the collectors panel.


2. With the collector type set to comps, click the yellow comps data type button. At this point
you will drop into a component selection subpanel.
3. Select both components and click select.

OptiStruct 14 Altair Engineering, Inc.


4. Click material= and select the plastic material collector.
5. Click update, select material id as the attribute to update and click update again.
At this point, you should edit your component collector PSHELL cards again to make sure that the
MIDs are now set to 1.

To apply Boundary Conditions to the model:

In this section, the model is constrained opposite the spout cut-out to simulate two hinges. Two more
constraints are applied at the corners of the spout cut-on such that the nodes do not move vertically.

Figure 1. Selecting nodes for constraints at corners of spout cut-out.

1. Access the collectors panel.


2. Create a second load collector, constraints.
- Select the collector type switch and click loadcols.

- Click name = and type, constraints.

- Click color and select blue (color8).

- Click create.

3. Create constraints at the corners of the spout cut-out.


- In the BCs page, select the constraints panel. (Make sure your current load collector is set
to constraints in the global panel)

- Select the two nodes shown in Figure 1 at the corners of the spout cut-out.

- Constrain dof3.

- Set constraint size to 1

Dofs with a check will be constrained while dofs without a check will be free.

Dofs 1,2, and 3 are x, y and z translation degrees of freedom.

Dofs 4, 5, and 6 are x, y and z rotational degrees of freedom.

- Select create to constrain the selected nodes.

4. Create constraints opposite the spout cut-out to simulate two hinges.


- Access the create nodes panel using F8.

Altair Engineering, Inc. 15 OptiStruct


- Set the coordinates (the input fields to the right of x=, y= and z=) to 0.0,-10.0 and 0.0.

- Click create node. This will show you where the centerline of the coffee lid is.

- Access the constraints panel again in the BCs page.

- Select the nodes shown in Figure 2 click on the check marks next to dof1, dof2 and dof3.

- Click create to create the four constraints.

- After the constraints have been created, go to the temp nodes panel in the Tool page and
click clear all to remove the temp node.

5. The last step in setting-up the boundary conditions is to create an OptiStruct subcase (a loadstep
in HyperMesh).
- Access the load steps panel on the BCs page of HyperMesh.

- Click name = and type brew cycle.

- Click loadcols and select constraints and THERMAL_LOADING from the collector list.

- Click select and then click create.

Figure 2. Creating constraints opposite the spout cut-out to model hinges.

Submitting the job

You will first need to write your OptiStruct input deck (usually specified with the .fem filename
extension) before you can run OptiStruct.

To write your file:

1. Select the files panel from any of the pages in HyperMesh.


2. Select the export subpanel.
3. If you have been building an OptiStruct model inside of HyperMesh, you should already have the
optistruct template specified in the template = field. If you have not yet specified this
template, click template = and type in optistruct/optistruct. Or click template = a
second time and select the optistruct sub-directory and subsequently, the optistruct
template file.

OptiStruct 16 Altair Engineering, Inc.


4. Click filename = and type plate.fem.
5. Click write. This will write your HyperMesh database as an OptiStruct/FEA ascii input deck.

To run OptiStruct:

1. Select the solver panel from the BCs page in HyperMesh.


2. Select the switch at the upper left hand corner of the panel and click OPTISTRUCT/FEA. (At this
point, HyperMesh will load the direct path to the optistruct executable in the solver= field. You do
not need to edit this field at this time)
3. Click input file = and type in the OptiStruct input deck lid_complete.fem. Or, click input file
= again and browse your directory structure for the file lid_complete.fem.
4. Click memory in Mb = and type the amount of RAM required in MB (in this case, try 50MB).
RAM is directly dependent upon the number of grids in your model. A starting point is to use
8MB/1000 grids. A check run can be made and OptiStruct/FEA will calculate a recommend
amount of RAM for your solution.
5. Click solve. This will launch the OptiStruct/FEA job. If the job is successful, you should see new
results files in the directory where HyperMesh was invoked. The lid_complete.out file is a
good place to look for error message that will help you debug your input deck if any errors are
present.

The total time between launching the analysis and completion of the job should be between about 1
and 2 minutes. This is just an average. Your performance depends upon your processor, available
RAM and time required for system communications.

For reference, this tutorial was run on a workstation with 256MB of RAM and a 195MHz processor.
The analysis was run with OptiStruct 3.4 allocating 50MB of RAM. It took 15 cpu seconds with a total
elapsed time of 20 seconds.

The default files that will be written to your directory are:

Lid_complete.res HyperMesh binary results file.

Lid_complete.HM.ent.cmf HyperMesh command file used to organize elements into entity


sets based on their density result values (only used with
OptiStruct topology optimization runs).

Lid_complete.HM.comp.cmf HyperMesh command file used to organize elements into


components based on their density result values (only used
with OptiStruct topology optimization runs).

Lid_complete.out OptiStruct output file containing specific information on the file


set-up, the set-up of your optimization problem, estimate for the
amount of RAM and disk space required for the run, information
for each optimization iteration, and compute time information. It
is highly recommended to review this file for warnings and
errors that are flagged from processing the lid_complete.fem
file.

Lid_complete.oslog OptiStruct log file containing compliance and volume


calculations for each optimization iteration.

Altair Engineering, Inc. 17 OptiStruct


Viewing your results

OptiStruct will give you displacement and Von Mises Stress results for your linear static analysis.
This section describes how to view those results in HyperMesh. First, you will need to load your
HyperMesh binary results file.

To load the results file:

1. Select the files panel from any page in HyperMesh.


2. Click results to access the results subpanel.
3. Click results = and type lid_complete.res. Or, click results = a second time and browse
your directories for the file lid_complete.res.

To view a deformed shape:

1. Select the deformed panel in the Post page.


2. Click simulation =.
You will notice that there are two simulations: DENSITY - ITER 0 and SUBCASE 1 -
ITERATION 0. If you are only running a linear static analysis, the DENSITY simulation can be
ignored; simulations tagged with SUBCASE # contain the results from your analysis.

If you had created two loadsteps instead, you would see three simulations here: DENSITY -
ITER 0, SUBCASE 1 - ITERATION 0 , SUBCASE 2 - ITERATION 0. The subcase ids
reflect your HyperMesh loadstep ids.

3. Click SUBCASE 1 - ITERATION 0.


4. Click model units = and set your model units to 2.
5. Click deform to view a deformed plot of your model overlaid on the original undeformed mesh
(see figure 3 for what your plot should look like with an isometric view).
- Does the deformed shape look correct for the boundary conditions you applied to the mesh?

Figure 3. Deformed shape with overlay of displacement contour.

OptiStruct 18 Altair Engineering, Inc.


To view a contour plot of stresses and displacements

1. Select the contour panel from the Post page in HyperMesh.


2. Set your simulation to SUBCASE 1 -ITERATION 0.
3. Click data type = and select Displacements.
There are three data types available: Displacements, Von Mises Stress and Density. The density
data type is used only with topology optimization results and will not be used here.

4. Click contour.
- What is the maximum displacement value?

- At what location does your model have its maximum displacement?

- Does this make sense based on the boundary conditions applied to the model?

5. Click data type = and select Von Mises Stress.


6. Click assign.
- What is the maximum Von Mises stress value?

- At what location does your model have its maximum stress?

- Does this make sense based on the boundary conditions applied to the model?

- Is there a singularity present? If so, how can it be fixed?

Analysis review

Review the following points:


1. The singularity at the spout cut-out
- If thermal stresses are required, the singularity problem must be resolved as this area
contains elements with the largest Von Mises stress values.

2. Representation of the hinge opposite of the spout cut-out


- In this analysis, the region around the hinges may be a concern. There are relatively high
stress values that must be resolved. If, for instance, testing shows that the coffee lid over
time wears out around the hinge area, these thermal stresses could possibly cause that
fatigue.

Altair Engineering, Inc. 19 OptiStruct


Normal Modes Analysis of a Splash Shield - OS301
In this lesson you will use an existing finite element model of an automotive splash shield to apply
boundary conditions and perform a normal modes analysis of the problem. HyperMesh post
processing tools are used to determine mode shapes of the model.

The following exercises are included:


Retrieving the .fem file

Setting up the problem in HyperMesh

Submitting the job

Viewing the results

Retrieving the .fem file

To delete the current model:

In the next step you will import an ascii OptiStruct data deck. If you have information stored in the
current HyperMesh session, HyperMesh will read the OptiStruct data deck in on top of the current
model. To avoid this, follow these steps.
1. Select the delete panel from the Tool page. Or, use F2 to jump to the delete panel.
2. Click delete model.
3. A message should pop-up asking you if you wish to delete the current model. Click yes.
Deleting the current model simply clears the current HyperMesh database. Information stored in
.hm files on your disk is not affected.

To retrieve the file sshield.fem and define your OptiStruct template:

1. Select the files panel from any page in HyperMesh.


2. Click import.
3. Click translator= twice and select optistruct from the list of input translators. The
optistruct input translator allows you to retrieve model information stored in an OptiStruct
ascii .fem file.
4. Click filename = and type in sshield.fem. Or, click file = a second time and browse your
directory structure for the file sshield.fem.
5. Click import.
6. In the files panel, select the template subpanel.
- Click template = twice and select the optistruct directory and subsequently, the
optistruct template file. Selecting the OptiStruct template will allow you to define
OptiStruct specific attributes in your HyperMesh session.

Notice there are two rigid spiders in the model. They are placed at locations where the shield is

OptiStruct 20 Altair Engineering, Inc.


bolted down. Note that this is a simplified representation of the interaction between the bolts and the
shield; it is assumed that the bolts are significantly more rigid in comparison to the shield.

The dependent nodes of the rigid elements have all six degrees of freedom constrained; therefore,
each spider connects nodes of the shell mesh together in such a way that they do not move with
respect to one another.

To review the rigid elements:

1. Access the rigids panel from the 1D page.


2. Click review and select one of the rigid elements in the graphics region.
HyperMesh will label the independent node, the dependent node, and the ids of the two nodes
and the rigid element. HyperMesh will also show the constrained degrees of freedom in the rigids
panel for the rigid element you selected. All rigid elements in this model should have dof1-dof6
constrained.

Setting up the problem in HyperMesh

To set up your material properties:

The model you imported has two component collectors with no materials. You will need to create a
material collector and assign it to the shell component collector. The rigid elements do not need to be
assigned to a material.
1. Return from the files panel and select the collectors panel.
2. Set your subpanel to create.
3. Select the collector type switch and click mats.
4. Click name = and type: steel.
5. Click card image = and select MAT1.
6. Click create/edit. This will load the MAT1 card image for a new material, steel.
7. Add values for E (2.0E5MPa), NU (0.3) and RHO (7.85E-9Mg/mm^3)
If a block has a yellow heading, it is off. To turn it on, select the yellow heading. To add a value
for a block in the card image, click on the number field and type in the number. Once you have
entered the correct values, click return.

For this tutorial, it is necessary to define a density value since you will be running a normal modes
solution.

To assign a thickness to your shell elements:

1. Select the card image subpanel and set the collector type switch to comps.
2. Click name= twice and select the component containing your shell elements. In this case, the
component name should be shells.
3. Click edit.
4. Click the yellow T so that the thickness attribute is turned on.

Altair Engineering, Inc. 21 OptiStruct


5. Click the number field below T and assign a thickness of 0.250 to your component.
Before you return from editing the PSHELL card for your shells component, what material id is the
shells component assigned to?

It needs to be assigned to the material you just created, steel with MID=1.

6. Click return.

To assign the steel material collector to your component:

1. Set your subpanel to update.


2. Click the collector type switch and set it to comps.
3. With the collector type set to comps, click the yellow comps data type button. At this point you
will drop into a component selection subpanel.
4. Select the shell component and click select.
5. Click material= and select the steel material collector.
6. Click update, select material id as the attribute to update and click update again.
At this point, you should edit your component collector PSHELL cards again to make sure that the
MIDs are now set to 1.

To apply Boundary Conditions to the model:

In this section, the model is constrained at the bolt locations.

Figure 1. Selecting nodes for constraining the bolt locations. Zoomed in from a top view.

1. Access the create subpanel of the collectors panel.


2. Create a load collector, constraints.
- Select the collector type switch and click loadcols.

- Click name = and type, constraints.

- Click color and select blue (color8).

OptiStruct 22 Altair Engineering, Inc.


- Click create.

3. Create a load collector, frequencies.


In previous tutorials, multiple load collectors were created and tied together in the loadsteps panel
to form an OptiStruct subcase; for instance, a constraints load collector and a forces load
collector (as in OS-101). Both of these boundary conditions were used together in one loadstep.

In this tutorial, we want to constrain the model using SPCs at the bolt locations. Those
constrains will be organized into the load collector constraints. We also want to designate the
analysis as normal modes. To designate the subcase, you will put a load collector with the
EIGRL card image into the subcase (or loadstep).

- Select the collector type switch and click loadcols.

- Click name= and type, frequencies.

- Click color and select red (color15).

- Click card image= and select EIGRL.

- Click create/edit.

- We want to extract the first 6 roots between 0 and 200Hz .

4. Set up the EIGRL card:


- Click V1 to turn on this block and enter 0.00 for the lower bound of the frequency range.

- Click V2 and enter 200.000

- Click ND to turn on this block and enter 6 for the number of roots.

- Create constraints at the bolt locations.

- In the BCs page, select the constraints panel. (Make sure your current load collector is set
to constraints in the global panel)

- Select the two nodes shown in Figure 1 bolt locations (the center of your rigid spiders).

- Constrain dof1-dof6.

Dofs with a check will be constrained while dofs without a check will be free.

Dofs 1,2, and 3 are x, y and z translation degrees of freedom

Dofs 4, 5, and 6 are x, y and z rotational degrees of freedom.

- Select create to constrain the selected nodes.

5. The last step in setting-up the boundary conditions is to create an OptiStruct subcase (a loadstep
in HyperMesh).
- Access the load steps panel on the BCs page of HyperMesh.

- Click name = and type bolted.

- Click loadcols and select constraints and frequencies from the collector list.

- Click select and then click create.

Submitting the job

Altair Engineering, Inc. 23 OptiStruct


You will first need to write your OptiStruct input deck (usually specified with the .fem filename
extension) before you can run OptiStruct.

To write your file:

1. Select the files panel from any of the pages in HyperMesh.


2. Select the export subpanel.
If you have been building an OptiStruct model inside of HyperMesh, you should already have the
optistruct template specified in the template = field. If you have not yet specified this template,
click template = and type in optistruct/optistruct. Or click template = a second time and select
the optistruct sub-directory and subsequently, the optistruct template file.

3. Click filename = and type sshield_complete.fem.


4. Click write. This will write your HyperMesh database as an OptiStruct ascii input deck.

To run OptiStruct:

1. Select the solver panel from the BCs page in HyperMesh.


2. Select the switch at the upper left hand corner of the panel and click OPTISTRUCT/FEA. (At this
point, HyperMesh will load the direct path to the optistruct executable in the solver= field. You do
not need to edit this field at this time)
3. Click input file = and type in the OptiStruct input deck sshield_complete.fem. Or, click
input file = again and browse your directory structure for the file sshield_complete.fem.
4. Click memory in Mb = and type the amount of RAM required in MB (in this case, try 20). RAM is
directly dependent upon the number of grids in your model. A starting point is to use 8MB/1000
grids. A check run can be made and OptiStruct/FEA will calculate a recommend amount of RAM
for your solution.
5. Click solve. This will launch the OptiStruct/FEA job. If the job is successful, you should see new
results files in the directory where HyperMesh was invoked. The sshield_complete.out file
is a good place to look for error messages that will help you debug your input deck if any errors
are present.

The total time between launching the analysis and completion of the job should be about 30 seconds.
This is just an average. Your performance depends upon your processor, available RAM and time
required for system communications.

The default files that will be written to your directory are:

sshield_complete.res HyperMesh binary results file

sshield_complete.HM.ent.cmf HyperMesh command file used to organize elements into


entity sets based on their density result values (only used
with OptiStruct topology optimization runs

sshield_complete.HM.comp.cmf HyperMesh command file used to organize elements into


components based on their density result values (only
used with OptiStruct topology optimization runs).

sshield_complete.out OptiStruct output file containing specific information on


the file set-up, the set-up of your optimization problem,
estimate for the amount of RAM and disk space required

OptiStruct 24 Altair Engineering, Inc.


for the run, information for each optimization iteration, and
compute time information. It is highly recommended to
review this file for warnings and errors that are flagged
from processing the sshield_complete.fem file.

sshield_complete.oslog OptiStruct log file containing compliance and volume


calculations for each optimization iteration.

Viewing the results

OptiStruct will give you Eigenvector results for your normal modes analysis. This section describes
how to view your results in HyperMesh. First, you will need to load your HyperMesh binary results
file.

To load the results file:

1. Select the files panel from any page in HyperMesh.


2. Click results to access the results subpanel.
3. Click results = and type sshield_complete.res. Or, click results = a second time and
browse your directories for the file sshield_complete.res.

To view a deformed shape:

1. Select the deformed panel in the Post page.


2. Click simulation =.
You will notice that there are seven simulations:
DENSITY - ITER 0

MODE 1-F#.##E+##-ITER 0

MODE 2-F#.##E+##-ITER 0

MODE 3-F#.##E+##-ITER 0

MODE 4-F#.##E+##-ITER 0

MODE 5-F#.##E+##-ITER 0

MODE 6-F#.##E+##-ITER 0

If you are only running a normal modes analysis, the DENSITY simulation can be ignored;
simulations tagged with MODE # contain the results from your analysis.

What are the frequency values for the 6 roots OptiStruct extracted?
MODE 1 = Hz.

MODE 2 = Hz.

MODE 3 = Hz.

MODE 4 = Hz.

MODE 5 = Hz.

Altair Engineering, Inc. 25 OptiStruct


MODE 6 = Hz.

3. Select the simulation for Mode 1.


4. Click model units = and set your model units to 15.
5. Click modal to view an animation of the mode shape at the first frequency.
- Does the deformed shape look correct for the boundary conditions you applied to the mesh?
For modal solutions, make sure that your nodes that are constrained are not moving.

6. View the rest of your mode shapes using the same model units.
- Does the shape of mode #5 match the shape shown in Figure 2?

Figure 2. Mode shape of 5th root, 287Hz.

Analysis review
Review the following points:
1. Representation of the boundary conditions at the bolt locations
- In this analysis, it was assumed that the bolts were significantly stiffer than the shield. If the
bolts needed to be made of aluminum and the shield was still made of steel, would you need
to modify your model and run the analysis again?

2. It is necessary to push the natural frequencies of the splash shield above 50Hz. With the current
model, you should have one mode that violates this constraint: mode 1, 43Hz. Design
specifications allow the inner disjointed circular rib to be modified such that no significant mass is
added to the part. The available package space for this new rib is shown as the solid region in
Figure 3. The thickness of the solid region is equal to the depth of the original rib. Is there a
better configuration for this rib within the above stated constraints that will push the first mode
above 50Hz? (see tutorial OS-3001 to redesign this part).

OptiStruct 26 Altair Engineering, Inc.


Figure 3. Yellow solid region represents the available package space for redesigning the inner disjointed circular rib.

Altair Engineering, Inc. 27 OptiStruct


Design Concept for a Structural C-Clip - OS1001
In this lesson you will create a design concept for a structural c-clip based on loading and
performance specifications. A model of the design space with loads and constraints applied is shown
in Figure 1. The c-clip part specifications state that opening of the c-clip (where the forces are
applied) cannot move more than 0.14mm apart in the y-direction. A minimum amount of material is
desired to achieve this performance.

Figure 1. Design space with loads and constraints.

A topology optimization is done using OptiStruct to determine an optimal layout of the designable
material. A surface description of the design space is given. (shown in Figure 1) This surface is
loaded into HyperMesh and is used to generate a finite element mesh. Appropriate properties,
boundary conditions and loads are applied. The database is output as an OptiStruct ascii file and the
OptiStruct software is used to determine the optimal material distribution. The results (the material
layout) are viewed as contours of a normalized density value (ranging from 0.0 to 1.0) in the design
space. Areas that need reinforcement will tend towards a density of 1.0.

The optimization problem for this tutorial is stated as:

Objective Minimize volume.

Constraints Given maximum nodal displacement at two grid points.

Design variables Microstructural void sizes and orientations in the design space.

The following exercises are included:


Setting up the problem in HyperMesh

Submitting the job

OptiStruct 28 Altair Engineering, Inc.


Viewing the results

Setting up the problem in HyperMesh

To retrieve the geometry in the file cclip.hm and define your OptiStruct
template:

1. Select the files panel from any page in HyperMesh.


2. Click hm file.
3. Click file = and type in cclip.hm. Or, click file = a second time and browse your directory
structure for the file cclip.hm.
4. Click retrieve.
5. In the files panel, select the template subpanel.
6. Click template = twice and select the optistruct directory and subsequently, the
optistruct template file. Selecting the OptiStruct template will allow you to define OptiStruct
specific attributes in your HyperMesh session.

To set up your material properties and element thicknesses:

It is recommended that you create your material collectors first (before creating your component
collectors). This is the most efficient way of setting up your file since components need to reference a
material.
1. Return from the files panel and select the collectors panel.
2. Set your subpanel to create.
3. Select the collector type switch and click mats.
4. Click name = and type: steel.
5. Click card image = and select MAT1.
6. Click create/edit. This will load the MAT1 card image for a new material, steel.
7. Add values for E (2E5) and NU (0.30).
If a block has a yellow heading, it is off. To turn it on, select the yellow heading. To add a value
for a block in the card image, click on the number field and type in the number.

It is not necessary to define a density value since only a static analysis is desired. Density values
are required, however, for normal mode analysis.

8. Once you have entered the correct values, click return.


9. Select the collector type switch and click comps.
10. Click name = and type: shells.
11. Click card image = and select PSHELL.
12. Click material = and select steel.
13. Click color and select yellow (color11).
14. Click create/edit. This will load the PSHELL card image for a new component, shells, assign

Altair Engineering, Inc. 29 OptiStruct


color11 to the elements that are organized into this component, and assign the material steel to
this component.
15. Turn on the thickness by select the yellow T header and type in 1.0.
OptiStruct stores information regarding shell thicknesses on the PSHELL card.

16. Click the grey box to the left of CONT below the header bar to activate the continuation line.
Activating the continuation line for the PSHELL card does two things:

- The component that has this PSHELL card loaded is included as part of the design space.
For topology optimization, the size and orientation of microscopic voids in these elements are
varied. Components that are not included as part of the design space will maintain their
originally defined material attributes.

- The TO block is available for defining a base thickness and T-T0 becomes the designable
region through the thickness of the shell elements. The region below T0 is non-designable.

PSHELL PSOLID

DESIGN CONT line active DS=1

NON-DESIGN CONT line inactive DS=0


Table 1. Description of design space vs. non-design space based on the continuation line for the PSHELL and the
DS block for the PSOLID. These attributes are available when editing the PSHELL or PSOLID cards through the
collectors or cards panel.

17. Click return.


You now have a component called shells. Any elements created and organized into this
component will have the thickness attribute defined on the PSHELL card for the shells component
(T=1.0mm). The elements will have material attributes defined on the MAT1 card by the material
collector steel since the shell component references this material. Finally, the elements
organized into this component will be included in the design space for topology optimization since
the continuation line is activated.

At any time, you can modify the card images for these collectors using the card image subpanel.
You can also define a different material for your components using the update subpanel.

To mesh the geometry:

The automeshing module is used to create a quad dominant mesh. Since the shells component was
just created and is your current component, elements generated will be organized into that
component.
1. Access the automesh panel (either by selecting the function key F12 on your keyboard or by
accessing the panel through the 2D page).
2. Select the top surface and click mesh.
3. Set the using size = field to 2.5 and click recalc all.
4. Click mesh.
See figure 2 for an illustration of what your mesh should look like. The automesher should create
about 535 elements on the surface.

5. Click return to save the mesh into the shells component.


6. Click return.

OptiStruct 30 Altair Engineering, Inc.


Figure 2. Quad dominant automesh created using element size of 2.5mm.

To create a mirrored duplicate of the elements on the upper surface:

1. Access the reflect panel from the Tool page.


2. Click elems and select displayed from the extended entity window.
3. Click elems again, and select duplicate, original comp.
4. Click the switch at the center of the page to define the reflection plane.
5. Select y-axis to define the x-z plane.
6. Click edit to edit the base of the plane and enter the coordinates (0.0,40.0,0.0).
7. Click reflect.
8. Click return.

To equivalence the duplicate nodes between the meshes:

1. Access the edges panel from the Tool page.


2. With the left mouse button, select an element on the screen to put its component into the comps
buffer.
3. Click preview equiv. You should see the 21 nodes defining the seam between the two sets of
elements highlight.
4. Click equivalence.

Altair Engineering, Inc. 31 OptiStruct


To apply Boundary Conditions to the model:

1. Access the collectors panel.


2. Create two load collectors, spc and forces.
- Select the collector type switch and click loadcols.

- Click name = and type, spc.

- Click color and select green (color10).

- Click create.

- Click name= and type, forces.

- Click color and select red (color15).

- Click create.

- Click return.

3. Create constraints for the spc load collector.


- In the BCs page, select the constraints panel. (Make sure your current load collector is set
to spc in the global panel)

- Selecting the node at the center of the left edge of your design space (shown in Figure 3 with
dof1, dof2 and dof3 constrained).

- Constrain dof1, dof2 and dof3.

- Make sure dofs 1,2 and 3 have been checked.

Dofs with a check will be constrained while dofs without a check will be free.

Dofs 1, 2, and 3 are x, y and z translation degrees of freedom

Dofs 4, 5, and 6 are x, y and z rotational degrees of freedom.

- Select create to apply these constraints to the selected node.

- Select the node at the center of the c-clip curve (shown in Figure 3 with dof2 constrained).

- Constrain dof 2.

- Select create to apply this constraint to the selected node.

- Select the node at the upper left corner of the c-clip design space (shown in Figure 3 with
dof3 constrained).

- Constrain dof3.

- Select create to apply this constraint to the selected node.

- Click return to return to the menu pages in HyperMesh.

OptiStruct 32 Altair Engineering, Inc.


Figure 3. Constraints applied to mesh.

4. Load the structure with two opposing forces of 100.0 N at the opposite tips of the opening of the
c-clip as shown in Figure 1.
- Access the forces panel from the BCs page.

- Set your current loadcol in the global panel to forces.

- Create the force at the top of the opening:

- Select the node at the top of the opening of the c-clip (see Figure 4).

- Click magnitude= and type 100.0.

- Select the switch to the left of N1, N2, N3 and click y-axis.

- Click create.

- Create the force at the bottom of the opening:

- Select the node at the bottom of the opening of the c-clip (see Figure 4).

- Click magnitude= and type -100.0.

- Select the switch to the left of N1, N2, N3 and click y-axis.

- Click create.

- Click return to exit the forces panel.

Altair Engineering, Inc. 33 OptiStruct


Figure 4. Opposing forces created at the opening of the c-clip.

5. The last step in setting-up the boundary conditions is to create an OptiStruct subcase (a loadstep
in HyperMesh).
- Access the load steps panel on the BCs page of HyperMesh.

- Click name = and type opposing forces.

- Click loadcols and select spc and forces from the collector list.

- Click select and then click create.

- Click return.

To set up the OptiStruct parameter cards

1. Access the cntl cards panel in the BCs page.


2. Define the optimization problem parameters:

Objective Minimize volume (defined in cntl cards panel).

Constraints Given maximum nodal displacement at two grid points (defined in cntl
cards panel).

Design variables Microstructural void sizes and orientations in the design space (implicitly
defined).
- Define the Objective function:

- Click next. The OBJECTIVE parameter should be on the second screen of the control cards
panel.

- Click OBJECTIVE.

You can define a single objective function for OptiStruct. Select any of the following
responses as the objective and chose to either maximize or minimize the response:

Volume Design volume fraction.

Mass Total mass of the model.

Comp Compliance of a single load.

OptiStruct 34 Altair Engineering, Inc.


Freq Frequency of a single mode.

Wcomp Sum of weighted compliances for static load cases.

Wfreq - Sum of weighted frequencies for eigenvalue load cases.

Comb Sum of combined weighted compliances and normalized weighted


frequencies.

- Set max/min to MINIMIZE.

- Make sure the response is set to VOLUME (this is the default).

- Click return.

- Define the first constraint:

The CONSTRAINT parameter should be on the second screen of the control cards panel
also.

- Click CONSTRAINT.

You can define up to 50 constraints in this panel. Select any of the following responses as a
constraint; however, you cannot constrain a response that is defined as the objective (in this
case, you cannot constrain volume):

Volume Design volume fraction

Mass Total mass of the model

Comp Compliance of a single load

Freq Frequency of a single mode

Wcomp Sum of weighted compliances for static load cases

Wfreq Sum of weighted frequencies for eigenvalue load cases

Comb Sum of combined weighted compliances and normalized weighted


frequencies

- For LB/UB0, select UBCON (upper-bound constraint. See Figure 5.)

- Set the value of the first displacement constraint to 0.07.

- For RESPONSE of the first constraint, select DISP (this will add new fields to the line for the
first constraint. See Figure 5)

- Set the SUBCASE to opposing forces (subcase id = 1).

Leave METHOD set to SINGLE (you can create an entity set to constrain the displacement of
multiple nodes and select it by using SET instead of SINGLE).

- Click node and select the node at the top of the c-clip opening (see Figure 5).

- Set COMPONENT to 2.

Components 1, 2, and 3 refer to translation in the X, Y, and Z directions. Components 4, 5,


and 6 refer to rotation about the X, Y and Z axes.

This completes the definition of the first constraint: upper bound displacement constraint of
0.07mm for the selected node in the positive y-direction.

Altair Engineering, Inc. 35 OptiStruct


Figure 5. Definition of the first constraint: upper bound displacement constraint of 0.07mm in the y-direction for the
top node.

- Define the second constraint:

- For LB/UB1, select LBCON (lower-bound constraint)

- Set the value of the second displacement constraint to -0.07.

- For RESPONSE of the second constraint, select DISP (this will add new fields to the line for
the second constraint)

- Set the SUBCASE to opposing forces (subcase id = 1).

- Leave METHOD set to SINGLE (you can create an entity set to constrain the displacement of
multiple nodes and select it by using SET instead of SINGLE).

- Click node and select the node at the bottom of the c-clip opening (see Figure 6).

- Set COMPONENT to 2.

Components 1, 2, and 3 refer to translation in the X, Y, and Z directions. Components 4, 5,


and 6 refer to rotation about the X, Y and Z axes.

This completes the definition of the second constraint: lower bound displacement constraint
of -0.07mm for the selected node in the positive y-direction.

- Click return.

OptiStruct 36 Altair Engineering, Inc.


Figure 6. Definition of the second constraint: lower bound displacement constraint of -0.07mm in the y-direction for
the bottom node.

3. Specify the maximum number of iterations; the upper limit on the number of iterations OptiStruct
can perform before completion.
- Click prev to view the first screen.

- Click MAXITER (located in the first screen of the control cards panel).

- Select the number field to the right of MAXITER and type 25.

- Click return and click return again to access the menu pages.

Submitting the job

You will first need to write your OptiStruct input deck (usually specified with the .fem filename
extension) before you can run OptiStruct.

To write the file:

1. Select the files panel from any of the pages in HyperMesh.


2. Select the export subpanel.
3. If you have been building an OptiStruct model inside of HyperMesh, you should already have
the optistruct template specified in the template = field. If you have not yet specified this
template, click template = and type in optistruct/optistruct. Or click template = a second time
and select the optistruct sub-directory and subsequently, the optistruct template file.
4. Click filename = and type cclip_complete.fem.
5. Click write. This will write your HyperMesh database as an OptiStruct ascii input deck.

Altair Engineering, Inc. 37 OptiStruct


To run OptiStruct:

1. Select the solver panel from the BCs page in HyperMesh.


2. Select the switch at the upper left hand corner of the panel and click OPTISTRUCT/FEA. (At this
point, HyperMesh will load the direct path to the optistruct executable in the solver= field. You do
not need to edit this field at this time)
3. Click input file = and type in the OptiStruct input deck cclip_complete.fem. Or, click input
file = again and browse your directory structure for the file cclip_complete.fem.
4. Click memory in Mb = and type the amount of RAM required in MB (in this case, you can use
15MB).
RAM is directly dependent upon the number of grids in your model. A starting point is to use
8MB/1000 grids. A check run can be made and OptiStruct/FEA will calculate a recommend
amount of RAM for your solution.

5. Click solve.
This will launch the OptiStruct/FEA job. If the job is successful, you should see new results files
in the directory where HyperMesh was invoked. The plate.out file is a good place to look for
error message that will help you debug your input deck if any errors are present.
The default files that will be written to your directory are:

cclip_complete.res HyperMesh binary results file

cclip_complete.HM.ent.cmf HyperMesh command file used to organize elements into


entity sets based on their density result values (only used
with OptiStruct topology optimization runs).

cclip_complete.HM.comp.cmf HyperMesh command file used to organize elements into


components based on their density result values (only
used with OptiStruct topology optimization runs).

cclip_complete.out OptiStruct output file containing specific information on


the file set-up, the set-up of your optimization problem,
estimate for the amount of RAM and disk space required
for the run, information for each optimization iteration, and
compute time information. It is highly recommended to
review this file for warnings and errors that are flagged
from processing the cclip_complete.fem file.

cclip_complete.oslog OptiStruct log file containing compliance and volume


calculations for each optimization iteration. In your UNIX
or DOS shell, you can edit this file to see how many
iterations OptiStruct has completed.

Viewing the results

OptiStruct will give you density information for all iterations. OptiStruct will also give you
displacement and Von Mises Stress results for your linear static analysis for iteration 0 and iteration
25. This section describes how to view those results in HyperMesh. First, you will need to load your
HyperMesh binary results file.

OptiStruct 38 Altair Engineering, Inc.


To load the results file:

1. Select the files panel from any page in HyperMesh.


2. Click results to access the results subpanel.
3. Click results = and type cclip_complete.res. Or, click results = a second time and browse
your directories for the file cclip_complete.res.

To view a deformed shape:

First, it is helpful to view the deformed shape of your model to determine if the boundary conditions
have been defined correctly and also to check if the model is deforming as expected.
1. Select the deformed panel in the Post page.
2. Click simulation =.
You will notice that there are many simulations. At the end of the simulation list, you will see:
SUBCASE 1 - ITERATION 0 and SUBCASE1 ITERATION 25.

If you had created two loadsteps instead, you would see two more simulations here: SUBCASE 2
- ITERATION 0 and SUBCASE2 ITERATION 25. The subcase ids reflect your HyperMesh
loadstep ids.

3. Click SUBCASE 1 - ITERATION 0.


4. Toggle model units= to scale factor=.
5. Set your scale factor to 100.000.
6. Click deform to view a deformed plot of your model overlaid on the original undeformed mesh
(see figure 7 for what your plot should look like from a top view).

Figure 7. Deformed plot overlaid on original undeformed mesh. Scale factor is set to 100.000. The red mesh is the
deformed plot and the grey mesh is the original location.

- Does the deformed shape look correct for the boundary conditions you applied to the mesh?

Altair Engineering, Inc. 39 OptiStruct


To view a transient animation of density results.

1. Select the transient panel from the Post page in HyperMesh.


2. Set start with= to DENSITY - ITER0.
3. Set end with= to DENSITY - ITER25.
4. Click data type = and select Density.
5. Click transient.
6. When using standard graphics (selectable through the options panel), set the following:

mode hidden line

color contour

lights smooth

mesh on
Use the slower button to slow down the animation if the frames animate too quickly.

7. Click exit once you are finished viewing the animation.


8. Click return.

To view a static contour plot of your densities:

1. Select the contour panel from the Post page in HyperMesh.


2. Set your simulation to DENSITY - ITER25.
3. Click data type = and select Density.
4. Click assign.
- Have most of your elements converged to a density of 1 or 0?

If there are many elements with intermediate densities, you may need to adjust the discrete
parameter. The discrete parameter (set in the cntl cards panel) can be used to push
elements with intermediate densities towards 1 or 0 so that a more discrete structure is given.

In this model, the mesh should be refined and the discrete parameter used (set to 2.0).

- Is the max= field showing 1.0e+00?

In this case, it is.

If it is not, your optimization has not progressed far enough. Allow more iterations and/or
decrease the objtol parameter (set in the cntl panel).

To view an iso-surface plot of your densities.

1. Access the options panel in the permanent menu.


2. Select the graphics subpanel.
3. Toggle the graphics engine mode to performance.
4. Click return.

OptiStruct 40 Altair Engineering, Inc.


5. Select the contour panel from the Post page in HyperMesh.
6. Set your simulation to DENSITY - ITER25.
7. Click data type = and select Density.
8. Select the iso-surface subpanel.
9. Select show.
10. Toggle the mode from legend based to value based.
11. Set the iso surface= field to 0.440.
12. Click include faces above so it is on.
13. Click assign.

Figure 8. Isosurface plot of an optimal layout of the designable material.

The iso-surface post processing feature in HyperMesh is an excellent tool to use for viewing your
density results from OptiStruct.

Click and hold the left mouse button on the triangle shown in the legend (currently pointing to a value
representing 0.440 for your density), then scroll up and down to change the threshold surface. You
will see the iso-surface in the graphics window interactively update 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.

Altair Engineering, Inc. 41 OptiStruct


Design Concept for an Automotive Control Arm -
OS1002
In this lesson you will create a design concept for an automotive control arm to meet required
performance specifications. The finite element mesh containing designable (blue) and non-
designable regions (yellow) is shown in Figure 1. Part specifications constrain the resultant
displacement of the point where loading is applied for three load cases to 0.05mm, 0.02mm, and
0.04mm respectively. A minimum amount of material is desired to achieve this performance.

Figure 1. Finite element mesh containing designable (blue) and non-designable (yellow) material.

A topology optimization is done using OptiStruct to determine an optimal layout of the designable
material. A finite element model representing the designable and non-designable material is given.
(shown in Figure 1) This mesh is imported into HyperMesh using import data utilities. Appropriate
properties, boundary conditions, loads and subcases are applied. The database is output as an
OptiStruct ascii file and the OptiStruct software is used to determine the optimal material distribution.
The results (the material layout) are viewed as contours of a normalized density value (ranging from
0.0 to 1.0) in the design space. Isosurfaces are also used to view the density results. Areas that
need reinforcement will tend towards a density of 1.0.

The optimization problem for this tutorial is stated as:

Objective Minimize volume.

Constraints SUBCASE 1, a given maximum nodal displacement at one grid point.

SUBCASE 2, a given maximum nodal displacement at one grid point.

SUBCASE 3, a given maximum nodal displacement at one grid point.

Design variables Microstructural void sizes and orientations in the design space.

The following exercises are included:


Setting up the problem in HyperMesh

OptiStruct 42 Altair Engineering, Inc.


Submitting the job

Viewing the results

Setting up the problem in HyperMesh

To retrieve the geometry in the file carm.hm and define your OptiStruct
template:

1. Select the files panel from any page in HyperMesh.


2. Click hm file.
3. Click file = and type in carm.hm. Or, click file = a second time and browse your directory
structure for the file carm.hm.
4. Click retrieve.
5. In the files panel, select the template subpanel.
6. Click template = twice and select the optistruct directory and, subsequently, the
optistruct template file. Selecting the OptiStruct template will allow you to define OptiStruct
specific attributes in your HyperMesh session.

To set up the material properties, design and non-design regions:

It is recommended to create your material collectors first (before creating your component collectors).
This is the most efficient way of setting up your file since components need to reference a material.
1. Create a material called steel.
- Return from the files panel and select the collectors panel.

- Set your subpanel to create.

- Select the collector type switch and click mats.

- Click name = and type: steel.

- Click card image = and select MAT1.

- Click create/edit. This will load the MAT1 card image for a new material, steel.

- Add values for E (2E5) and NU (0.30).

If a block has a yellow heading, it is off. To turn it on, select the yellow heading. To add a
value for a block in the card image, click on the number field and type in the number.

It is not necessary to define a density value since only a static analysis is desired. Density
values are required, however, for normal mode analysis.

- Once you have entered the correct values, click return.

2. Assign designable and non-designable regions.


- Set your subpanel to card image.

- Select the collector type switch and click comps.

Altair Engineering, Inc. 43 OptiStruct


- Click name = twice and select non-design.

- Click card image = and select PSOLID.

- Click load/edit. This will load the PSOLID card image.

Notice MID is set to zero. This must be updated so that the PSOLID card references the
MAT1 material you just created (this will be done in a later step).

- Click the yellow DS in the upper right of the card image. This will activate the DS field so that
you can enter a value. The field is used to assign the element in this collector as either
designable, 1, or non-designable, 0.

- Click the grey box below DS and type 0 (this should be the default value for this block).

PSHELL PSOLID

DESIGN CONT line active DS=1

NON-DESIGN CONT line inactive DS=0


Table 1. Description of design space vs. non-design space based on the continuation line for the PSHELL and the
DS block for the PSOLID. These attributes are available w hen editing the PSHELL or PSOLID cards through the
collectors or cards panel.

- Click return.

- Click name = twice and select design.

- Click card image = and select PSOLID.

- Click load/edit. This will load the PSOLID card image.

Notice MID is set to zero. This must be updated so that the PSOLID card references the
MAT1 material you just created (this will be done in a later step).

- Click the yellow DS in the upper right of the card image. This will activeate the DS field so
that you can enter a value. The field is used to assign the element in this collector as either
designable, 1, or non-designable, 0.

- Click the grey box below DS and type 1 (this will assign all elements in this collector as
designable).

3. Attach the steel material to your two components.


- Click the update subpanel.

- Click the yellow comps buffer.

- Select both components such that they both have check marks.

- Click select.

- Click material= and select steel.

- Click update.

- Click material id.

- Then, click update.

You may wish to edit your PSOLID card images again at this time to ensure that the MID fields
have been updated. The MID fields for both PSOLIDs should be set to 1 now.

OptiStruct 44 Altair Engineering, Inc.


To apply boundary conditions to the model:

1. Access the collectors panel.


2. Create four load collectors, spc, break, corner, and pothole.
- Select the collector type switch and click loadcols.

- Set your subpanel to create.

- Click name = and type, spc.

- Click color and select green (color10).

- Click create.

- Click name= and type, break.

- Click color and select yellow (color12).

- Click create.

- Click name= and type, corner.

- Click color and select orange (color14).

- Click create.

- Click name= and type, pothole.

- Click color and select red (color15).

- Click create.

- Click return.

3. Constrain the model using single point constraints at the two bushing locations. Constrain dof1,
dof2 and dof3 at one end of the bushing and dof2, dof3 at the other end. Constrain dof3 on node
3239.
- In the BCs page, select the constraints panel. (Make sure your current load collector is set
to spc in the global panel)

- Select the node at one end of the bushing (see Figure 2) and constrain dof1, dof2 and dof3.

- Make sure dofs 1, 2 and 3 have been checked.

Dofs with a check will be constrained while dofs without a check will be free.

Dofs 1, 2, and 3 are x, y and z translation degrees of freedom

Dofs 4, 5, and 6 are x, y and z rotational degrees of freedom.

- Select create to apply these constraints to the selected node.

Altair Engineering, Inc. 45 OptiStruct


Figure2. Constraining dof1, dof2 and dof3 at one end of the bushing.

- Select the node at one end of the bushing (see Figure 2) and constrain dof1, dof2 and dof3.

- Make sure dofs 1,2 and 3 have been checked.

Dofs with a check will be constrained while dofs without a check will be free.

Dofs 1,2, and 3 are x, y and z translation degrees of freedom

Dofs 4, 5, and 6 are x, y and z rotational degrees of freedom.

- Select create to apply these constraints to the selected node.

Figure3. Constraining dof2 and dof3 at the other end of the bushing.

- Select the node at the other end of the bushing (see Figure 3) and constrain dof 2 and dof 3.

- Make sure dofs 2 and 3 have been checked.

Dofs with a check will be constrained while dofs without a check will be free.

Dofs 1, 2, and 3 are x, y and z translation degrees of freedom

OptiStruct 46 Altair Engineering, Inc.


Dofs 4, 5, and 6 are x, y and z rotational degrees of freedom.

- Select create to apply these constraints to the selected node.

- Click nodes, by id.

- Type 3239 to select node id 3239. (see Figure4)

- Constrain dof 3.

- Make sure dof3 has been checked.

Dofs with a check will be constrained while dofs without a check will be free.

Dofs 1,2, and 3 are x, y and z translation degrees of freedom

Dofs 4, 5, and 6 are x, y and z rotational degrees of freedom.

- Select create to apply these constraints to the selected node.

Figure4. Constraining dof3 on node id 3239.

- Click return to return to the menu pages in HyperMesh.

4. Load the structure with three separate forces in the x, y, and z directions organized into the three
load collectors: brake, corner and pothole.
- Access the forces panel from the BCs page.

Create the first force:

- Set your current load collector in the global panel to brake.

- Click the yellow nodes button in the forces panel and select by id.

- Type 2699.

- Click magnitude= and type 1000.000.

- Set the vector definition switch below magnitude= to x-axis.

- Click create.

Altair Engineering, Inc. 47 OptiStruct


Create the second force:

- Set your current load collector in the global panel to corner.

- Click the yellow nodes button in the forces panel and select by id.

- Type 2699.

- Click magnitude= and type 1000.000.

- Set the vector definition switch below magnitude= to y-axis.

- Click create.

Create the third force:

- Set your current load collector in the global panel to pothole.

- Click the yellow nodes button in the forces panel and select by id.

- Type 2699.

- Click magnitude= and type 1000.000.

- Set the vector definition switch below magnitude= to z-axis.

- Click create.

- Click return.

Figure 5. Three separate forces in load collectors: brake, corner and pothole. The component design has been
turned off using the display panel.

5. The last step in setting-up the boundary conditions is to create OptiStruct subcases (loadsteps in
HyperMesh).
- Access the load steps panel on the BCs page of HyperMesh.

- Click name = and type brake.

- Click loadcols and select spc and brake from the collector list.

- Click select and then click create.

- Click name = and type corner.

- Click loadcols and select spc and corner from the collector list.

- Click select and then click create.

OptiStruct 48 Altair Engineering, Inc.


- Click name = and type pothole.

- Click loadcols and select spc and pothole from the collector list.

- Click select and then click create.

- Click return.

To set up the OptiStruct parameter cards:

1. Access the cntl cards panel in the BCs page.


2. Define the optimization problem parameters:

Objective Minimize volume (defined in cntl cards panel).

Constraints SUBCASE 1, a given maximum nodal displacement at one grid point.

SUBCASE 2, a given maximum nodal displacement at one grid point.


SUBCASE 3, a given maximum nodal displacement at one grid
point(defined in cntl cards panel).

Design variables Microstructural void sizes and orientations in the design space
(implicitly defined).

To define the objective function:

1. Click next. The OBJECTIVE parameter should be on the second screen of the control cards
panel.
2. Click OBJECTIVE.
You can define a single objective function for OptiStruct. Select any of the following responses
as the objective and chose to either maximize or minimize the response:

Volume Design volume fraction.

Mass Total mass of the model.

Comp Compliance of a single load.

Freq Frequency of a single mode.

Wcomp Sum of weighted compliances for static load cases.

Wfreq Sum of weighted frequencies for eigenvalue load cases.

Comb Sum of combined weighted compliances and normalized weighted frequencies.

3. Set max/min to MINIMIZE.


4. Make sure the response is set to VOLUME (this is the default).
5. Click return.

To define the first constraint:

The CONSTRAINT parameter should be on the second screen of the control cards panel also.

Altair Engineering, Inc. 49 OptiStruct


1. Click CONSTRAINT.
You can define up to 50 constraints in this panel. Select any of the following responses as a
constraint; however, you cannot constrain a response that is defined as the objective (in this
case, you cannot constrain volume):

Volume Design volume fraction.

Mass Total mass of the model.

Comp Compliance of a single load.

Freq Frequency of a single mode.

Wcomp Sum of weighted compliances for static load cases.

Freq Sum of weighted frequencies for eigenvalue load cases.

Comb Sum of combined weighted compliances and normalized weighted


frequencies.

2. For LB/UB0, select UBCON (upper-bound constraint)

3. Set the value of the first displacement constraint to 0.05.

4. For RESPONSE of the first constraint, select DISP (this will add new fields to the line for the first
constraint)

5. Double-click SUBCASE and select brake (subcase id = 1).

6. Leave METHOD set to SINGLE (you can create an entity set to constrain the displacement of
multiple nodes and select it by using SET instead of SINGLE).

7. Double-click NODE and type 2699 (this is the node where the three forces are applied).

8. Set COMPONENT to 7.

Components 1, 2, and 3 refer to translation in the X, Y, and Z directions.

Components 4, 5, and 6 refer to rotation about the X, Y and Z axes.

Component 7 is the vector sum of the X, Y and Z translations and is always positive.

Component 8 is the vector sum of the X, Y and Z rotations.

This completes the definition of the first constraint: upper bound displacement constraint of
0.05mm for the selected node for the first SUBCASE.

To define the second constraint:


1. For LB/UB1, select UBCON (upper-bound constraint)

2. Set the value of the second displacement constraint to 0.02.

3. For RESPONSE of the first constraint, select DISP (this will add new fields to the line for the first
constraint)

4. Double-click SUBCASE and select corner (subcase id = 2).

Leave METHOD set to SINGLE (you can create an entity set to constrain the displacement of
multiple nodes and select it by using SET instead of SINGLE).

OptiStruct 50 Altair Engineering, Inc.


5. Double-click NODE and type 2699 (this is the node where the three forces are applied).
6. Set COMPONENT to 7.
Components 1, 2, and 3 refer to translation in the X, Y, and Z directions.

Components 4, 5, and 6 refer to rotation about the X, Y and Z axes.

Component 7 is the vector sum of the X, Y and Z translations and is always positive.

Component 8 is the vector sum of the X, Y and Z rotations.

This completes the definition of the second constraint: the upper bound displacement constraint
of 0.02mm for the selected node for the second SUBCASE.

To define the third constraint:

1. For LB/UB2, select UBCON (upper-bound constraint)


2. Set the value of the second displacement constraint to 0.04.
3. For RESPONSE of the third constraint, select DISP (this will add new fields to the line for the first
constraint)
4. Double-click SUBCASE and select pothole (subcase id = 3).
Leave METHOD set to SINGLE (you can create an entity set to constrain the displacement of
multiple nodes and select it by using SET instead of SINGLE).

5. Double-click NODE and type 2699 (this is the node where the three forces are applied).
6. Set COMPONENT to 7.
Components 1, 2, and 3 refer to translation in the X, Y, and Z directions.

Components 4, 5, and 6 refer to rotation about the X, Y and Z axes.

Component 7 is the vector sum of the X, Y and Z translations and is always positive.

Component 8 is the vector sum of the X, Y and Z rotations.

This completes the definition of the third constraint: the upper bound displacement constraint of
0.02mm for the selected node for the third SUBCASE.

7. Click return.

Figure 6. Creation of constraints for optimization problem definition in the cntl ca rds panel.

Altair Engineering, Inc. 51 OptiStruct


To set up a check run for OptiStruct:

In the check run, OptiStruct will calculate a recommended amount of RAM and an estimate of the
required disk space for your solution. During the check run, OptiStruct will also scan the deck to
check if all needed parameters are specified in order to run the analysis.
1. Click prev.
2. Select the CHECK control card.
This is all that is necessary to tag the run as a check run.

Submitting the job

You will first need to write your OptiStruct input deck (usually specified with the .fem filename
extension) before you can run OptiStruct.

To write your file:

1. Select the files panel from any of the pages in HyperMesh.


2. Select the export subpanel.
3. If you have been building an OptiStruct model inside of HyperMesh, you should already have the
optistruct template specified in the template = field. If you have not yet specified this
template, click template = and type in optistruct/optistruct. Or click template = a
second time and select the optistruct sub-directory and subsequently, the optistruct template
file.
6. Click filename = and type carm_check.fem.
7. Click write. This will write your HyperMesh database as an OptiStruct ascii input deck.
8. Click return.

To submit the OptiStruct check run:

The check run should take approximately 5 to 10 seconds for processing time.
1. Select the solver panel from the BCs page in HyperMesh.
2. Select the switch at the upper left hand corner of the panel and click OPTISTRUCT. (At this point,
HyperMesh will load the direct path to the optistruct executable in the solver= field. You do not
need to edit this field at this time)
3. Click input file = and type in the OptiStruct input deck carm_check.fem. Or, click input file =
again and browse your directory structure for the file carm_check.fem.
4. Click memory in Mb = and type the amount of RAM required in MB (in this case, you can use
20MB). RAM is directly dependent upon the number of grids in your model. A starting point is to
use 8MB/1000 grids.
5. Click solve. This will launch the OptiStruct check run.
Once the processing has completed at the UNIX prompt or through a PC utility, view the file
carm_check.out, which is the OptiStruct output file containing specific information on the file set-
up, optimization problem set-up, RAM and disk space requirement for the run, optimization
iterations, and compute time. It is highly recommended to review this file for possible warnings

OptiStruct 52 Altair Engineering, Inc.


and errors that are flagged from processing the carm_check.fem file.

- Is your optimization problem set-up correctly? (See Figure 7)

- Your objective function? (See Figure 7)

- Your constraints? (See Figure 7)

Figure 7. Excerpt from carm_check.out showing the optimization problem set-up.

- What is the recommended amount of RAM for an In-Core solution? (see Figure 8)

- Do you have enough disk space to run the optimization? (see Figure 8)

Altair Engineering, Inc. 53 OptiStruct


Figure 8. Excerpt from carm_check.out showing the RAM and disk space requirements.

To delete the check parameter:

1. In HyperMesh, return from the solver panel.


2. Access the cntl cards panel.
3. Click delete.
4. Then, click the CHECK cntl card to delete the check parameter.

To write your file again:

1. Select the files panel from any of the pages in HyperMesh.


2. Select the export subpanel.
If you have been building an OptiStruct model inside of HyperMesh, you should already have the
optistruct template specified in the template = field. If you have not yet specified this template,
click template = and type in optistruct/optistruct. Or click template = a second time and select
the optistruct sub-directory and subsequently, the optistruct template file.

3. Click filename = and type carm_complete.fem.


4. Click write. This will write your HyperMesh database as an OptiStruct ascii input deck.
5. Click return.

The OptiStruct run:

The full topology optimization should take approximately 10 to 15 minutes for 25 iterations (about 25
seconds for each finite element analysis). Performance depends on your processor, available RAM
and time required for system communications.
1. Select the solver panel from the BCs page in HyperMesh.
2. Select the switch at the upper left hand corner of the panel and click OPTISTRUCT. (At this point,
HyperMesh will load the direct path to the optistruct executable in the solver= field. You do not
need to edit this field at this time.)

OptiStruct 54 Altair Engineering, Inc.


3. Click input file = and type in the OptiStruct input deck carm_complete.fem. Or, click input
file = again and browse your directory structure for the file carm_complete.fem.
4. Click memory in Mb = and type the amount of RAM required in MB (in this case, you can use
22MB).
3. Click solve. This will launch the OptiStruct job.
After processing is complete, you should see a new file carm_complete.out in the directory where
HyperMesh was invoked. The file is a good place to look for error messages that will help you
debug your input deck if any errors are present.

The default files that will be written to your directory for a successful run are as follows:

Carm_complete.res HyperMesh binary results file

Carm_complete.HM.ent.cmf HyperMesh command file used to organize elements into


entity sets based on their density result values (only used
with OptiStruct topology optimization runs).

Carm_complete.HM.comp.cmf HyperMesh command file used to organize elements into


components based on their density result values (only
used with OptiStruct topology optimization runs).

Carm_complete.out OptiStruct output file containing specific information on the


file set-up, the set-up of your optimization problem,
estimate for the amount of RAM and disk space required
for the run, information for each optimization iteration, and
compute time information. It is highly recommended to
review this file for warnings and errors that are flagged
from processing the carm_complete.fem file.

Carm_complete.oslog OptiStruct log file containing compliance and volume


calculations for each optimization iteration. In your UNIX
or DOS shell, you can edit this file to see how many
iterations OptiStruct has completed.

Viewing the results

OptiStruct will give you density information for all iterations. OptiStruct will also give you
displacement and Von Mises Stress results for your linear static analysis for iteration 0 and iteration
25. This section describes how to view those results in HyperMesh. First, you will need to load your
HyperMesh binary results file.

To load the results file:

1. Select the files panel from any page in HyperMesh.


2. Click results to access the results subpanel.
3. Click results = and type carm_complete.res. Or, click results = a second time and browse
your directories for the file carm_complete.res.

Altair Engineering, Inc. 55 OptiStruct


To view a deformed shape:

First, it is helpful to view the deformed shape of your model to determine if the boundary conditions
have been defined correctly and also to check if the model is deforming as expected.
1. Select the deformed panel in the Post page.
2. Click simulation =.
You will notice that there are many simulations. At the end of the simulation list, you will see:
SUBCASE 1 - ITERATION 0 and SUBCASE1 ITERATION 25.

If you had created two loadsteps instead, you would see two more simulations here: SUBCASE 2
- ITERATION 0 and SUBCASE2 ITERATION 25. The subcase ids reflect your HyperMesh
loadstep ids.

3. Click SUBCASE 1 - ITERATION 0.


4. Toggle model units= to scale factor=.
5. Set your scale factor to 1000.000.
6. Click linear to view a deformed animation for the first subcase.
- In what direction is the load applied for the first subcase?

- Which nodes have degrees of freedom constrained?

- Does the deformed shape look correct for the boundary conditions you applied to the mesh?

- Viewing the linear animation for the 2nd and 3rd subcases (iteration 0).

Subcase 2:

- In what direction is the load applied for the first subcase?

- Which nodes have degrees of freedom constrained?

- Does the deformed shape look correct for the boundary conditions you applied to the mesh?

Subcase 3:

- In what direction is the load applied for the first subcase?

- Which nodes have degrees of freedom constrained?

Does the deformed shape look correct for the boundary conditions you applied to the mesh?

To view a static contour plot of your densities:

1. Click F5 (function key on your keyboard) to access the mask panel.


You may wish to mask your rigid elements before using the contour panel. Density results are
not given for 1d elements.

- Click the yellow elems button.

- Select by config.

- Click config=.

OptiStruct 56 Altair Engineering, Inc.


- Select rigid.

- Click select entities.

- Click mask .

- Click return.

2. Access the contour panel from the Post page in HyperMesh.


3. Set your simulation to DENSITY - ITER25.
4. Click data type = and select Density.
5. Click assign.
- Have most of your elements converged to a density close to 1 or 0?

If there are many elements with intermediate densities, you may need to adjust the discrete
parameter. The discrete parameter (set in the cntl cards panel) can be used to push
elements with intermediate densities towards 1 or 0 so that a more discrete structure is given.

In this model, refining the mesh should provide a more discrete solution; however, for the
sake of this tutorial, the current mesh and results will be sufficient.

Regions that need reinforcement will tend towards a density of 1.0. Areas that do not need
reinforcement will tend towards a density of 0.0.

- Is the max= field showing 1.0e+00?

In this case, it is showing 1.0e+00.

If it is not, your optimization has not progressed far enough. Allow more iterations and/or
decrease the objtol parameter (set in the cntl panel).

If adjusting your discrete parameter, refining the mesh, and/or decreasing the objective
tolerance does not yield a more discrete solution (none of the elements progress to a density
value of 1.0). You may wish to review the set-up of the optimization problem. Perhaps some
of the defined constraints arent attainable for the given objective function (or visa-versa).

To view an iso-surface plot of your densities:

As seen in OS-1001, the iso-surface feature can be a very useful tool for post-processing density
results from OptiStruct. For models with solid design regions, this feature becomes a vital tool for
analyzing your density results.
1. Access the options panel in the permanent menu.
2. Select the graphics subpanel.
3. Toggle the graphics engine mode to performance.
4. Click return.
5. Select the contour panel from the Post page in HyperMesh.
6. Set your simulation to DENSITY - ITER25.
7. Click data type = and select Density.
8. Select the iso-surface subpanel.
9. Select show.

Altair Engineering, Inc. 57 OptiStruct


10. Toggle the mode from legend based to value based.
11. Set the iso surface= field to 0.150.
12. Click include faces above so it is on.
13. Click assign.

Figure 9. Isosurface plot of an optimal layout of the designable material.

The iso-surface post processing feature in HyperMesh is an excellent tool to use for viewing your
density results from OptiStruct.

Click and hold the left mouse button on the triangle shown in the legend (currently pointing to a
value representing 0.150 for your density). Then, scroll up and down to change the threshold
surface. You will see the iso-surface in the graphics window interactively update 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.

OptiStruct 58 Altair Engineering, Inc.


Optimal Topology of Ribbing Patterns for a Coffee
Pot Lid - 2001
In this lesson you will generate an optimal topology of ribbing patterns for a plastic coffee pot lid as
shown below.

Finite element mesh containing designable (yellow) and non-designable (pink) material.

The objective is to minimize the spread between the two clips inside of the spout cutout as shown
below.

Location of clips inside of spout cutout.

Altair Engineering, Inc. 59 OptiStruct


OptiStruct is used to determine an optimal layout of the designable material. A finite element model
representing the designable and non-designable material is imported into HyperMesh using import
data utilities. Appropriate properties are applied and subcases are created. Loads defining
temperatures at each node and constraints simulating a hinge at the opposite side of the spout cutout
are already defined. The database is output as an OptiStruct ASCII file and an OptiStruct
optimization is run. The results (material layout) are viewed as contours of a normalized density
value (ranging from 0.0 to 1.0) in the design space. Isosurfaces are also used to view the density
results. Areas that need reinforcement tend toward a density of 1.0, designating areas where ribs
should be created.

The optimization problem for this tutorial is stated as:

Objective Minimize compliance.

Constraint Volume fraction of designable region; less than or equal to 15%.

Design Variables Microstructural void sizes and orientations in the design space.

Setting up the Problem in HyperMesh

To retrieve the file lid.fem and define your OptiStruct template:

1. Select the files panel from any page in HyperMesh.


2. Click import.
3. Double-click translator= and select optistruct.
4. Click filename= and type lid.fem
or
click filename= and select the file lid.fem.
5. Click import.
By default, temperature loads are represented by icons sized to 100% of the temperature
magnitude. If the icons are too large with respect to the model size, access the temperatures
panel on the BCs page and set magnitude% to 0.500. You can also suppress the display of
your load collector in the display panel.

The temperatures are higher around the drip-through hole and lower at the edges of the lid. This
loading is representative of the brewed liquid running through the hole; an extreme temperature
gradient used to analyze the performance of the part.

6. In the files panel, select the template subpanel.


7. Click template file= twice.
8. Select the optistruct/optistruct template file.
The OptiStruct template allows you to define OptiStruct specific attributes in your HyperMesh
session.

9. Click return.

OptiStruct 60 Altair Engineering, Inc.


Setting up your material properties, design and non-design regions

To create a material called plastic:

1. Select the collectors panel.


2. Set the subpanel to create.
3. Select mats from the collector type switch.
4. Click name = and enter plastic.
5. Click card image = and select MAT1.
6. Click create/edit to load the MAT1 card image for a new material (plastic).
7. Enter values for the following:
- E (1137MPa)

- NU (0.26)

- A (81E-6mm/mm/C). (The coefficient of linear thermal expansion)

Select the yellow heading to turn a block on. Click on the number field and enter a value for a
block in the card image.

It is not necessary to define a density value for a static analysis. However, density values are
required for normal mode analysis.

8. Click return.
Since you entered material information defining elastic properties, it is assumed that the material
is performing in its elastic range only. The model displacements and the amount of bending in
the material are rather large for the initial iteration. Temperature loads have been exaggerated
for this tutorial.

To assign designable and non-designable regions:

1. Set the subpanel to card image.


2. Select comps from the collector type switch.
3. Click name = twice and select shells_nondesign.
4. Click edit.
Notice MID is set to zero. This will be updated in a later step so that the PSHELL card references
the MAT1 material just created.

Make sure your thickness is defined as 2.5.

5. Click return.
6. Click name = twice and select shells.
7. Click edit.
The shells component needs to be defined as designable. The next step will show you how to
do this.

Altair Engineering, Inc. 61 OptiStruct


8. Click CONT.
The continuation line is activated and the component is defined as designable.

9. Determine the location of ribs in the designable region.


- Click the number field below T and enter 7.0.

The total thickness (T) defines the depth of the rib.

- Click the number field below TO and enter 2.5.

The non-zero base thickness (TO) should be the dimension of the original thickness.

PSHELL PSOLID

DESIGN CONT line active DS=1

NON-DESIGN CONT line inactive DS=0


Design space vs. non-design space based on the continuation line for the PSHELL and the DS block for the PSOLID.
These attributes are available when editing the PSHELL or PSOLID cards through the collectors or cards panel.

10. Click return.

To attach the plastic material to your two components:

1. Click the update subpanel.


2. Click the yellow comps buffer.
3. Select both components.
4. Click select.
5. Click material= and select plastic.
6. Click update.
7. Click material id.
8. Click update.
The MID fields for both PSHELLs should be set to 1.

9. Click return.

To apply boundary conditions to the model:

The boundary conditions for the coffee lid model have already been created. There are two load
collectors, THERMAL_LOADING and CONSTRAINTS. The THERMAL_LOADING collector contains
temperature loads at all nodes in the model. Temperatures are higher around the drip-through hole
and lower at the edges of the lid. This loading is representative of the brewed liquid running through
the hole; an extreme temperature gradient used to analyze the performance of the part. The
CONSTRAINTS collector contains constraints simulating a hinge opposite the spout cutout and two
constraints at the tips of the cutout to keep the lid from rotating about the hinge.

All that is left to do regarding boundary conditions is to group them into a subcase.

OptiStruct 62 Altair Engineering, Inc.


To create an OptiStruct subcase (loadstep in HyperMesh):

1. Access the load steps panel on the BCs page of HyperMesh.


2. Click name = and enter brew cycle.
3. Click loadcols and select constraints and THERMAL_LOADING from the collector list.
4. Click create.

To set-up the OptiStruct parameter cards:

1. Access the cntl cards panel in the BCs page.


2. Define the optimization problem parameters:
Objective Minimize compliance (defined in cntl cards panel).
Constraint Volume fraction of designable region; less than or equal to 15%
(defined in cntl cards panel).
Design variables Microstructural void sizes and orientations in the design space
(implicitly defined.

5. Define the Objective function:


- Click next.

The OBJECTIVE parameter should be on the second screen of the control cards panel

- Click OBJECTIVE.

A single objective function for OptiStruct can be defined. Select any of the following
responses as the objective and choose to either maximize or minimize the response:

Volume Design volume fraction.

Mass Total mass of the model.

Comp Compliance of a single load.

Freq Frequency of a single mode.

Wcomp Sum of weighted compliances for static load cases.

Wfreq Sum of weighted frequencies for eigenvalue load cases.

Comb Sum of combined weighted compliances and normalized weighted


frequencies.

- Set max/min to MINIMIZE.

- Set RESPONSE to COMP.

- Select SUBCASE as brew cycle (subcase id 1).

When you select COMP (compliance) as your response, you are limited to minimizing the
compliance of only one subcase. To minimize the compliance of all linear static subcases,
select WCOMP (sum of weighted compliances for all static subcases).

Altair Engineering, Inc. 63 OptiStruct


- Click return.

To define your constraint:

The CONSTRAINT parameter should be on the second screen of the control cards panel.
1. Click CONSTRAINT.
2. Up to 50 constraints can be defined in this panel. Select any of the following responses as a
constraint; however, you cannot constrain a response that is defined as the objective (in this
case, you cannot constrain volume):

Volume Design volume fraction.

Mass Total mass of the model.

Comp Compliance of a single load.

Freq Frequency of a single mode.

Wcomp Sum of weighted compliances for static load cases.

Wfreq Sum of weighted frequencies for eigenvalue load cases.

Comb Sum of combined weighted compliances and normalized weighted


frequencies.
3. For LB/UB0, select UBCON (upper-bound constraint).
4. Set the value of the volume constraint to 0.15.
5. For RESPONSE, select VOLUME.
6. Click return.

To define the objective tolerance:

1. Click prev to access the previous page of control cards.


2. Click OBJTOL.
3. Click the yellow OBJTOL_V1.
4. Click the number field below OBJTOL_V1 and enter 0.001.
If the fractional change in the objective function (in this case the compliance) is below 0.001 for
two consecutive iterations, OptiStruct will consider the optimization converged and will stop.

5. Click return.

To define checkerboard control:

1. Click CHECKERBOARD.
You can select checkerboard=1 for global averaging or checkerboard=2 for local averaging.
Without checkerboard control, this model will yield checkerboard patterns in the density plots.

2. Set the CHECKERBOARD parameter to 2 (local averaging).

OptiStruct 64 Altair Engineering, Inc.


3. Click return.
4. Set up a check run for OptiStruct.
In the check run, OptiStruct calculates a recommended amount of RAM and an estimate of the
required disk space for your solution. During the check run, OptiStruct also scans the deck to
check if required parameters are specified for the analysis run.

5. Select the CHECK control card.


6. The run is defined as a check run.
7. Click return.
8. Click return again.

Submitting the Job

Write your OptiStruct input deck (usually specified with the .fem filename extension) before you can
run OptiStruct.

To write your file:

1. Select the files panel from any page in HyperMesh.


2. Select the export subpanel.
3. If you have been building an OptiStruct model in HyperMesh, the optistruct template should
already be specified in the template = field.
- If you have not yet specified this template, click template = and enter
optistruct/optistruct

or

Click template = twice and select the optistruct sub-directory and then the optistruct
template file.

4. Click filename = and enter lid_check.fem.


5. Click write.
The HyperMesh database is written as an OptiStruct ascii input deck.

6. Click return.

To submit OptiStruct check run:

The check run should take approximately 5 to 10 seconds for processing time.
1. Select the solver panel from the BCs page in HyperMesh.
2. Select the switch at the upper left hand corner of the panel and click OPTISTRUCT.
HyperMesh loads the direct path to the optistruct executable in the solver= field. It is not
necessary to edit this field at this time.

3. Click input file = and enter the OptiStruct input deck lid_check.fem.
or

Altair Engineering, Inc. 65 OptiStruct


Click input file = twice and browse your directory structure for the file lid_check.fem.

4. Click memory in Mb = and enter 50 for the amount of RAM required in MB.
RAM is directly dependent on the number of grids in a model. Use 8MB/1000 grids as a starting
point.

5. Click solve.
The OptiStruct check run is executed, producing the file lid_check.out. This output file
contains specific information concerning the following:

- File set-up

- Optimization problem set-up

- Estimates of RAM and disk space required for the run

- Each optimization iteration

- Compute time

It is highly recommended that you review this file for possible warnings and errors.

6. View the file lid_check.out from the UNIX prompt or through a PC utility.
7. Consider the following:
- Is your optimization problem set-up correctly?

- Is your objective function set-up correctly?

- Is your constraint set-up correctly?

- What is the recommended amount of RAM for an In-Core solution?

- Do you have enough disk space to run the optimization?

To delete the check parameter:

1. Click return on the solver panel in HyperMesh.


2. Access the cntl cards panel.
3. Click delete.
4. Click the CHECK cntl card.
The check parameter is deleted.

To write your file again:

1. Select the files panel from any page in HyperMesh.


2. Select the export subpanel.
3. If you have built an OptiStruct model in HyperMesh, the optistruct template should already
be specified in the template = field.
If this template is not specified, click template = and enter optistruct/optistruct.

or

OptiStruct 66 Altair Engineering, Inc.


Click template = twice and select the optistruct sub-directory and then the optistruct
template file.

4. Click filename = and enter lid_complete.fem.


5. Click write.
The HyperMesh database is written as an OptiStruct ascii input deck.

6. Click return.

To submit the OptiStruct run:

The full topology optimization should take approximately 10 to 15 minutes for 23 iterations (about 25
seconds for each finite element analysis). Performance depends on your processor, available RAM,
and time required for system communications.
1. Select the solver panel from the BCs page in HyperMesh.
2. Select the switch at the upper left hand corner of the panel and click OPTISTRUCT.
HyperMesh loads the direct path to the optistruct executable in the solver= field. It is not
necessary to edit this field at this time.

3. Click input file = and enter lid_complete.fem.


or

Click input file = twice and use the browser to locate the file lid_complete.fem.

4. Click memory in Mb = and enter 44 for the required RAM in MB.


5. Click solve.
When processing is complete, a new file called lid_complete.out appears in the directory
where HyperMesh was invoked. This file contains error messages that can be used to debug
your input deck.

The following default files are written to your directory after a successful run:

Lid_complete.res HyperMesh binary results file

Lid_complete.HM.ent.cmf HyperMesh command file used to organize


elements into entity sets based on their density
result values (only used with OptiStruct topology
optimization runs).

Lid_complete.HM.comp.cmf HyperMesh command file used to organize


elements into components based on their density
result values (only used with OptiStruct topology
optimization runs).

Lid_complete.out OptiStruct output file containing specific


information on the file set-up, the set-up of your
optimization problem, estimate for the amount of
RAM and disk space required for the run,

Altair Engineering, Inc. 67 OptiStruct


RAM and disk space required for the run,
information for each optimization iteration, and
compute time information. It is highly
recommended that you review this file for
warnings and errors after the
lid_complete.fem file is processed.

Lid_complete.oslog OptiStruct log file containing compliance and


volume calculations for each optimization
iteration. You can view this file in a UNIX or
DOS shell to see how many iterations OptiStruct
has completed.

Viewing Results

OptiStruct provides density information for all iterations. Displacement and von Mises stress results
for your linear static analysis for iteration 0 and iteration 23 are also given. To view results in
HyperMesh, you must first load your HyperMesh binary results file.

To load your results file:

1. Select the files panel from any page in HyperMesh.


2. Click results to access the results subpanel.
3. Click results = and enter lid_complete.res
or

Click results = twice and use the browser to locate the file lid_complete.res.

To view a deformed shape:

It is helpful to view the deformed shape of your model to determine if the boundary conditions have
been defined correctly and to check if the model is deforming as expected.
1. Select the deformed panel in the Post page.
2. Click simulation =.
SUBCASE 1 - ITERATION 0 and SUBCASE1 ITERATION 23 are located at the end of the
simulation list.

If you had created two loadsteps, SUBCASE 2 - ITERATION 0 and SUBCASE2 ITERATION
23 are also listed.

Note: The subcase IDs reflect your HyperMesh loadstep IDs.

3. Click next.
4. Click SUBCASE 1 - ITERATION 0.
5. Toggle model units= to scale factor=.
6. Set the scale factor to 1.000.
7. Click linear to view a deformed animation.

OptiStruct 68 Altair Engineering, Inc.


8. Consider the following:
- How are the loads applied for this subcase?

- Which nodes have degrees of freedom constrained?

- Does the deformed shape look correct for the boundary conditions you applied to the mesh?

- What is the maximum displacement?

Deformed shape of coffee pot lid for iteration 0 (all designable elements contain equal percentage of material).

9. Click return after viewing the animation.


10. Click simulation=.
11. Click next.
12. Click SUBCASE 1 - ITERATION 23.
13. Click linear to view a deformed animation.
- What is the maximum displacement?

- What is the percent reduction in the maximum displacement from iteration 0 to iteration 23?

14. Click return after viewing the animation.


15. Click return.

Altair Engineering, Inc. 69 OptiStruct


Deformed shape of coffee pot lid for iteration 23 (material distributed in designable elements to minimize compliance).

To view a static contour plot of your densities:

1. Access the contour panel from the Post page in HyperMesh.


2. Click simulation=.
3. Click next.
4. Set your simulation to DENSITY - ITER23.
5. Click data type = and select Density.
6. Click assign.
7. Consider the following:
- Have most of your elements converged to a density close to 1 or 0?

If there are many elements with intermediate densities, you may need to adjust the discrete
parameter. The discrete parameter (set in the cntl cards panel) can be used to push
elements with intermediate densities towards 1 or 0 so that a more discrete structure is given.

In this model, the checkerboard control was used (set to 2: local averaging). Checkerboard
control, in this case, yields a very discrete solution, which is desired.

Regions that need reinforcement will tend towards a density of 1.0. Areas that do not need
reinforcement will tend towards a density of 0.0.

- Is the max= field showing 1.0e+00?

In this case, it is.

If it is not, your optimization has not progressed far enough. Allow more iterations and/or

OptiStruct 70 Altair Engineering, Inc.


decrease the objtol parameter (set in the cntl panel).

If adjusting your discrete parameter, incorporating a checkerboard control, refining the mesh,
and/or decreasing the objective tolerance does not yield a more discrete solution (none of the
elements progress to a density value of 1.0), you may wish to review the set-up of the
optimization problem. Perhaps some of the defined constraints arent attainable for the given
objective function (or visa-versa).

- Where would you place your ribs?

Assign plot of element densities at iteration 23.

To view an iso-surface plot of your densities:

1. Select the options panel in the permanent menu.


2. Select the graphics subpanel.
3. Toggle the graphics engine mode to performance.
4. Click return.
5. Select the contour panel from the Post page in HyperMesh.
6. Set your simulation to DENSITY - ITER23.
7. Click data type = and select Density.
8. Select the iso-surface subpanel.
9. Select show.
10. Toggle the mode from legend based to value based.
11. Enter 0.150 in the iso surface= field.
12. Activate include faces above.
13. Activate transparent below.

Altair Engineering, Inc. 71 OptiStruct


14. Click assign.

Isosurface plot of an optimal layout of the designable material.

The iso-surface post processing feature in HyperMesh can be used to view your density results
from OptiStruct.

To examine the material layout:

1. Click and hold the left mouse button on the triangle shown in the legend (currently pointing to a
value representing 0.150 for your density),
2. Scroll up and down to change the threshold surface.
The iso-surface in the graphics window interactively updates as you scroll to a new value.

OptiStruct 72 Altair Engineering, Inc.


Increasing Natural Frequencies of an Automotive
Splash Shield with Ribs - OS-3001-L
In this lesson you generate a preliminary design of ribs for an automotive splash shield. The
objective is to increase the natural frequency of the first normal mode by introducing ribs in the
designable region (shown in red).

Finite element mesh containing designable (red) and non-designable (blue) material.

The following exercises are included:

Setting up the normal modes analysis in HyperMesh

Submitting the initial job

Viewing the initial results

Setting up the optimization analysis in HyperMesh

Submitting the optimization job

Viewing the results of the optimization

Setting up the final normal modes analysis in HyperMesh

Submitting the job

Viewing the final results; compare with initial results

Altair Engineering, Inc. 73 OptiStruct


The optimization problem for this lesson is stated as:

Objective Maximize frequency of mode number 1.

Constraint Equality constraint of 30% for the designable volume.

Design variables Microstructural void sizes and orientations in the design space.

Setting up the normal modes analysis in HyperMesh

To retrieve the file sshield_opti.fem. and define your OptiStruct template:

1. Select the files panel from any page in HyperMesh.


2. Click import.
3. Double-click translator= and select optistruct.
4. Click filename= and enter sshield_opti.fem.
or

Click filename= twice and use the browser to locate the file sshield_opti.fem.

5. Click import.
6. In the files panel, select the template subpanel.
7. Click template file= twice and select the optistruct directory and the optistruct template
file.
The OptiStruct template allows you to define OptiStruct specific attributes in your HyperMesh
session.

8. Click return.

To apply boundary conditions to the model:

1. Create your load collectors:


- Access the collectors panel.

- Set your subpanel to create.

- Set your collector type to loadcols.

- Click name= and type constraints.

- Set your color to yellow (color12).

- Click create. (This creates the load collector where you will make your constraints).

- Click name= again and type eigrl.

- Click card image= and select EIGRL.

- Set your color to grey (color1).

- Click create/edit.

OptiStruct 74 Altair Engineering, Inc.


Figure 2. Card image for second load collector, eigrl.

- Set V1=0.000, V2=3000.000 and ND=2 (see Figure 2).

If a block has a yellow heading, it is off. To turn it on, select the yellow heading. To add a
value for a block in the card image, click on the number field and type in the number.

Setting the above values will find two roots (or less) in the range 0.00 to 3000.00.

- Click return once the values have been entered.

- Click return again to return to the HyperMesh pages.

2. Create an OptiStruct subcase (loadstep in HyperMesh):


- Access the load steps panel on the BCs page of HyperMesh.

- Click name = and type frequencies.

- Click loadcols and select constraints and eigrl from the collector list.

- Click create.

This step has set-up an OptiStruct subcase incorporating the constraints and eigrl load
collectors. Therefore, a normal modes analysis (from the EIGRL card) will be run with the
constraints you place into the constraints collector.

- Click return.

3. Create your constraints:


- Access the constraints panel from the BCs page.

- In the global panel, set your current load collector to constraints.

- Click the yellow nodes button and select by id.

- Type 1075, then press the enter key

- Type 1076, then press the enter key.

- Constrain dof1-dof6

- Make sure dofs 1-6 have been checked.

- Click create.

- Click return.

Altair Engineering, Inc. 75 OptiStruct


To set-up the OptiStruct parameter cards for an analysis:

1. Access the cntl cards panel in the BCs page.


2. Click ANALYSIS.
3. Click return.

Submitting the initial job

You will first need to write your OptiStruct input deck (usually specified with the .fem filename
extension) before you can run OptiStruct.

To write your file:

1. Select the files panel from any of the pages in HyperMesh.


2. Select the export subpanel.
3. If you have been building an OptiStruct model inside of HyperMesh, you should already have the
optistruct template specified in the template = field. If you have not yet specified this
template, click template = and type in optistruct/optistruct. Or click template = a
second time and select the optistruct sub-directory and subsequently, the optistruct
template file.
4. Click filename = and type sshield_analysis1.fem.
5. Click write. This will write your HyperMesh database as an OptiStruct ascii input deck.
6. Click return.

To submit the OptiStruct Analysis run:

1. Select the solver panel from the BCs page in HyperMesh.


2. Select the switch at the upper left hand corner of the panel and click OPTISTRUCT. (At this point,
HyperMesh will load the direct path to the optistruct executable in the solver= field. You do not
need to edit this field at this time.)
3. Click input file = and type in the OptiStruct input deck sshield_analysis1.fem. Or, click
input file = again and browse your directory structure for the file sshield_analysis1.fem.
4. Click memory in Mb = and type the amount of RAM required in MB. (In this case, you can use
15. An initial check run recommends 15MB for an in-core solution.)
5. Click solve.
This will launch the OptiStruct job. After processing is complete, you should see a new file
sshield_analysis1.out in the directory where HyperMesh was invoked. The file is a good place to
look for error messages that will help you debug your input deck if any errors are present.

The default files that will be written to your directory for a successful run are:

sshield_analysis1.res HyperMesh binary results file

sshield_analysis1.HM.ent.cmf HyperMesh command file used to organize


elements into entity sets based on their density
result values (only used with OptiStruct topology
OptiStruct 76 Altair Engineering, Inc.
result values (only used with OptiStruct topology
optimization runs).

sshield_analysis1.HM.comp.cmf HyperMesh command file used to organize


elements into components based on their density
result values (only used with OptiStruct topology
optimization runs

sshield_analysis1.out OptiStruct output file containing specific


information on the file set-up, the set-up of your
optimization problem, estimate for the amount of
RAM and disk space required for the run,
information for each optimization iteration, and
compute time information. It is highly
recommended to review this file for warnings and
errors that are flagged from processing the
sshield_analysis1.fem file.

sshield_analysis1.oslog OptiStruct log file containing compliance and


volume calculations for each optimization
iteration. In your UNIX or DOS shell, you can
edit this file to see how many iterations
OptiStruct has completed.

Viewing your results

This section describes how to view your results in HyperMesh. First, you will need to load your
HyperMesh binary results file.

To load your results file:

1. Select the files panel from any page in HyperMesh.


2. Click results to access the results subpanel.
3. Click results = and type sshield_analysis1.res. Or, click results = a second time and
browse your directories for the file sshield_analysis1.res.
4. Click return.

To view your mode shape:

1. Select the deformed panel from the Post page.


2. Click simulation=.
You should see three simulations:

DENSITY - ITER0.

MODE 1 - F=4.37E+01 - ITER 0

MODE 2 - F=6.88E+01 - ITER0

Select MODE 1 - F=4.37E+01 - ITER 0. (This is the mode you will optimize)

3. Click modal.

Altair Engineering, Inc. 77 OptiStruct


4. Click exit when you are done viewing the animation.
5. Click return.

Setting up the optimization analysis in HyperMesh

To assign designable regions:

1. Access the collectors panel.


2. Set your subpanel to card image.
3. Select the collector type switch and click comps.
4. Click name = twice and select nondesign.
5. Click edit.
6. Make sure your thickness is defined as 0.300.
7. Click return.
8. Click name = twice and select design.
9. Click edit.
The design component needs to be defined as designable. The next step will show you how to
do this.

10. Click CONT (located below the menu bar) to activate the continuation line. This defines the
component as designable.
You want to determine where to locate ribs in the designable region. Therefore, you want to
define a non-zero base thickness TO and a total thickness T. The base thickness should be the
dimension of the original thickness. The total thickness will be the depth of the rib.

11. Click the number field below T and type 1.0.


12. Click the number field below TO and type 0.3.

PSHELL PSOLID
DESIGN CONT line active DS=1
NON-DESIGN CONT line inactive DS=0

Description of design space vs. non-design space based on the continuation line for the PSHELL and the DS block for
the PSOLID. These attributes are available when editing the PSHELL or PSOLID cards through the collectors or cards
panel.

14. Click return.


15. Then, click return again.

To define optimization parameters:

1. Access the cntl cards panel in the BCs page.


2. Turn off ANALYSIS parameter:
3. Click delete.

OptiStruct 78 Altair Engineering, Inc.


4. Click ANALYSIS.

To define the objective tolerance:

1. Click OBJTOL.
2. Click the yellow OBJTOL_V1.
3. Click the number field below OBJTOL_V1 and type 0.001.
If the fractional change in the objective function (in this case the compliance) is below 0.001 for
two consecutive iterations, OptiStruct will consider the optimization has converged and will stop.

4. Click return.

Define the optimization problem:


Objective Maximize frequency for the first mode (defined in cards panel).
Constraint Equality constraint of 30% for the designable volume (defined in cntl
cards panel).
Design variables Microstructural void sizes and orientations in the design space (implicitly
defined).

To define the constraint:

1. Click MATFRAC.
2. Click the yellow MATFRAC_V1.
3. Click the number field below MATFRAC_V1 and type 0.300.
4. Click return after you are done defining the material fraction for your designable volume.
5. Click return again.

To define the objective function:

1. Select the card panel from the permanent menu.


2. Set the switch to loadsteps.
3. Click the yellow loadsteps button.
4. Select the frequencies loadstep.
5. Click edit.
6. Click modeweight to define the objective function as maximizing the frequency.
7. Click the number field below Mode and type 1.
8. Click return.

Submitting the optimization job

You will first need to write your OptiStruct input deck (usually specified with the .fem filename
extension) before you can run OptiStruct.

Altair Engineering, Inc. 79 OptiStruct


To write your file:

1. Select the files panel from any of the pages in HyperMesh.


2. Select the export subpanel.
3. Click filename = and type sshield_optimization.fem.
4. Click write. This will write your HyperMesh database as an OptiStruct ascii input deck.
5. Click return.

To submit the OptiStruct optimization run:

1. Select the solver panel from the BCs page in HyperMesh.


2. Click input file = and type in the OptiStruct input deck sshield_optimization.fem. Or, click
input file = again and browse your directory structure for the file
sshield_optimization.fem.
3. Click memory in Mb = and type the amount of RAM required in MB (use 15).
4. Click solve.
After processing is complete, you should see a new file sshield_optimization.out in the
directory where HyperMesh was invoked. The file is a good place to look for error message that
will help you debug your input deck if any errors are present.

The following default files are written to your directory:

sshield_optimization.res HyperMesh binary results file

sshield_optimization.HM.ent.cmf HyperMesh command file used to organize


elements into entity sets based on their density
result values (only used with OptiStruct topology
optimization runs).

sshield_optimization.HM.comp.cmf HyperMesh command file used to organize


elements into components based on their
density result values (only used with OptiStruct
topology optimization runs.

sshield_optimization.out OptiStruct output file containing specific


information on the file set-up, the set-up of your
optimization problem, estimate for the amount of
RAM and disk space required for the run,
information for each optimization iteration, and
compute time information. It is highly
recommended to review this file for warnings
and errors that are flagged from processing the
sshield_analysis1.fem file.

sshield_optimization.oslog OptiStruct log file containing compliance and


volume calculations for each optimization
iteration. In your UNIX or DOS shell, you can
edit this file to see how many iterations
OptiStruct has completed.

OptiStruct 80 Altair Engineering, Inc.


Viewing results of the optimization run

To load your results file:

1. Select the files panel from any page in HyperMesh.


2. Click results to access the results subpanel.
3. Click results = and type sshield_optimization.res. Or, click results = a second time and
browse your directories for the file sshield_optimization.res.
4. Click return.

To view a static contour plot of your densities:

1. First, access the display panel and turn off your nondesign, bolts and rigids components.
2. Access the contour panel from the Post page in HyperMesh.
3. Click simulation=.
4. Set your simulation to DENSITY - ITER12.
5. Click data type = and select Density.
6. Click assign.
- Have most of your elements converged to a density close to 1 or 0?

If there are many elements with intermediate densities, you may need to adjust the discrete
parameter. The discrete parameter (set in the cntl cards panel) can be used to push
elements with intermediate densities towards 1 or 0 so that a more discrete structure is given.

Regions that need reinforcement will tend towards a density of 1.0. Areas that do not need
reinforcement will tend towards a density of 0.0.

- Is the max= field showing 1.0e+00?

In this case, it is. If it is not, your optimization has not progressed far enough. Allow more
iterations and/or decrease the objtol parameter (set in the cntl panel).

If adjusting your discrete parameter, incorporating a checkerboard control, refining the mesh,
and/or decreasing the objective tolerance does not yield a more discrete solution (none of the
elements progress to a density value of 1.0), you may wish to review the set-up of the
optimization problem. Perhaps some of the defined constraints arent attainable for the given
objective function (or visa-versa).

- Where would you place your ribs?

Altair Engineering, Inc. 81 OptiStruct


Figure 5. Assign plot of element densities at iteration 12. All components have been turned off except the designable
component.

To view an iso-surface plot of your densities:

1. Access the options panel in the permanent menu.


2. Select the graphics subpanel.
3. Toggle the graphics engine mode to performance.
4. Click return.
5. Select the contour panel from the Post page in HyperMesh.
6. Set your simulation to DENSITY - ITER12.
7. Click data type = and select Density.
8. Select the iso-surface subpanel.
9. Select show.
10. Toggle the mode from legend based to value based.
11. Set the iso surface= field to 0.750.
12. Click include faces above so it is on.
13. Click assign.

OptiStruct 82 Altair Engineering, Inc.


Figure 6. Isosurface plot of an optimal layout of the designable material.

14. Click and hold the left mouse button on the triangle shown in the legend (currently pointing to a
value representing 0.750 for your density), then scroll up and down to change the threshold
surface. You will see the iso-surface in the graphics window interactively update when you
scroll to a new value. Use this tool to get a better look at the material layout from OptiStruct
15. Click return.

Setting up the final normal modes analysis

To retrieve a model containing the new ribs:

1. Select the files panel from any page in HyperMesh.


2. Click import.
3. Double-click translator= and select optistruct.
4. Click filename= and type sshield_newdesign.fem. Or, click filename= a second time and
browse your directory structure for the file sshield_newdesign.fem.
5. Click import.
6. Click return.

To submit the job:


1. Select the solver panel from the BCs page in HyperMesh.
2. Click input file = and type in the OptiStruct input deck sshield_newdesign.fem. Or, click
input file = again and browse your directory structure for the file sshield_newdesign.fem.
3. Click memory in Mb = and type the amount of RAM required in MB (use 16).
4. Click solve.

Altair Engineering, Inc. 83 OptiStruct


Viewing your results

This section describes how to view your results for the new design in HyperMesh. First, you will need
to load your HyperMesh binary results file.

To load your results file:

1. Select the files panel from any page in HyperMesh.


2. Click results to access the results subpanel.
3. Click results = and type sshield_newdesign.res. Or, click results = a second time and
browse your directories for the file sshield_newdesign.res.
4. Click return.

To view your mode shape:

1. Select the deformed panel from the Post page.


2. Click simulation=.
You should see three simulations:

DENSITY - ITER0.

MODE 1 - F=8.45 - ITER 0

MODE 2 - F=1.15 - ITER0

Select MODE 1 - F=8.45 - ITER 0.

3. Click modal.
4. Click exit when you are done viewing the animation.
5. Click return.

Comparing the results:

1. What is the percentage increase in frequency for your first mode (sshield_analysis1.fem
vs. sshield_newdesign)?
2. How much mass has been added to the part (check the mass of your ribs in the mass calc panel
in the Tool page)?
3. What is the percentage increase in mass?

OptiStruct 84 Altair Engineering, Inc.


Design Concept for Satellite Structural Panels -
OS4001
In this lesson you will generate an optimal topology for satellite structural panels as shown in the
figure below. The objective is to minimize the combined compliance index of the static and the
normal modes load cases of the structure using OptiStructs dual method. First, you will run an
analysis for two subcases. In the first subcase the structure is loaded under gravity and in the second
subcase the first 5 natural frequencies (and normal modes) of the structure are extracted.

Figure 1. Finite element mesh containing designable (blue) and non-designable (green) material.

A finite element model representing the designable (blue) and non-designable (green) material is
given as shown in the figure. This mesh is retrieved into HyperMesh using retrieve utility.
Appropriate load collectors and material cards are defined. Constraints are applied to the structure.
Designable and non-designable regions are defined. The database is then output as an OptiStruct
ascii file containing only the finite element model data. First an OptiStruct analysis for a linear static
(gravity load) and normal mode subcases is run. Also in the same analysis an estimation for the
normalization factor to be used in the objective function is obtained. Then, the resulting stresses,
deformed plot and normal modes are viewed in HyperMesh.

Next, you will use OptiStruct to determine an optimal layout of the designable material with the
objective of minimizing the combined compliance index of the linear static (gravity load) and the
normal mode subcases. The results of this optimization (the material layout) are viewed as contours
of a normalized density value (ranging from 0.0 to 1.0) in the design space. Isosurfaces are also
used to view the density results. Areas that need reinforcement will tend towards a density of 1.0.

Finally, you will import a new file containing the new design resulting from topology optimization into
HyperMesh. The new material redistribution (i.e. the new topology) represents an initial design
reflecting the density values you just viewed in HyperMesh. An OptiStruct analysis for gravity load
and normal mode subcases is run. Then, the resulting stresses, deformed plots and normal modes
are viewed in HyperMesh and compared with the pre-optimized design.

Altair Engineering, Inc. 85 OptiStruct


The optimization problem for this tutorial is stated as:

Objective Minimize the combined compliance index of the static (gravity) load and of the
first 5 normal modes.

In the minimization of combined compliance index equation, to minimize the second term of the
equation involving the weighted average of the specified frequencies implies decreasing the weighted
average of the inverse of the specified eigenvalues and thus increasing the frequencies to minimize
the objective. For a detailed explanation please refer to the OptiStruct on-line help.

Constraint An upper bound constraint to use only 30% of the designable volume.

Design variables Microstructural void sizes and orientations in the design space.

The following exercises are included:


Running OptiStruct from HyperMesh using the Two-file setup.

.parm Contains the parameters, I/O options, and subcase information sections

Fem Contains the finite element data section.


Setting up the finite element data section for the combined static and normal modes analysis in
HyperMesh

Submitting the initial job for analysis and computing the normalization factor to be used in
subsequent optimization analysis.

Viewing the initial results and the normalization factor estimation

Submitting the optimization job with the appropriate normalization factor (obtained from prior
analysis only run).

Viewing the results of the optimization

Submitting the final static and normal modes analysis of the new design

Viewing the final results

To set up the finite element data section (bulk data) in HyperMesh:

1. Retrieve the file satellite.hm and define your OptiStruct template:


2. Select the files panel from any page in HyperMesh.
3. Click hm file
4. Click file= and type satellite.hm. Or, click file= a second time and browse your directory
structure for the file satellite.hm.
5. Click retrieve
6. In the files panel, select the template subpanel.
7. Click template file= twice and select the optistruct directory and subsequently, the
optistruct template file. Selecting the OptiStruct template will allow you to define
OptiStruct specific attributes in your HyperMesh session.
8. Click return.

OptiStruct 86 Altair Engineering, Inc.


To set up your material properties, element thicknesses and assign
designable regions:

It is recommended to create your material collectors first (before creating your component collectors).
This is the most efficient way of setting up your file since components need to reference a material.
1. Return from the files panel and select the collectors panel.
2. Set your subpanel to create.
3. Select the collector type switch and click mats.
4. Click name = and type: aluminum.
5. Click card image = and select MAT1.
6. Click create/edit. This will load the MAT1 card image for a new material, aluminum.
7. Add values for E (7E4) and NU (0.33) and RHO (2.02E-9).
If a block has a yellow heading, it is off. To turn it on, select the yellow heading. To add a value
for a block in the card image, click on the number field and type in the number.

Here density values are required, for both linear static analysis with gravity loads and for normal
mode analysis.

Once you have entered the correct values, click return.

8. Click name = and type: titanium.


9. Click card image = and select MAT1.
10. Click create/edit. This will load the MAT1 card image for a new material, titanium.
11. Add values for E (1.6E6) and NU (0.16) and RHO (5.4E-9).
If a block has a yellow heading, it is off. To turn it on, select the yellow heading. To add a value
for a block in the card image, click on the number field and type in the number.

Here density values are required, for both linear static analysis with gravity loads and for normal
mode analysis.

Once you have entered the correct values, click return.

12. Select the collector type switch and click comps.


13. Click the update subpanel.
14. Click the yellow comps buffer.
15. Select the component nondesign such that it has a tick mark.
16. Click select.
17. Click material = and select titanium.
18. Click update.
19. Click material id.
20. Then click update.
21. Click the yellow comps buffer.
22. Select the component design such that it has a tick mark.
23. Click select.

Altair Engineering, Inc. 87 OptiStruct


24. Click material = and select aluminum.
25. Click update.
26. Click material id.
27. Then click update.
Do not quit the collectors panel yet. You need to define the assignable design regions. The next
section will describe that.

To assign designable regions:

1. Set your subpanel to card image.


2. Click name = twice and select nondesign.
3. Click edit.
Make sure your thickness is defined as 2.500 in the field below T and the material ID is updated
correctly in the field below MID1.

4. Click return.
5. Click name = twice and select design.
6. Click edit.
The design component needs to be defined as designable. The next step will show you how to
do this.

7. Click CONT (located below the menu bar) to activate the continuation line. This defines the
component as designable.
Zero base thickness T0 and a total thickness T must be defined. A zero base thickness T0
implies that the entire element thickness is designable and will allow punching holes in the
structure where no material is needed.

Make sure your thickness is defined as 2.500 in the field below T and the material ID is updated
correctly in the field below MID1.

8. The default value of 0.0 in the field below TO indicates that the entire element thickness is
designable.
PSHELL PSOLID

DESIGN CONT line active DS=1


NON-DESIGN CONT line inactive DS=0
Description of design space vs. non-design space based on the continuation line for the PSHELL and the DS block for
the PSOLID. These attributes are available when editing the PSHELL or PSOLID cards through the collectors or cards
panel.

14. Click return.

To apply boundary conditions to the model:

1. Create your load collectors:


- Set your subpanel to create.

- Set your collector type to loadcols.

OptiStruct 88 Altair Engineering, Inc.


- Click name= and type constraints.

- Set your color to red.

- Click create. (This creates the load collector where you will make your constraints).

- Click name= again and type eigrl.

- Click card image= and select EIGRL.

- Set your color to grey (color1).

- Click create/edit.

Figure 2. Card image for second load collector, eigrl.

- Set V1=0.000, V2=300.000 and ND=5 (see Figure 2).

If a block has a yellow heading, it is off. To turn it on, select the yellow heading. To add a
value for a block in the card image, click on the number field and type in the number.

Setting the above values will find the first five frequencies (or less) in the range 0.00 to
300.00.

- Click return once the values have been entered.

- Click name= again and type gravity.

- Click card image= and select GRAV to enter gravity loads.

- Set your color to grey (color1).

Figure 3. Card image for third load collector, gravity.

- Set CID=0, G=9800.000, N1=0.000, N2=0.000, N3=-3.000 (see Figure 2).

If a block has a yellow heading, it is off. To turn it on, select the yellow heading. To add a
value for a block in the card image, click on the number field and type in the number

Setting the above values will apply a gravity load of 3g (9800 * 3) in the negative Z direction
on the structure corresponding to the takeoff acceleration force on the satellite.

- Click return once the values have been entered.

- Click return again to return to the HyperMesh pages.

Altair Engineering, Inc. 89 OptiStruct


2. Create your constraints:
- Access the constraints panel from the BCs page.

- In the global panel, set your current load collector to constraints.

- Click the yellow nodes button and select by id.

- Type 5070, then press the enter key

- Constrain dof1-dof3

- Make sure dofs 1-3 have been checked.

- Click the yellow nodes button and select by id.

- Type 4298, then press the enter key.

- Constrain dof1-dof2

- Make sure dofs 1-2 have been checked.

- Click the yellow nodes button and select by id.

- Type 52, then press the enter key.

- Constrain dof1

- Make sure dof 1 has been checked

- Click create.

- Click return.

The structure is constrained in such a way as to simulate the thrusting at the center of the
rocket nozzle for the gravitational load case.

Submitting the initial job

You will first need to write your OptiStruct input deck (usually specified with the .fem filename
extension) before you can run OptiStruct. Note that the .fem deck that will be written out (in this case)
contains only the bulk data information i.e. the finite element model data.

To write your file:

1. Select the files panel from any of the pages in HyperMesh.


2. Select the export subpanel.
If you have been building an OptiStruct model inside of HyperMesh, you should already have the
optistruct template specified in the template = field. If you have not yet specified this
template, click template = and type in optistruct/optistruct. Or click template = a
second time and select the optistruct sub-directory and subsequently, the optistruct
template file.

3. Click filename = and type satellite_analysis.fem.


The .fem file should be named with the same prefix as the .parm file for it to be recognized and
included with the .parm file for job submission

OptiStruct 90 Altair Engineering, Inc.


4. Click write. This will write your HyperMesh database as an OptiStruct ascii input deck.
5. Click return.
6. Open satellite_analysis.parm file in your favorite text editor and review the contents.
The first subcase is set-up to extract the first five normal modes and the second subcase is set-
up for a linear static analysis of the structure under gravitational load.

To submit the OptiStruct analysis run:

1. Open HyperMesh
2. Select the solver panel from the BCs page in HyperMesh.
3. Select the switch at the upper left hand corner of the panel and click OPTISTRUCT. (At this point,
HyperMesh will load the direct path to the optistruct executable in the solver= field. You do not
need to edit this field at this time)
4. Click input file = and type in the OptiStruct input deck satellite_analysis Or, click input
file = again and browse your directory structure for the file satellite_analysis
In the Two-file setup just the file prefix is given for job submission.

5. Click memory in Mb = and type the amount of RAM required in MB. In this case, you can use 75
MB (For the solution of this model 74MB of RAM is required for an in-core solution).
6. Click solve.
This will launch the OptiStruct job. After processing is complete, you should see a new file
satellite_analysis.out in the directory where HyperMesh was invoked. The file is a good
place to look for error message that will help you debug your input deck if any errors are present.
Also satellite_analysis.out contains an estimation for the normalization factor.

The default files that will be written to your directory for a successful run are:

Satellite_analysis.res HyperMesh binary results file

Satellite_analysis.HM.ent.cmf HyperMesh command file used to organize elements


into entity sets based on their density result values
(only used with OptiStruct topology optimization
runs).

Satellite_analysis.HM.comp.cmf HyperMesh command file used to organize elements


into components based on their density result values
(only used with OptiStruct topology optimization
runs).

Satellite_analysis.out OptiStruct output file containing specific information


on the file set-up, the set-up of your optimization
problem, estimate for the amount of RAM and disk
space required for the run, information for each
optimization iteration, and compute time information.
It is highly recommended to review this file for
warnings and errors that are flagged from processing
the satellite_analysis.fem and
satellite_analysis.parm file.

Satellite_analysis.oslog OptiStruct log file containing compliance and volume


calculations for each optimization iteration. In your

Altair Engineering, Inc. 91 OptiStruct


calculations for each optimization iteration. In your
UNIX or DOS shell, you can edit this file to see how
many iterations OptiStruct has completed.

To load your results file:

This section describes how to view your results in HyperMesh. First, you will need to load your
HyperMesh binary results file.
1. Select the files panel from any page in HyperMesh.
2. Click results to access the results subpanel.
3. Click results = and type satellite_analysis.res. Or, click results = a second time and
browse your directories for the file satellite_analysis.res.
4. Click return.

To view the mode shape:

1. Select the deformed panel from the Post page.


2. Click simulation=.
You should see seven simulations:

DENSITY.

SUBCASE 2 -ITERATION 0

MODE 1 - F=4.85E+01 - ITERATION 0

MODE 2 - F=4.85E+01 - ITERATION 0

MODE 3 - F=4.86E+01 - ITERATION 0

MODE 4 - F=4.86E+01 - ITERATION 0

MODE 5 - F=4.86E+01 - ITERATION 0

Note that SUBCASE 2 ITERATION 0 is the static load case analysis.

You will optimize all the five modes. Also note that all the five modes are similar. This is because
the model has one-fifth symmetry and also the constraints are symmetric.

3. Choose simulation= MODE 1 F=4.85E+01 ITERATION 0


4. Click datatype= and choose Eigenvector.
5. Click modal.
6. Click exit when you are done viewing the animation.
7. Click return.

OptiStruct 92 Altair Engineering, Inc.


To view the .out file for normalization factior (NF):

1. Open satellite_analysis.out in Notepad and look for the OptiStruct estimation of the
normalization factor under the solution information for iteration 0.
The estimated normalization factor will be used as a guideline for the NORM parameter in
subsequent optimization analysis.

The normalization factor (NORM) is used for normalizing the contributions of static load case
compliances and inverse of eigenvalues when using the combined compliance index as the
objective function. A typical structural compliance value is on the order of 104 to 106. However, a
typical inverse eigenvalue (as in the case of using combined compliance index as the objective
function) is on the order of 10-5. If NF is not used, the linear static compliance requirements
dominate the solution. For more information refer the theoretical section of the manual.

The normalization factor is entered as NORM parameter in the .parm file

Submitting the optimization job

You will first need to write your OptiStruct input deck (usually specified with the .fem filename
extension) before you can run OptiStruct. Note that the .fem deck that will be written out (in this case)
contains only the bulk data information i.e. the finite element model data. The optimization analysis is
run with the normalization parameter included in the .parm file.

To write your file:

1. Select the files panel from any of the pages in HyperMesh.


2. Select the export subpanel.
3. Click filename = and type satellite_optimization.fem.
The .fem file should be named with the same prefix as the .parm file for it to be recognized and
included with the .parm file for job submission

4. Click write. This will write your HyperMesh database as an OptiStruct ascii input deck.
5. Click return.
6. Open satellite_optimization.parm file in your favorite text editor and review the
contents. Note that the estimated value of the normalization factor from the initial analysis run of
satellite_analysis.fem has been used on the NORM parameter. Also, since we want to
run optimization, the ANALYSIS parameter has been removed.

To submit the OptiStruct Optimization run:

1. Select the solver panel from the BCs page in HyperMesh.


2. Click input file = and type in the OptiStruct input deck satellite_optimization or, click
input file = again and browse your directory structure for the file satellite_optimization.
In the two-file setup just the file prefix is given for job submission

3. Click memory in Mb = and type the amount of RAM required in MB (use 75).
4. Click solve.

Altair Engineering, Inc. 93 OptiStruct


This will launch the OptiStruct job. After processing is complete, you should see a new file
satellite_optimization.out in the directory where HyperMesh was invoked. The file is a
good place to look for error message that will help you debug your input deck if any errors are
present.

The default files that will be written to your directory for a successful run are:

satellite_optimization.res HyperMesh binary results file

satellite_optimization.HM.ent.cmf HyperMesh command file used to organize


elements into entity sets based on their
density result values (only used with
OptiStruct topology optimization runs).

satellite_optimization.HM.comp.cmf HyperMesh command file used to organize


elements into components based on their
density result values (only used with
OptiStruct topology optimization runs

satellite_optimization.out OptiStruct output file containing specific


information on the file set-up, the set-up of
your optimization problem, estimate for the
amount of RAM and disk space required for
the run, information for each optimization
iteration, and compute time information. It is
highly recommended to review this file for
warnings and errors that are flagged from
processing the
satellite_optimization.fem and
satellite_optimization.parm file

satellite_optimization.oslog OptiStruct log file containing compliance and


volume calculations for each optimization
iteration. In your UNIX or DOS shell, you
can edit this file to see how many iterations
OptiStruct has completed.

Viewing results of the optimization run

To load your results file:

1. Select the files panel from any page in HyperMesh.


2. Click results to access the results subpanel.
3. Click results = and type satellite_optimization.res. Or, click results = a second time
and browse your directories for the file satellite_optimization.res.
4. Click return.

OptiStruct 94 Altair Engineering, Inc.


To view a static contour plot of your densities:

1. First, access the display panel and turn off your nondesign, mass and rigids components.
2. Access the contour panel from the Post page in HyperMesh.
3. Click simulation.
4. Set your simulation to DENSITY ITER30.
5. Click data type = and select Density.
6. Click assign.
- Have most of your elements converged to a density close to 1 or 0?

If there are many elements with intermediate densities, you may need to adjust the discrete
parameter. The discrete parameter (set in the cntl cards panel) can be used to push
elements with intermediate densities towards 1 or 0 so that a more discrete structure is given.

Regions that need material will tend towards a density of 1.0. Areas that do not need
material will tend towards a density of 0.0.

- Is the max= field showing 1.0e+00?

In this case, it is. If it is not, your optimization has not progressed far enough. Allow more
iterations and/or decrease the objtol parameter (set in the cntl panel).

If adjusting your discrete parameter, incorporating a checkerboard control, refining the mesh,
and/or decreasing the objective tolerance does not yield a more discrete solution (none of the
elements progress to a density value of 1.0), you may wish to review the set-up of the
optimization problem. Perhaps some of the defined constraints arent attainable for the given
objective function (or visa-versa).

- Where would you remove or add the material

Altair Engineering, Inc. 95 OptiStruct


Figure 4. Assign plot of element densities at iteration 8. All components have been turned off except the designable
component.

To view an iso-surface plot of your densities:

1. Access the options panel in the permanent menu.


2. Select the graphics subpanel.
3. Toggle the graphics engine mode to performance.
4. Click return.
5. Select the contour panel from the Post page in HyperMesh.
6. Set your simulation to DENSITY ITER30
7. Click data type = and select Density.
8. Select the iso-surface subpanel.
9. Select show.
10. Toggle the mode from legend based to value based.
11. Set the iso surface= field to 0.70.
12. Click include faces above so it is on.
13. Click assign.

OptiStruct 96 Altair Engineering, Inc.


Figure 5. Isosurface plot of an optimal layout of the designable material.

The iso-surface post processing feature in HyperMesh is an excellent tool to use for viewing your
density results from OptiStruct.

Click and hold the left mouse button on the triangle shown in the legend (currently pointing to a
value representing 0.70 for your density), then scroll up and down to change the threshold
surface. You will see the iso-surface in the graphics window interactively update when you scroll
to a new value. Use this tool to get a better look at the material layout from OptiStruct

14. Click return.

Setting up the final static and normal modes analysis

To retrieve the model containing the new topology of the designable region:

Next, you will retrieve a model containing a preliminary design of the satellite structure based on the
topology results youve just viewed.
1. Select the files panel from any page in HyperMesh.
2. Click import.
3. Double-click translator= and select optistruct.
4. Click filename= and type satellite_newdesign.fem Or, click filename= a second time and
browse your directory structure for the file satellite_newdesign.fem.
5. Click import.
6. Click return.

To submit the job:

1. Select the solver panel from the BCs page in HyperMesh.


2. Click input file = and type in the OptiStruct input deck satellite_newdesign.fem or, click
input file = again and browse your directory structure for the file satellite_newdesign.fem.
3. Click memory in Mb = and type the amount of RAM required in MB (use 75).
4. Click solve.

Altair Engineering, Inc. 97 OptiStruct


Viewing your results

This section describes how to view your results for the new design in HyperMesh. First, you will need
to load your HyperMesh binary results file.

To load your results file:

1. Select the files panel from any page in HyperMesh.


2. Click results to access the results subpanel.
3. Click results = and type satellite_newdesign.res or, click results = a second time and
browse your directories for the file satellite_newdesign.res.
4. Click return.

To view mode shape:

1. Select the deformed panel from the Post page.


2. Click simulation=.
You should see 6 simulations:
STEP

MODE 1 - F=1.58E+02

MODE 2 - F=1.58E+02

MODE 3 - F=1.63E+02

MODE 4 - F=1.63E+02

MODE 5 - F=1.64E+02

3. Choose MODE 1 F=1.58E+02


4. Click modal.
5. Click exit when you are done viewing the animation.
6. Click return.

Comparing the results:

1. What is the percentage increase in frequency for your first mode (satellite_analysis1.fem
vs. satellite_newdesign.fem)?
2. How much mass has been removed from the part (check the mass of your model in the mass
calc panel in the Tool page)?
3. What is the percentage decrease in mass?

OptiStruct 98 Altair Engineering, Inc.


2-D Shape Optimization of a Cantilever Beam -
OS5001
In this lesson you will perform a shape optimization on a cantilever beam modeled with shell
elements. The structural model with loads and constraints applied is shown in Figure 1. The
deflection at the lower right corner should be limited to 0.3mm. A minimum amount of material is
desired to achieve this performance.

Figure 1. Cantilever beam. Structural model.

A shape optimization is done using OptiStruct to determine an optimal shape of the beam. The
structural model, which is available as a HyperMesh database, is loaded into HyperMesh and is used
to generate and run a shape optimization of the cantilever beam. The generation of the shape
perturbation vectors is performed using AutoDV. The database is exported as an OptiStruct ASCII file
and the OptiStruct software is used to determine the optimal shape. The result (contour) is viewed.

The optimization problem for this tutorial is stated as:

Objective: Minimize volume.

Constraints Given maximum nodal displacement at one grid point.

Design variables Linear factors combining one linear and one quadratic perturbation vector.

The following exercises are included:

Setting up the shape optimization problem for AutoDV in HyperMesh

Running AutoDV

Animate the shape perturbations

Setting up the shape optimization problem for OptiStruct in HyperMesh

Submitting the job

Viewing the results

Altair Engineering, Inc. 99 OptiStruct


Setting up the shape optimization problem for AutoDV in HyperMesh

To retrieve the structural model in the file beamshape.hm and define your
AutoDV template:

1. Select the files panel from any page in HyperMesh.


2. Click hm file.
3. Click file = and type in beamshape.hm. Or, click file = a second time and browse your directory
structure for the file beamshape.hm.
4. Click retrieve.
5. In the files panel, select the template subpanel.
6. Click template = twice and select the autodv directory and subsequently, the general template
file. Selecting the AutoDV template will allow you to define AutoDV specific attributes in your
HyperMesh session.
In order to define shape perturbation vectors, domain elements have to be determined. Design
elements define the domain that is perturbed by a design variable. Then, nodes have to be
assigned to the domain element. These node are collected in node sets. After that the design
variables are defined as vectors.

To create collectors for the domain elements and design variables:

It is recommended that you create a collector for the domain element and vector collectors for each
design variable first.
1. Return from the files panel and select the collectors panel.
2. Set your subpanel to create.
3. Select the collector type switch and click comps.
4. Click name = and type: Dom_elem.
5. Click create.
6. Select the collector type switch and click vectcols.
7. Click name = and type: DV1.
8. Click card image = and select VECTCOLS
9. Click create/edit. This will load the VECTCOLS card image.
10. Add values for DSHAPE_LB (-5.0) and DSHAPE_UB (5.0). These are the lower and upper
bounds for the design variable DV1, respectively.
11. Click return.
12. Click name = and type: DV2.
13. Click create/edit. This will load the VECTCOLS card image.
14. Add values for DSHAPE_LB (1.0) and DSHAPE_UB (1.0). These are the lower and upper
bounds for the design variable DV2, respectively.
15. Click return.
16. Click return.

OptiStruct 100 Altair Engineering, Inc.


To create domain elements and design variables:

1. Access the design vars panel on the BCs page.


2. Select the domain elements subpanel.
3. Select the four corner nodes of the finite element model to be the nodes of the quad domain
element by pick on these nodes. The domain element is created.
4. Click return.
5. Select the domain node set subpanel.
6. Set your subpanel to create.
7. Click name = and type: Dom1.
8. Click create.
9. Set your subpanel to add.
10. Click on nodes twice and select all.
11. Click add.
12. Click return.
13. Select the shape variables subpanel.
14. Set your subpanel to create.
15. Below global system, select x-axis and enter magnitude = 1.0
16. Pick a node in the middle of the upper edge of the finite element model.
17. Click create. Now the second design variable DV2 is created. It will be associated with a
quadratic shape perturbation vector.
18. Click global from the permanent (blue) menu.
19. Click vectorcol = and select DV1.
20. Click return. Pick the node in the upper right corner of the finite element model where the load
is applied.
21. Click create. Now the first design variable DV1 is created. It will be associated with a linear
shape perturbation vector.
22. Click return.
23. Click exit.

To assign the right element types to the domain and structural elements:

1. Access the element types panel from the BCs page in HyperMesh.
2. Click elements and select by comps.
3. Select PSHELL and click select.
4. Click update.
5. Click elements and select by comps.
6. Select Dom_elem and click select.
7. Click quad4 = and select DQUAD4

Altair Engineering, Inc. 101 OptiStruct


8. Click update.

Figure 2. Cantilever beam. Domain element, design variables (Vec).

Figure 3. Cantilever beam. Domain element, Node set (S), design variables (Vec).

To save the data base:

1. Select the files panel from any page in HyperMesh.


2. Click hm file.
3. Click file = and type in beamshapeDV.hm.
4. Click save.

OptiStruct 102 Altair Engineering, Inc.


Running AutoDV

To actually generate a file with the shape perturbation vectors, AutoDV needs to be activated.
AutoDV reads the HyperMesh data in the format written by the autodv template to the
beamshape.base file and writes the DESVAR and DVGRID cards with the shape perturbation
vectors to the beamshape.dat file.

To write the AutoDV input file:

1. Select the files panel from any page in HyperMesh.


2. Click export.
3. Click file = and type in beamshape.base.
4. Click write. This will write the ASCII input file for AutoDV.

To run AutoDV:

1. Select the solver panel from the BCs page in HyperMesh.


2. Select the switch at the upper left hand corner of the panel and click AutoDV. (At this point,
HyperMesh will load the direct path to the AutoDV executable in the solver = field. You do not
need to edit this field at this time)
3. Click input file = and type in the AutoDV input deck beamshape.base. Or, click input file =
again and browse your directory structure for the file beamshape.base.
4. Click solve.
The AutoDV job is submitted. If the job is successful, you should see new results files in the
directory where HyperMesh was invoked. OptiStruct format is the default setting for analysis
code = . The AutoDV output is written in OptiStrcut bulk format to the file beamshape.dat.

The files that are written to your directory are:

beamshape.dat DESVAR and DVGRID cards in BULK DATA format

beamshape.dv.animate HyperMesh result file to animate the shape vectors.

beamshape.auto000001 beamshape.auto000002, temporary AutoDV output.

To animate the shape perturbations:

For debugging purposes you can animate the shape vectors.


1. If you are still in the solver panel, click return.
2. Select the deformed panel from the Post page in HyperMesh.
3. Click global on the permanent (blue) menu.
4. Click results file = and enter beamshape.dv.animate. Or, click results file = again and
browse your directory structure for the file beamshape.dv.animate.
5. Click return.

Altair Engineering, Inc. 103 OptiStruct


6. On the right hand side click modal. The first (linear) shape vector is animated.
7. Click exit.
8. Click next on the line simulation =.
9. Click modal. The second (quadratic) shape vector is animated.
10. Click exit.
11. Click return.

Setting up the shape optimization problem for OptiStruct in HyperMesh

To retrieve the structural model again in the file beamshape.hm and define
your OptiStruct template:

1. Select the files panel from any page in HyperMesh.


2. Click hm file.
3. Click file = and type in beamshape.hm. Or, click file = a second time and browse your directory
structure for the file beamshape.hm.
4. Click retrieve.
5. In the files panel, select the template subpanel.
6. Click template = twice and select the OptiStructdirectory and subsequently, the optistruct
template file. Selecting the OptiStruct template will allow you to define OptiStruct specific
attributes in your HyperMesh session.

To define the optimization problem:

1. Select the cntl cards panel from the BCs page in HyperMesh.
2. Click next.
3. Click OBJECTIVE, to define the objective function.
4. Select MINIMIZE from the field below MAX/MIN.
5. Select VOLUME from the field below RESPONSE.
6. Click return.
7. Click CONSTRAINTS, to define the constraints.
8. Select UBCON from the field below LB/UBC.
9. Enter the value 3.0 after clicking in the field below VALUE.
10. Select DISP below the field RESPONSE. Then new fields will appear allowing you to select the
load step, node, and displacement component for your constraint.
11. Click on SUBCASE and select STEP.
12. Click on NODE and select the constrained node by picking on the node in the lower right corner
of the finite element model. The node number 1115 should appear.
13. Enter 1 after clicking in the field below COMPONENT. This selects the x component of the
nodal displacement.
14. Click return.

OptiStruct 104 Altair Engineering, Inc.


15. Click INCLUDE_BULK, to include the design variable definition that has been generated with
AutoDV.
16. Enter beamshape.dat below filename.
17. Click return.
18. Click return.

To save the data base:

1. Select the files panel from any page in HyperMesh.


2. Click hm file.
3. Click file = and type in beamshapeOPT.hm.
4. Click save.

To write the OptiStruct input file:

1. Select the files panel from any page in HyperMesh.


2. Click export.
3. Click file = and type in beamshape.fem.
4. Click write. This will write the ASCII input file for OptiStruct.

To submit the job:


1. Select the solver panel from the BCs page in HyperMesh.
2. Select the switch at the upper left hand corner of the panel and click OPTISTRUCT/FEA.
At this point, HyperMesh loads the direct path to the OptiStruct executable in the solver = field.
You do not need to edit this field at this time.

3. Click input file = and type in the OptiStruct input deck beamshape.fem. Or, click input file =
again and browse your directory structure for the file beamshape.fem.
Click memory in Mb = and type the amount of RAM required in MB (in this case, you can use
15MB).

RAM is directly dependent upon the number of grids in your model. A starting point is to use
8MB/1000 grids. A check run can be made and OptiStruct will calculate a recommend amount of
RAM for your solution.

4. Click solve.
This will launch the OptiStruct job. If the job is successful, you should see new results files in the
directory where HyperMesh was invoked. The beamshape.out file is a good place to look for
error message that will help you debug your input deck if any errors are present.

The default files that will be written to your directory are:

beamshape.res HyperMesh binary results file

beamshape.out OptiStruct output file containing specific information on the


file set-up, the set-up of your optimization problem,
estimate for the amount of RAM and disk space required
for the run, information for each optimization iteration, and
Altair Engineering, Inc. 105 OptiStruct
for the run, information for each optimization iteration, and
compute time information. It is highly recommended to
review this file for warnings and errors that are flagged from
processing the beamshape.fem file.

beamshape.oslog OptiStruct log file containing compliance and volume


calculations for each optimization iteration. In your UNIX or
DOS shell, you can edit this file to see how many iterations
OptiStruct has completed.
beamshape.his_dat OptiStruct iteration history file containing the iteration
history of the objective function and of the most violated
constraint. Can be used for an xy plot of the iteration history

Viewing the results

OptiStruct will give you contour information for all iterations. OptiStruct will also give you
displacement and Von Mises Stress results for your linear static analysis for iteration0 and
iteration20. This section describes how to view those results in HyperMesh. First, you will need to
load your HyperMesh binary results file.

To load the results file:

1. Select the files panel from any page in HyperMesh.


2. Click results to access the results subpanel.
3. Click results = and type beamshape.res. Or, click results = a second time and browse your
directories for the file beamshape.res.

To view a deformed shape:

First, it is helpful to view the deformed shape of your model to determine if the boundary conditions
have been defined correctly and also to check if the model is deforming as expected.
1. Select the deformed panel in the Post page.
2. Click simulation =.
3. You will notice that there are many simulations. At the end of the simulation list, you will see:
Single point load ITER 0 and Single point load ITER 20.
4. Click Single point load ITER 0.
5. Click deform to view a deformed plot of your model overlaid on the original undeformed mesh.

To view a transient animation of contour results.

1. Select the transient panel from the Post page in HyperMesh.


2. Set start with = to CONTOUR - ITER0.
3. Set end with = to CONTOUR ITER 20.
4. Click data type = and select Contour.
5. Click transient.

OptiStruct 106 Altair Engineering, Inc.


6. When using standard graphics (selectable through the options panel), set the following:

mode hidden line


color contour
lights smooth
mesh on

Use the slower button to slow down the animation if the frames animate too quickly.
7. Click exit once you are finished viewing the animation.
8. Click return.

To apply the final shape to your structural model:

1. Select the apply results panel from the Post page in HyperMesh.
2. Set your simulation to CONTOUR ITER 20.
3. Click data type = and select Contour.
4. Click nodes and select all.
5. Click apply.
The final nodal positions are now applied to the structure. Be careful with saving the model now,
the HyperMesh data base has changed. You can use this model for further analyses. Also you
can view displacements and stresses on the final shape.

To view the deformed final shape:

1. Select the deformed panel in the Post page.


2. Click simulation =.
3. Click Single point load ITER 20.
4. Click deform to view a deformed plot of your final shape overlaid on the original undeformed
final.
5. Click return.

To view the stresses on the final shape:

1. Select the contour panel in the Post page.


2. Click simulation =.
3. Click Single point load ITER 20.
4. Click data type =.
5. Click Von Mises Stress.
6. Click contour to view a plot of the stresses on your final shape.

Altair Engineering, Inc. 107 OptiStruct

Вам также может понравиться