0% found this document useful (0 votes)
44 views

Preprocessing: Defining The Problem: /title, Design Optimization

This document provides steps to set up a beam design optimization problem in ANSYS. It describes how to define design variables, apply loads and constraints, extract results like stress and volume, and write an ANSYS command file to iteratively solve the problem for different variable values. Keypoints, lines, elements, materials, meshing and solutions are defined. Maximum stress and total volume are extracted as parameters to evaluate the design at each iteration.

Uploaded by

mpatilboy25
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Preprocessing: Defining The Problem: /title, Design Optimization

This document provides steps to set up a beam design optimization problem in ANSYS. It describes how to define design variables, apply loads and constraints, extract results like stress and volume, and write an ANSYS command file to iteratively solve the problem for different variable values. Keypoints, lines, elements, materials, meshing and solutions are defined. Maximum stress and total volume are extracted as parameters to evaluate the design at each iteration.

Uploaded by

mpatilboy25
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 14

Preprocessing: Defining the Problem

1. Give example a Title


Utility Menu > File > Change Title ...
/title, Design Optimization

2. Enter initial estimates for variables


To solve an optimization problem in ANSYS, parameters need to be defined for all
design variables.
o
o

Select: Utility Menu > Parameters > Scalar Parameters...


In the window that appears (shown below), type W=20 in the Selection section

o
o
o
o

Click Accept. The 'Scalar Parameters' window will stay open.


Now type H=20 in the Selection section
Click Accept'
Click Close in the Scalar Parameters window.

NOTE: None of the variables defined in ANSYS are allowed to have negative values.
3. Define Keypoints
Preprocessor > Modeling > Create > Keypoints > In Active CS...
K,#,x,y

We are going to define 2 Keypoints for this beam as given in the following table:
Keypoints Coordinates (x,y)

(0,0)

(1000,0)

4. Create Lines
Preprocessor > Modeling > Create > Lines > Lines > In Active Coord
L,1,2

Create a line joining Keypoints 1 and 2


5. Create Hard Keypoints
Hardpoints are often used when you need to apply a constraint or load at a location where
a keypoint does not exist. For this case, we want to apply a force 3/4 of the way down the
beam. Since there are not any keypoints here and we can't be certain that one of the nodes
will be here we will need to specify a hardpoint
o

o
o

Select Preprocessor > Modeling > Create > Keypoints > Hard PT on line >
Hard PT by ratio. This will allow us to create a hardpoint on the line by defining
the ratio of the location of the point to the size of the line
Select the line when prompted
Enter a ratio of 0.75 in the 'Create HardPT by Ratio window which appears.

You have now created a keypoint labelled 'Keypoint 3' 3/4 of the way down the beam.
6. Define Element Types
Preprocessor > Element Type > Add/Edit/Delete...
For this problem we will use the BEAM3 (Beam 2D elastic) element. This
element has 3 degrees of freedom (translation along the X and Y axes, and
rotation about the Z axis).
7. Define Real Constants
Preprocessor > Real Constants... > Add...
In the 'Real Constants for BEAM3' window, enter the following geometric
properties: (Note that '**' is used instead '^' for exponents)
i.
ii.
iii.

Cross-sectional area AREA: W*H


Area moment of inertia IZZ: (W*H**3)/12
Thickness along Y axis: H

NOTE: It is important to use independent variables to define dependent variables


such as the moment of inertia. During the optimization, the width and height will

change for each iteration. As a result, the other variables must be defined in
relation to the width and height.
8. Define Element Material Properties
Preprocessor > Material Props > Material Models > Structural > Linear > Elastic
> Isotropic
In the window that appears, enter the following geometric properties for steel:
.
Young's modulus EX: 200000
i.
Poisson's Ratio PRXY: 0.3
9. Define Mesh Size
Preprocessor > Meshing > Size Cntrls > ManualSize > Lines > All Lines...
For this example we will specify an element edge length of 100 mm (10 element
divisions along the line).
10. Mesh the frame
Preprocessor > Meshing > Mesh > Lines > click 'Pick All'
LMESH,ALL

Solution Phase: Assigning Loads and Solving


1. Define Analysis Type
Solution > Analysis Type > New Analysis > Static
ANTYPE,0

