ACU-T: 7001 Shape Optimization using HyperMorph
Prerequisites
Prior to starting this tutorial, you should have already run through the introductory tutorial, ACU-T: 1000 HyperWorks UI Introduction, and have a basic understanding of HyperMesh, AcuSolve, and HyperView. To run this simulation, you will need access to a licensed version of HyperMesh and AcuSolve.
Prior to running through this tutorial, copy HyperMesh_tutorial_inputs.zip from <Altair_installation_directory>\hwcfdsolvers\acusolve\win64\model_files\tutorials\AcuSolve to a local directory. Extract ACU-T7001_ShapeOptimization.hm from HyperMesh_tutorial_inputs.zip.
Since the HyperMesh database (.hm file) contains meshed geometry, this tutorial does not include steps related to geometry import and mesh generation.
Problem Description
Optimization, in simple terms, is the process of selecting a best input from a set of available alternatives. AcuSolve offers you two options to setting up an optimization study: design optimization and parametric studies. Design optimization enables you to optimize an objective function subject to certain constraints and satisfaction of flow equations. The design optimization may be considered as a sequence of cases, where each case first runs the optimizer and updates the design variables and then solves the flow equations for a number of time steps until convergence. Sample data is gathered at the end of each time step.
The optimizer solution consists of:
- Constructing the response surface from the set of samples.
- Running the optimizer on the response surface.
- Updating the design variables.
The geometry for this problem consists of a simple pipe channel with perfectly circular cross-section as the base shape. Water enters the Inlet at the rate of 0.0003 kg/s and the outlet is a standard pressure outlet at zero relative pressure. Walls of the channel are no-slip walls.
Open the HyperMesh Model Database
Set the Global Simulation Parameters
Set the Analysis Parameters
Specify the Solver Settings
Set the Nodal Output Frequency
Create Mesh Motion and Set the Boundary Conditions and Material Model Parameters
Create Mesh Motion
An optimization study can be performed in AcuSolve using either volume morph shapes or surface morph shapes. If volume morph shapes are used for simulation, you do not need to define mesh motion, as the volume nodes will move using the input from morph shapes. If surface morph shapes are used for simulation, interpolated mesh motion is needed to define the motion of volume nodes in the model. For this tutorial, surface morph shapes with interpolated mesh motion is used.
Specify the Boundary Conditions and Material Models Parameters
Set Up Optimization Parameters
Generate and Export Morph Shapes
HyperMorph is used to parameterize the shape of the design. You will create morph shapes by moving the surface nodes. The volume nodes will be taken care of using the interpolated mesh motion feature of HyperMesh.
Define the Design Variable
- Right-click on 10.Optimization in the Solver Browser and select from the context menu.
- Rename the variable to outflow_expand and press Enter.
- In the Entity Editor, set the Initial Value to 0.7.
- Set the Lower Bound to 0.2.
- Set the Upper Bound to 1.5.
- Set the Max Update Factor to 0.02.
- Follow the above steps to create two new design variables, length_z and center_y. Use identical parameters as above to define these two new design variables.
Define the Response Variable
Define the Objective
- Right-click on Optimization in the Solver Browser and select from the context menu.
- Rename the objective to maximize_inflow_pressure and press Enter
- In the Entity Editor, set the Objective Type is set to Maximize.
- Select inflow_pressure as the Response variable.
Set Up the Nodal Shapes
Set Up Optimization Controls
- In the Entity Editor, expand .
- In the Entity Editor, select maximize_inflow_pressure as the Objective.
- Verify that the Optimizer convergence tolerance is set to 1e-4.
- Save the model.
Compute the Solution
In this step, you will launch AcuSolve directly from HyperMesh and compute the solution.
Run AcuSolve
Monitor the Solution with AcuProbe
AcuProbe can be used to monitor various variables over solution time. An AcuProbe window will be launched by the Solver Job Launcher if the Auto run AcuProbe flag is set to On.
AcuGetDv and AcuGetRsp
AcuSolve provides two post-processing utilities specific to optimization problems, AcuGetDv and AcuGetRsp. AcuGetDv provides the values of the design variables for all the cases included in the solution. AcuGetRsp provides the values of the response variables for all the cases included in the solution.
Post-Process the Results with HyperView
Open HyperView and Load the Model and Results
Create the Pressure Variation Animation
Save the Animation
Summary
In this tutorial, you learned how to set up and solve a shape optimization problem with AcuSolve using HyperMorph. You started by importing the model database and then created mesh morphs. Then, you defined the design variables, the response variables, and set up the objectives of the problem using the response variables. Once the solution was computed using AcuSolve, you used the AcuSolve Command Prompt to get the design variables and response variables used for the optimization cases. Finally, you used HyperView to visualize how the shape of the pipe changed with the optimization steps.