Optimization of a Horizontal Tail Plane - OS-4050



Your Ad Here

The purpose of this tutorial is to optimize the lay-up of the composite skins and the thickness of the aluminum ribs for a horizontal tail plane (model shown below).

image\4050_model.gif

Horizontal tail plane model

It is assumed that the tail is cantilevered about its inboard section. Three loading scenarios are considered; one where the tail experiences pressure loads of 0.25psi on the bottom skin, a second where the tail experiences a tip load of 400lbs, and a third where the tail experiences both the pressure load and tip load simultaneously. The applied loading is represented in the following figure.

image\4050_loading.gif

Loading experienced by horizontal tail plane

The materials available for this part are described in the following table. The optimum design should be as light as possible without failing or buckling under the given loading conditions.

 

Glass_fabric

Core

 

Aluminum 2024-T3

E1

4Msi

2ksi

E

10.6Msi

E2

4Msi

2ksi

Nu

0.33

NU12

0.1

0.3

G

4.06Msi

G12

800ksi

3ksi

Rho

0.1 lb/in3

G1,Z

800ksi

4ksi

Yield

50ksi

G2,Z

800ksi

4ksi

 

 

RHO

0.07 lb/in3

0.001074 lb/in3

 

 

Xt

35ksi

500 psi

 

 

Xc

35ksi

500 psi

 

 

Yt

35ksi

500 psi

 

 

Yc

35ksi

500 psi

 

 

S

4ksi

150 psi

 

 

The optimization problem may be stated as:

Objective:

Minimize mass

Constraints:

- Composite skins must not fail.
- Aluminum ribs must not yield.
- Buckling must not occur.

Design variables:

- Composite ply thicknesses and orientations.
- Rib thicknesses.

Process overview:

·    Retrieve the finite element model file.

·    Define material and geometric properties (using HyperLaminate to define laminates)

·    Organize the model so elements are reference correct geometric and material information.

·    Create static and buckling subcases.

·     Perform baseline finite element analysis and review results.

·     Define design variables (using HyperLaminate to set-up ply orientation and thickness variables).

·     Define responses; indicate design constraints and objective.

·     Run optimization and compare results with baseline analysis.

Retrieving the Finite Element Model File

To retrieve the file tail_baseline.fem and load the OptiStruct template:

  1. Launch HyperMesh.

  2. Choose OptiStruct in the User Profile dialog and click OK.

This loads the OptiStruct user profile. It includes the OptiStruct template, macro menu, and import reader, paring down the functionality of HyperMesh to what is relevant for use with OptiStruct.

User Profiles… can also be accessed from the Preferences pull-down menu on the toolbar.

  1. Select the Files Panel toolbar button image\files_panel.gif.

  2. Select the import subpanel using the radio buttons on the left-hand side of the panel.

  3. Select FE.

  4. Click import .

An Open file… browser window pops up..

  1. Select the tail_baseline.fem file, located in <install_directory>/tutorials/os/.

  2. Click Open.

Note the location of tail_baseline.fem displays in the file: field.

  1. Click Return.

Defining Material and Geometric Properties

To create isotropic materials:

  1. From the Utility tab, under Miscellaneous:, select FEA.

  2. Under Model Info:, click Material Table.

The Materials window appears.

  1. Click Create Mat1… in the Materials window.

The Create MAT1 Material dialog appears.

  1. For Name:, enter al2024-t3.

  2. Fill in the fields for E:, G:, Nu:, and Rho: according to the table for Aluminum 2024-T3 at the beginning of the tutorial.

  3. Click Create.

An isotropic material definition for Aluminum 2024-T3 is created.

  1. Review the material information displayed in the Materials window.

  2. Click Close in the Materials window.

  3. Close the Create MAT1 Material dialog.

To create geometric properties for the metallic ribs:

  1. Select the Collectors toolbar button image\collectors.gif.

  2. Select the create sub-panel using the radio buttons on the left-hand side of the panel.

  3. Click on the switch and select components from the pop-up menu.

  4. Click name = and enter ribs.

  5. Select a color and select card image from the switch next to color.

  6. Click on the blank space next to card image and select PSHELL from the list.

  7. Click Material and select the al2024-t3 material created in the previous step.

  8. Toggle the switch next to thickness and enter a value of 1.0.

