Finite element method
Differential equations 

Classification 
Solution 
The finite element method (FEM) is an extremely popular method for numerically solving differential equations arising in engineering and mathematical modeling. Typical problem areas of interest include the traditional fields of structural analysis, heat transfer, fluid flow, mass transport, and electromagnetic potential.
The FEM is a general numerical method for solving partial differential equations in two or three space variables (i.e., some boundary value problems). To solve a problem, the FEM subdivides a large system into smaller, simpler parts called finite elements. This is achieved by a particular space discretization in the space dimensions, which is implemented by the construction of a mesh of the object: the numerical domain for the solution, which has a finite number of points. The finite element method formulation of a boundary value problem finally results in a system of algebraic equations. The method approximates the unknown function over the domain.^{[1]} The simple equations that model these finite elements are then assembled into a larger system of equations that models the entire problem. The FEM then approximates a solution by minimizing an associated error function via the calculus of variations.
Studying or analyzing a phenomenon with FEM is often referred to as finite element analysis (FEA).
Basic concepts
The subdivision of a whole domain into simpler parts has several advantages:^{[2]}
 Accurate representation of complex geometry
 Inclusion of dissimilar material properties
 Easy representation of the total solution
 Capture of local effects.
Typical work out of the method involves:
 dividing the domain of the problem into a collection of subdomains, with each subdomain represented by a set of element equations to the original problem
 systematically recombining all sets of element equations into a global system of equations for the final calculation.
The global system of equations has known solution techniques and can be calculated from the initial values of the original problem to obtain a numerical answer.
In the first step above, the element equations are simple equations that locally approximate the original complex equations to be studied, where the original equations are often partial differential equations (PDE). To explain the approximation in this process, the finite element method is commonly introduced as a special case of Galerkin method. The process, in mathematical language, is to construct an integral of the inner product of the residual and the weight functions and set the integral to zero. In simple terms, it is a procedure that minimizes the approximation error by fitting trial functions into the PDE. The residual is the error caused by the trial functions, and the weight functions are polynomial approximation functions that project the residual. The process eliminates all the spatial derivatives from the PDE, thus approximating the PDE locally with
 a set of algebraic equations for steady state problems,
 a set of ordinary differential equations for transient problems.
