Limits for Design Variables and Changes

In topology optimization, each relative material volume is constrained by a lower and an upper bound.

Related Topics
In Other Guides
OPT_PARAM

The bound is defined as follows:

0<DENSITY_LOWERρDENSITY_UPPER1

By default, the lower bound is set to 0.001 and the upper bound is set to 1 in order to avoid the global stiffness matrix to become singular. You can change these bounds using the commands DENSITY_LOWER and DENSITY_UPPER, respectively. An example is:

OPT_PARAM
 ID_NAME = opt_params
 OPTIMIZE = id_of_optimize

 DENSITY_LOWER = 0.01
 DENSITY_UPPER = 1.00
EnD_
Important:

Changing the bounds is not recommended. Especially, an upper bound other than 1 is critical. The lower bound can be increased if the default value is likely to lead to a nearly singular stiffness matrix.

Note:

  • DENSITY_LOWER should always be greater than zero and DENSITY_LOWER should be lower than DENSITY_UPPER.
  • DENSITY_UPPER should always be lower or equal to one.

Furthermore, in the sensitivity-based topology optimization, the maximal relative material volume change in one iteration is defined:

DENSITY_LOWERρDENSITY_MOVEρ

ρρ+DENSITY_MOVEDENSITY_UPPER

The reason for the change limit is that the sensitivity-based optimization algorithm approximates the design responses around the actual design response values using the sensitivities. These approximations are only valid in a small range of design variables, thus the variation of the relative material values should be limited.

Numerical experiments indicate that a value of 0.25 for the change limit is usually acceptable. However, one can set the limit to, e.g., 0.4 using the parameter DENSITY_MOVE:

OPT_PARAM
 ID_NAME = opt_params
 OPTIMIZE = id_of_optimize

 DENSITY_MOVE = 0.4
END_

The default value of DENSITY_MOVE is 0.25. A low change limit (such as 0.1) is recommended for complicated design responses and optimization formulations. However, a lower change limit most often leads to a higher number of optimization iterations.