This is the thickness of the shell elements organized into this component collector.

  1. Click on the green create button.

A component collector called Ribs has been created. It has a PSHELL definition with a thickness of 1.0 and references Aluminum 2024-T3 material definition.

  1. Click Return to go back to the main menu.

To create orthotropic material properties (using HyperLaminate):

  1. From the 2D page, select the HyperLaminate panel.

This launches the HyperLaminate GUI.

  1. On the left-hand tree structure, left click on MAT8 to highlight it

  2. Right click on the pre-highlighted MAT8.

  3. A floating menu appears with one option: New.

  4. Click on New.

A new material definition is created and appears in the left-hand tree structure on a branch underneath MAT8.

  1. In the center section, click in the field to the right of Material:.

The default name NewMaterial1 shows.

  1. Replace NewMaterial1 with Glass_fabric.

  2. Fill in the fields for E1:, E2:, NU12:, G12:, G1:, Z:, G2:, Z, RHO, Xt, Xc, Yt, Yc, and S with the information provided in the table at the beginning of the tutorial.

  3. Click Apply.

An orthotropic material definition for Glass_fabric is now complete.

  1. Repeat steps 4 through 9 to create other material called Core with the material properties provided in the table.

You should now have two orthotropic material definitions on the MAT8 branch of the left-hand tree structure.

To create composite laminates (using HyperLaminate):

  1. In the left-hand tree-structure, left click on PCOMP to highlight it.

  2. Right click on the pre-highlighted PCOMP.

A floating menu appears with one option: New.

  1. Click New.

A new laminate definition is created and appears in the left-hand tree structure on a branch underneath PCOMP.

In the center section, under laminate name:, the default name NewPlyLayUp1 appears.

  1. Replace NewPlyLayUp1 with Inboard_section_top.

  2. To the right of this field, click color and choose a color for this laminate.

  3. For Stacking sequence convention, select Symmetric-Midlayer as the convention type using the pull-down menu.

  4. Make the following selections/assignments for the options under Add/Update plies:

- Choose Glass_fabric for Material.

- Enter 0.25 for the Thickness T1.

- Enter 0 for the Orientation (Degrees).

- Enter 1 for the Repetition Number.

  1. Click Add new ply, and the new ply is updated in the ply Lay-up order.

  2. Click Add new Ply again in the ply Lay-up order in the 2nd row:

- Choose Core for Material.

- Enter 0.5 for the Thickness T1.

- Enter 0 for the Orientation (Degrees).

- Enter 1 for the Repetition Number.

  1. Click Update Laminate.

The definition of the Inboard_section_top laminate is now complete. The following figure shows the laminate as displayed in the right-hand side Review panel.

image\inboard.gif

Inboard_section Laminate

  1. Repeat steps 1 through 11 to create five more identical laminates called Inboard_section_btm, Midspan_section_top, Midspan_section_btm, Outboard_section_top and Outboard_section_btm. Use a different color for each laminate.

You should now have six laminate definitions on the PCOMP branch of the left-hand tree structure. The tree-structure should look like the one shown in the figure below at this point.

image\tree_struc.gif

HyperLaminate tree structure showing one isotropic material, two anisotropic materials, and six laminate definitions

  1. Choose Exit from the File pull-down menu.

This will let you exit the HyperLaminate GUI, and will export the information back to HyperMesh.

Organizing the Finite Element Model

At this point, we have meshed the model and defined our material and geometric properties. However, the elements are not referencing the correct property and material information.

