About Minimizing Displacement / Rotation under Volume Constraint

Aim of this optimization task is to get a structure with a minimum deflection or rotation. In case that the displacement at a node with a load is to be minimized, the problem is identical to the maximization of the stiffness.

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

min(ui)

i=1,nVolvol_restrict

with ui 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 has to 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 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. Please 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
 LC_SEL         = MAX
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
 LC_SEL         = MAX
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
 LC_SEL         = MAX
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_