HS-4420: Optimization Study of a Spherical Impactor

Tutorial Level: Advanced Learn how to perform an advanced study that has both size and shape input variables on a RADIOSS finite element model.

Before you begin, copy the model files used in this tutorial from <hst.zip>/HS-4420/ to your working directory.

The steps taken in this tutorial demonstrate how to analyze the input variables in order to identify the most important variables and how to do an Optimization. The objective of the Optimization is to minimize the maximum acceleration of the impactor, while keeping maximum displacement lower than 16 mm.

This model simulates the dynamic impact of a sphere with an initial velocity on a box. There are eight variables: four size variables, which are four box thickness, and four shapes variables.
Figure 1. Size Variables


Figure 2. Shape Variables


Export Shape Parameterization from HyperMesh

  1. Start HyperMesh.
  2. In the startup dialog, change the profile to RADIOSS and click Create Session.
  3. Open model.
    1. From the menu bar, click File > Open > HyperMesh Model.
    2. In the Open File dialog, open the impactor.hm file.
    The impactor.hm database has the Radioss analysis setup, and the shapes have already been created. You must export the shapes variables so that they are included in the template file.
  4. Create shapes.
    1. From the Morph ribbon, click Shapes tool.
      Figure 3.
      The Edit Shapes dialog opens.
    2. For all four shapes, set the Design Variable value to Desvar.
    3. Enter the following values:
      • initial value: 0
      • lower bound: -1
      • upper bound: 1
      Figure 4.


    A shape design variable is created for each shape.
  5. Optional: Animate or visualize shapes.
    1. In the Edit Shapes dialog, right-click on a shape and select Animate to view the shape animation in the modeling window.
    2. While the shape is animating, you can move frame-by-frame using the guide bar and adjust the animation speed/settings by clicking .
    3. Click to return to the shape editor.
    Figure 5.


  6. Export and save shapes.
    1. Select all four shapes then click .
    2. Set the shape format to solver.
    3. For analysis code, select HyperStudy.
    4. For sub-code, select Radioss51.
    5. In the file field, navigate to your working directory and save the file as impactor.shp..
    6. Click Export.
    Figure 6.


    HyperMesh writes the following files:
    • impactor.radioss51.node.tpl: Grid coordinates template
    • impactor.shp: Grid perturbation vector data read by impactor.radioss51.node.tpl
  7. Exit HyperMesh.

Create Base Input Template

In this step, create the base input template in HyperStudy.

  1. Start HyperStudy.
  2. From the menu bar, click Edit > Editor.
    The Editor opens.
  3. In the File field, open the impactor_0000.rad file.
  4. Right-click anywhere in the editor and select Select Nodes > /NODE from the context menu.
    All of the /NODE cards in the impactor_0000.rad file highlight.
    Figure 7.


  5. Right-click on the highlighted cards and select Include Shape from the context menu.
  6. In the Shape Template dialog, open the impactor.radioss51.node.tpl file.
    The shape variables are created and the grid is replaced by the parameter file (which contains the grid parameterized by the shapes) exported during the step Export Shape Parameterization from HyperMesh.
  7. Create parameter.
    1. Select the thickness value for prop_external_skin.
      In a RADIOSS deck, each field within a card is 20 characters long.
      Tip: To assist you in selecting 20-character fields, press Control to activate the Selector (set to 20 characters) and then click the value.
      Figure 8.


    2. Right-click on the highlighted fields and select Create Parameter from the context menu.
      The Parameter: varname_1 dialog opens.
    3. In the Label field, enter th_external_skin.
    4. Modify bounds.
      • Lower Bound: 1.0
      • Nominal value: 1.0
      • Upper Bound: 2.0
    5. In the Format field, enter %20.5f.
    6. Click OK.
    Figure 9.


  8. Define three more input variables for thickness using the information provided in Table 1:
    Table 1.
    Input Variable Label Lower Bound Nominal Value Upper Bound Format
    prop_internal_skin th_internal_skin 1.0 1.0 2.0 %20.5f
    prop_external_flange th_external_flange 1.0 1.0 2.0 %20.5f
    prop_internal_flange th_internal_flange 1.0 1.0 2.0 %20.5f
  9. Click OK to close the Editor.
  10. In the Save Template dialog, navigate to your working directory and save the file as impactor.tpl.

