HyperWorks Solvers

Design Optimization

Design Optimization

Previous topic Next topic No expanding text in this topic  

Design Optimization

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  

Optimization in RADIOSS was added in version 13.0. It is implemented by invoking the optimization capabilities of OptiStruct and simultaneously using the RADIOSS solver for analysis.

Introduction


Optimization in RADIOSS provides RADIOSS users an easy way to set up optimization problems, and take advantage of optimization solutions in OptiStruct. The equivalent static load method (ESLM) is used to perform the optimization run.

Implementation


The optimization functionality in RADIOSS requires an extra input file apart from the usual Starter and Engine input files. The extra file is an optimization input file termed <name>.radopt (the Starter and Engine files are usually named as <name>_0000.rad and <name>_0001.rad respectively). The optimization input file (<name>.radopt) defines optimization entities such as the optimization objective, optimization constraints, design variables, optimization responses and so on. The typical set of input data required to optimize a model is listed as follows. The various optimization entries in RADIOSS that can be chosen to define the corresponding input data are also described.

Optimization objective

The optimization objective defines the overall objective of the optimization run. It is driven by the application requirements for the model in the real world. For example, the overall objective of an optimized automobile vehicle design can be to minimize the mass of the vehicle. The optimization objective can be defined in RADIOSS by selecting an optimization response and specifying whether the response is minimized or maximized. The /DESOBJ data entry is used to define the optimization objective.

Optimization constraint

The optimization constraint defines the upper and/or lower bound of a specific optimization response. The model is therefore optimized such that the value of the selected response lies within the defined bounds or constraints. For example, for a structure with a minimum mass objective, the stress response at a region of interest can be defined as an optimization constraint. The stress in the selected region can be constrained not to exceed a specific value (upper bound). The /DCONSTR data entry is used to define the optimization constraints in RADIOSS.

Design variables

Design variables typically correlate the properties of a model to the optimization run. They can be linked to the physical properties (for example, shell thickness) of a system via /DVPREL1 entries. The design variables vary (within their defined bounds) based on the optimization objective and the optimization constraints. Design variables are defined by /DESVAR (for size optimization), /DTPL (for topology optimization), /DSIZE (for free-size optimization), /DSHAPE (for Free-shape optimization), and /DTPG (for topography optimization).

Refer to the respective data entry documentation for further information regarding their usage in RADIOSS. If you are an OptiStruct user, you will find that the RADIOSS optimization input entries are very similar to the OptiStruct optimization entries of the same name (for example, /DTPL is similar to the DTPL Bulk Data Entry in OptiStruct).

Passing Bulk Data to OptiStruct input file

Information can be passed from an RADOPT run to the intermediate OptiStruct input file. The /BULK, /BULKFMT, /BULKMAT, and /BULKPROP Block Format Entries are available.

Environment Variable Settings

Set the following environment, if running RADIOSS Optimization with command (not using Solver GUI):

Linux (bash):

export RADIOSS_STARTER=$ALTAIR_HOME/hwsolvers/radios/bin/linux64/<radioss_starter executable>

export RADIOSS_ENGINE=$ALTAIR_HOME/hwsolvers/radios/bin/linux64/<radioss_engine executable>

Windows:

set RADIOSS_STARTER=%ALTAIR_HOME%\hwsolvers\radioss\bin\win64\<radioss_starter executable>

set RADIOSS_ENGINE=%ALTAIR_HOME%\hwsolvers\radioss\bin\win64\<radioss_engine executable>

Running Optimization in RADIOSS

The –radopt run option is used to run the <name>.radopt RADIOSS optimization input file in OptiStruct. OptiStruct then looks for the RADIOSS Starter and Engine files within the same working directory. The following syntax can be used to run the RADIOSS optimization input file in OptiStruct:

 

Using Solver Scripts (Linux machines)

[optistruct@host~]$ $ALTAIR_HOME/scripts/optistruct <name>.radopt –radopt

Using OptiStruct Solver Scripts (Windows machines)

[optistruct@host~]$ $ALTAIR_HOME/hwsolvers/scripts/optistruct.bat <name>.radopt –radopt

Using RADIOSS Solver Scripts (Windows machines)

[optistruct@host~]$ $ALTAIR_HOME/hwsolvers/scripts/radioss.bat <name>.radopt -radopt

Using direct calls to executable (Linux machines)

[optistruct@host~]$ $ALTAIR_HOME/hwsolvers/optistruct/bin/linux64/<optistruct_executable> <name>.radopt –radopt

Using direct calls to executable (Windows machines)

[optistruct@host~]$ $ALTAIR_HOME/hwsolvers/optistruct/bin/win64/<optistruct_executable> <name>.radopt –radopt

The Starter and Engine files (<name>_0000.rad and <name>_0001.rad) should be located in the same directory as <name>.radopt.

Optimization Process in RADIOSS

OptiStruct parses all three decks (optimization, Starter and Engine decks) to construct an optimization model. For each optimization iteration, an updated/optimized Starter file (<name>_rad_s#_i###_0000.rad) and Engine file (<name>_s#_i###_0001.rad) will be written out, where ‘###’ is the optimization iteration number.

rad_optimization

Figure 1: Optimization in RADIOSS process overview

The updated RADIOSS Starter and Engine files will be solved by RADIOSS and the results will be communicated to OptiStruct to update the OptiStruct optimization model.

Implementation sequence

The following steps illustrate the sequential process used to implement optimization in RADIOSS:

1.Pass the optimization file <name>.radopt to OptiStruct using the syntax specified in the Optimization process in RADIOSS section above. OptiStruct will automatically search for <name>_0000.rad and <name>_0001.rad in the same directory.
2.OptiStruct parses the RADIOSS input files, constructs an equivalent OptiStruct model, and continues with the execution of this OptiStruct model.
3.OptiStruct applies the optimized design variables and writes out the updated/optimized RADIOSS Starter/Engine files (<name>_rad_s#_i###_0000.rad and <name>_s#_i###_0001.rad). In the first outer loop, the design variables are not updated yet, and the Starter/Engine files will be identical to the initial user input.
4.RADIOSS solves the updated Starter/Engine files generated in Step 3.
5.OptiStruct reads the RADIOSS results obtained in Step 4 and starts the next optimization run (inner loop).
6.If the results from RADIOSS vary beyond the threshold as compared to the previous outer loop, then the optimization process did not converge. The optimization process is then continued (using the ESLM method) on the updated results from the RADIOSS analysis and new optimized design variables are generated. Steps 3 to 6 are repeated to verify if the process converges after the subsequent iteration. If convergence is achieved, go to Step 7.
7.The process ends and optimized results are output.

rad_optimization_flowchart

Figure 2: An illustration depicting the optimization sequence in RADIOSS and OptiStruct

See Also:

Design Optimization (OptiStruct)