To organize elements into the correct component collectors:

  1. From the Tool page, select the organize panel.

  2. Click Destination = and select Inboard_section_top from the list of component collectors.

  3. Click elems and select all of those elements which form part of the top skin inboard of the first rib (shown in brown in the figure below).

  4. Click Move.

  5. Click Destination = and select Midspan_section_top from the list of component collectors.

  6. Click elems and select all those elements which form part of the top skin between the first and second ribs (shown in pink).

  7. Click Move.

  8. Click Destination = and select Outboard_section_top from the list of component collectors.

  9. Click elems and select all those elements which form part of the top skin between the second rib and the outboard tip (shown in yellow).

  10. Click Move.

  11. Click Destination = and select Inboard_section_btm from the list of component collectors.

  12. Click elems and select all those elements which form part of the bottom skin inboard of the first rib (shown in purple).

  13. Click Move.

  14. Click Destination = and select Midspan_section_btm from the list of component collectors.

  15. Click elems and select all those elements which form part of the bottom skin between the first and second ribs (shown in blue).

  16. Click Move.

  17. Click Destination = and select Outboard_section_btm from the list of component collectors.

  18. Click elems and select all those elements which form part of the bottom skin between the second rib and the outboard tip (shown in green).

  19. Click Move.

image\skin_elem.gif

Skin elements organized into correct component collectors.

  1. Click Destination = and select Ribs from the list of component collectors.

  2. Undisplay the elements contained in the component collectors Inboard_section_top, Inboard_section_btm, Midspan_section_top, Midspan_section_btm, Outboard_section_top and Outboard_section_btm using either the model browser, or the Display panel toolbar button image\display.gif.

Only elements forming the ribs which are in the tail collector should now be displayed.

  1. Click elems and select displayed.

  2. Click Move.

  3. Click return to return to the main menu.

  4. Press F2 on the keyboard and select comps.

  5. Click preview empty and delete entity to clear any empty components, the tail component in this case.

To orient elements which reference composite properties:

  1. From the Tool page select the normals panel.

  2. Select the elements subpanel using the radio buttons on the left-hand side of the panel.

  3. Select those elements belonging to the "skin" components.

  4. Click display normals.

You may notice that the element normals are not all in the same direction.

  1. Click on elem under orientation: and choose an element whose normal is pointing inward.

  2. Click adjust normals.

All "skin" normals should now point inwards. These skin normals are the local z-axes for each element.

  1. Click return to return to the main menu.

  2. From the 2D page select the composites panel.

  3. Select the material orientation sub-panel using the radio buttons on the left-hand side of the panel.

  4. Select those elements belonging to the "skin" (all the comps except ribs) components.

  5. Click the switch under Element orientation method: and select by vector from the drop-down menu.

  6. Click on the switch under by vector and select z-axis from the drop-down menu.

  7. Click project.

This orients the local x-axis of each of the selected elements to be the projection of the global z-axis. This is displayed graphically by the small white arrows that appear on each element.

Having defined the local x and z axes of the elements belonging to the component collectors Inboard_section_top, Inboard_section_btm, Midspan_section_top, Midspan_section_btm, Outboard_section_top, and Outboard_section_btm, we have fully established the local orientation for each element referencing a composite laminate.

Creating Static and Buckling Subcases

Three loading scenarios are to be considered in this exercise: one where the tail experiences pressure loads on the bottom skin, a second where the tail experiences a tip load, and a third where the tail experiences both the pressure load and tip load simultaneously.

Currently we have a load collector containing the pressure loads and another containing the tip load, but we do not have a load-collector containing both together. We need to create a load collector which is a combination of the load-collectors pressure and tip_load.

To create a combination load-collector:

  1. Select the Collectors toolbar button image\collectors.gif.

  2. Select the create subpanel using the radio buttons on the left-hand side of the panel.

  3. Click the collector type switch and select load collectors from the pop-up menu.

  4. Click name = and enter combined.

  5. Click color and pick a color from the palette.

  6. Click the creation method switch and select card image from the pop-up menu.

  7. Click on card image = and select LOAD from the pop-up menu.

  8. Click create/edit.

An OptiStruct LOAD card is created and the card image appears in the lower part of the display area.

For information on the LOAD card please read the OptiStruct on-line help.

  1. Click LOAD_Num_Set = and enter 2.

This indicates how many load-collectors we wish to combine.

  1. Enter 1.0 in the field under S1(1).

  2. Double-click L1(1) and select pressure from the list of load collectors.

  3. Enter 1.0 in the field under S1(2).

  4. Double-click L1(2) and select tip_load from the list of load collectors.

  5. Click return to create the load collector.