2. Apply Constraints
Solution > Define Loads > Apply > Structural > Displacement > On Keypoints
Pin Keypoint 1 (ie UX, UY constrained) and constrain Keypoint 2 in the Y
direction.
3. Apply Loads
Solution > Define Loads > Apply > Structural > Force/Moment > On Keypoints
Apply a vertical (FY) point load of -2000N at Keypoint 3

The applied loads and constraints should now appear as shown in the figure below.

4. Solve the System


Solution > Solve > Current LS
SOLVE

Postprocessing: Viewing the Results


Extracting Information as Parameters:
To perform an optimization, we must extract the required information.
In this problem, we would like to find the maximum stress in the beam and the volume as a result
of the width and height variables.
1. Define the volume
o Select General Postproc > Element Table > Define Table... > Add...
o The following window will appear. Fill it in as shown to obtain the volume of the
beam.

Note that this is the volume of each element. If you were to list the element table
you would get a volume for each element. Therefore, you have to sum the element
values together to obtain the total volume of the beam. Follow the instructions
below to do this.
o
o

Select General Postproc > Element Table > Sum of Each Item...
A little window will appear notifying you that the tabular sum of each element
table will be calculated. Click 'OK'
You will obtain a window notifying you that the EVolume is now 400000 mm2

2. Store the data (Volume) as a parameter


o Select Utility Menu > Parameters > Get Scalar Data...
o In the window which appears select 'Results Data' and 'Elem table sums'
o the following window will appear. Select the items shown to store the Volume as
a parameter.

Now if you view the parameters (Utility Menu > Parameters > Scalar
Parameters...) you will see that Volume has been added.
3. Define the maximum stress at the i node of each element in the beam

o
o

Select General Postproc > Element Table > Define Table... > Add...
The following window will appear. Fill it in as shown to obtain the maximum
stress at the i node of each element and store it as 'SMAX_I'.

Note that nmisc,1 is the maximum stress. For further information type Help
beam3 into the command line
Now we will need to sort the stresses in descending order to find the maximum
stress
o
o

Select General Postproc > List Results > Sorted Listing > Sort Elems
Complete the window as shown below to sort the data from 'SMAX_I' in
descending order

4. Store the data (Max Stress) as a parameter


o Select Utility Menu > Parameters > Get Scalar Data...
o In the window which appears select 'Results Data' and 'Other operations'
o In the that appears, fill it in as shown to obtain the maximum value.

5. Define maximum stress at the j node of each element for the beam
o Select General Postproc > Element Table > Define Table... > Add...
o Fill this table as done previously, however make the following changes:
save the data as 'SMAX_J' (instead of 'SMAX_I')
The element table data enter NMISC,3 (instead of NMISC,1). This will
give you the max stress at the j node.
o Select General Postproc > List Results > Sorted Listing > Sort Elems to sort
the stresses in descending order.
o However, select 'SMAX_J' in the Item, Comp selection box
6. Store the data (Max Stress) as a parameter
o Select Utility Menu > Parameters > Get Scalar Data...
o In the window which appears select 'Results Data' and 'Other operations'
o In the that appears, fill it in as shown previously , however, name the parameter
'SMaxJ'.
7. Select the largest of SMAXJ and SMAXI
o Type SMAX=SMAXI>SMAXJ into the command line
This will set the largest of the 2 values equal to SMAX. In this case the maximum
values for each are the same. However, this is not always the case.
8. View the parametric data
Utility Menu > Parameters > Scalar Parameters
Note that the maximum stress is 281.25 which is much larger than the allowable stress of
200MPa

Design Optimization
Now that we have parametrically set up our problem in ANSYS based on our initial width and
height dimensions, we can now solve the optimization problem.
1. Write the command file

It is necessary to write the outline of our problem to an ANSYS command file. This is so
that ANSYS can iteratively run solutions to our problem based on different values for the
variables that we will define.
o
o
o

Select Utility Menu > File > Write DB Log File...


In the window that appears type a name for the command file such as
optimize.txt
Click OK.

