Finite Element Method vs Extended Finite Element Method (FEM vs XFEM) What are main differences between FEM and XFEM? When should we (not) use XFEM intead of FEM and vice versa? In other words, when I meet a new problem, how I can know to use which one of them?
 A: The extended finite element method (XFEM) is mainly targeted towards problems with strong or weak discontinuities. By a strong discontinuity I mean a jump in the values of the solution (consider e.g. a crack in the elastic setting) and by a weak discontinuity I mean a jump in the derivative of the solution (might e.g. be due to a strongly discontinuous material parameter field).
The strong discontinuities are represented by basis functions which are discontinuous over the "crack". In addition to the implicit representation of the discontinuity, the set of basis functions is often augmented with some sort of singular basis functions (obtained by asymptotic methods) which attempt to represent the asymptotic behavior of the solution near crack tip.
The alternative to XFEM is of course to use a standard finite element method on a mesh which conforms with the crack. This requires a higher amount of elements but is much easier to implement. Furthermore, the non-standard basis functions of XFEM require a careful planning of the numerical integration rules while constructing the stiffness matrix.
According to my experience, for two-dimensional problems there exists quite well-performing XFEM codes (for example GetFEM++). The three dimensional implementations suffer from the lack of theory of singularities in three dimensional cracks: It's hard to find any accurate asymptotic functions for three dimensional crack singularities and therefore the asymptotic convergence (which is often used to measure the performance of a certain finite element method) will suffer. This reduces the usefulness of the crack tip enrichment and thus the usefulness of XFEM with respect to the standard mesh->solve->remesh->solve->... iteration in crack propagation analyses.