A combination load collector, combining 1.0 times the loads in the pressure load-collector with 1.0 times the loads in the tip_load collector, is created.

  1. Click return to return to the main menu.

To simultaneously create a static and associated buckling subcase:

  1. From the Utility tab, under Miscellaneous:, select FEA.

  2. Under Subcases:, click Buckling.

The Create Buckling Subcases window appears.

With this window, you will create a static subcase and an associated buckling subcase in one step.

  1. In the field for Name:, enter pressure_only.

This is the user-defined name for the static subcase.

If you call the static subcase name, then the associated buckling subcase will be called name_buck.

  1. Select EIGRL from the drop-down menu that follows the field for Name:.

This indicates that eigenvalue analysis is to be used to calculate the buckling modes. Currently this is the only option available.

  1. In the field for V1:, enter 0.0.

This indicates that the lower bound for the eigenvalue extraction is 0.0. This prevents negative buckling modes being calculated (negative buckling modes indicate that buckling will occur if the loading is reversed).

  1. The field for V2: may be left blank.

This is the upper bound for the eigenvalue extraction. We will choose a number of modes to calculate (instead of a range of eigenvalues) for this exercise.

  1. In the field for ND:, enter 10.

This requests that the 10 lowest buckling modes (which are greater than V1) be calculated.

  1. Select pressure from the drop-down list to the right of LOAD:.

  2. Select constraints from the drop-down list to the right of SPC:.

  3. Click Create.

You have now created a linear static subcase called pressure_only which combines the pressure loads in the load-collector pressure with the single-point constraints in the load collector constraints.

An associated buckling eigenvalue subcase called pressure_only_buck is also created which will calculate the first 10 buckling modes greater than 0.0 for the pressure_only static subcase.

  1. Repeat steps 3 through 10 to create a static subcase called tip_load_only, which combines the point loads in the load-collector tip_load with the single point constraints in the load collector constraints, and an associated buckling subcase which will calculate the first 10 modes greater than 0.0.

  2. Repeat steps 3 through 10 again to create a static subcase called combo, which combines the loads in the load-collector combined (i.e. both pressure and tip_load) with the single point constraints in the load collector constraints, and an associated buckling subcase which will calculate the first 10 modes greater than 0.0.

  3. Close the Create Buckling Subcases window.

Requesting Output of Desired Results

To request stress, strain, and failure results for composite laminates:

Stress, strain, and failure results are not output by default for composite laminates, but need to be requested.

  1. Select the Card Editor toolbar button image\card_editor.gif.

  2. Click the switch in the top left-hand corner of the panel and choose comps from the pop-up menu.

  3. Click comps and select the Outboard_section_top component collector.

  4. Click edit.

The PCOMP card image for the Outboard_section_top laminate appears in the lower portion of the display area. For more details on the PCOMP card image please refer to the OptiStruct on-line documentation.

  1. Click [FT] in the card image window.

A button labeled HILL appears beneath [FT].

We have now activated failure theory calculation. If you click HILL, a list of other failure theories pop-up, but we will use the Hill failure criteria for this exercise.

  1. Click [SB] in the card image window and enter 3.5e3 in the field beneath it.

This is the interlaminate shear strength of the laminate, which is the bonding material shear strength. 3500psi is an assumed value, as no material data was provided.

  1. Click on the button beneath SOUT(1) and select YES from the pop-up menu.

This requests stress and strain results to be output for ply1.

  1. Repeat step 6 for all other plies, i.e. SOUT(2) and SOUT(3).

  2. Click return to keep the changes you made to the card image.

  3. Click the reset button beneath comps.

  4. Repeat steps 3 through 9 for the other composite laminates.

  5. Click return to return to the main menu.

  6. From the Analysis page, select the control cards panel.

  7. Select CSTRAIN from the list of control cards.

The CSTRAIN card image appears in the lower portion of the display area.

  1. Click return to add this card to the input.

  2. Select CSTRESS from the list of control cards.

