You are viewing the documentation for an older COMSOL version. The latest version is available here.
PDF

Multistudy Optimization of a Bracket
Introduction
In some application fields, there is a strong focus on weight reduction. For example, this is the case in the automotive industry, where every gram has a distinct price tag.
In this model, the weight of a mounting bracket is reduced, given an upper bound on the stresses and a lower bound on the first natural frequency.
The bracket is used for mounting a heavy component on a vibrating foundation. It is thus important to keep the natural frequency well above the excitation frequency in order to avoid resonances. The bracket is also subjected to shock loads, which can be treated as a static acceleration load. This gives an optimization problem, where results from two different study types must be considered simultaneously.
Note: This application requires the Structural Mechanics Module and the Design Module.
Model Definition
The original bracket together with a sketched mounted component are shown in Figure 1. The bracket is made of steel.
The component, which can be considered as rigid when compared with the bracket, has its center of gravity at the center of the circular cutout in the bracket. The mass is 4.4 kg, the moment of inertia around its longitudinal axis is 7.1·104 kg·m2, and the moment of inertia around the two transverse axes is 9.3·104 kg·m2.
Figure 1: Bracket supporting a heavy component.
The idea is to reduce the weight by drilling holes in the vertical surface of the bracket, and at the same time change the dimensions of the indentations, in order to offset the loss in stiffness.
Optimization Parameters
Six geometrical parameters are used in the optimization. They are summarized in Table 1 and shown in Figure 2.
Figure 2: Optimization parameters.
Constraints
When exposed to a peak acceleration of 4g in all three global directions simultaneously, the equivalent stress is not allowed to exceed 80 MPa anywhere. This criterion is nondifferentiable, because the location of the peak stress can jump from one place to another. A gradient-free optimization algorithm must thus be used.
Figure 3: Geometrical constraints.
The COBYLA solver uses sampling in the control variable space to approximate both the objective function, the constraints, and the control variable bounds. Individual samples may be computed outside the bounds and in violation of the constraints. Therefore, it is important to parameterize the geometry in such a way that it is robust with respect to (small) constraint and bound violations.
Bounds and linear constraints are generally satisfied to high precision at the optimum point returned by the solver, but nonlinear constrains are often slightly violated. The reason is that the solver tends to converge from the outside of the feasible domain and terminates before the constraints are completely satisfied. Tightening the solver tolerances will decrease the constraint violation but is often not worth the computational effort; it is better to specify constraints with a safety margin.
Results and Discussion
The initial geometry used in the optimization is shown in Figure 4. Three rather small holes have been introduced.
Figure 4: Initial geometry.
The optimal values of the geometrical parameters are shown in Table 2.
11.8
15
2.7
23
9.0
15
9.5
30
22.3
29
20
20
The weight of the optimized bracket is about 178 g, a reduction of 27 g from the original 205 g. The stresses from the shock load on the optimized geometry are shown in Figure 5
Figure 5: Stresses at peak load in the optimized design.
The optimal solution gives three fairly large holes, and the widest possible indentation.
There are several possible arrangements of the holes that give the same weight reduction within a small tolerance. It is therefore possible that the design variables are not always the same at convergence.
Notes About the COMSOL Implementation
The component mounted on the bracket is not modeled in detail. It is replaced by a Rigid Connector having the equivalent inertial properties.
Application Library path: Optimization_Module/Design_Optimization/multistudy_bracket_optimization
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  3D.
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>Eigenfrequency.
6
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
Click  Load from File.
4
Geometry 1
1
In the Model Builder window, under Component 1 (comp1) click Geometry 1.
2
In the Settings window for Geometry, locate the Units section.
3
From the Length unit list, choose mm.
4
Locate the Advanced section. From the Geometry representation list, choose CAD kernel.
5
Select the Design Module Boolean operations check box.
The geometry sequence for the model (see Figure 1) is available in a file. If you want to create it from scratch yourself, you can follow the instructions in the Geometry Modeling Instructions section. Otherwise, insert the geometry sequence as follows:
6
In the Geometry toolbar, click  Insert Sequence.
7
8
In the Geometry toolbar, click  Build All.
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)
Fixed (Bolts)
1
In the Model Builder window, under Component 1 (comp1) right-click Solid Mechanics (solid) and choose Fixed Constraint.
The exact way the bolts clamp the bracket to the foundation is not important for the results in the part being optimized.
2
In the Settings window for Fixed Constraint, type Fixed (Bolts) in the Label text field.
3
Rigid Connector (Mounted component)
1
In the Physics toolbar, click  Boundaries and choose Rigid Connector.
The attached component has a high stiffness, and is bolted to the two upper bolt holes. It is modeled as being rigid, with only mass properties.
2
In the Settings window for Rigid Connector, type Rigid Connector (Mounted component) in the Label text field.
3
4
Locate the Center of Rotation section. From the list, choose User defined.
5
Specify the Xc vector as
Mass and Moment of Inertia 1
1
In the Physics toolbar, click  Attributes and choose Mass and Moment of Inertia.
2
In the Settings window for Mass and Moment of Inertia, locate the Mass and Moment of Inertia section.
3
In the m text field, type mCmp.
4
5
In the I table, enter the following settings:
Mesh 1
Free Triangular 1
1
In the Mesh toolbar, click  Boundary and choose Free Triangular.
2
Size 1
1
Right-click Free Triangular 1 and choose Size.
2
In the Settings window for Size, locate the Element Size section.
3
From the Predefined list, choose Finer.
4
Size 2
1
Right-click Size 1 and choose Duplicate.
2
In the Settings window for Size, locate the Element Size section.
3
From the Predefined list, choose Extra fine.
4
Locate the Geometric Entity Selection section. Click  Clear Selection.
5
6
Click  Build Selected.
Swept 1
In the Mesh toolbar, click  Swept.
Distribution 1
1
Right-click Swept 1 and choose Distribution.
2
In the Settings window for Distribution, locate the Distribution section.
3
In the Number of elements text field, type 3.
4
Click  Build All.
Eigenfrequency Study
Run an eigenfrequency study on the initial geometry.
1
In the Model Builder window, click Study 1.
2
In the Settings window for Study, type Eigenfrequency Study in the Label text field.
3
In the Home toolbar, click  Compute.
Solid Mechanics (solid)
Add the peak loads, and perform a stationary study.
Body load 4g on bracket
1
In the Physics toolbar, click  Domains and choose Body Load.
2
In the Settings window for Body Load, type Body load 4g on bracket in the Label text field.
3
Locate the Domain Selection section. From the Selection list, choose All domains.
4
Locate the Force section. Specify the FV vector as
Rigid Connector (Mounted component)
In the Model Builder window, click Rigid Connector (Mounted component).
Force 4g on mounted component
1
In the Physics toolbar, click  Attributes and choose Applied Force.
2
In the Settings window for Applied Force, type Force 4g on mounted component in the Label text field.
3
Locate the Applied Force section. Specify the F vector as
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.
Stationary Study
1
In the Model Builder window, click Study 2.
2
In the Settings window for Study, type Stationary Study in the Label text field.
3
In the Home toolbar, click  Compute.
Definitions
Prepare for the optimization by adding variables for the bracket mass and the maximum stress.
Domain Probe 1 (dom1)
1
In the Definitions toolbar, click  Probes and choose Domain Probe.
2
In the Settings window for Domain Probe, type mass in the Variable name text field.
3
Locate the Probe Type section. From the Type list, choose Integral.
4
Click Replace Expression in the upper-right corner of the Expression section. From the menu, choose Component 1 (comp1)>Solid Mechanics>Material properties>solid.rho - Density - kg/m³.
Boundary Probe 1 (bnd1)
1
In the Definitions toolbar, click  Probes and choose Boundary Probe.
2
In the Settings window for Boundary Probe, type maxStress in the Variable name text field.
3
Locate the Probe Type section. From the Type list, choose Maximum.
4
5
Click Replace Expression in the upper-right corner of the Expression section. From the menu, choose Component 1 (comp1)>Solid Mechanics>Stress>solid.mises - von Mises stress - N/m².
Results
Add a plot for monitoring the geometry and stresses in the optimized region.
Stress in Optimized Region
1
In the Home toolbar, click  Add Plot Group and choose 3D Plot Group.
2
In the Settings window for 3D Plot Group, type Stress in Optimized Region in the Label text field.
3
Locate the Data section. From the Dataset list, choose Stationary Study/Solution 2 (sol2).
Volume 1
1
Right-click Stress in Optimized Region and choose Volume.
2
In the Settings window for Volume, locate the Expression section.
3
In the Expression text field, type solid.mises.
Filter 1
1
Right-click Volume 1 and choose Filter.
2
In the Settings window for Filter, locate the Element Selection section.
3
In the Logical expression for inclusion text field, type dom>2.
4
From the Element nodes to fulfill expression list, choose All.
5
Click the  Zoom Extents button in the Graphics toolbar.
Root
Set up the optimization study.
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 Empty Study.
4
Click Add Study in the window toolbar.
5
In the Home toolbar, click  Add Study to close the Add Study window.
Optimization Study
In the Settings window for Study, type Optimization Study in the Label text field.
Optimization
In the Study toolbar, click  Optimization.
Eigenfrequency
1
In the Study toolbar, click  Study Reference.
2
In the Settings window for Study Reference, type Eigenfrequency in the Label text field.
3
Locate the Study Reference section. From the Study reference list, choose Eigenfrequency Study.
Stationary
1
In the Study toolbar, click  Study Reference.
2
In the Settings window for Study Reference, type Stationary in the Label text field.
3
Locate the Study Reference section. From the Study reference list, choose Stationary Study.
Optimization
1
In the Model Builder window, click Optimization.
2
In the Settings window for Optimization, locate the Optimization Solver section.
3
From the Method list, choose COBYLA.
4
Find the Solver settings subsection. Clear the Stop if error check box.
5
Locate the Constraints section. Select the Enforce design constraints strictly check box.
6
Click Replace Expression in the upper-right corner of the Objective Function section. From the menu, choose Component 1 (comp1)>Definitions>comp1.mass - Domain Probe 1 - kg.
7
Locate the Objective Function section. In the table, enter the following settings:
The first eigenfrequency is to be used in the optimization.
8
From the Solution list, choose Use first.
9
Locate the Control Variables and Parameters section. Click  Load from File.
10
11
Locate the Constraints section. In the table, enter the following settings:
12
Locate the Output While Solving section. Select the Plot check box.
13
From the Plot group list, choose Stress in Optimized Region.
If some configurations are not valid, the optimization procedure should still continue. The default is to stop if an error occurs.
Solution 3 (sol3)
1
In the Study toolbar, click  Show Default Solver.
Run the optimization.
2
Click  Compute.
Results
On the last line of Objective Table 2 you will find the optimal set of parameters, and the minimum weight. Note that the value in the Objective column can be colored orange if the solution violates a constraint slightly, but is still accepted within the tolerances.
On the last line of Global Constraints Table 6 you will find the values of the natural frequency and maximum stress in the optimized configuration, as well as the values of the other constraints.
Examine the stress distribution in the optimized configuration.
Stress in Optimized Region
1
In the Model Builder window, expand the Results>Tables node, then click Results>Stress in Optimized Region.
2
In the Stress in Optimized Region toolbar, click  Plot.
3
Click the  Zoom Extents button in the Graphics toolbar.
Geometry Modeling Instructions
If you want to create the geometry yourself, follow these steps.
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
Click  Load from File.
4
Browse to the model’s Application Libraries folder and double-click the file multistudy_bracket_optimization_geom_sequence_params.txt.
Geometry 1
1
In the Model Builder window, under Component 1 (comp1) click Geometry 1.
2
In the Settings window for Geometry, locate the Units section.
3
From the Length unit list, choose mm.
4
Locate the Advanced section. From the Geometry representation list, choose CAD kernel.
5
Select the Design Module Boolean operations check box.
Work Plane 1 (wp1)
1
In the Geometry toolbar, click  Work Plane.
2
In the Settings window for Work Plane, locate the Plane Definition section.
3
From the Plane list, choose zy-plane.
4
In the x-coordinate text field, type lX-rOut.
5
Click  Show Work Plane.
Work Plane 1 (wp1)>Parametric Curve 1 (pc1)
1
In the Work Plane toolbar, click  More Primitives and choose Parametric Curve.
2
In the Settings window for Parametric Curve, locate the Expressions section.
3
In the xw text field, type if((abs(s-0.5)<wInd/lY),dInd/2*(1+cos(pi*lY/if(wInd>4[mm],wInd,4[mm])*(s-0.5))),0).
4
In the yw text field, type s*lY/2.
5
Click  Build Selected.
Work Plane 1 (wp1)>Copy 1 (copy1)
1
In the Work Plane toolbar, click  Transforms and choose Copy.
2
3
In the Settings window for Copy, locate the Displacement section.
4
In the xw text field, type thk.
Work Plane 1 (wp1)>Line Segment 1 (ls1)
1
In the Work Plane toolbar, click  More Primitives and choose Line Segment.
2
In the Settings window for Line Segment, locate the Starting Point section.
3
From the Specify list, choose Coordinates.
4
Locate the Endpoint section. From the Specify list, choose Coordinates.
5
In the xw text field, type thk.
Work Plane 1 (wp1)>Copy 2 (copy2)
1
In the Work Plane toolbar, click  Transforms and choose Copy.
2
3
In the Settings window for Copy, locate the Displacement section.
4
In the yw text field, type lY/2.
Work Plane 1 (wp1)>Convert to Solid 1 (csol1)
1
In the Work Plane toolbar, click  Conversions and choose Convert to Solid.
2
Click in the Graphics window and then press Ctrl+A to select all objects.
3
In the Settings window for Convert to Solid, click  Build Selected.
Revolve 1 (rev1)
1
In the Model Builder window, right-click Geometry 1 and choose Revolve.
2
In the Settings window for Revolve, locate the Revolution Angles section.
3
Click the Angles button.
4
In the End angle text field, type 90.
5
Locate the Revolution Axis section. From the Axis type list, choose 3D.
6
Find the Point on the revolution axis subsection. In the x text field, type lX-rOut.
7
In the z text field, type rOut.
8
Find the Direction of revolution axis subsection. In the y text field, type -1.
9
Click  Build All Objects.
Block 1 (blk1)
1
In the Geometry toolbar, click  Block.
2
In the Settings window for Block, locate the Size and Shape section.
3
In the Width text field, type lX-rOut-2*thk.
4
In the Depth text field, type lY/2.
5
In the Height text field, type thk.
6
Click  Build All Objects.
Loft 1 (loft1)
1
In the Geometry toolbar, click  Loft.
2
In the Settings window for Loft, locate the General section.
3
Clear the Unite with input objects check box.
4
Click to expand the Start Profile section. Find the Start profile subsection. Select the  Activate Selection toggle button.
5
On the object rev1, select Boundary 1 only.
6
Click to expand the End Profile section. Find the End profile subsection. Select the  Activate Selection toggle button.
7
On the object blk1, select Boundary 5 only.
8
Click  Build All Objects.
Mirror 1 (mir1)
1
In the Geometry toolbar, click  Transforms and choose Mirror.
2
3
In the Settings window for Mirror, locate the Input section.
4
Select the Keep input objects check box.
5
Locate the Point on Plane of Reflection section. In the x text field, type lX-rOut.
6
In the z text field, type rOut.
7
Locate the Normal Vector to Plane of Reflection section. In the x text field, type 1.
8
Click  Build All Objects.
Block 2 (blk2)
1
In the Geometry toolbar, click  Block.
2
In the Settings window for Block, locate the Size and Shape section.
3
In the Width text field, type thk.
4
In the Depth text field, type lY/2.
5
In the Height text field, type lZ-rOut-2*thk.
6
Locate the Position section. In the x text field, type lX-thk.
7
In the z text field, type rOut+2*thk.
8
Click  Build All Objects.
9
Click the  Zoom Extents button in the Graphics toolbar.
Cylinder 1 (cyl1)
1
In the Geometry toolbar, click  Cylinder.
2
In the Settings window for Cylinder, locate the Size and Shape section.
3
In the Radius text field, type dCmp/2.
4
In the Height text field, type 3*thk.
5
Locate the Position section. In the x text field, type lX-2*thk.
6
In the y text field, type lY/2.
7
In the z text field, type lZ.
8
Locate the Axis section. From the Axis type list, choose x-axis.
9
Click  Build All Objects.
Cylinder 2 (cyl2)
1
Right-click Cylinder 1 (cyl1) and choose Duplicate.
2
In the Settings window for Cylinder, locate the Size and Shape section.
3
In the Radius text field, type bDia/2.
4
Locate the Position section. In the y text field, type bDia.
5
In the z text field, type lZ-bDia.
6
Click  Build All Objects.
Cylinder 3 (cyl3)
1
Right-click Cylinder 2 (cyl2) and choose Duplicate.
2
In the Settings window for Cylinder, locate the Position section.
3
In the x text field, type lX-rOut-2*thk-bDia.
4
In the y text field, type lY/4.
5
In the z text field, type -thk.
6
Locate the Axis section. From the Axis type list, choose z-axis.
7
Click  Build All Objects.
Cylinder 4 (cyl4)
1
Right-click Cylinder 3 (cyl3) and choose Duplicate.
2
In the Settings window for Cylinder, locate the Position section.
3
In the x text field, type 1.5*bDia.
4
In the y text field, type lY/2.
5
Click  Build All Objects.
Cylinder 5 (cyl5)
1
In the Model Builder window, under Component 1 (comp1)>Geometry 1 right-click Cylinder 1 (cyl1) and choose Duplicate.
2
In the Settings window for Cylinder, locate the Size and Shape section.
3
In the Radius text field, type rO.
4
Locate the Position section. In the y text field, type yO.
5
In the z text field, type zO.
6
Click  Build All Objects.
Cylinder 6 (cyl6)
1
Right-click Cylinder 5 (cyl5) and choose Duplicate.
2
In the Settings window for Cylinder, locate the Size and Shape section.
3
In the Radius text field, type rC.
4
Locate the Position section. In the y text field, type lY/2.
5
In the z text field, type zC.
6
Click  Build All Objects.
Work Plane 2 (wp2)
1
In the Geometry toolbar, click  Work Plane.
2
In the Settings window for Work Plane, locate the Plane Definition section.
3
From the Plane list, choose yx-plane.
4
In the z-coordinate text field, type 2*thk.
5
Click  Show Work Plane.
Work Plane 2 (wp2)>Polygon 1 (pol1)
1
In the Work Plane toolbar, click  Polygon.
2
In the Settings window for Polygon, locate the Coordinates section.
3
From the Data source list, choose Vectors.
4
In the xw text field, type 0 lY/2-bDia/2 lY/2-bDia/2 0 0 0.
5
In the yw text field, type 0 0 0 lX-rOut-2*thk lX-rOut-2*thk 0.
6
Click  Build Selected.
Extrude 1 (ext1)
1
In the Model Builder window, under Component 1 (comp1)>Geometry 1 right-click Work Plane 2 (wp2) and choose Extrude.
2
In the Settings window for Extrude, locate the Distances section.
3
4
Click  Build Selected.
Difference 1 (dif1)
1
In the Geometry toolbar, click  Booleans and Partitions and choose Difference.
2
Select the objects blk1, blk2, loft1, mir1, and rev1 only.
3
In the Settings window for Difference, locate the Difference section.
4
Find the Objects to subtract subsection. Select the  Activate Selection toggle button.
5
Select the objects cyl1, cyl2, cyl3, cyl4, cyl5, cyl6, and ext1 only.
6
Click  Build All Objects.
Mirror 2 (mir2)
1
In the Geometry toolbar, click  Transforms and choose Mirror.
2
In the Settings window for Mirror, locate the Input section.
3
Select the Keep input objects check box.
4
Locate the Point on Plane of Reflection section. In the y text field, type lY/2.
5
Locate the Normal Vector to Plane of Reflection section. In the y text field, type 1.
6
In the z text field, type 0.
7
8
Click  Build All Objects.
9
Click the  Zoom Extents button in the Graphics toolbar.