User Guide#
The user guide describes the current CutFEMx workflow around level-set geometry, entity classification, runtime quadrature, boundary terms, stabilization, algebraic constraints, and visualization.
CutFEM methods keep the mesh simple and move the geometric complexity into classification, quadrature, and stabilization. The background mesh \({\mathcal T}_h\) covers a larger computational box, while the physical domain is recovered from a level-set function:
Core idea
CutFEMx does not ask DOLFINx to assemble on a curved mesh. Instead, it keeps the usual finite element space on the background mesh and replaces selected integrals by cut-cell quadrature rules:
This is why the high-level workflow always separates geometry from analysis: classify entities, build runtime quadrature, write the variational form on the selected measures, stabilize the cut configuration, and constrain inactive degrees of freedom.
User guide
Workflow#
Define a DOLFINx level-set function that describes the physical geometry.
Classify background cells, facets, or selected entities with
cutfemx.cut(...)andcutfemx.locate_entities(...).Build runtime quadrature providers for cut cells, embedded interfaces, exterior facets, or active skeleton facets.
Express the PDE in UFL using the corresponding standard and runtime measures.
Add weak boundary/interface terms, typically Nitsche terms, when the boundary is not fitted to the mesh.
Add ghost-penalty stabilization to control small cut cells and extension into the cut-cell band.
Assemble with CutFEMx and deactivate inactive degrees of freedom.
Inspect cut meshes, quadrature points, and active-domain indicators before trusting a numerical solution.