These equation sets are element equations. They are linear if the underlying PDE is linear and vice versa. Algebraic equation sets that arise in the steadystate problems are solved using numerical linear algebra methods. In contrast, ordinary differential equation sets that occur in the transient problems are solved by numerical integration using standard techniques such as Euler's method or the RungeKutta method.
In step (2) above, a global system of equations is generated from the element equations by transforming coordinates from the subdomains' local nodes to the domain's global nodes. This spatial transformation includes appropriate orientation adjustments as applied in relation to the reference coordinate system. The process is often carried out by FEM software using coordinate data generated from the subdomains.
The practical application of FEM is known as finite element analysis (FEA). FEA as applied in engineering, is a computational tool for performing engineering analysis. It includes the use of mesh generation techniques for dividing a complex problem into small elements, as well as the use of software coded with a FEM algorithm. In applying FEA, the complex problem is usually a physical system with the underlying physics such as the Euler–Bernoulli beam equation, the heat equation, or the NavierStokes equations expressed in either PDE or integral equations, while the divided small elements of the complex problem represent different areas in the physical system.
FEA may be used for analyzing problems over complicated domains (like cars and oil pipelines) when the domain changes (as during a solidstate reaction with a moving boundary), when the desired precision varies over the entire domain, or when the solution lacks smoothness. FEA simulations provide a valuable resource as they remove multiple instances of creating and testing complex prototypes for various highfidelity situations.^{[citation needed]} For example, in a frontal crash simulation, it is possible to increase prediction accuracy in "important" areas like the front of the car and reduce it in its rear (thus reducing the cost of the simulation). Another example would be in numerical weather prediction, where it is more important to have accurate predictions over developing highly nonlinear phenomena (such as tropical cyclones in the atmosphere, or eddies in the ocean) rather than relatively calm areas.
A clear, detailed, and practical presentation of this approach can be found in The Finite Element Method for Engineers.^{[3]}
History
While it is difficult to quote the date of the invention of the finite element method, the method originated from the need to solve complex elasticity and structural analysis problems in civil and aeronautical engineering.^{[4]} Its development can be traced back to work by Alexander Hrennikoff^{[5]} and Richard Courant^{[6]} in the early 1940s. Another pioneer was Ioannis Argyris. In the USSR, the introduction of the practical application of the method is usually connected with the name of Leonard Oganesyan.^{[7]} It was also independently rediscovered in China by Feng Kang in the later 1950s and early 1960s, based on the computations of dam constructions, where it was called the finite difference method based on variation principle. Although the approaches used by these pioneers are different, they share one essential characteristic: mesh discretization of a continuous domain into a set of discrete subdomains, usually called elements.
Hrennikoff's work discretizes the domain by using a lattice analogy, while Courant's approach divides the domain into finite triangular subregions to solve second order elliptic partial differential equations that arise from the problem of torsion of a cylinder. Courant's contribution was evolutionary, drawing on a large body of earlier results for PDEs developed by Lord Rayleigh, Walther Ritz, and Boris Galerkin.
The finite element method obtained its real impetus in the 1960s and 1970s by the developments of J. H. Argyris with coworkers at the University of Stuttgart, R. W. Clough with coworkers at UC Berkeley, O. C. Zienkiewicz with coworkers Ernest Hinton, Bruce Irons^{[8]} and others at Swansea University, Philippe G. Ciarlet at the University of Paris 6 and Richard Gallagher with coworkers at Cornell University. Further impetus was provided in these years by available opensource finite element programs. NASA sponsored the original version of NASTRAN. UC Berkeley made the finite element program SAP IV^{[9]} widely available. In Norway, the ship classification society Det Norske Veritas (now DNV GL) developed Sesam in 1969 for use in the analysis of ships.^{[10]} A rigorous mathematical basis to the finite element method was provided in 1973 with the publication by Gilbert Strang and George Fix.^{[11]} The method has since been generalized for the numerical modeling of physical systems in a wide variety of engineering disciplines, e.g., electromagnetism, heat transfer, and fluid dynamics.^{[12]}^{[13]}
Technical discussion
The structure of finite element methods
A finite element method is characterized by a variational formulation, a discretization strategy, one or more solution algorithms, and postprocessing procedures.
Examples of the variational formulation are the Galerkin method, the discontinuous Galerkin method, mixed methods, etc.
A discretization strategy is understood to mean a clearly defined set of procedures that cover (a) the creation of finite element meshes, (b) the definition of basis function on reference elements (also called shape functions), and (c) the mapping of reference elements onto the elements of the mesh. Examples of discretization strategies are the hversion, pversion, hpversion, xFEM, isogeometric analysis, etc. Each discretization strategy has certain advantages and disadvantages. A reasonable criterion in selecting a discretization strategy is to realize nearly optimal performance for the broadest set of mathematical models in a particular model class.
Various numerical solution algorithms can be classified into two broad categories; direct and iterative solvers. These algorithms are designed to exploit the sparsity of matrices that depend on the variational formulation and discretization strategy choices.
Postprocessing procedures are designed to extract the data of interest from a finite element solution. To meet the requirements of solution verification, postprocessors need to provide for a posteriori error estimation in terms of the quantities of interest. When the errors of approximation are larger than what is considered acceptable, then the discretization has to be changed either by an automated adaptive process or by the action of the analyst. Some very efficient postprocessors provide for the realization of superconvergence.
Illustrative problems P1 and P2
The following two problems demonstrate the finite element method.
P1 is a onedimensional problem [math]\displaystyle{ \text{ P1 } : \begin{cases} u''(x) = f(x) \text{ in } (0,1), \\ u(0) = u(1) = 0, \end{cases} }[/math] where [math]\displaystyle{ f }[/math] is given, [math]\displaystyle{ u }[/math] is an unknown function of [math]\displaystyle{ x }[/math], and [math]\displaystyle{ u'' }[/math] is the second derivative of [math]\displaystyle{ u }[/math] with respect to [math]\displaystyle{ x }[/math].
P2 is a twodimensional problem (Dirichlet problem) [math]\displaystyle{ \text{P2 }: \begin{cases} u_{xx}(x,y)+u_{yy}(x,y)=f(x,y) & \text{ in } \Omega, \\ u=0 & \text{ on } \partial \Omega, \end{cases} }[/math]
where [math]\displaystyle{ \Omega }[/math] is a connected open region in the [math]\displaystyle{ (x,y) }[/math] plane whose boundary [math]\displaystyle{ \partial \Omega }[/math] is nice (e.g., a smooth manifold or a polygon), and [math]\displaystyle{ u_{xx} }[/math] and [math]\displaystyle{ u_{yy} }[/math] denote the second derivatives with respect to [math]\displaystyle{ x }[/math] and [math]\displaystyle{ y }[/math], respectively.
The problem P1 can be solved directly by computing antiderivatives. However, this method of solving the boundary value problem (BVP) works only when there is one spatial dimension. It does not generalize to higherdimensional problems or problems like [math]\displaystyle{ u+u''=f }[/math]. For this reason, we will develop the finite element method for P1 and outline its generalization to P2.
Our explanation will proceed in two steps, which mirror two essential steps one must take to solve a boundary value problem (BVP) using the FEM.
 In the first step, one rephrases the original BVP in its weak form. Little to no computation is usually required for this step. The transformation is done by hand on paper.
 The second step is discretization, where the weak form is discretized in a finitedimensional space.
After this second step, we have concrete formulae for a large but finitedimensional linear problem whose solution will approximately solve the original BVP. This finitedimensional problem is then implemented on a computer.
Weak formulation
The first step is to convert P1 and P2 into their equivalent weak formulations.
The weak form of P1
If [math]\displaystyle{ u }[/math] solves P1, then for any smooth function [math]\displaystyle{ v }[/math] that satisfies the displacement boundary conditions, i.e. [math]\displaystyle{ v=0 }[/math] at [math]\displaystyle{ x=0 }[/math] and [math]\displaystyle{ x=1 }[/math], we have
[math]\displaystyle{ \int_0^1 f(x)v(x) \, dx = \int_0^1 u''(x)v(x) \, dx. }[/math] 

( ) 
Conversely, if [math]\displaystyle{ u }[/math] with [math]\displaystyle{ u(0) = u(1) = 0 }[/math] satisfies (1) for every smooth function [math]\displaystyle{ v(x) }[/math] then one may show that this [math]\displaystyle{ u }[/math] will solve P1. The proof is easier for twice continuously differentiable [math]\displaystyle{ u }[/math] (mean value theorem) but may be proved in a distributional sense as well.
We define a new operator or map [math]\displaystyle{ \phi(u,v) }[/math] by using integration by parts on the righthandside of (1):

