Formulation of the Optimization Problem
The optimization problem can be solved with the sensitivity-based approach.
The sensitivity-based approach works with an inequality constraint, and the optimization problem is:
|
with being the displacement
in a given coordinate or the total displacement, Vol the element volume and vol_restrict the value of the volume constraint.
Necessary Definitions
The user must define two design responses in order to set up the optimization problem:
-
The design response for the displacement of the given node. The displacement
in a given direction (x, y, or z) or the absolute value of the displacement
is chosen according to the value of the
TYPE
parameter. For more information, see
Displacement and Rotation.
-
The design response for the relative volume defined as the sum of
volumes of elements multiplied with their relative densities and divided
through the original volume.
-
The objective function is the minimization of the displacement design
response. If more than one node is used in the design response definition,
an individual design response is created for each node. In this case,
a large number of nodes leads to many objective function terms. The target
of the objective function is to minimize the nodal displacement of a
single node, or, if more than one node is specified in the displacement
design response, the target should be set to the minimization of the
largest displacement. Check the TOSCA.OUT file for the list
of generated design responses.
-
The relative material volume is used in the inequality constraint,
so that the optimization results the stiffest model that has the material
volume (and thus weight) less than a certain value. Without the constraint,
the stiffest structure will use as much material as possible.
SIMULIA Tosca Structure Parameter File
The commands in the parameter file for this problem look like:
DRESP
ID_NAME = DRESP_DISP_X
DEF_TYPE = SYSTEM
TYPE = DISP_X
UPDATE = EVER
NODE = 557
GROUP_OPER = MAX
LC_SET = STATIC,2,ALL
END_
DRESP
ID_NAME = DRESP_VOL_TOPO
DEF_TYPE = SYSTEM
TYPE = VOLUME
UPDATE = EVER
EL_GROUP = ALL_ELEMENTS
GROUP_OPER = SUM
END_
OBJ_FUNC
ID_NAME = maximize_stiffness
DRESP = DRESP_DISP_X
TARGET = MIN
END_
CONSTRAINT
ID_NAME = volume_constraint
DRESP = DRESP_VOL_TOPO
MAGNITUDE = REL
LE_VALUE = 0.45
END_
OPTIMIZE
ID_NAME = topology_optimization
DV = design_variables
OBJ_FUNC = maximize_stiffness
CONSTRAINT = volume_constraint
STRATEGY = TOPO_SENSITIVITY
END_
The following example deals with the minimization of displacements of more than one node:
DRESP
ID_NAME = DRESP_DISP_X_1
DEF_TYPE = SYSTEM
TYPE = DISP_X
UPDATE = EVER
NODE = 557
GROUP_OPER = MAX
LC_SET = STATIC,2,ALL
END_
DRESP
ID_NAME = DRESP_DISP_X_2
DEF_TYPE = SYSTEM
TYPE = DISP_X
UPDATE = EVER
NODE = 1997
GROUP_OPER = MAX
LC_SET = STATIC,1,ALL
END_
DRESP
ID_NAME = DRESP_VOL_TOPO
DEF_TYPE = SYSTEM
TYPE = VOLUME
UPDATE = EVER
EL_GROUP = ALL_ELEMENTS
GROUP_OPER = SUM
END_
OBJ_FUNC
ID_NAME = maximize_stiffness
DRESP = DRESP_DISP_X_1
DRESP = DRESP_DISP_X_2
TARGET = MINMAX
END_
CONSTRAINT
ID_NAME = volume_constraint
DRESP = DRESP_VOL_TOPO
MAGNITUDE = REL
LE_VALUE = 0.45
END_
OPTIMIZE
ID_NAME = topology_optimization
DV = design_variables
OBJ_FUNC = maximize_stiffness
CONSTRAINT = volume_constraint
STRATEGY = TOPO_SENSITIVITY
END_