Level Set#
Level Set Representations#
OpenPisco supports several level set representations adapted to different simulation and optimization workflows.
🟦 Structured Level Sets
Level sets defined on Cartesian grids.
🔺 Unstructured Level Sets
Level sets defined on simplicial meshes.
🧩 Body-Fitted Level Sets
Lagrangian representation relying on mesh conformity to the interface.
Level Set Operations#
Regularization#
Purpose#
Extend and smooth a velocity field initially defined on the structural interface so that it can be used reliably during level set transport.
Why is it needed?#
Shape derivatives are naturally computed on the interface only. Regularization extends this information to the surrounding domain while reducing numerical oscillations and improving robustness.
Mathematical formulation#
The regularized velocity field \(V \in H^1(D)\) is obtained by solving
where \(\alpha > 0\) controls the amount of regularization and \(v_{\partial\Omega}\) denotes the input interface velocity.
Transport#
Purpose#
Move the level set interface according to a prescribed velocity field.
Why is it needed?#
Transport is the main mechanism used to evolve the geometry during shape and topology optimization iterations.
Mathematical formulation#
The level set function is transported by solving
where \(\theta = -vn\) is the normal velocity field.
Reinitialization#
Purpose#
Restore the signed-distance property of a level set function.
Why is it needed?#
After several transport steps, the level set field progressively deviates from a signed-distance function. Reinitialization improves numerical stability while preserving the interface location.
Mathematical formulation#
The signed-distance function \(d_\Omega\) is defined as
where
Implementation#
Implemented by:
The signed-distance field is computed through an interface to the open-source Mshdist library 3.
- 1
- 2
https://github.com/ISCDtoolbox/Advection/blob/master/Documentation/advectguide.pdf
- 3
https://github.com/ISCDtoolbox/Mshdist/blob/master/documentation/mshdistguide.pdf