If you open the command file in a text editor such as Notepad, it should similar to this:
/BATCH
! /COM,ANSYS RELEASE 7.0
UP20021010
/input,start70,ans,'C:\Program Files\Ansys
Inc\v70\ANSYS\apdl\',,,,,,,,,,,,,,,,1
/title, Design Optimization
*SET,W , 20
*SET,H , 20
/PREP7
K,1,0,0,,
K,2,1000,0,,
L,
1,
2
!*
HPTCREATE,LINE,1,0,RATI,0.75,
!*
ET,1,BEAM3
!*
!*
R,1,W*H,(W*H**3)/12,H, , , ,
!*
!*
MPTEMP,,,,,,,,
MPTEMP,1,0
MPDATA,EX,1,,200000
MPDATA,PRXY,1,,.3
!*
LESIZE,ALL,100, , , ,1, , ,1,
LMESH,
1
FINISH
/SOL
!*
ANTYPE,0
FLST,2,1,3,ORDE,1
FITEM,2,1
!*
/GO
DK,P51X, , , ,0,UX,UY, , , , ,
FLST,2,1,3,ORDE,1
FITEM,2,2
!*
/GO
DK,P51X, , , ,0,UY, , , , , ,
FLST,2,1,3,ORDE,1
FITEM,2,3

16:10:03

05/26/2003

!*
/GO
FK,P51X,FY,-2000
! /STATUS,SOLU
SOLVE
FINISH
/POST1
AVPRIN,0,0,
ETABLE,EVolume,VOLU,
!*
SSUM
!*
*GET,Volume,SSUM, ,ITEM,EVOLUME
AVPRIN,0,0,
ETABLE,SMax_I,NMISC, 1
!*
ESORT,ETAB,SMAX_I,0,1, ,
!*
*GET,SMaxI,SORT,,MAX
AVPRIN,0,0,
ETABLE,SMax_J,NMISC, 3
!*
ESORT,ETAB,SMAX_J,0,1, ,
!*
*GET,SMaxJ,SORT,,MAX
*SET,SMAX,SMAXI>SMAXJ
! LGWRITE,optimization,,C:\Temp\,COMMENT

Several small changes need to be made to this file prior to commencing the optimization.
If you created the geometry etc. using command line code, most of these changes will
already be made. However, if you used GUI to create this file there are several occasions
where you used the graphical picking device. Therefore, the actual items that were
chosen need to be entered. The code 'P51X' symbolizes the graphical selection. To
modify the file simply open it using notepad and make the required changes. Save and
close the file once you have made all of the required changes. The following is a list of
the changes which need to be made to this file (which was created using the GUI method)
o

Line 32 - DK,P51X, ,0, ,0,UX,UY, , , , ,


Change this to: DK,1, ,0, ,0,UX,UY,
This specifies the constraints at keypoint 1
Line 37 - DK,P51X, ,0, ,0,UY, , , , , ,
Change to: DK,2, ,0, ,0,UY,
This specifies the constraints at keypoint 2
Line 42 - FK,P51X,FY,-2000
Change to: FK,3,FY,-2000
This specifies the force applied on the beam

There are also several lines which can be removed from this file. If you are comfortable
with command line coding, you should remove the lines which you are certain are not
required.

2. Assign the Command File to the Optimization


o Select Main Menu > Design Opt > Analysis File > Assign
o In the file list that appears, select the filename that you created when you wrote
the command file.
o Click OK.
3. Define Variables and Tolerances
ANSYS needs to know which variables are critical to the optimization. To define
variables, we need to know which variables have an effect on the variable to be
minimized. In this example our objective is to minimize the volume of a beam which is
directly related to the weight of the beam.
ANSYS categorizes three types of variables for design optimization:
Design Variables (DVs)
Independent variables that directly effect the design objective. In this example, the width
and height of the beam are the DVs. Changing either variable has a direct effect on the
solution of the problem.
State Variables (SVs)
Dependent variables that change as a result of changing the DVs. These variables are
necessary to constrain the design. In this example, the SV is the maximum stress in the
beam. Without this SV, our optimization will continue until both the width and height are
zero. This would minimize the weight to zero which is not a useful result.
Objective Variable (OV)
The objective variable is the one variable in the optimization that needs to be minimized.
In our problem, we will be minimizing the volume of the beam.
NOTE: As previously stated, none of the variables defined in ANSYS are allowed to
have negative values.
Now that we have decided our design variables, we need to define ranges and tolerances
for each variable. For the width and height, we will select a range of 10 to 50 mm for
each. Because a small change in either the width or height has a profound effect on the
volume of the beam, we will select a tolerance of 0.01mm. Tolerances are necessary in
that they tell ANSYS the largest amount of change that a variable can experience before
convergence of the problem.
For the stress variable, we will select a range of 195 to 200 MPa with a tolerance of
0.01MPa.
Because the volume variable is the objective variable, we do not need to define an
allowable range. We will set the tolerance to 200mm3. This tolerance was chosen
because it is significantly smaller than the initial magnitude of the volume of
400000mm3 (20mm x 20mm x 1000mm).
a. Define the Design Variables (width and height of beam)