[math]\displaystyle{ \begin{align} \int_0^1 f(x)v(x) \, dx & = \int_0^1 u''(x)v(x) \, dx \\ & = u'(x)v(x)_0^1\int_0^1 u'(x)v'(x) \, dx \\ & = \int_0^1 u'(x)v'(x) \, dx \equiv \phi (u,v), \end{align} }[/math]
(
)
where we have used the assumption that [math]\displaystyle{ v(0) = v(1) = 0 }[/math].
The weak form of P2
If we integrate by parts using a form of Green's identities, we see that if [math]\displaystyle{ u }[/math] solves P2, then we may define [math]\displaystyle{ \phi(u,v) }[/math] for any [math]\displaystyle{ v }[/math] by [math]\displaystyle{ \int_\Omega fv\,ds = \int_\Omega \nabla u \cdot \nabla v \, ds \equiv \phi(u,v), }[/math]
where [math]\displaystyle{ \nabla }[/math] denotes the gradient and [math]\displaystyle{ \cdot }[/math] denotes the dot product in the twodimensional plane. Once more [math]\displaystyle{ \,\!\phi }[/math] can be turned into an inner product on a suitable space [math]\displaystyle{ H_0^1(\Omega) }[/math] of once differentiable functions of [math]\displaystyle{ \Omega }[/math] that are zero on [math]\displaystyle{ \partial \Omega }[/math]. We have also assumed that [math]\displaystyle{ v \in H_0^1(\Omega) }[/math] (see Sobolev spaces). The existence and uniqueness of the solution can also be shown.
A proof outline of the existence and uniqueness of the solution
We can loosely think of [math]\displaystyle{ H_0^1(0,1) }[/math] to be the absolutely continuous functions of [math]\displaystyle{ (0,1) }[/math] that are [math]\displaystyle{ 0 }[/math] at [math]\displaystyle{ x=0 }[/math] and [math]\displaystyle{ x=1 }[/math] (see Sobolev spaces). Such functions are (weakly) once differentiable, and it turns out that the symmetric bilinear map [math]\displaystyle{ \!\,\phi }[/math] then defines an inner product which turns [math]\displaystyle{ H_0^1(0,1) }[/math] into a Hilbert space (a detailed proof is nontrivial). On the other hand, the lefthandside [math]\displaystyle{ \int_0^1 f(x)v(x)dx }[/math] is also an inner product, this time on the Lp space [math]\displaystyle{ L^2(0,1) }[/math]. An application of the Riesz representation theorem for Hilbert spaces shows that there is a unique [math]\displaystyle{ u }[/math] solving (2) and, therefore, P1. This solution is apriori only a member of [math]\displaystyle{ H_0^1(0,1) }[/math], but using elliptic regularity, will be smooth if [math]\displaystyle{ f }[/math] is.
Discretization
P1 and P2 are ready to be discretized, which leads to a common subproblem (3). The basic idea is to replace the infinitedimensional linear problem:
 Find [math]\displaystyle{ u \in H_0^1 }[/math] such that
 [math]\displaystyle{ \forall v \in H_0^1, \; \phi(u,v)=\int fv }[/math]
with a finitedimensional version:

Find [math]\displaystyle{ u \in V }[/math] such that
[math]\displaystyle{ \forall v \in V, \; \phi(u,v)=\int fv }[/math](
)
where [math]\displaystyle{ V }[/math] is a finitedimensional subspace of [math]\displaystyle{ H_0^1 }[/math]. There are many possible choices for [math]\displaystyle{ V }[/math] (one possibility leads to the spectral method). However, we take [math]\displaystyle{ V }[/math] as a space of piecewise polynomial functions for the finite element method.
For problem P1
We take the interval [math]\displaystyle{ (0,1) }[/math], choose [math]\displaystyle{ n }[/math] values of [math]\displaystyle{ x }[/math] with [math]\displaystyle{ 0=x_0 \lt x_1 \lt \cdots \lt x_n \lt x_{n+1}=1 }[/math] and we define [math]\displaystyle{ V }[/math] by: [math]\displaystyle{ V = \{v:[0,1] \to \mathbb R\;: v\text{ is continuous, } v_{[x_k,x_{k+1}]} \text{ is linear for } k = 0,\dots,n \text{, and } v(0)=v(1)=0 \} }[/math]
where we define [math]\displaystyle{ x_0=0 }[/math] and [math]\displaystyle{ x_{n+1}=1 }[/math]. Observe that functions in [math]\displaystyle{ V }[/math] are not differentiable according to the elementary definition of calculus. Indeed, if [math]\displaystyle{ v \in V }[/math] then the derivative is typically not defined at any [math]\displaystyle{ x = x_k }[/math], [math]\displaystyle{ k = 1,\ldots,n }[/math]. However, the derivative exists at every other value of [math]\displaystyle{ x }[/math], and one can use this derivative for integration by parts.
For problem P2
We need [math]\displaystyle{ V }[/math] to be a set of functions of [math]\displaystyle{ \Omega }[/math]. In the figure on the right, we have illustrated a triangulation of a 15sided polygonal region [math]\displaystyle{ \Omega }[/math] in the plane (below), and a piecewise linear function (above, in color) of this polygon which is linear on each triangle of the triangulation; the space [math]\displaystyle{ V }[/math] would consist of functions that are linear on each triangle of the chosen triangulation.
One hopes that as the underlying triangular mesh becomes finer and finer, the solution of the discrete problem (3) will, in some sense, converge to the solution of the original boundary value problem P2. To measure this mesh fineness, the triangulation is indexed by a realvalued parameter [math]\displaystyle{ h \gt 0 }[/math] which one takes to be very small. This parameter will be related to the largest or average triangle size in the triangulation. As we refine the triangulation, the space of piecewise linear functions [math]\displaystyle{ V }[/math] must also change with [math]\displaystyle{ h }[/math]. For this reason, one often reads [math]\displaystyle{ V_h }[/math] instead of [math]\displaystyle{ V }[/math] in the literature. Since we do not perform such an analysis, we will not use this notation.
Choosing a basis
To complete the discretization, we must select a basis of [math]\displaystyle{ V }[/math]. In the onedimensional case, for each control point [math]\displaystyle{ x_k }[/math] we will choose the piecewise linear function [math]\displaystyle{ v_k }[/math] in [math]\displaystyle{ V }[/math] whose value is [math]\displaystyle{ 1 }[/math] at [math]\displaystyle{ x_k }[/math] and zero at every [math]\displaystyle{ x_j,\;j \neq k }[/math], i.e., [math]\displaystyle{ v_{k}(x) = \begin{cases} {xx_{k1} \over x_k\,x_{k1}} & \text{ if } x \in [x_{k1},x_k], \\ {x_{k+1}\,x \over x_{k+1}\,x_k} & \text{ if } x \in [x_k,x_{k+1}], \\ 0 & \text{ otherwise}, \end{cases} }[/math]
for [math]\displaystyle{ k = 1,\dots,n }[/math]; this basis is a shifted and scaled tent function. For the twodimensional case, we choose again one basis function [math]\displaystyle{ v_k }[/math] per vertex [math]\displaystyle{ x_k }[/math] of the triangulation of the planar region [math]\displaystyle{ \Omega }[/math]. The function [math]\displaystyle{ v_k }[/math] is the unique function of [math]\displaystyle{ V }[/math] whose value is [math]\displaystyle{ 1 }[/math] at [math]\displaystyle{ x_k }[/math] and zero at every [math]\displaystyle{ x_j,\;j \neq k }[/math].
Depending on the author, the word "element" in the "finite element method" refers to the domain's triangles, the piecewise linear basis function, or both. So, for instance, an author interested in curved domains might replace the triangles with curved primitives and so might describe the elements as being curvilinear. On the other hand, some authors replace "piecewise linear" with "piecewise quadratic" or even "piecewise polynomial". The author might then say "higher order element" instead of "higher degree polynomial". The finite element method is not restricted to triangles (tetrahedra in 3d or higherorder simplexes in multidimensional spaces). Still, it can be defined on quadrilateral subdomains (hexahedra, prisms, or pyramids in 3d, and so on). Higherorder shapes (curvilinear elements) can be defined with polynomial and even nonpolynomial shapes (e.g., ellipse or circle).
Examples of methods that use higher degree piecewise polynomial basis functions are the hpFEM and spectral FEM.
More advanced implementations (adaptive finite element methods) utilize a method to assess the quality of the results (based on error estimation theory) and modify the mesh during the solution aiming to achieve an approximate solution within some bounds from the exact solution of the continuum problem. Mesh adaptivity may utilize various techniques; the most popular are:
 moving nodes (radaptivity)
 refining (and unrefined) elements (hadaptivity)
 changing order of base functions (padaptivity)
 combinations of the above (hpadaptivity).
Small support of the basis
The primary advantage of this choice of basis is that the inner products [math]\displaystyle{ \langle v_j,v_k \rangle = \int_0^1 v_j v_k\,dx }[/math] and [math]\displaystyle{ \phi(v_j,v_k)=\int_0^1 v_j' v_k'\,dx }[/math] will be zero for almost all [math]\displaystyle{ j,k }[/math]. (The matrix containing [math]\displaystyle{ \langle v_j, v_k \rangle }[/math] in the [math]\displaystyle{ (j,k) }[/math] location is known as the Gramian matrix.) In the one dimensional case, the support of [math]\displaystyle{ v_k }[/math] is the interval [math]\displaystyle{ [x_{k1},x_{k+1}] }[/math]. Hence, the integrands of [math]\displaystyle{ \langle v_j, v_k \rangle }[/math] and [math]\displaystyle{ \phi(v_j,v_k) }[/math] are identically zero whenever [math]\displaystyle{ jk\gt 1 }[/math].
Similarly, in the planar case, if [math]\displaystyle{ x_j }[/math] and [math]\displaystyle{ x_k }[/math] do not share an edge of the triangulation, then the integrals [math]\displaystyle{ \int_{\Omega} v_j v_k\,ds }[/math] and [math]\displaystyle{ \int_{\Omega} \nabla v_j \cdot \nabla v_k\,ds }[/math] are both zero.
Matrix form of the problem
If we write [math]\displaystyle{ u(x) = \sum_{k=1}^n u_k v_k(x) }[/math] and [math]\displaystyle{ f(x) = \sum_{k=1}^n f_k v_k(x) }[/math] then problem (3), taking [math]\displaystyle{ v(x) = v_j(x) }[/math] for [math]\displaystyle{ j = 1, \dots, n }[/math], becomes

[math]\displaystyle{ \sum_{k=1}^n u_k \phi (v_k,v_j) = \sum_{k=1}^n f_k \int v_k v_j dx }[/math] for [math]\displaystyle{ j = 1,\dots,n. }[/math]
(
)
If we denote by [math]\displaystyle{ \mathbf{u} }[/math] and [math]\displaystyle{ \mathbf{f} }[/math] the column vectors [math]\displaystyle{ (u_1,\dots,u_n)^t }[/math] and [math]\displaystyle{ (f_1,\dots,f_n)^t }[/math], and if we let [math]\displaystyle{ L = (L_{ij}) }[/math] and [math]\displaystyle{ M = (M_{ij}) }[/math] be matrices whose entries are [math]\displaystyle{ L_{ij} = \phi (v_i,v_j) }[/math] and [math]\displaystyle{ M_{ij} = \int v_i v_j dx }[/math] then we may rephrase (4) as
[math]\displaystyle{ L \mathbf{u} = M \mathbf{f}. }[/math] 

( ) 
It is not necessary to assume [math]\displaystyle{ f(x) = \sum_{k=1}^n f_k v_k(x) }[/math]. For a general function [math]\displaystyle{ f(x) }[/math], problem (3) with [math]\displaystyle{ v(x) = v_j(x) }[/math] for [math]\displaystyle{ j = 1, \dots, n }[/math] becomes actually simpler, since no matrix [math]\displaystyle{ M }[/math] is used,
[math]\displaystyle{ L \mathbf{u} = \mathbf{b}, }[/math] 

( ) 
where [math]\displaystyle{ \mathbf{b} = (b_1, \dots, b_n)^t }[/math] and [math]\displaystyle{ b_j = \int f v_j dx }[/math] for [math]\displaystyle{ j = 1, \dots, n }[/math].
As we have discussed before, most of the entries of [math]\displaystyle{ L }[/math] and [math]\displaystyle{ M }[/math] are zero because the basis functions [math]\displaystyle{ v_k }[/math] have small support. So we now have to solve a linear system in the unknown [math]\displaystyle{ \mathbf{u} }[/math] where most of the entries of the matrix [math]\displaystyle{ L }[/math], which we need to invert, are zero.
Such matrices are known as sparse matrices, and there are efficient solvers for such problems (much more efficient than actually inverting the matrix.) In addition, [math]\displaystyle{ L }[/math] is symmetric and positive definite, so a technique such as the conjugate gradient method is favored. For problems that are not too large, sparse LU decompositions and Cholesky decompositions still work well. For instance, MATLAB's backslash operator (which uses sparse LU, sparse Cholesky, and other factorization methods) can be sufficient for meshes with a hundred thousand vertices.
The matrix [math]\displaystyle{ L }[/math] is usually referred to as the stiffness matrix, while the matrix [math]\displaystyle{ M }[/math] is dubbed the mass matrix.
General form of the finite element method
In general, the finite element method is characterized by the following process.
 One chooses a grid for [math]\displaystyle{ \Omega }[/math]. In the preceding treatment, the grid consisted of triangles, but one can also use squares or curvilinear polygons.
 Then, one chooses basis functions. We used piecewise linear basis functions in our discussion, but it is common to use piecewise polynomial basis functions.
Separate consideration is the smoothness of the basis functions. For secondorder elliptic boundary value problems, piecewise polynomial basis function that is merely continuous suffice (i.e., the derivatives are discontinuous.) For higherorder partial differential equations, one must use smoother basis functions. For instance, for a fourthorder problem such as [math]\displaystyle{ u_{xxxx} + u_{yyyy} = f }[/math], one may use piecewise quadratic basis functions that are [math]\displaystyle{ C^1 }[/math].
Another consideration is the relation of the finitedimensional space [math]\displaystyle{ V }[/math] to its infinitedimensional counterpart in the examples above [math]\displaystyle{ H_0^1 }[/math]. A conforming element method is one in which space [math]\displaystyle{ V }[/math] is a subspace of the element space for the continuous problem. The example above is such a method. If this condition is not satisfied, we obtain a nonconforming element method, an example of which is the space of piecewise linear functions over the mesh, which are continuous at each edge midpoint. Since these functions are generally discontinuous along the edges, this finitedimensional space is not a subspace of the original [math]\displaystyle{ H_0^1 }[/math].
Typically, one has an algorithm for subdividing a given mesh. If the primary method for increasing precision is to subdivide the mesh, one has an hmethod (h is customarily the diameter of the largest element in the mesh.) In this manner, if one shows that the error with a grid [math]\displaystyle{ h }[/math] is bounded above by [math]\displaystyle{ Ch^p }[/math], for some [math]\displaystyle{ C \lt \infty }[/math] and [math]\displaystyle{ p \gt 0 }[/math], then one has an order p method. Under specific hypotheses (for instance, if the domain is convex), a piecewise polynomial of order [math]\displaystyle{ d }[/math] method will have an error of order [math]\displaystyle{ p = d+1 }[/math].
If instead of making h smaller, one increases the degree of the polynomials used in the basis function, one has a pmethod. If one combines these two refinement types, one obtains an hpmethod (hpFEM). In the hpFEM, the polynomial degrees can vary from element to element. Highorder methods with large uniform p are called spectral finite element methods (SFEM). These are not to be confused with spectral methods.
For vector partial differential equations, the basis functions may take values in [math]\displaystyle{ \mathbb{R}^n }[/math].
Various types of finite element methods
AEM
The Applied Element Method or AEM combines features of both FEM and Discrete element method or (DEM).
AFEM
Yang and Lui introduced the AugmentedFinite Element Method, whose goal was to model the weak and strong discontinuities without needing extra DoFs, as PuM stated.
CutFEM
The Cut Finite Element Approach was developed in 2014.^{[14]} The approach is "to make the discretization as independent as possible of the geometric description and minimize the complexity of mesh generation, while retaining the accuracy and robustness of a standard finite element method."^{[15]}
Generalized finite element method
The generalized finite element method (GFEM) uses local spaces consisting of functions, not necessarily polynomials, that reflect the available information on the unknown solution and thus ensure good local approximation. Then a partition of unity is used to “bond” these spaces together to form the approximating subspace. The effectiveness of GFEM has been shown when applied to problems with domains having complicated boundaries, problems with microscales, and problems with boundary layers.^{[16]}
Mixed finite element method
The mixed finite element method is a type of finite element method in which extra independent variables are introduced as nodal variables during the discretization of a partial differential equation problem.
Variable – polynomial
The hpFEM combines adaptively elements with variable size h and polynomial degree p to achieve exceptionally fast, exponential convergence rates.^{[17]}
hpkFEM
The hpkFEM combines adaptively elements with variable size h, polynomial degree of the local approximations p, and global differentiability of the local approximations (k1) to achieve the best convergence rates.
XFEM
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 by enriching the solution space for solutions to differential equations with discontinuous functions. Extended finite element methods enrich the approximation space 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 XFEMs 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.
Several research codes implement this technique to various degrees:
 GetFEM++
 xfem++
 openxfem++
XFEM has also been implemented in codes like Altair Radios, 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.).
Scaled boundary finite element method (SBFEM)
The introduction of the scaled boundary finite element method (SBFEM) came from Song and Wolf (1997).^{[18]} The SBFEM has been one of the most profitable contributions in the area of numerical analysis of fracture mechanics problems. It is a semianalytical fundamentalsolutionless method combining the advantages of finite element formulations and procedures and boundary element discretization. However, unlike the boundary element method, no fundamental differential solution is required.
SFEM
The SFEM, Smoothed Finite Element Methods, is a particular class of numerical simulation algorithms for the simulation of physical phenomena. It was developed by combining meshfree methods with the finite element method.
Spectral element method
Meshfree methods
Discontinuous Galerkin methods
Finite element limit analysis
Stretched grid method
Loubignac iteration
Loubignac iteration is an iterative method in finite element methods.
Crystal plasticity finite element method (CPFEM)
The crystal plasticity finite element method (CPFEM) is an advanced numerical tool developed by Franz Roters. Metals can be regarded as crystal aggregates, which behave anisotropy under deformation, such as abnormal stress and strain localization. CPFEM, based on the slip (shear strain rate), can calculate dislocation, crystal orientation, and other texture information to consider crystal anisotropy during the routine. It has been applied in the numerical study of material deformation, surface roughness, fractures, etc.
Virtual element method (VEM)
The virtual element method (VEM), introduced by Beirão da Veiga et al. (2013)^{[19]} as an extension of mimetic finite difference (MFD) methods, is a generalization of the standard finite element method for arbitrary element geometries. This allows admission of general polygons (or polyhedra in 3D) that are highly irregular and nonconvex in shape. The name virtual derives from the fact that knowledge of the local shape function basis is not required and is, in fact, never explicitly calculated.
Link with the gradient discretization method
Some types of finite element methods (conforming, nonconforming, mixed finite element methods) are particular cases of the gradient discretization method (GDM). Hence the convergence properties of the GDM, which are established for a series of problems (linear and nonlinear elliptic problems, linear, nonlinear, and degenerate parabolic problems), hold as well for these particular FEMs.
Comparison to the finite difference method
The finite difference method (FDM) is an alternative way of approximating solutions of PDEs. The differences between FEM and FDM are:
 The most attractive feature of the FEM is its ability to handle complicated geometries (and boundaries) with relative ease. While FDM in its basic form is restricted to handle rectangular shapes and simple alterations thereof, the handling of geometries in FEM is theoretically straightforward.^{[2]}^{[20]}
 FDM is not usually used for irregular CAD geometries but more often for rectangular or blockshaped models.^{[21]}
 FEM generally allows for more flexible mesh adaptivity than FDM.^{[20]}
 The most attractive feature of finite differences is that it is straightforward to implement.^{[20]}
 One could consider the FDM a particular case of the FEM approach in several ways. E.g., firstorder FEM is identical to FDM for Poisson's equation if the problem is discretized by a regular rectangular mesh with each rectangle divided into two triangles.
 There are reasons to consider the mathematical foundation of the finite element approximation more sound, for instance, because the quality of the approximation between grid points is poor in FDM.
 The quality of a FEM approximation is often higher than in the corresponding FDM approach, but this is highly problemdependent, and several examples to the contrary can be provided.