The CSTRESS card image appears in the lower portion of the display area.

  1. Click return to add this card to the input.

Stress, strain, and failure results will now be output for the composite laminates.

  1. Click return to return to the main menu.

To request results in both HM and H3D format:

  1. From the Analysis page, select the control cards panel.

  2. Click Format from the right-hand column of control cards.

  3. Click number_of_formats = and enter 2.

  4. Click the first button in the KEYWORD column (in the card image window) and choose HM from the pop-up window.

  5. Click the second button in the KEYWORD column and choose H3D from the pop-up window.

  6. Click return to add these cards to the input.

Results will now be output for all subcases in both HyperMesh and Hyper3D formats. The Hyper3D format is the preferred format for the HyperView post-processing software.

  1. Click return to return to the main menu.

Performing the Baseline Finite Element Analysis

To launch OptiStruct:

  1. From the Analysis page, select the OptiStruct panel.

  2. Following the input file: field click save as….

A Save file… browser window pops up.

  1. Select the directory where you would like to write the OptiStruct model file and enter the name for the model, tail_baseline.fem, in the File name: field.

The .fem filename extension is the suggested extension for OptiStruct input decks.

  1. Click Save.

Note the name and location of the tail_baseline.fem file now displays in the input file: field.

  1. Set the memory options: toggle to memory default.

  2. Click the run options: switch and select analysis.

  3. Set the export options: toggle to all.

  4. Click OptiStruct.

This launches an OptiStruct run in a separate shell (DOS or UNIX).

If the analysis was successful, no error messages are reported to the shell. The analysis is complete when the line Processing complete appears in the shell.

Reviewing the Baseline Results

To review the .out analysis summary file:

In the directory where you ran the OptiStruct analysis, you should find a tail_baseline.out file. This file contains a summary of the analysis run.

Using a text editor of choice, open the tail_baseline.out file.

The file contains:

·     A summary of the finite element model.

·     A summary of the optimization parameters.

·     Memory and disk space estimations.

·     Analysis results.

The Volume, Mass and Buckling Modes for the baseline model are given in the analysis results section, as shown in the following tail_baseline.out analysis results section.

ITERATION 0

 

(Scratch disk space usage for starting iteration = 51 MB)

(Running in-core solution)

Volume = 4.48932E+04 Mass = 1.72036E+03

 

Subcase Weight Compliance Weight*Comp.

15 1.000E+00 1.063822E+03 1.063822E+03

17 1.000E+00 4.878881E+01 4.878881E+01

19 1.000E+00 1.512344E+03 1.512344E+03

------------

Sum of Weight*Compliance 2.624955E+03

 

Subcase Mode Buckling Eigenvalue

16 1 8.223809E+00

16 2 8.780534E+00

16 3 1.004761E+01

16 4 1.154478E+01

16 5 1.162290E+01

16 6 1.269527E+01

16 7 1.332321E+01

16 8 1.355273E+01

16 9 1.420672E+01

16 10 1.552684E+01

18 1 4.121904E+01

18 2 4.322639E+01

18 3 4.586251E+01

18 4 5.190211E+01

18 5 5.309297E+01

18 6 5.721141E+01

18 7 6.091533E+01

18 8 6.158154E+01

18 9 6.371840E+01

18 10 6.792025E+01

20 1 6.877833E+00

20 2 7.311026E+00

20 3 8.439872E+00

20 4 9.632784E+00

20 5 9.753691E+00

20 6 1.019711E+01

20 7 1.085420E+01

20 8 1.146192E+01

20 9 1.186033E+01

20 10 1.221147E+01

Post-processing

For this portion, we will review the baseline results using HyperView.

To load the model and results in HyperView:

  1. In the OptiStruct panel, click the green HyperView button.

HyperView is launched and the tail_baseline.h3d model is loaded. The .h3d file contains both model and result data.

To review the displacement results:

  1. Click along the bottom of the GUI to activate the Load Case and Simulation Selection dialog.

  2. Select Subcase – Pressure_only in the Load Case section and Static analysis in the Simulation section.

  3. Click OK.

  4. Click the Contour toolbar button image\contour.gif.

  5. Select Displacement (v).

  6. In the uniform: filed, enter 100.0.

  7. Click Apply.