Select Main Menu > Design Opt > Design Variables... > Add...
Complete the window as shown below to specify the variable limits and
tolerances for the height of the beam.

Repeat the above steps to specify the variable limits for the width of the
beam (identical to specifications for height)
b. Define the State Variables
Select Main Menu > Design Opt > State Variables... > Add...
In the window fill in the following sections
Select 'SMAX' in the Parameter Name section.
Enter: Lower Limit (MIN = 195)
Upper Limit (MAX = 200)
Feasibility Tolerance (TOLER = 0.001)
c. Define the Objective Variable
Select Main Menu > Design Opt > Objective...
Select VOLUME in the Parameter Name section.
Under Convergence Tolerance, enter 200.
4. Define the Optimization Method
There are several different methods that ANSYS can use to solve an optimization
problem. To ensure that you are not finding a solution at a local minimum, it is advisable
to use different solution methods. If you have trouble with getting a particular problem to
converge it would be a good idea to try a different method of solution to see what might
be wrong.
For this problem we will use a First-Order Solution method.

o
o
o
o
o

Select Main Menu > Design Opt > Method / Tool...


In the Specify Optimization Method window select First-Order
Click OK
Enter: Maximum iterations (NITR = 30), Percent step size SIZE = 100, Percent
forward diff. DELTA = 0.2
Click OK.

Note: the significance of the above variables is explained below:


NITR
Max number of iterations. Defaults to 10.
SIZE
% that is applied to the size of each line search step. Defaults to 100%
DELTA
forward difference (%) applied to the design variable range that is used to compute the
gradient. Defaults to 0.2%
5. Run the Optimization
o Select Main Menu > Design Opt > Run...
o In the Begin Execution of Run window, confirm that the analysis file,
method/type and maximum iterations are correct.
o Click OK.
The solution of an optimization problem can take awhile before convergence. This
problem will take about 15 minutes and run through 19 iterations.

View the Results


1. View Final Parameters
Utility Menu > Parameters > Scalar Parameters...
You will probably see that the width=13.24 mm, height=29.16 mm, and the stress
is equal to 199.83 MPa with a volume of 386100mm2.
2. View graphical results of each variable during the solution
o Select Main Menu > Design Opt > Design Sets > Graphs / Tables...
o Complete the window as shown to obtain a graph of the height and width of the
beam changing with each iteration
A. For the X-variable parameter select Set number.
B. For the Y-variable parameter select H and W.
C. Ensure that 'Graph' is selected (as opposed to 'List')

Now you may wish to specify titles for the X and Y axes
o
o
o
o
o

Select Utility Menu > Plot Ctrls > Style > Graphs > Modify Axes...
In the window, enter Number of Iterations for the X-axis label section.
Enter Width and Height (mm) for the Y-axis label.
Click 'OK'
Select Utility Menu > PlotCtrls

In the graphics window, you will see a graph of width and height throughout the
optimization. You can print the plot by selecting Utility Menu > PlotCtrls > Hard
Copy...

You can plot graphs of the other variables in the design by following the above steps. Instead of
using width and height for the y-axis label and variables, use whichever variable is necessary to
plot. Alternatively, you could list the data by selecting Main Menu > Design Opt > Design Sets
> List... . In addition, all of the results data (ie stress, displacement, bending moments) are
available from the General Postproc menu.

You might also like