# Level Set Method

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

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.

## Input

Guide to setup Level-set Optimization.

- Level-set Optimization is OFF by default for topology optimization in OptiStruct.
- 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 LEVELSET - 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.

### Comments

- 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.
- Maximum Member size control is currently not supported with Level-set Topology Optimization. If present, the setting will be ignored; and a message is printed in the .out file.
- 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)

- Pattern Grouping
is supported for Level-set optimization, for
`TYPE`=1, 2, 3, 10, and 11 symmetry types.`TYPE`=9 is currently not supported. - 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.
- Draw direction constraint is supported. SINGLE and/or SPLIT constraint types are only 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.