Perform the Study Setup

  1. Start a new study in the following ways:
    • From the menu bar, click File > New.
    • On the ribbon, click .
  2. In the Add Study dialog, enter a study name, select a location for the study, and click OK.
  3. Go to the Define Models step.
  4. Add a Parameterized File model.
    1. From the Directory, drag-and-drop the impactor.tpl file into the work area.
      Figure 10.


    2. In the Solver input file column, enter impactor_0000.rad.
      This is the name of the solver input file HyperStudy writes during the evaluation.
    3. In the Solver execution script column, select RADIOSS.
    4. In the Solver input arguments column, enter -nproc 4 after ${filepath}.
  5. Define a model dependency
    1. Click Model Resources.
      The Model Resource dialog opens.
    2. Select Model 1 (m_1).
    3. Click Resource Assistant > Add File.
    4. In the Select File dialog, navigate to your working directory and open the impactor_0001.rad file.
    5. Set Operation to Copy.
    6. Click Close.
    Figure 11.


  6. Click Import Variables.
    Eight input variables are imported from the impactor.tpl resource file.
  7. Go to the Define Input Variables step.
  8. Review the input variable's lower and upper bound ranges.

Perform Nominal Run

  1. Go to the Test Models step.
  2. Click Run Definition.
    An approaches/setup_1-def/ directory is created inside the Study Directory. The approaches/setup_1-def/run__00001/m_1 directory contains the input file, which is the result of the nominal run.

Create and Evaluate Output Responses

In this study, you want to analyze the maximum acceleration and the maximum displacement observed by the box. This study is a function of the time; you need to extract the maximum of each output response vector over time.

  1. Go to the Define Output Responses step.
  2. Create a file source for time.
    1. Click the Data Sources tab.
    2. From the Directory, drag-and-drop the impactorT01 file, located in approaches/setup_1-def/run__00001/m_1, into the work area.
      The Data Source Builder dialog opens.
    3. For Tool, select File Source.
    4. Define the following options:
      • Type: Time
      • Request: Time
      • Component: Time
    5. Click OK.
    Figure 12.


  3. Create a second file source for impactor acceleration along the Z axis by repeating step 2 with the following changes:
    • Type: Node/TH_node_sphere
    • Request: 4206 rigid_sphere_4206
    • Component: AZ-Z Acceleration
  4. Create a third file source for impactor displacement along the Z axis by repeating step 2 with the following changes:
    • Type: Node/TH_node_sphere
    • Request: 4206 rigid_sphere_4206
    • Component: DZ-Z Displacement
All of the result vectors for the Max_Acceleration output response are created. The left graph seen in Figure 13 has some noise. To eliminate the noise, you will use a filter and work on the filtered output response as demonstrated in the right graph shown in Figure 13.
Figure 13.


  1. Add two output responses.
    1. Click the Define Output Responses step.
    2. Click Add Output Response twice.
    3. In the work area, change the labels for the output responses to Max_Acceleration and Max_Displacement.
    Figure 14.


  2. Define the Max_Acceleration output response.
    1. In the Expression column of the output response Max_Acceleration, click (...).
    2. In the Expression Builder, click the Functions tab.
    3. From the list of functions, select saefilter.
      This function will apply a filter to the acceleration vector.
    4. Click Insert Varname.
      The function saefilter(,,) appears in the Evaluate Expression field. You can now add the time vector and the acceleration vector as arguments to the function, with a class parameter of 180.
    5. In the Evaluate Expression field, enter (ds_1,ds_2,180) in the saefilter function.
      Figure 15.


    6. To calculate the max of the expression, add the max function to the beginning of the expression.
      The expression should read: max(saefilter(ds_1,ds_2,180)).
    7. To express the result in G, divide the max of the expression by 9810.
      The expression should read: max(saefilter(ds_1,ds_2,180)/9810).
    8. Click OK.
  3. Define the Max_Displacement output response.
    1. Optional: Plot the displacement with respect to the time, to obtain the curve illustrated below:
      Figure 16.


    2. In the Expression column of the output response Max_Displacement, click (...).
    3. In the Expression Builder, click the Functions tab.
    4. From the list of functions, select abs.
    5. Click Insert Varname.
      The function abs() appears in the Evaluate Expression field.
    6. From the list of functions, select min.
    7. Click Insert Varname.
      The expression should now read, abs(min()).
    8. In the Evaluate Expression field, enter ds_3 in the min function.
      Figure 17.


    9. Click OK.
  4. Click Evaluate to extract the response values.