image\4050_baseline.gif

Displacement contour for pressure_only subcase.

To review the stress results in HyperView:

  1. Click the Entity Attributes toolbar button image\ent.gif.

  2. Check the box for Auto apply mode:.

  3. Click the Off button to the right of Display:.

This will cause any component selected, either in the display or from the list of components, to be undisplayed.

  1. Undisplay all of the components except the ribs by clicking them in the GUI.

  2. Click the Contour toolbar button image\contour.gif or select Contour from the Graphics pull-down menu.

  3. Select Element Stresses (t) from the Result type: menu.

  4. Click Apply.

This shows a contour plot of the von Mises stresses for the metallic ribs (shown below).

image\4050_vonmises.gif

Von mises stress contour for metallic ribs for pressure_only subcase.

  1. Click the Entity Attributes toolbar button image\ent.gif or select Entity Attributes from the Graphics pull-down menu.

  2. Click Flip.

The Ribs component is now undisplayed and the composite laminate components are displayed.

  1. Click the Contour toolbar button image\contour.gif or select Contour from the Graphics pull-down menu.

  2. Set Result type: to Composite Stresses [Ply 1](s) from the first row and Ply Failure from the second row.

  3. Click Apply.

A contour plot of the composite failure indices from the composite skins results, and is shown in the following figure.

After calculating the failure indices for individual plies, OptiStruct calculates the potential failure index for the composite shell element. This is based on the premise that failure of a single layer qualifies as failure of the composite. Thus, a failure index for composite elements is calculated as a maximum of all computed ply and bonding failure indices (note that only plies with requested stress output are taken into account here).

image\4050_composite_lam.gif

Composite failure index contour for laminate skins for pressure_only subcase.

  1. Repeat steps 2 through 12 for the other static subcases to see the stress and failure indices for the baseline analysis.

Defining design variables

We return to HyperMesh now to set up the optimization problem. The first step in this process is to define the design variables. The design variables for this exercise are the rib thicknesses and the laminates used in the composite skins.

To define and reference a thickness design variable for the metallic ribs:

  1. From the Analysis page, select the optimization panel.

  2. From the optimization panel, select the gauge panel.

  3. Select the create subpanel using the radio buttons on the left-hand side of the panel.

  4. With the top toggle, choose value from property.

  5. This sets the initial value of the design variable to be the thickness value defined on the property card.

  6. Toggle to lower bound = for the second toggle and enter 0.01.

This sets the lower bound for the design variable.

  1. Choose upper bound = for the third toggle and enter 2.0.

This sets the upper bound for the design variable.

  1. The following figure shows the how the settings should look.

image\gauge.gif

Gauge panel settings for rib thickness design variable

  1. Click comps and select the Ribs component collector.

  2. Select the type as PSHELL-T.

  3. Click create.

To define design variables for composite laminates with HyperLaminate:

  1. From the 2D page, select the HyperLaminate panel.

This launches the HyperLaminate GUI.

  1. In the tree-structure on the left, click on DESVAR to highlight it.

  2. Right click on the pre-highlighted DESVAR.

A menu appears with options.

  1. Select New.

This creates a new design variable, which is named NewDv1 by default.

  1. Rename the design variable istgf_th (inboard_section_top, glass_fabric, thickness) by double clicking in the text field following Desvar: and overwriting the default design variable name.

  2. Enter 0.25 in the Initial Value: field.

  3. Enter 0.01 in the Lower Bound: field.

  4. Enter 1.0 in the Upper Bound: field.

  5. Click Apply.

  6. In a similar manner, and with identical values, create five more design variables called isbgf_th, mstgf_th, msbgf_th, ostgf_th, and osbgf_th, following the procedure outlined in steps 4 through 9.

Alternately, you can right-click on istgf_th and choose Duplicate from the menu to create an identical design variable. Repeat this process to create the other design variables, then rename the new design variables by right-clicking on them and choosing Rename.

  1. Create twelve more design variables using the information in Table 2.

