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.

This page discusses:

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 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_