The following will describe how to create the model. From the File menu, choose New NEW
1 In the New window, click the Model Wizard button
MODEL WIZARD
1 In the Model Wizard window, click the 2D button
2 In the Select Physics tree, select Mathematics>Deformed Mesh>Deformed Geom-etry (dg).
3 Click the Add button
4 In the Select Physics window, select Structural Mechanics>Solid Mechanics (solid).
5 Click the Add button
6 In the Select Physics tree, select Mathematics>Optimization and Sensitivity>Optimization (opt).
7 Click the Add button.
8 Click the Study button
9 In the tree, select Preset Studies for Selected Physics>Stationary 10 Click the Done button
GLOBAL DEFINITIONS Parameters
1 On the Home toolbar, click Parameters
2 In the Parameters settings windows, locate the Parameters section 3 Click Load from file
4 Browse to find the file called beam_shape_optimization_parameters.txt and double-click it to load the parameters
GEOMETRY 1 Rectangle 1
3.3 Modeling instructions 17
1 In the Model Builder window, right-click Geometry 1 and choose Rectangle 2 In the Rectangle settings window, locate the Size section
3 In the Width edit field, type a 4 In the Height edit field, type b 5 Click the Build All Objects button
MATERIALS Add material
1 Go to the Add Material window
2 In the tree, select Built-In>Structural Steel
3 In the Add material window, click Add to Component and choose Component 1
SOLID MECHANICS (SOLID) Fixed Constraint 1
1 On the Physics toolbar, click Boundaries and choose Fixed Constraint 2 Select Boundary 1 only.
Boundary Load 1
1 On the Physics toolbar, click Boundaries and choose Boundary Load 2 Select Boundary 4 only.
3 In the Boundary Selection window, locate the Force section 4 Under Load type, change it to Total force
5 Let the x component remain 0, but change the y component to -F_T
DEFORMED GEOMETRY (DG) Free Deformation 1
1 On the Physics toolbar, click Domains and choose Free Deformation
2 Select Domain 1.
Prescribed Mesh Displacement 2
1 On the Physics toolbar, click Boundaries and choose Prescribed Mesh Displacement 2 Select Boundary 1 only.
3 In the Prescribed Mesh Displacement settings window, locate the Prescribed Mesh Displacement section
4 In the dY field type q1*s
Prescribed Mesh Displacement 3
1 On the Physics toolbar, click Boundaries and choose Prescribed Mesh Displacement 2 Select Boundary 3 only.
3 In the Prescribed Mesh Displacement settings window, locate the Prescribed Mesh Displacement section
4 In the dY field type q1*(1-s)+q3*s+q2*sin(pi*s)
Prescribed Mesh Displacement 4
1 On the Physics toolbar, click Boundaries and choose Prescribed Mesh Displacement 2 Select Boundary 4 only.
3 In the Prescribed Mesh Displacement settings window, locate the Prescribed Mesh Displacement section
4 In the dY field type q3*(1-s)
MESH 1 Free Quad 1
1 In the Model Builder window, under Component 1 (comp1) right-click Mesh 1 and choose Free Quad
2 In the Free Quad settings window, locate the Domain Selection section 3 From the Geometric entity level list, choose Domain
3.3 Modeling instructions 19
4 Select Domain 1
Size
1 In the Model Builder window, under Component 1 (comp1)>Mesh 1 click Size 2 In the Size settings window, locate the Element size section
3 Under Predefined, select Extra fine from the list 4 Click the Build All button
STUDY 1
Before starting the actual optimization it can be a good idea to check the model by solving for the default parameters. In this way you have a good reference point when doing the optimiza-tion later.
Solver 1
1 On the Study toolbar, click Show Default Solver
2 In the Model Builder window, expand the Study 1>Solver Configurations node 3 In the Model Builder window, expand the Solver 1 node, then click Stationary Solver
1
4 In the Stationary Solver settings window, locate the General section 5 From the Linearity list, choose Nonlinear
6 On the Home toolbar, click Compute
RESULTS von Mises Stress
The default plot in the main window shows the von Mises stress surface distribution in the beam. Note that stress reaches its maximum near the fixed constraint and is practically zero where we apply the force. This is as expected.
Right now the deformation is being displayed as well for the stress plot, to disable this do the following
1 In the Model Builder window, locate Results>Stress (solid)
2 Right-click Stress (solid) and click Rename, rename it to ”von Mises stress, solution 1”
3 Expand the von Mises stress, solution 1 node, then the Surface 1 node
4 Right-click Deformation 1 and click delete. The plot should automatically be replotted without showing the deformation
Displacement
1 On the Results toolbar, click 2D Plot Group
2 Right-click the new 2D Plot Group and click Rename. Change the name to Y-displacement, solution 1
3 Right-click the plot group and click Surface
4 The Surface window will open, locate the Expression section. The standard expression is solid.disp, change this to v either by editing the field or by cliking the button Replace expression and then navigating to Solid Mechanics>Displacement>Displacement Field (material)>Displacement Field, Y component (v)
5 To show the actual deformation (although scaled), right-click Y-displacement, solution 1>Surface 1 and click Deformation. The Deformation window will show the scaling factor under the section Scale
ADD STUDY
1 To add a new study for the optimization, go to the Home toolbar and click Add Study 2 Go to the Add Study window
3 Find the Studies subsection. In the tree, select Preset Studies>Frequency Domain 4 In the Add study window, click Add study
5 On the Home toolbar, click Add Study to close the Add Study window
STUDY 2
Optimization area constraint
1 On the Physics toolbar, click Optimization
2 Locate the Domains button, and click Integral Inequality Constraint 3 In the Integral Inequality Constraint window, select Domain 1
4 Locate the Constraint section and under Constraint expression type 1
3.3 Modeling instructions 21
5 Locate the Bounds section, don’t change the Lower Bound, but edit the Upper Bound, type a*b
6 The Integral Inequality Constraint will automatically be added to the optimization in Study 2
Optimization
1 On the Study toolbar, click Optimization. This will add the Optimization module to Study 2
2 In the Optimization settings window, locate the Optimization Solver section 3 From the Method list, choose SNOPT
4 In the Optimality tolerance edit field, type 1e-4
5 In the Maximum number of objective evaluations edit field, type 200 6 Locate the Objective Function section. In the table, enter following settings:
Expression Description
comp1.solid.Ws_tot Total elastic strain energy
7 Locate the Control Variables and Parameters section. Click Load from File 8 Browse to find the file called beam_shape_optimization_control_parameters.txt 9 Locate Output While Solving section and make sure that Plot is checked
Solver 2
1 On the Study toolbar, click Show Default Solver
2 In the Model Builder window, expand the Study 2>Solver Configurations>Solver 2>Optimization Solver 1 node, then click Stationary 1
3 In the Stationary settings window, locate the General section 4 In the Relative tolerance edit field, type 1e-6
5 From the Linearity list, choose Automatic
6 Right-click Study 2 and press the Compute button
RESULTS Plots
The plots from solution 1 can be duplicated relatively easy thus avoiding the same procedure all over again.
1 In the Model Builder window under Results, locate the von Mises stress, solution 1 2 Right-click it and choose Duplicate
3 Right-click the new plot group and rename it to von Mises stress, solution 2 4 In the 2D Plot Group window, locate the Data section
5 In the drop down menu change it from Solution 1 to Solution 2 6 Click Plot
7 Follow the same procedure for the Y-displacement
Probes
It is possible to see the parameter values for each iteration by using probes. In addition it’s also possible to show the values of stresses, displacement and the total elastic strain energy.
1 In the Model Builder window under Component 1, locate the Definitions menu 2 Right-click it and choose Probes>Domain Probe
3 The Domain Probe window will open, locate the Expression section. The expression will by default be set to solid.disp, change this to solid.mises, which is the von Mises stress 4 Right-click Domain Probe 1 and click Rename
5 Rename the probe to von Mises
6 Repeat step 1-5 for the following parameters: strain energy, total strain energy, displacement (Displacement field, Y component (v)), q1, q2 and q3.
Area Probe
1 In order to create an Area Probe, first right-click Definitions, choose Component Cou-plings>Integration
2 The Integration window will open, select Domain 1
3 Now create a new Domain Probe using the steps from above. Rename it Area 4 In the Expression field type intop1(1)
CHAPTER 4
Optimization of a plate with a hole
This model will investigate how to apply boundary shape optimization to a simple bracket. The model will focus on shape optimization when more than one boundary has to be parameterized in both the x and the y direction.
4.1 Model definition
The quadratic plate with a hole in the middle and biaxially loaded is a typical problem within shape optimization. The model can be seen in Figure 4.1(a), it has dimensions S× S × d = 10m× 10 m × 0.1 m and radius, r = 4 m. The plate is made in structural steel meaning it has a total weight of 68633 kg. The boundaries are loaded with σ1 in the x direction and σ2 in the y direction in such a way that they both experience tensile stress.
In this model a survey of how the relation between the stresses σ1 and σ2 will influence the shape optimization parameters will be conducted. First for σ2/σ1 = 1, then for σ2/σ1 = 2 and at last for σ2/σ1 = 3. It is expected for the first case, σ1 = σ2, that the shape is already optimal.
In geometric modeling it is only necessary to model a quarter of the model because of symmetry, see Figure 4.1(b). The boundaries, where the cut is made, is replaced with rollers to represent the missing sides. Figure 4.1(b) also shows which sides are to be parameterized.The left side, s1(y) and s3(x) are only to parameterized in one direction, respectively the y and x direction, whereas s2(x, y) is to be parameterized in both directions. The parameterization will change the shape of the hole by changing the curve of the hole and by changing the coordinates of the endpoints of the curve.
The parameterizations describing s1 and s3 are very similar to the parameterizations of the beam in Chapter 3:
s1,y(s) = p1(1− s)
s3,x(s) = p3s (4.1)
Where p1 and p3 are both optimization parameters and s∈ [0, 1]. The boundary, s2, is a bit more difficult to parameterize. At first a parameterization similar to the one from Chapter 3 was used, but with the addition of a parameterization in the x direction:
s2,x(s) = p3(1− s)
s2,y(s) = s1,y(0)s + p2sin(πs) (4.2)
This solution, however, proved unsuccessful due to slope at the end points which created unfeasible results. This can be seen in Figure 4.2, the stress concentration for this result was evenly distributed but the transition between the joints was not smooth. Therefore the resulting hole looked the number 8, which is not desirable and created high stress peaks at the joints.
S
(a) Mechanical analysis setup with dimensions S = 10m, r = 4 m, and d = 0.1 m
(b) Shape optimization setup. Due to symmetry only 1/4 of the plate needs to be analysed
Figure 4.1: Plate with a hole
Figure 4.2: v. Mises stress showing the parameterization of the plate with equation (4.2) and σ2/σ1
In order to get a nice transition between the joints, the curve needs to have zero slope at both endpoints. The equation for the dY displacement will be found first. The slope at the ends must be zero, meaning that the derivative of the parameterization must be zero at s = 0 and s = 1. At the right end point the parameterization should be zero when s = 0, and at the left
4.1 Model definition 25
end point equal to p1 when s = 1. These demands can be expressed mathematically in the following way:
In order to get zero slope at the end points a cosine curve forms the basis of the parameteriza-tion. In order to get the curve to begin and end in the same y-coordinate only equal integers enter in the first cosine term, furthermore the whole term is subtracted from 1 to shift the whole function above y = 0. This equals the following expression where p2/2 controls the height of the curve:
p2
2 (1− cos(nks))
In the above expression k = 2π, n∈ Z, and p2 is an optimization parameter.
The left end point of s2,y needs to match its y-coordinate with the s1,y(s) expression from equation (4.1). This can be done by adding the expression p21(1− cos(πs)). When combining the terms the following equation is generated:
s2,y(s) = p2
2(1− cos(nks)) + p1
2(1− cos(πs)) (4.4)
Where k = 2π, n∈ Z, and p1 and p2 are both optimization parameters.
The boundary, s2,x was at first parameterized with the expression p3(1− s), although this expression did not yield zero slope due to the fact that the parameterization in COMSOL is a parameterization of the boundary arc length and not the original x-coordinate. Therefore it was necessary to make a transformation to a trigonometric expression. The problem is outlined in Figure 4.3.
Figure 4.3: Illustration of the transformation of the x-coordinates radial to the boundary
The boundary curve can be described in terms of s with equation (4.5) and the x-coordinate can be described in terms of ϕ with equation (4.6). By combining these two equations the
transformation for describing the x-coordinate in terms of s is complete:
By combining the above with the parameterization of s2,x(s)it becomes:
s2,x(s) = p3cos(πs 2
) (4.8)
So to repeat, the whole parameterization of the model is:
s1,y(s) = p1(1− s)
Figure 4.4 shows the comparison between the original mesh and the mesh after the parame-terization. The figure also illustrates that there are now zero slope at the end points of the curve.
(a) The mesh of the orignal plate with parameters p1= 0, p2= 0, and p3= 0
(b) The mesh after the parameterization, here with parameters p1= 1, p2= 0.5, and p3=−3
Figure 4.4:
The objective function for this model will also be the total elastic strain energy seeing as the stiffest design is equal to the design with lowest stress concentration[14].
4.2 Results and discussion 27
4.2 Results and discussion
In this section the results of the optimization will be presented and discussed. Three different cases will be looked into; σ2/σ1 = 1, σ2/σ1 = 2, and σ2/σ1 = 3. The objective of the shape optimization is to even out the stresses and reduce the peak stress without increasing the area.
Throughout the analysis an integral inequality constraint will be used to make sure the area doesn’t exceed the original area domain.
First case: σ2/σ1=1
In the first case the plate is loaded with stress of the same magnitude on the right and upper boundary in the x and y direction, respectively. When the tension rate is equal to 1, the optimal shape is expected to be a circular hole to have evenly distributed stresses. Reference values for the non-optimized solution can be found in Table 4.5, and the stress distribution can be seen on Figure 4.6.
σvM,max [MPa] U [J/m3] Utot [J] Area [m2]
2.12 4.08 35.69 87.43
Table 4.5: Reference values for the plate with σ1 = σ2= 1000kN
Figure 4.6: Standard plate with σ2/σ1 = 1
As seen on Figure 4.6 the stress is already evenly distributed. The optimization solver should return the optimization parameters p1 = p2 = p3 = 0, this is however not the case. The parameters are slightly optimized but still practically zero. The reason for this is due to numerical approximation and is explained in the third case.
Second case: σ2/σ1 =2
The results for the non-optimized plate can be seen on Table 4.7 and Figure 4.8. The right boundary is loaded with 1000 kN and the upper boundary with 2000 kN.
σvM,max [MPa] U [J/m3] Utot [J] Area [m2]
6.20 12.32 107.70 87.43
Table 4.7: Reference values for the plate with σ1 = 1000kN and σ2 = 2000kN
Figure 4.8: Standard plate with σ2/σ1= 2
It is quite clear from Figure 4.8 that the shape of the hole is not optimal when the tensile ratio is 2. The shape optimization is performed resulting in Table 4.9 and Figure 4.10. Complete tables, log files and higher-resolution plots can be found in Appendix B.2.
σvM,max [MPa] U [J/m3] Utot [J] Area [m2]
3.27 11.10 97.05 87.43
Table 4.9: Optimized values for the plate with σ1 = 1000kN and σ2 = 2000kN with opti-mization parameters p1 = 3.01, p2 = 0.40, and p3 = 2.09
4.2 Results and discussion 29
(a) The circular hole has become an ellipse and the von Mises stress is now evenly distributed along the bound-ary
(b) The von Mises stress as a function of the arc length for s2. The blue curve is the original design and the green is the optimized shape
Figure 4.10: Optimized plate with optimization parameters p1 = 3.01, p2 = 0.40, and p3 = 2.09
By comparing the peak stresses of the original model and the optimized one it can be seen that the peak stress has been reduced by 89.6% without increasing the area. From Figure 4.10(a) it can be seen that the stress concentration in the top of the hole has been distributed along the boundary of the hole. Figure 4.10(b) shows how the stress has changed from being a ”linear function” to being almost constant.
Take note of the form of the hole, it has changed from being circular to being an ellipse. In Pedersen’s analytical results [13] of holes subjected to biaxial stress he finds out that the relationship between the tensile stresses is equal to the relationship between the vertices of the ellipse.
Third case: σ2/σ1=3
Table 4.11 and Figure 4.12 shows the non-optimized results when the tensile ratio is 3. The upper boundary is loaded with 3000 kN and the right boundary with 1000 kN. The stress plot is very similar to Figure 4.8 but due to the higher load the stress concentration has become even higher.
σvM,max [MPa] U [J/m3] Utot [J] Area [m2]
10.41 28.86 252.34 87.43
Table 4.11: Reference values for the plate with σ1 = 1000kN and σ2 = 3000kN
Figure 4.12: Standard plate with σ2/σ1 = 3
Table 4.13 and Figure 4.14 show the optimized results. According to [13] the ratio of the vertices for the elliptic should be equal to the ratio of the tensile stresses. This is not the case though. By looking at Figure 4.14(a) the vertex ratio does not seem to match with 3. When investigating further it turns out that the vertex ratio is a/b = 6.56 m/2.49 m = 2.63. The reason for this is because the analytical solution from [13] is based on a hole in an infinite plane domain which is subjected to stress far away from the hole. This is supported by numerical results, if the sides of the plate is changed from 10 m to 100 m, thus making the domain closer to infinite and moving the loads farther way, the vertex ratio increases to a/b = 6.94 m/2.34 m = 2.97.
By making the domain larger and larger, the more close the numerical method gets to the analytical method. This explanation follows for approximation error for all three cases.
σvM,max [MPa] U [J/m3] Utot [J] Area [m2]
4.48 24.01 209.94 87.43
Table 4.13: Optimized values for the plate with σ1 = 1000kN and σ2 = 3000kN with opti-mization parameters p1 = 5.12, p2= 0.75, and p3=−3.02
4.2 Results and discussion 31
(a) The circular hole has become an ellipse and the von Mises stress is now evenly distributed along the bound-ary
(b) The von Mises stress as a function of the arc length for s2. The blue curve is the original design and the green is the optimized shape
Figure 4.14: Optimized plate with optimization parameters p1 = 5.12, p2 = 0.75, and p3 =
−3.02
In this case the maximum equivalent stress has been reduced from 10.41 MPa to 4.48 MPa, a reduction of 132%. As in case 2, not only have the peak stresses been lowered, but the stress is evenly distributed along the arc boundary. This is also clearly show in Figure 4.14(b) which shows little variation in the stress; it only spans from 4.12 MPa to 4.48 MPa.
Other cases
In order to save material and therein cost it is possible to use a lower upper limit for the area constraint by multiplying with a constant. E.g. how does the plate look if the material cost is to be cut down by 20%? In Figure 4.15 the results of this reduction can be seen. The model has become 13727 kg lighter and the maximum equivalent stress has still been reduced from 6.20 MPa to 5.61 MPa (10.5%). The result, however, is not optimal. The stress is evenly distributed, but a large stress concentration at the top left corner is not desirable. The whole design domain should be larger in order to distribute the stresses better in the domain.
In order to save material and therein cost it is possible to use a lower upper limit for the area constraint by multiplying with a constant. E.g. how does the plate look if the material cost is to be cut down by 20%? In Figure 4.15 the results of this reduction can be seen. The model has become 13727 kg lighter and the maximum equivalent stress has still been reduced from 6.20 MPa to 5.61 MPa (10.5%). The result, however, is not optimal. The stress is evenly distributed, but a large stress concentration at the top left corner is not desirable. The whole design domain should be larger in order to distribute the stresses better in the domain.