Name

Initial Value

Lower bound

Upper bound

istgf_or

30

-360

+360

mstgf_or

30

-360

+360

ostgf_or

30

-360

+360

istc_th

0.5

0.01

2.0

mstc_th

0.5

0.01

2.0

ostc_th

0.5

0.01

2.0

isbgf_or

30

-360

+360

msbgf_or

30

-360

+360

osbgf_or

30

-360

+360

isbc_th

0.5

0.01

2.0

msbc_th

0.5

0.01

2.0

osbc_th

0.5

0.01

2.0

A total of eighteen design variables are created, one for the thickness of the glass fabric for each composite laminate component, one for the orientation of the glass fabric for each composite laminate component, and one for the thickness of the core for each composite laminate component. As the laminates are symmetric, the glass fabric will reference the same design variables on either side of the core. We allow the orientation design variables to vary from -360 to +360 since this reduces the likelihood of the orientations settling at local minima.

To reference design variables for composite laminate properties with HyperLaminate:

  1. Click Inboard_section_top under the PCOMP branch of the tree-structure.

Details of the laminate appear in the GUI.

  1. Click the checkbox next to Optimization.

New fields appear in the Entry Rows table, allowing design variables to be associated to ply thicknesses or ply orientations.

  1. Under Ply lay-up order, click on the field under Designvar, under Thickness in row 1.

  2. Choose istgf_th from the pull-down menu.

Now the design variable istgf_th is associated to the thickness of the Glass_fabric material used in ply1, and, in this case, ply3 (as this is a symmetric-midlayer type laminate) of the Inboard_section_top component collector.

  1. Click in the field under Designvar, under Thickness in row 2.

  2. Choose istc_th from the pull-down menu.

Now the design variable istc_th is associated to the thickness of the Core material used in ply2 of the Inboard_section_top component collector.

  1. Click in the field under Designvar, under Orientation in row 1.

  2. Choose istgf_or from the pull-down menu.

Now the design variable istgf_or is associated to the orientation of the Glass_fabric used in ply1 and ply3 of the Inboard_section_top component collector.

  1. Click Update Laminate to save the design variable assignments.

  2. Repeat steps 1 through 9 for the other composite laminate component collectors, associating the appropriate design variables.

  3. From the File pull-down menu, choose Exit.

This will close the HyperLaminate GUI, exporting the design variable and updated laminate information back to HyperMesh.

Defining Responses

Having defined the some design variables, we must now define responses to use in the optimization. For this tutorial, we will use the total mass of the structure, the von Mises stress in the metallic ribs, the composite failure index of the composite skins, and the buckling modes of the structure.

To create optimization responses:

  1. From the Analysis page, select the optimization panel.

  2. Select responses.

  3. Click response= and enter mass.

  4. Click the response type: switch and select mass from the pop-up menu.

  5. Click create.

The optimization response mass, which is the total mass of the structure, is created.

  1. Click response= and enter vm_strs.

  2. Click the response type: switch and select static stress from the pop-up menu.

  3. Click comps and select the Ribs component collector.

A new selector switch appears next to comps.

  1. Click the new switch and select von Mises.

  2. Click the switch next to excluding: elems and select both surfaces.

  3. Click create.

The optimization response vm_strs, which is the von Mises stress for the metallic ribs, is created.

  1. Click response= and enter hl_ist1.

  2. Click the response type: switch and select composite failure from the pop-up menu.

  3. Click comps and select the Inboard_section_top component collector.

  4. Click the switch next to comps and select hill.

  5. Click on switch next to elems and select all plies.

  6. Click create.

The optimization response hl_ist1 is created. This is the hill failure criteria for all plies of the composite skins of the Inboard_section_top component collector.

  1. Repeat steps 12 through 17 to create optimization responses for the hill failure criteria for the plies of the other composite laminate skins.

  2. Click response= and enter buckle.

  3. Click the response type: switch and select buckling from the pop-up menu.

  4. Click Mode Number: and enter 1.

  5. Click create.

