HS-4420: Optimization Study of a Spherical Impactor

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 Desktop.
  2. In the User Profiles dialog, change the user profile to RADIOSS.
  3. Open model.
    1. From the menu bar, click File > Open > Model.
    2. In the Open Model 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 Tool page, click shape.
    2. Go to the desvar subpanel and switch single desvars to multiple desvars.
      Figure 3.


    3. Enter the following values:
      • initial value: 0
      • lower bound: -1
      • upper bound: 1
    4. Click the shapes collector.
      Figure 4.


    5. Select all of the shapes.
      Figure 5.


    6. Click select.
    7. Click create.
    A shape design variable is created for each shape.
  5. Optional: Animate or visualize shapes.
    1. Click animate.
    2. In the Deformed panel, click linear or modal to animate the shape variables in the modeling window.
    3. While the shape is animating, you can adjust the animation speed by moving the slider as indicated in the image below.
    Figure 6.


  6. Export and save shapes.
    1. Go to the export subpanel.
    2. For analysis code, select HyperStudy.
    3. For sub-code, select Radioss51.
    4. In the File field, enter impactor.shp.
    5. Click export as.
    6. In the Save As dialog, navigate to your working directory and save the file as impactor.shp.
    Figure 7.


    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 desktop.

Create Base Input Template

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

  1. Start HyperStudy.
  2. From the menu bar, click Tools > 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 8.


  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 9.


    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 10.


  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 11.


    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 ${file}.
  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 12.


  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 13.


  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 14 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 14.
Figure 14.


  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 15.


  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 16.


    6. To calculate the max of the expression, add the max function to the beginning of the expression.
      The expression should read: max(saefilter(saefilter(ds_1,ds_2,180)0)).
    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 17.


    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 18.


    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 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 19.


  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 20.


  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 21) 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 21.


    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 22 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 22.


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 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:Post-Process the Screening DOE Study), and clear the corresponding checkboxes for all other input variables.
    Figure 23.


  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 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 twice.
    3. Define Fit Matrix 1 and Fit Matrix 2 by selecting the options indicated in Figure 24.
      Figure 24.


    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 25.


    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 26.


    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 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 27.


  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 28.


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


  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 30.


  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 31.


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


  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 33, there is a small difference in displacements.
    Figure 33.