Generally, FEM is the method of choice in all types of analysis in structural mechanics (i.e., solving for deformation and stresses in solid bodies or dynamics of structures). In contrast, computational fluid dynamics (CFD) tend to use FDM or other methods like finite volume method (FVM). CFD problems usually require discretization of the problem into a large number of cells/gridpoints (millions and more). Therefore the cost of the solution favors simpler, lowerorder approximation within each cell. This is especially true for 'external flow' problems, like airflow around the car, airplane, or weather simulation.
Application
Various specializations under the umbrella of the mechanical engineering discipline (such as aeronautical, biomechanical, and automotive industries) commonly use integrated FEM in the design and development of their products. Several modern FEM packages include specific components such as thermal, electromagnetic, fluid, and structural working environments. In a structural simulation, FEM helps tremendously in producing stiffness and strength visualizations and minimizing weight, materials, and costs.^{[22]}
FEM allows detailed visualization of where structures bend or twist, indicating the distribution of stresses and displacements. FEM software provides a wide range of simulation options for controlling the complexity of modeling and system analysis. Similarly, the desired level of accuracy required and associated computational time requirements can be managed simultaneously to address most engineering applications. FEM allows entire designs to be constructed, refined, and optimized before the design is manufactured. The mesh is an integral part of the model and must be controlled carefully to give the best results. Generally, the higher the number of elements in a mesh, the more accurate the solution of the discretized problem. However, there is a value at which the results converge, and further mesh refinement does not increase accuracy.^{[23]}
This powerful design tool has significantly improved both the standard of engineering designs and the design process methodology in many industrial applications.^{[25]} The introduction of FEM has substantially decreased the time to take products from concept to the production line.^{[25]} Testing and development have been accelerated primarily through improved initial prototype designs using FEM.^{[26]} In summary, benefits of FEM include increased accuracy, enhanced design and better insight into critical design parameters, virtual prototyping, fewer hardware prototypes, a faster and less expensive design cycle, increased productivity, and increased revenue.^{[25]}
In the 1990s FEM was proposed for use in stochastic modeling for numerically solving probability models^{[27]} and later for reliability assessment.^{[28]}
See also
 Applied element method
 Boundary element method
 Céa's lemma
 Computer experiment
 Direct stiffness method
 Discontinuity layout optimization
 Discrete element method
 Finite difference method
 Finite element machine
 Finite element method in structural mechanics
 Finite volume method
 Finite volume method for unsteady flow
 Infinite element method
 Interval finite element
 Isogeometric analysis
 Lattice Boltzmann methods
 List of finite element software packages
 Meshfree methods
 Movable cellular automaton
 Multidisciplinary design optimization
 Multiphysics
 Patch test
 Rayleigh–Ritz method
 Space mapping
 STRAND7
 Tessellation (computer graphics)
 Weakened weak form
