-
Define the Design Area (DV_SIZING):
DV_SIZING
ID_NAME = Opt_Plate_DESIGN_AREA_
EL_GROUP = ALL_ELEMENTS
END_
-
To define the Objective Function, do the following:
-
Define a Design Response (DRESP) with the volume of the
model:
DRESP
ID_NAME = Vol
LIST = NO_LIST
DEF_TYPE = SYSTEM
TYPE = VOLUME
EL_GROUP = ALL_ELEMENTS
GROUP_OPER = SUM
END_
-
Reference the Design Response in the Objective Function
(OBJ_FUNC) and set the TARGET to MIN:
OBJ_FUNC
ID_NAME = Min_Vol
DRESP = Vol
TARGET = MIN
END_
-
To define the stress constraint, do the following:
-
Define a Design Response (DRESP) that contains the absolute
von Mises stresses appearing in the model:
DRESP
ID_NAME = mises_stress
LIST = NO_LIST
DEF_TYPE = SYSTEM
TYPE = SIG_SENS_MISES
EL_GROUP = ALL_ELEMENTS
GROUP_OPER = MAX
LC_SET = ALL, 1, ALL
END_
-
Reference the Design Response in a constraint (CONSTRAINT)
and restrict it to 425 MPa:
CONSTRAINT
ID_NAME = Max_stress
DRESP = mises_stress
MAGNITUDE = ABS
LE_VALUE = 425
END_
-
Set up the optimization
-
Define an element group (Cluster1, Cluster2,... (predefined
in the example model)) for each of the clustering areas and assign them to a
clustering design variable constraint as follows:
DVCON_SIZING
ID_NAME = CLUSTERING
EL_GROUP = Cluster1
EL_GROUP = Cluster2
EL_GROUP = Cluster3
EL_GROUP = Cluster4
EL_GROUP = Cluster5
EL_GROUP = Cluster6
EL_GROUP = Cluster7
EL_GROUP = Cluster8
EL_GROUP = Cluster9
EL_GROUP = Cluster10
EL_GROUP = Cluster11
EL_GROUP = Cluster12
EL_GROUP = Cluster13
EL_GROUP = Cluster14
EL_GROUP = Cluster15
EL_GROUP = Cluster16
EL_GROUP = Cluster17
EL_GROUP = Cluster18
EL_GROUP = Cluster19
EL_GROUP = Cluster20
EL_GROUP = Cluster21
EL_GROUP = Cluster22
EL_GROUP = Cluster23
EL_GROUP = Cluster24
CHECK_TYPE = CLUSTER
END_
-
Define a DVCON_SIZING to increase the upper and lower bounds
of the element thicknesses:
DVCON_SIZING
ID_NAME = THICK_BOUNDS
EL_GROUP = ALL_ELEMENTS
CHECK_TYPE = THICKNESS_BOUNDS
MAGNITUDE = ABS
LOWER_BOUND = 0.5
UPPER_BOUND = 2
END_
-
Reference the Design Variables, Objective Function, and
constraints in the OPTIMIZE command:
OPTIMIZE
ID_NAME = Opt_Plate
DV = Opt_Plate_DESIGN_AREA_
OBJ_FUNC = Min_Vol
CONSTRAINT = Max_stress
DVCON = CLUSTERING
DVCON = THICK_BOUNDS
STRATEGY = SIZING_SENSITIVITY
END_
-
Define specific settings for optimization in OPT_PARAM command:
OPT_PARAM
ID_NAME = Plastic_Plate_OPT_PARAM_
OPTIMIZE = Plastic_Plate
AUTO_FROZEN = LOAD
THICKNESS_UPDATE = CONSERVATIVE
THICKNESS_MOVE = 0.25
STOP_CRITERION_LEVEL = BOTH
STOP_CRITERION_OBJ = 0.001
STOP_CRITERION_THICKNESS = 0.005
STOP_CRITERION_ITER = 4
END_
Here it is important to mention that optimization with
nonlinearities should run with
THICKNESS_UPDATE = CONSERVATIVE to improve
convergence.
-
The optimized results including nonlinear kinematics (NLGEOM=ON):
-
Optimum with elastic material:

Optimum when ignoring nonlinear effects limits the
optimizer from removing the material if one of the element reaches the stress
constraint value.
-
Optimum with elastic-plastic material:

Optimum when considering nonlinear effects contains
more regions with yield stress, allowing the optimizer to remove more material
compared to the elastic case.
|