XFEM Module

The XFEM module implements the extended finite element method (XFEM) in the MOOSE framework. It can be used in conjunction with any number of other physics modules to enrich the solutions to partial differential equations (PDEs) with some form of discontinuity. XFEM theory and implementation are detailed in the theory manual:

Tables provided in the Objects, Actions, and Syntax section list objects contained within the XFEM module followed by short explanations of the objects' purposes. Links on the objects' names navigate to an individual detailed page for the object.

Crack propagation on a circular mesh as a result of hoop strain relief.

Side view of the deformation of a cylinder with a cut prescribed by XFEM.

Top view of the deformation of a cylinder with a cut prescribed by XFEM.

Applications

XFEM is ideally suited to problems involving local discontinuities. Typically these types of problems fall into one of two categories: strong or weak discontinuities. Strong discontinuities are characterized by a jump in the value of a solution field across an interface, whereas weak discontinuities involve a jump in the first derivative (slope) of a solution field across an interface. Examples of the types of problems XFEM can solve include:

  • Cracking

    • Stationary cracks

    • Cracks that propagate in a manner directly prescribed by the user

    • Cracks that propagate based on the solution (stress, stress intensity factor, etc.)

  • Interfaces

    • Open (glued) or closed (inclusion) interfaces on the domain

    • Static and dynamic movement options

      • Stationary (prescribed location) interfaces

      • Interfaces that move in a manner directly prescribed by the user (provided level set function)

      • Interfaces that move based on the solution (temperature, displacement, etc.)

The locations of the interface used to define solution discontinuities can be prescribed in various ways, including by user-defined cutting planes and using level set functions. The evolution of level set functions can optionally be computed using the level set module, which is recommended for interfaces that move based on calculated growth rates rather than prescribed functions.

Software Quality

The XFEM module follows strict software quality guidelines. Please refer to XFEM Software Quality Assurance for additional information.

Objects, Actions, and Syntax

AuxKernels
  • XFEMApp
  • CutSubdomainIDAuxFill the elemental variable with CutSubdomainID
  • MeshCutLevelSetAuxCalculates signed distance from interface defined by InterfaceMeshCutUserObject.
  • XFEMCutPlaneAuxComputes the normal and origin of a cutting plane for each partial element.
  • XFEMMarkerAuxIdentify the crack tip elements.
  • XFEMVolFracAuxComputes the volume fraction of the physical material in each partial element.
AuxVariablesBCs
  • XFEMApp
  • CrackTipEnrichmentCutOffBCImposes the essential boundary condition , where is a constant, controllable value.
ConstraintsDiracKernels
  • XFEMApp
  • XFEMPressureApplies a pressure on an interface cut by XFEM.
KernelsMaterialsOutputs
  • XFEMApp
  • XFEMCutMeshOutputOutputs XFEM MeshCut2DUserObjectBase cutter mesh in Exodus format.
Postprocessors
  • XFEMApp
  • ParisLawComputes the crack extension size at all active crack front points.
UserObjectsXFEM
  • XFEMApp
  • XFEMActionAction to input general parameters and simulation options for use in XFEM.