Extended finite element method

 
The extended finite element method (XFEM), is a numerical technique based on the generalized finite element method (GFEM) and the partition of unity method (PUM). It extends the classical finite element method (FEM) approach by enriching the solution space for solutions to differential equations with discontinuous functions.
History.
The extended finite element method (XFEM) was developed in 1999 by Ted Belytschko and collaborators,
to help alleviate shortcomings of the finite element method and has been used to model the propagation of various discontinuities: strong (cracks) and weak (material interfaces). The idea behind XFEM is to retain most advantages of meshfree methods while alleviating their negative sides.
Rationale.
The extended finite element method was developed to ease difficulties in solving problems with localized features that are not efficiently resolved by mesh refinement. One of the initial applications was the modelling of fractures in a material. In this original implementation, discontinuous basis functions are added to standard polynomial basis functions for nodes that belonged to elements that are intersected by a crack to provide a basis that included crack opening displacements. A key advantage of XFEM is that in such problems the finite element mesh does not need to be updated to track the crack path. Subsequent research has illustrated the more general use of the method for problems involving singularities, material interfaces, regular meshing of microstructural features such as voids, and other problems where a localized feature can be described by an appropriate set of basis functions.
Principle.
Enriched finite element methods extend, or enrich, the
approximation space so that it is able to naturally reproduce the
challenging feature associated with the problem of interest: the
discontinuity, singularity, boundary layer, etc. It was shown that
for some problems, such an embedding of the problem's feature into the approximation
space can significantly improve convergence rates and accuracy.
Moreover, treating problems with discontinuities with eXtended
Finite Element Methods suppresses the need to mesh and remesh the
discontinuity surfaces, thus alleviating the computational costs and projection errors
associated with conventional finite element methods, at the cost of restricting the discontinuities to mesh edges. 
Existing XFEM codes.
There exists several research codes implementing this technique to various degrees.
XFEM has also been implemented in code like Altair Radioss, ASTER, Morfeo, and Abaqus. It is increasingly being adopted by other commercial finite element software, with a few plugins and actual core implementations available (ANSYS, SAMCEF, OOFELIE, etc.).