PDF

Optimizing a Flywheel Profile
Introduction
Flywheels are designed to store kinetic energy by rotating a mass at high speed. The inertial forces load the flywheel causing structural stress which can destroy the flywheel for high rotational frequencies. This model starts out by computing the moment of inertia, the mass, as well as the stress distribution in a simple disk-shaped flywheel. It then uses shape optimization to increase the moment of inertia without increasing the mass or maximum von Mises stress.
Model Definition
The setup of the Solid Mechanics interface is straightforward, and so is the computation of the total mass and moment of inertia via the Mass Properties feature. The main difficulty with the modeling setup thus relates to the use of gradient based optimization in combination with the maximum von mises stress as a constraint.
The Optimization Problem
The maximum von Mises stress will be approximated with a p-norm (p = 10):
(1).
This is a constraint aggregation strategy that performs well for moderate values of p. Too small values cause a bad approximation of the maximum operator, while too large values cause numerical problems for the optimization solver.
The shape optimization problem is setup using the Free Shape Domain, Free Shape Boundary, and Free Shape Symmetry features, such that the inner and outer radii of the flywheel is fixed, that is, it is the profile of the flywheel that is optimized. The Free Shape Boundary feature is set up with a filter radius only one 3rd of the maximum displacement. This means that the slope of the flywheel profile can be as large as 3, which would normally lead to solver errors, but in this model the initial geometry is well suited for a mapped mesh, which is less prone to inverted elements.
Results and Discussion
Figure 1 shows the optimized and initial flywheel profiles.
Figure 1: The von Mises stress for the initial and optimized flywheel design.
The moment of inertia has increased by 9%, while the maximum von Mises stress has been decreased by 36%.
Application Library path: Optimization_Module/Shape_Optimization/flywheel_profile
Modeling Instructions
From the File menu, choose New.
New
In the New window, click  Model Wizard.
Model Wizard
1
In the Model Wizard window, click  2D Axisymmetric.
2
In the Select Physics tree, select Structural Mechanics>Solid Mechanics (solid).
3
Click Add.
4
Click  Study.
5
In the Select Study tree, select General Studies>Stationary.
6
Global Definitions
Parameters 1
Type in the parameters for the initial geometry. Note that we exploit symmetry by only modeling half of the flywheel.
1
In the Model Builder window, under Global Definitions click Parameters 1.
2
In the Settings window for Parameters, locate the Parameters section.
3
Geometry 1
Rectangle 1 (r1)
1
In the Geometry toolbar, click  Rectangle.
2
In the Settings window for Rectangle, locate the Size and Shape section.
3
In the Width text field, type r1-r0.
4
In the Height text field, type H0.
5
Locate the Position section. In the r text field, type r0.
Add Material
1
In the Home toolbar, click  Add Material to open the Add Material window.
2
Go to the Add Material window.
3
In the tree, select Built-in>Structural steel.
4
Click Add to Component in the window toolbar.
5
In the Home toolbar, click  Add Material to close the Add Material window.
Solid Mechanics (solid)
Rotating Frame 1
1
In the Model Builder window, under Component 1 (comp1) right-click Solid Mechanics (solid) and choose Volume Forces>Rotating Frame.
2
In the Settings window for Rotating Frame, locate the Rotating Frame section.
3
In the Ω text field, type omega.
Symmetry Plane 1
1
In the Physics toolbar, click  Boundaries and choose Symmetry Plane.
2
Mesh 1
Mapped 1
In the Mesh toolbar, click  Mapped.
Size
1
In the Model Builder window, click Size.
2
In the Settings window for Size, locate the Element Size section.
3
From the Predefined list, choose Extremely fine.
Definitions
The Mass Properties feature allows computation of the total mass as well as the moment of inertia, but it is not visible by default.
Mass Properties 1 (mass1)
1
In the Model Builder window, under Component 1 (comp1) right-click Definitions and choose Physics Utilities>Mass Properties.
2
In the Settings window for Mass Properties, locate the Density section.
3
From the Density source list, choose From physics interface.
Average 1 (aveop1)
1
In the Definitions toolbar, click  Nonlocal Couplings and choose Average.
2
In the Settings window for Average, locate the Source Selection section.
3
From the Selection list, choose All domains.
Initial Design
1
In the Model Builder window, click Study 1.
2
In the Settings window for Study, type Initial Design in the Label text field.
3
Locate the Study Settings section. Clear the Generate default plots check box.
4
In the Home toolbar, click  Compute.
Results
Initial Design
1
In the Results toolbar, click  Evaluation Group.
2
In the Settings window for Evaluation Group, type Initial Design in the Label text field.
Initial Constraints
1
Right-click Initial Design and choose Global Evaluation.
Compute the initial P-norm von Mises stress.
2
In the Settings window for Global Evaluation, type Initial Constraints in the Label text field.
3
Locate the Expressions section. In the table, enter the following settings:
4
In the Initial Design toolbar, click  Evaluate.
Global Definitions
Parameters 1
1
In the Model Builder window, under Global Definitions click Parameters 1.
2
In the Settings window for Parameters, locate the Parameters section.
3
Component 1 (comp1)
Set up the shape optimization problem and use the p-norm of the von Mises stress as a constraint.
Free Shape Domain 1
1
In the Definitions toolbar, click  Optimization and choose Shape Optimization>Free Shape Domain.
2
In the Settings window for Free Shape Domain, locate the Domain Selection section.
3
From the Selection list, choose All domains.
Symmetry/Roller 1
1
In the Definitions toolbar, click  Optimization and choose Shape Optimization>Symmetry/Roller.
2
Free Shape Boundary 1
1
In the Definitions toolbar, click  Optimization and choose Shape Optimization>Free Shape Boundary.
2
3
In the Settings window for Free Shape Boundary, locate the Control Variable Settings section.
4
In the dmax text field, type 2*H0/3.
5
Locate the Filtering section. From the Rmin list, choose Small.
Definitions
Variables 1
1
In the Model Builder window, under Component 1 (comp1) right-click Definitions and choose Variables.
2
In the Settings window for Variables, locate the Variables section.
3
This P-norm is an approximate max operator, which is compatible with gradient based optimization (a real max operator is not). The p-norm is expected to result in unstable behavior for large p.
Add Study
1
In the Home toolbar, click  Add Study to open the Add Study window.
2
Go to the Add Study window.
3
Find the Studies subsection. In the Select Study tree, select General Studies>Stationary.
4
Click Add Study in the window toolbar.
5
In the Home toolbar, click  Add Study to close the Add Study window.
Initial Design
Step 1: Stationary
1
In the Model Builder window, under Initial Design click Step 1: Stationary.
2
In the Settings window for Stationary, locate the Physics and Variables Selection section.
3
In the table, clear the Solve for check boxes for Deformed geometry (Component 1) and Shape Optimization (Component 1).
Shape Optimization
1
In the Model Builder window, click Study 2.
2
In the Settings window for Study, type Shape Optimization in the Label text field.
3
In the Study toolbar, click  Get Initial Value.
Results
Arrow Line 1
1
In the Model Builder window, expand the Shape Optimization node, then click Arrow Line 1.
2
In the Settings window for Arrow Line, locate the Arrow Positioning section.
3
From the Placement list, choose Mesh nodes.
Shape Optimization
Shape Optimization
1
In the Study toolbar, click  Optimization and choose Shape Optimization.
2
In the Settings window for Shape Optimization, locate the Optimization Solver section.
3
From the Method list, choose IPOPT.
4
Click Add Expression in the upper-right corner of the Objective Function section. From the menu, choose Component 1 (comp1)>Definitions>Mass Properties 1>Moment of inertia, principal values>comp1.mass1.Ip1 - First moment of inertia principal value - kg·m².
5
Click Add Expression in the upper-right corner of the Constraints section. From the menu, choose Component 1 (comp1)>Definitions>Free Shape Domain 1>comp1.fsd1.relVolume - Material volume divided by geometry volume.
6
Click Add Expression in the upper-right corner of the Constraints section. From the menu, choose Component 1 (comp1)>Definitions>Variables>comp1.stress_Pnorm - Scaled P-norm of von Mises stress.
Scale the moment of inertia with the initial value. Constrain the volume and stress from above, while maximizing the moment of inertia.
7
Locate the Objective Function section. From the Objective scaling list, choose Initial solution based.
8
From the Type list, choose Maximization.
9
Locate the Constraints section. In the table, enter the following settings:
10
Locate the Output While Solving section. Select the Plot check box.
11
From the Plot group list, choose Shape Optimization.
12
In the Study toolbar, click  Compute.
The optimization moves mass toward the axis to reduce stress, but this reduces the moment of inertia, so material is also moved to the perimeter of the flywheel. Modify the stress plot to include the initial stress distribution.
Results
Mirror 2D 1
1
In the Results toolbar, click  More Datasets and choose Mirror 2D.
2
In the Settings window for Mirror 2D, locate the Axis Data section.
3
In row Point 2, set R to 1.
4
In row Point 2, set Z to 0.
5
Click to expand the Advanced section. Select the Define variables check box.
Mirror 2D 2
1
Right-click Mirror 2D 1 and choose Duplicate.
2
In the Settings window for Mirror 2D, locate the Data section.
3
From the Dataset list, choose Shape Optimization/Solution 2 (sol2).
Stress (solid)
1
In the Model Builder window, under Results click Stress (solid).
2
In the Settings window for 2D Plot Group, locate the Data section.
3
From the Dataset list, choose Mirror 2D 2.
4
Click to expand the Title section. From the Title type list, choose Manual.
5
In the Title text area, type Surface: von Mises stress, Initial Design (bottom) and Optimized (top).
Surface 2
1
In the Model Builder window, expand the Stress (solid) node.
2
Right-click Results>Stress (solid)>Surface 1 and choose Duplicate.
Deformation
1
In the Model Builder window, expand the Surface 1 node.
2
Right-click Results>Stress (solid)>Surface 1>Deformation and choose Delete.
Surface 2
1
In the Model Builder window, under Results>Stress (solid) click Surface 2.
2
In the Settings window for Surface, locate the Data section.
3
From the Dataset list, choose Mirror 2D 1.
4
Click to expand the Inherit Style section. From the Plot list, choose Surface 1.
Deformation
1
In the Model Builder window, expand the Surface 2 node, then click Deformation.
2
In the Settings window for Deformation, locate the Expression section.
3
In the x component text field, type 0.
4
In the y component text field, type if(mir1side,1,-1)*-3*H0.
5
Locate the Scale section.
6
Select the Scale factor check box. In the associated text field, type 1.
7
In the Stress (solid) toolbar, click  Plot.
It is clear that the optimization has decreased the maximum stress in the flywheel.