References
 ↑ Daryl L. Logan (2011). A first course in the finite element method. Cengage Learning. ISBN 9780495668275.
 ↑ ^{2.0} ^{2.1} Reddy, J. N. (2006). An Introduction to the Finite Element Method (Third ed.). McGrawHill. ISBN 9780071267618.
 ↑ Huebner, Kenneth H. (2001). The Finite Element Method for Engineers. Wiley. ISBN 9780471370789.
 ↑ Liu, Wing Kam; Li, Shaofan; Park, Harold S. (2022). "Eighty Years of the Finite Element Method: Birth, Evolution, and Future" (in en). Archives of Computational Methods in Engineering 29 (6): 4431–4453. doi:10.1007/s11831022097409. ISSN 11343060.
 ↑ Hrennikoff, Alexander (1941). "Solution of problems of elasticity by the framework method". Journal of Applied Mechanics 8 (4): 169–175. doi:10.1115/1.4009129. Bibcode: 1941JAM.....8A.169H.
 ↑ Courant, R. (1943). "Variational methods for the solution of problems of equilibrium and vibrations". Bulletin of the American Mathematical Society 49: 1–23. doi:10.1090/s000299041943078184.
 ↑ "СПб ЭМИ РАН". http://emi.nw.ru/INDEX.html?0/resume/oganesan.htm.
 ↑ Hinton, Ernest; Irons, Bruce (July 1968). "Least squares smoothing of experimental data using finite elements". Strain 4 (3): 24–27. doi:10.1111/j.14751305.1968.tb01368.x.
 ↑ "SAPIV Software and Manuals". NISEE eLibrary, The Earthquake Engineering Online Archive. http://nisee.berkeley.edu/elibrary/getpkg?id=SAP4.
 ↑ Gard Paulsen; Håkon With Andersen; John Petter Collett; Iver Tangen Stensrud (2014). Building Trust, The history of DNV 18642014. Lysaker, Norway: Dinamo Forlag A/S. pp. 121, 436. ISBN 9788280712561.
 ↑ Strang, Gilbert; Fix, George (1973). An Analysis of The Finite Element Method. Prentice Hall. ISBN 9780130329462. https://archive.org/details/analysisoffinite0000stra.
 ↑ Olek C Zienkiewicz; Robert L Taylor; J.Z. Zhu (31 August 2013). The Finite Element Method: Its Basis and Fundamentals. ButterworthHeinemann. ISBN 9780080951355. https://books.google.com/books?id=7UL5Ls9hOF8C.
 ↑ Bathe, K.J. (2006). Finite Element Procedures. Cambridge, MA: KlausJürgen Bathe. ISBN 9780979004902.
 ↑ celledoni (20230227). "CutFEM: Discretizing Partial Differential Equations and Geometry" (in enUS). https://ecmiindmath.org/2023/02/27/cutfemdiscretizingpartialdifferentialequationsandgeometry/.
 ↑ Burman, Erik; Claus, Susanne; Hansbo, Peter; Larson, Mats G.; Massing, André (20151116). "CutFEM: Discretizing geometry and partial differential equations" (in en). International Journal for Numerical Methods in Engineering 104 (7): 472–501. doi:10.1002/nme.4823. ISSN 00295981. https://onlinelibrary.wiley.com/doi/10.1002/nme.4823.
 ↑ Babuška, Ivo; Banerjee, Uday; Osborn, John E. (June 2004). "Generalized Finite Element Methods: Main Ideas, Results, and Perspective". International Journal of Computational Methods 1 (1): 67–103. doi:10.1142/S0219876204000083.
 ↑ P. Solin, K. Segeth, I. Dolezel: HigherOrder Finite Element Methods, Chapman & Hall/CRC Press, 2003
 ↑ Song, Chongmin; Wolf, John P. (5 August 1997). "The scaled boundary finiteelement method – alias consistent infinitesimal finiteelement cell method – for elastodynamics". Computer Methods in Applied Mechanics and Engineering 147 (3–4): 329–355. doi:10.1016/S00457825(97)000212. Bibcode: 1997CMAME.147..329S.
 ↑ Beirão da Veiga, L.; Brezzi, F.; Cangiani, A.; Manzini, G.; Marini, L. D.; Russo, A. (2013). "Basic principles of Virtual Element Methods". Mathematical Models and Methods in Applied Sciences 23 (1): 199–214. doi:10.1142/S0218202512500492.
 ↑ ^{20.0} ^{20.1} ^{20.2} Topper, Jürgen (January 2005). "Option pricing with finite elements". Wilmott 2005 (1): 84–90. doi:10.1002/wilm.42820050119. ISSN 15406962. http://dx.doi.org/10.1002/wilm.42820050119.
 ↑ "What's The Difference Between FEM, FDM, and FVM?". Machine Design. 20160418. http://www.machinedesign.com/feaandsimulation/whatsdifferencebetweenfemfdmandfvm.
 ↑ Kiritsis, D.; Eemmanouilidis, Ch.; Koronios, A.; Mathew, J. (2009). "Engineering Asset Management". Proceedings of the 4th World Congress on Engineering Asset Management (WCEAM): 591–592.
 ↑ "Finite Element Analysis: How to create a great model" (in enGB). 20190318. https://coventivecomposites.com/explainers/finiteelementanalysishowtocreateagreatmodel/.^{[yespermanent dead linkdead link}}]}
 ↑ Naghibi Beidokhti, Hamid; Janssen, Dennis; Khoshgoftar, Mehdi; Sprengers, Andre; Perdahcioglu, Emin Semih; Boogaard, Ton Van den; Verdonschot, Nico (2016). "A comparison between dynamic implicit and explicit finite element simulations of the native knee joint". Medical Engineering & Physics 38 (10): 1123–1130. doi:10.1016/j.medengphy.2016.06.001. PMID 27349493. https://ris.utwente.nl/ws/files/6153316/CMBBE2014HamidSubmitted.pdf. Retrieved 20190919.
 ↑ ^{25.0} ^{25.1} ^{25.2} Hastings, J. K., Juds, M. A., Brauer, J. R., Accuracy and Economy of Finite Element Magnetic Analysis, 33rd Annual National Relay Conference, April 1985.
 ↑ McLarenMercedes (2006). "McLaren Mercedes: Feature  Stress to impress". http://www.mclaren.com/features/technical/stress_to_impress.php.
 ↑ Peng Long; Wang Jinliang; Zhu Qiding (19 May 1995). "Methods with high accuracy for finite element probability computing". Journal of Computational and Applied Mathematics 59 (2): 181–189. doi:10.1016/03770427(94)00027X.
 ↑ Haldar, Achintya; Mahadevan, Sankaran (2000). Reliability Assessment Using Stochastic Finite Element Analysis. John Wiley & Sons. ISBN 9780471369615.
