Академический Документы
Профессиональный Документы
Культура Документы
Engineering
OptiStruct Tutorials
Version 3.5
For technical support, contact us by phone or e-mail:
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
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 run OptiStruct/FEA:
To run OptiStruct:
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
To run OptiStruct:
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
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
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.
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.
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.
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 create.
- 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.
Dofs with a check will be constrained while dofs without a check will be free.
- 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 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 loadcols and select spc and forces from the collector list.
You will first need to write your OptiStruct input deck (usually specified with the .fem filename
extension) before you can run OptiStruct.
To run OptiStruct:
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.
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.
Figure 4. Isometric view of deformed plot overlaid on original undeformed mesh. Model units are set to 250.
4. Click contour.
- Does this make sense based on the boundary conditions applied to the model?
- 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
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.
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.
Notice that both components have MIDs of 0. You will need to assign the correct material
collector for each of your components.
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.
- Click create.
- Select the two nodes shown in Figure 1 at the corners of the spout cut-out.
- Constrain dof3.
Dofs with a check will be constrained while dofs without a check will be free.
- Click create node. This will show you where the centerline of the coffee lid is.
- Select the nodes shown in Figure 2 click on the check marks next to dof1, dof2 and dof3.
- 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 loadcols and select constraints and THERMAL_LOADING from the collector list.
You will first need to write your OptiStruct input deck (usually specified with the .fem filename
extension) before you can run OptiStruct.
To run OptiStruct:
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.
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.
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.
4. Click contour.
- What is the maximum displacement value?
- Does this make sense based on the boundary conditions applied to the model?
- Does this make sense based on the boundary conditions applied to the model?
Analysis review
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.
Notice there are two rigid spiders in the model. They are placed at locations where the shield is
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.
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.
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.
It needs to be assigned to the material you just created, steel with MID=1.
6. Click return.
Figure 1. Selecting nodes for constraining the bolt locations. Zoomed in from a top view.
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).
- Click create/edit.
- Click ND to turn on this block and enter 6 for the number of roots.
- 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.
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 loadcols and select constraints and frequencies from the collector list.
To run OptiStruct:
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.
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.
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.
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?
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).
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.
Design variables Microstructural void sizes and orientations in the design space.
To retrieve the geometry in the file cclip.hm and define your OptiStruct
template:
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.
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
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.
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.
- Click create.
- Click create.
- Click return.
- Selecting the node at the center of the left edge of your design space (shown in Figure 3 with
dof1, dof2 and dof3 constrained).
Dofs with a check will be constrained while dofs without a check will be free.
- Select the node at the center of the c-clip curve (shown in Figure 3 with dof2 constrained).
- Constrain dof 2.
- Select the node at the upper left corner of the c-clip design space (shown in Figure 3 with
dof3 constrained).
- Constrain dof3.
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.
- Select the node at the top of the opening of the c-clip (see Figure 4).
- Select the switch to the left of N1, N2, N3 and click y-axis.
- Click create.
- Select the node at the bottom of the opening of the c-clip (see Figure 4).
- Select the switch to the left of N1, N2, N3 and click y-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 loadcols and select spc and forces from the collector list.
- Click return.
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:
- Click return.
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):
- For RESPONSE of the first constraint, select DISP (this will add new fields to the line for the
first constraint. See Figure 5)
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.
This completes the definition of the first constraint: upper bound displacement constraint of
0.07mm for the selected node in the positive y-direction.
- For RESPONSE of the second constraint, select DISP (this will add new fields to the line for
the second constraint)
- 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.
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.
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.
You will first need to write your OptiStruct input deck (usually specified with the .fem filename
extension) before you can run OptiStruct.
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:
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.
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.
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?
color contour
lights smooth
mesh on
Use the slower button to slow down the animation if the frames animate too quickly.
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).
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).
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.
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.
Design variables Microstructural void sizes and orientations in the design space.
To retrieve the geometry in the file carm.hm and define your OptiStruct
template:
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.
- Click create/edit. This will load the MAT1 card image for a new material, steel.
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.
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
- Click return.
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).
- Select both components such that they both have check marks.
- Click select.
- 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.
- Click create.
- Click create.
- Click create.
- 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.
Dofs with a check will be constrained while dofs without a check will be free.
- Select the node at one end of the bushing (see Figure 2) and constrain dof1, dof2 and dof3.
Dofs with a check will be constrained while dofs without a check will be free.
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.
Dofs with a check will be constrained while dofs without a check will be free.
- Constrain dof 3.
Dofs with a check will be constrained while dofs without a check will be free.
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.
- Click the yellow nodes button in the forces panel and select by id.
- Type 2699.
- Click create.
- Click the yellow nodes button in the forces panel and select by id.
- Type 2699.
- Click create.
- Click the yellow nodes button in the forces panel and select by id.
- Type 2699.
- 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 loadcols and select spc and brake from the collector list.
- Click loadcols and select spc and corner from the collector list.
- Click loadcols and select spc and pothole from the collector list.
- Click return.
Design variables Microstructural void sizes and orientations in the design space
(implicitly defined).
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:
The CONSTRAINT parameter should be on the second screen of the control cards panel also.
4. For RESPONSE of the first constraint, select DISP (this will add new fields to the line for the first
constraint)
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.
Component 7 is the vector sum of the X, Y and Z translations and is always positive.
This completes the definition of the first constraint: upper bound displacement constraint of
0.05mm for the selected node for the first SUBCASE.
3. For RESPONSE of the first constraint, select DISP (this will add new fields to the line for the first
constraint)
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).
Component 7 is the vector sum of the X, Y and Z translations and is always positive.
This completes the definition of the second constraint: the upper bound displacement constraint
of 0.02mm for the selected node for the second SUBCASE.
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.
Component 7 is the vector sum of the X, Y and Z translations and is always positive.
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.
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.
You will first need to write your OptiStruct input deck (usually specified with the .fem filename
extension) before you can run OptiStruct.
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
- 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)
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.)
The default files that will be written to your directory for a successful run are as follows:
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.
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.
- 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:
- Does the deformed shape look correct for the boundary conditions you applied to the mesh?
Subcase 3:
Does the deformed shape look correct for the boundary conditions you applied to the mesh?
- Select by config.
- Click config=.
- Click mask .
- Click return.
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.
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).
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.
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.
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.
Design Variables Microstructural void sizes and orientations in the design space.
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.
9. Click return.
- NU (0.26)
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.
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.
The non-zero base thickness (TO) should be the dimension of the original thickness.
PSHELL PSOLID
9. Click return.
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.
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:
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).
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):
5. Click return.
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.
Write your OptiStruct input deck (usually specified with the .fem filename extension) before you can
run OptiStruct.
or
Click template = twice and select the optistruct sub-directory and then the optistruct
template file.
6. Click return.
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
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
- 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?
or
6. Click return.
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.
Click input file = twice and use the browser to locate the file lid_complete.fem.
The following default files are written to your directory after a successful run:
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.
Click results = twice and use the browser to locate the file lid_complete.res.
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.
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.
- Does the deformed shape look correct for the boundary conditions you applied to the mesh?
Deformed shape of coffee pot lid for iteration 0 (all designable elements contain equal percentage of material).
- What is the percent reduction in the maximum displacement from iteration 0 to iteration 23?
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.
If it is not, your optimization has not progressed far enough. Allow more iterations and/or
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).
The iso-surface post processing feature in HyperMesh can be used to view your density results
from OptiStruct.
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.
Finite element mesh containing designable (red) and non-designable (blue) material.
Design variables Microstructural void sizes and orientations in the design space.
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.
- Click create. (This creates the load collector where you will make your constraints).
- Click create/edit.
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 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.
- Constrain dof1-dof6
- Click create.
- Click return.
You will first need to write your OptiStruct input deck (usually specified with the .fem filename
extension) before you can run OptiStruct.
The default files that will be written to your directory for a successful run are:
This section describes how to view your results in HyperMesh. First, you will need to load your
HyperMesh binary results file.
DENSITY - ITER0.
Select MODE 1 - F=4.37E+01 - ITER 0. (This is the mode you will optimize)
3. Click modal.
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.
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.
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.
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.
You will first need to write your OptiStruct input deck (usually specified with the .fem filename
extension) before you can run OptiStruct.
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.
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).
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.
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.
DENSITY - ITER0.
3. Click modal.
4. Click exit when you are done viewing the animation.
5. Click return.
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?
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.
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.
.parm Contains the parameters, I/O options, and subcase information sections
Submitting the initial job for analysis and computing the normalization factor to be used in
subsequent optimization analysis.
Submitting the optimization job with the appropriate normalization factor (obtained from prior
analysis only run).
Submitting the final static and normal modes analysis of the new design
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.
Here density values are required, for both linear static analysis with gravity loads and for normal
mode analysis.
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
- Click create. (This creates the load collector where you will make your constraints).
- Click create/edit.
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.
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.
- Constrain dof1-dof3
- Constrain dof1-dof2
- Constrain dof1
- 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.
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.
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:
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.
DENSITY.
SUBCASE 2 -ITERATION 0
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.
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.
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.
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.
3. Click memory in Mb = and type the amount of RAM required in MB (use 75).
4. Click solve.
The default files that will be written to your directory for a successful run are:
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.
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).
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
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.
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.
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
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?
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.
Design variables Linear factors combining one linear and one quadratic perturbation vector.
Running AutoDV
To retrieve the structural model in the file beamshape.hm and define your
AutoDV template:
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.
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
Figure 3. Cantilever beam. Domain element, Node set (S), design variables (Vec).
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 run AutoDV:
To retrieve the structural model again in the file beamshape.hm and define
your OptiStruct template:
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.
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.
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.
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.
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.
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.