Run Screening DOE Study

Reduce the number of input variables by running a screening experiment.

The model has 8 variables which may lead to high computation times for direct optimization or even for creating a response surface. A full factorial experiment with 8 factors at 2 levels will require 28 (256) runs and with 3 levels, it will increase to 6561 runs. You will try to screen out some input variables by first doing a Fractional Factorial screening DOE.
  1. Add a DOE.
    1. In the Study Explorer, right-click and select Add from the context menu.
      The Add dialog opens.
    2. From Select Type, choose DOE.
    3. For Definition from, select an approach.
    4. Select Setup and click OK.
  2. Go to the DOE 1 > Specifications step.
  3. In the work area, set the Mode to Fractional Factorial.
  4. In the Settings tab, set Resolution to IV.
    Note: Resolution IV enables an estimate of main effects unconfounded by two-factor interactions. It also enables an estimate of two-factor interaction effects, which may be confounded with other two-factor interactions.
    Figure 18.


  5. Verify that the Number of Runs is set to 16.
  6. Click Apply.
  7. Go to the DOE 1 > Evaluate step.
  8. Click Evaluate Tasks.
  9. Go to the DOE 1 > Post-Processing step.
  10. Click the Linear Effects tab to review the linear effects.
    Observe the main effect of the input variables on both output responses.
    Figure 19.


  11. Click the Pareto Plot tab, then use the Channel selector to select both of the output responses.
    A linear effects plot and a pareto plot with the Linear Effects option enabled (shown in Figure 20) provide the same information. However, with a pareto plot, you can use a statistical measure (that is, the 80-20 rule) to decide which input variables are more significant and which input variables can be neglected.
    Figure 20.


    For this tutorial, you will use the 80/20 rule to eliminate input variables that are not significant to the study. The 80/20 rule is a Pareto principle that proposes 80% of the total effects comes from only 20% of the variables.
    Note: You should also use other practices to eliminate input variables that you feel should be taken in consideration.
    For screening purpose, you can see which input variables contribute to 80% or more of the given output response. In Figure 21 you can see the following:
    • For Max_Acceleration, the input variables length_internal, th_internal_skin, and th_external_skin contribute to 80% of the linear effect.
    • For Max_Displacement, the input variables length_internal and th_internal_skin fall under the 80/20 rule.
    For n responses, you can list out the input variables that follow the 80/20 rule, and take union of the sets. In this case, the input variables that follow the 80/20 rule include: length_internal, th_internal_skin, and th_external_skin. This narrows your list to three significant input variables.
    Figure 21.


Run DOE Study for Approximation

Since this optimization is based on response surfaces, a central composite experiment will be used, which will create a 2nd order response surface.
  1. Add a DOE.
    1. In the Study Explorer, right-click and select Add from the context menu.
      The Add dialog opens.
    2. From Select Type, choose DOE.
    3. For Definition from, select an approach.
    4. Select Setup and click OK.
  2. Go to the DOE 2 > Definition > Define Input Variables step.
  3. In the Active column, keep only the three significant input variables active (established in the step: Run Screening DOE Study), and clear the corresponding checkboxes for all other input variables.
    Figure 22.


  4. Go to the DOE 2 > Specifications step.
  5. In the work area, set the Mode to Central Composite.
  6. Click Apply.
  7. Go to the DOE 2 > Evaluate step.
  8. Click Evaluate Tasks.

Run DOE Study for the Validation Matrix

Other points will be used to check the quality of the approximation.

The points will be defined by a new DOE. In this DOE study, a Latin HyperCube of 10 runs will be used.
Repeat the step Run DOE Study for Approximation to add a third DOE.
  1. In the Specifications step, set the Mode to Latin HyperCube.
  2. In the Settings tab, change the Number of Runs to 10.

