Level Set Method

A new and improved topology optimization algorithm based on the level set method has been implemented in OptiStruct 2021.

Implemented in OptiStruct 12.0 - in the level set method, the boundary of the design is implicitly represented as the isosurface (the zero level set) of a function ϕ ( x ) defined on the finite element mesh, as shown in Figure 1. In the level set model, the domain is defined based on the value of the level set function:(1) { ϕ ( x ) > 0     :  x Ω / Ω ϕ ( x ) = 0     :  x Ω     ϕ ( x ) < 0     :  x D / Ω
Where, D specifies the design domain; Ω represents the material region, Ω stands for the boundary and D / Ω represents the region with no material. The dynamic motion of the boundary is governed by the so-called, level set equation:(2) ϕ t = v n | ϕ |
Where, v n is the normal velocity and | ϕ | is the norm of the gradient of the level set function. The basic idea of the level set equation is to map the boundary evolution into an evolution of the level set function ϕ ( x ) .

Figure 1. 2D Design and its Corresponding Level Set Representation

Level-set based topology optimization can be considered as advanced shape optimization. It works like conventional shape optimization, where the design is changed by moving the boundary, while at the same time topological changes, such as boundary emerging and splitting can be handled naturally.


Guide to setup Level-set Optimization.

The following procedure can be considered as a guide to setup Level-set Optimization:
  1. Level-set Optimization is OFF by default for topology optimization in OptiStruct.
  2. It can be switched ON by adding the LEVELSET continuation line on the DTPL entry.
    (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)
    DTPL 1 PSHELL 7 8 17        
  3. An example input DTPL entry is shown above. This will activate the Level-set method for topology optimization with the default Adaptive (ADAPT) method. The fields on the LEVELSET continuation line can be used to control the implementation. Refer to DTPL Bulk Data Entry for further information.


  1. Level-set Topology Optimization is supported for Topology Optimization. It can be tried in cases where the traditional Density method (SIMP) has some issues. Such issues could be semi-dense elements, and so on. For some models, Level-set Topology may take more iterations to converge when compared to the traditional density method.
  2. Maximum Member size control (MAXDIM on DTPL) and Minimum spacing between members (MINGAP on DTPL) are supported with Level-set Topology Optimization. MINGAP should be set to a value lower than MAXDIM for Level Set method.
  3. The following are not supported by Level-set optimization. If present, the run will error out:
    • Pattern Repetition
    • Extrusion Constraint
    • Multi-Model Optimization (MMO)
    • Fail Safe Optimization (FSO)
  4. Pattern Grouping is supported for Level-set optimization, for TYPE=1, 2, 3, 10, and 11 symmetry types. TYPE=9 is currently not supported.
  5. PARAM,TOPDISC,YES is not supported in conjunction with Level-set Topology Optimization. If present, this parameter is ignored; and a message is printed in the .out file.
  6. Draw direction constraint is supported. Only SINGLE, SPLIT, and RADIAL constraints are supported. All DTPL entries in the model should have or should not have the Draw direction constraint defined, if Level-set Topology is specified. If some DTPL entries in the model have draw direction and others do not, the run will error out.
  7. For models containing solid elements, Level-set requires at least eight layers of solid elements. This gives Level-set sufficient layers to determine voids, solid regions, and boundaries. If a minimum of eight layers of solid elements are not present in the model, then an error is issued.
  8. Overhang Constraints (OVERHANG continuation line on DTPL) is supported for Level set Topology optimization.