The optimization response buckle, which is the lowest calculated buckling mode for the structure, is created.

  1. Click return to return to the optimization panel.

Defining Constraints and an Objective

Finally, the constraints and objectives must be defined. We will attempt to minimize the total mass of the structure, while keeping the von Mises stress in the metallic ribs below yield, the composite failure index of the composite skins below 1.0, and the buckling modes of the structure above 1.0.

  1. Select the dconstraints panel.

  2. Click constraints = and enter cnst1.

  3. Click reponse = and select vm_strs.

  4. Check the box preceding upper bound =.

  5. Click upper bound = and enter 50,000.

  6. Click loadsteps and select the loadsteps pressure_only, tip_load_only, and combo.

  7. Click create.

This defines a constraint on the von Mises stress of the metallic ribs to be less than 50ksi, for all of the static subcases.

  1. Click constraints = and enter cnst2.

  2. Click reponse = and select hl_ist1.

  3. Check the box preceding upper bound =.

  4. Click upper bound = and enter 1.0.

  5. Click loadsteps and select the loadsteps pressure_only, tip_load_only, and combo.

  6. Click create.

This defines a constraint on the hill failure criteria of ply 1 of the composite skins collected in the Inboard_section_top component collector to be less than 1.0. for all of the static subcases.

  1. Repeat steps 8 through 13 for all the other failure criteria responses.

  2. Click constraints = and enter cnst8.

  3. Click reponse = and select buckle.

  4. Uncheck the box preceding upper bound =.

  5. Check the box preceding lower bound =.

  6. Click lower bound = and enter 1.0.

  7. Click loadsteps and select the loadsteps buck_pressure_only, buck_tip_load_only, and buck_combo.

  8. Click create.

This defines a constraint on the lowest calculated buckling mode of the structure to be greater than 1.0 for all of the linear buckling subcases.

  1. Click return to return to the optimization panel.

  2. Select the objective panel.

  3. Click the left-hand switch and select min.

  4. Click response = and choose mass from the pop-up menu.

  5. Click create.

This defines the objective of the optimization to minimize the mass of the structure.

  1. Click return to return to the optimization panel.

To define additional run parameters to aid buckling constraints:

For the buckling constraint to be effectively maintained, an additional parameter needs to be defined.

  1. Select the opti control panel.

  2. Check the box preceding MAXBUCK=.

The box preceding GBUCK= gets checked automatically.

Together, these two options ensure that up to 10 modes are considered in the buckling constraint. Please refer to the OptiStruct on-line help for a more detailed description.

Performing the Optimization

To launch OptiStruct:

  1. From the Analysis page, select the OptiStruct panel.

  2. Following the input file: field, click save as….

A Save file… browser window pops up.

  1. Select the directory where you would like to write the OptiStruct model file and enter the name for the model, tail_opt.fem, in the File name: field.

The .fem filename extension is the suggested extension for OptiStruct input decks.

  1. Click Save.

Note the name and location of the tail_opt.fem file now displays in the input file: field.

  1. Set the memory options: toggle to memory default.

  2. Click the run options: switch and select optimization.

  3. Set the export options: toggle to all.

  4. Click OptiStruct.

This launches an OptiStruct run in a separate shell (DOS or UNIX).

If the optimization was successful, no error messages are reported to the shell. The optimization is complete when the line Processing complete appears in the shell.

Reviewing the Optimization Results

To review the .out optimization summary file:

In the directory where you ran the OptiStruct optimization, you should find a tail_opt.out file. This file contains a summary of the optimization run.

Using a text editor of choice, open the tail_opt.out file.

The file contains:

·    A summary of the finite element model.

·    A summary of the optimization parameters.

·    Memory and disk space estimations.

·    An optimization iteration history.

The value of the objective, the retained constraints, and the design variables are provided for each iteration in the optimization iteration history section. The sample output for the final iteration is shown in the plot of objective against iteration below.

ITERATION 23

the 2nd satisfied convergence ratio = 2.9647E-03

 

Objective Function (Minimize MASS ) = 1.50787E+02 % change = -0.30

Maximum Constraint Violation % = 0.57092E-02 Number = 23482