Create Fit

  1. Add a Fit.
    1. In the Study Explorer, right-click and select Add from the context menu.
    2. In the Add dialog, select Fit Existing Data and Setup, and click OK.
  2. Import matrix.
    1. Go to the Fit > Specifications step.
    2. Click Add Matrix.
    3. Define Matrix 1 and Matrix 2 by selecting the options indicated in Figure 23.
      Figure 23.


    4. Click Apply.
  3. Review input variables.
    1. Go to the Fit > Definition > Define Input Variables step.
    2. Only the length_internal, th_internal_skin, and th_external_skin input variables should be active.
  4. Define specifications.
    1. Go to the Fit > Specifications step.
    2. In the work area, Fit Type column, select Moving Least Squares (MLSM) for all output responses.
      Figure 24.


    3. In the Settings tab, verify that Regression Model is set to Linear for all output responses.
      Note: It is advisable to start with lowest order and increment it in case model Residuals and Diagnostics do not look feasible.
      Figure 25.


    4. Click Apply.
  5. Go to the Fit > Evaluate step.
  6. Click Evaluate Tasks.
  7. To assess the accuracy of the regression equations, go to the Fit > Post-Processing step and click the Residuals and Diagnostics tab.
  8. To review the output response curves and surfaces, click the Trade-Off tab.
    In the Trade-Off 3D tab, use the Channel selector to plot input variables and output responses. The values for the input variables which are not plotted are modified in the top frame (Inputs). Move the sliders in the Value column to modify the other input variables, while studying the output response throughout the design space.

Run Optimization

  1. Add an Optimization.
    1. In the Study Explorer, right-click and select Add from the context menu.
    2. In the Add dialog, select Optimization.
    3. For Definition from, select Setup and click OK.
  2. Modify input variables.
    1. Go to the Optimization > Definition > Define Input Variables step.
    2. In the Active column, clear the checkboxes for all input variables except length_internal, th_internal_skin and th_external_skin.
  3. Go to the Optimization > Definition > Define Output Responses step.
  4. Click the Objectives/Constraints - Goals tab.
  5. Apply an objective on the Max Acceleration output response.
    1. Click Add Goal.
    2. In the Apply On column, select Max Acceleration.
    3. In the Type column, select Minimize.
    Figure 26.


  6. Apply a constraint on the Max_Displacement output response.
    1. Click Add Goal.
    2. In the Apply On column, select Max_Displacement.
    3. In the Type column, select Constraint.
    4. In column 1, select <= (less than or equal to).
    5. In column 2, enter 16.
    Figure 27.


  7. Modify evaluation source.
    1. Click the Define Output Responses tab.
    2. In the Evaluate From column, select Fit 1 for both output responses.
    Figure 28.


  8. Go to the Optimization > Specifications step.
  9. In the work area, set the Mode to Genetic Algorithm (GA).
  10. Click Apply.
  11. Go to the Optimization > Evaluate step.
  12. Click Evaluate Tasks.
    The program will optimize the design that minimizes the maximum acceleration while keeping the displacement of node 35527 smaller than 16.
  13. Click the Iteration Plot tab to monitor the Optimization iteration.
    Figure 29.


  14. Click the Iteration History tab to review a table of each iteration.
    The iterations that do not respect the constraint are displayed red, the optimal design is displayed green.

Run Verification

In this step, you will run a Verification to check if the solution found by the approximation is close to the solver results.

  1. Add a Verification.
    1. Go to the Optimization > Evaluate step.
    2. Click Verify.
    Figure 30.


  2. Go to the Verification > Specifications step.
  3. In the work area, set the Mode to Verify Optimal.
    Figure 31.


  4. Click Apply.
  5. Go to the Verification > Evaluate step.
  6. Click Evaluate Tasks.
  7. Go to the Verification > Post-Processing step.
  8. Click the Delta Summary tab.
  9. Hover your cursor over the value of the Max-Displacement column to review the difference between the fit predicted values (original value) and the solver run results (verification value).
    As shown in Figure 32, there is a small difference in displacements.
    Figure 32.