Further reading
 G. Allaire and A. Craig: Numerical Analysis and Optimization: An Introduction to Mathematical Modelling and Numerical Simulation.
 K. J. Bathe: Numerical methods in finite element analysis, PrenticeHall (1976).
 Thomas J.R. Hughes: The Finite Element Method: Linear Static and Dynamic Finite Element Analysis, PrenticeHall (1987).
 J. Chaskalovic: Finite Elements Methods for Engineering Sciences, Springer Verlag, (2008).
 Endre Süli: Finite Element Methods for Partial Differential Equations.
 O. C. Zienkiewicz, R. L. Taylor, J. Z. Zhu : The Finite Element Method: Its Basis and Fundamentals, ButterworthHeinemann (2005).
 N. Ottosen, H. Petersson: Introduction to the Finite Element Method, PrenticeHall (1992).
 Susanne C. Brenner, L. Ridgway Scott: The Mathematical Theory of Finite Element Methods, SpringerVerlag New York, ISBN 9780387759333 (2008).
 Zohdi, T. I. (2018) A finite element primer for beginnersextended version including sample tests and projects. Second Edition https://link.springer.com/book/10.1007/9783319704289
 Leszek F. Demkowicz: Mathematical Theory of Finite Elements, SIAM, ISBN 9781611977721 (2024).
Original source: https://en.wikipedia.org/wiki/Finite element method.
Read more 