Finite element method

Finite element method

The finite element method (FEM) (sometimes referred to as finite element analysis) is a numerical technique for finding approximate solutions of partial differential equations (PDE) as well as of integral equations. The solution approach is based either on eliminating the differential equation completely (steady state problems), or rendering the PDE into an approximating system of ordinary differential equations, which are then solved using standard techniques such as Euler's method, Runge-Kutta, etc.

In solving partial differential equations, the primary challenge is to create an equation that approximates the equation to be studied, but is numerically stable, meaning that errors in the input data and intermediate calculations do not accumulate and cause the resulting output to be meaningless. There are many ways of doing this, all with advantages and disadvantages. The Finite Element Method is a good choice for solving partial differential equations over complex domains (like cars and oil pipelines), when the domain changes (as during a solid state reaction with a moving boundary), when the desired precision varies over the entire domain, or when the solution lacks smoothness. For instance, 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 cost of the simulation); Another example would be the simulation of the weather pattern on Earth, where it is more important to have accurate predictions over land than over the wide-open sea.


The finite-element method [cite book|last=Ciarlet| first=Phillippe G. | title=The Finite Element Method for Elliptic Problems | publisher=North-Holland | location=Amsterdam | year=1978] originated from the need for solving complex elasticity and structural analysis problems in civil and aeronautical engineering. Its development can be traced back to the work by Alexander Hrennikoff (1941) and Richard Courant (1942). While the approaches used by these pioneers are dramatically different, they share one essential characteristic: mesh discretization of a continuous domain into a set of discrete sub-domains, usually called elements.citation
author = Waterman, Pamela J.
title = Meshing: the Critical Bridge
journal = Desktop Engineering Magazine
date = Aug. 1, 2008
url =

Hrennikoff's work discretizes the domain by using a lattice analogy while Courant's approach divides the domain into finite triangular subregions for solution of second order elliptic partial differential equations (PDEs) that arise from the problem of torsion of a cylinder [cite journal|authorlink=Richard Courant|first=R. L.|last=Courant|title=Variational Methods for the Solution of Problems of Equilibrium and Vibration|journal=Bulletin of the American Mathematical Society |volume=49|year=1943|pages=1-23|url=] . Courant's contribution was evolutionary, drawing on a large body of earlier results for PDEs developed by Rayleigh, Ritz, and Galerkin.

Development of the finite element method began in earnest in the middle to late 1950s for airframe and structural analysis and gathered momentum at the University of Stuttgart through the work of John Argyris and at Berkeley through the work of Ray W. Clough in the 1960s for use in civil engineering. [ cite web|url= |title=Early Finite Element Research at Berkeley |accessdate=2007-10-25 |last=Clough |first=Ray W. |coauthors=Edward L. Wilson |format=PDF ] By late 1950s, the key concepts of stiffness matrix and element assembly existed essentially in the form used todaycite journal | last =Turner | first = M.J. | coauthors = R.W. Clough, H.C. Martin, and L.C. Topp | title =Stiffness and Deflection Analysis of Complex Structures | journal =Journal of the Aeronautical Sciences | volume =23 | pages = 805–82 | year =1956 ] and NASA issued request for proposals for the development of the finite element software NASTRAN in 1965. The method was provided with a rigorous mathematical foundation in 1973 with the publication of Strang and Fix's "An Analysis of The Finite Element Method" [cite book | first=Gilbert | last=Strang | coauthors=George Fix | title=An Analysis of the Finite Element Method | year=1973 | publisher= Prentice-Hall | location=Englewood Cliffs] , and has since been generalized into a branch of applied mathematics for numerical modeling of physical systems in a wide variety of engineering disciplines, e.g., electromagnetism and fluid dynamics.


A variety of specializations under the umbrella of the mechanical engineering discipline (such as aeronautical, biomechanical, and automotive industries) commonly use integrated FEM in 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 also in minimizing weight, materials, and costs. FEM allows detailed visualization of where structures bend or twist, and indicates the distribution of stresses and displacements. FEM software provides a wide range of simulation options for controlling the complexity of both modeling and analysis of a system. 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. This powerful design tool has significantly improved both the standard of engineering designs and the methodology of the design process in many industrial applications.Hastings, J. K., Juds, M. A., Brauer, J. R., "Accuracy and Economy of Finite Element Magnetic Analysis", 33rd Annual National Relay Conference, April 1985.] The introduction of FEM has substantially decreased the time to take products from concept to the production line. It is primarily through improved initial prototype designs using FEM that testing and development have been accelerated.cite web|title=Vodafone McLaren-Mercedes: Feature - Stress to impress|author=McLaren-Mercedes|year=2006|url=|accessdate=2006-10-03] 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.

Technical discussion

We will illustrate the finite element method using two sample problems from which the general method can be extrapolated. It is assumed that the reader is familiar with calculus and linear algebra.

P1 is a one-dimensional problem:mbox{P1 }:egin{cases}u"=f mbox{ in } (0,1), \u(0)=u(1)=0,end{cases}where f is given and u is an unknown function of x, and u" is the second derivative of u with respect to x.

The two-dimensional sample problem is the Dirichlet problem:mbox{P2 }:egin{cases}u_{xx}+u_{yy}=f & mbox{ in } Omega, \u=0 & mbox{ on } partial Omega,end{cases}

where Omega is a connected open region in the (x,y) plane whose boundary partial Omega is "nice" (e.g., a smooth manifold or a polygon), and u_{xx} and u_{yy} denote the second derivatives with respect to x and y, respectively.

The problem P1 can be solved "directly" by computing antiderivatives. However, this method of solving the boundary value problem works only when there is only one spatial dimension and does not generalize to higher-dimensional problems or to problems like u+u"=f. 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, or variational form. Little to no computation is usually required for this step, the transformation is done by hand on paper.
*The second step is the discretization, where the weak form is discretized in a finite dimensional space.After this second step, we have concrete formulae for a large but finite dimensional linear problem whose solution will approximately solve the original BVP. This finite dimensional problem is then implemented on a computer.

Variational formulation

The first step is to convert P1 and P2 into their variational equivalents. If u solves P1, then for any smooth function v that satisfies the displacement boundary conditions, i.e. v=0 at x=0 and x=1,we have

(1) int_0^1 f(x)v(x) , dx = int_0^1 u"(x)v(x) , dx.

Conversely, if for a given u, (1) holds for every smooth function v(x) then one may show that this u will solve P1. (The proof is nontrivial and uses Sobolev spaces.)

By using integration by parts on the right-hand-side of (1), we obtain

(2)egin{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 = -phi (u,v).end{align}

where we have used the assumption that v(0)=v(1)=0.

A proof outline of existence and uniqueness of the solution

We can loosely think of H_0^1(0,1) to be the absolutely continuous functions of (0,1) that are 0 at x=0 and x=1 (see Sobolev spaces). Such function are (weakly) "once differentiable" and it turns out that the symmetric bilinear map !,phi then defines an inner product which turns H_0^1(0,1) into a Hilbert space (a detailed proof is nontrivial.) On the other hand, the left-hand-side int_0^1 f(x)v(x)dx is also an inner product, this time on the Lp space L^2(0,1). An application of the Riesz representation theorem for Hilbert spaces shows that there is a unique u solving (2) and therefore P1.

The variational form of P2

If we integrate by parts using a form of Green's theorem, we see that if u solves P2, then for any v,

:int_{Omega} fv,ds = -int_{Omega} abla u cdot abla v , ds = -phi(u,v),

where abla denotes the gradient and cdot denotes the dot product in the two-dimensional plane. Once more ,!phi can be turned into an inner product on a suitable space H_0^1(Omega) of "once differentiable" functions of Omega that are zero on partial Omega. We have also assumed that v in H_0^1(Omega) (see Sobolev spaces). Existence and uniqueness of the solution can also be shown.


The basic idea is to replace the infinite dimensional linear problem::Find u in H_0^1 such that:forall v in H_0^1, ; -phi(u,v)=int fvwith a finite dimensional version:

:(3) Find u in V such that:forall v in V, ; -phi(u,v)=int fv

where V is a finite dimensional subspace of H_0^1. There are many possible choices for V (one possibility leads to the spectral method). However, for the finite element method we take V to be a space of piecewise linear functions.

For problem P1, we take the interval (0,1), choose n x values 0=x_0 and we define V by

:egin{matrix} V={v: [0,1] ightarrow Bbb R;: vmbox{ is continuous, }v|_{ [x_k,x_{k+1}] } mbox{ is linear for }\k=0,...,n mbox{, and } v(0)=v(1)=0 } end{matrix}

where we define x_0=0 and x_{n+1}=1. Observe that functions in V are not differentiable according to the elementary definition of calculus. Indeed, if v in V then the derivative is typically not defined at any x=x_k, k=1,...,n. However, the derivative exists at every other value of x and one can use this derivative for the purpose of integration by parts.

For problem P2, we need V to be a set of functions of Omega. In the figure on the right, we have illustrated a triangulation of a 15 sided polygonal region Omega 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 V would consist of functions that are linear on each triangle of the chosen triangulation.

One often reads V_h instead of V in the literature. The reason is that one hopes that as the underlying triangular grid 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. The triangulation is then indexed by a real valued parameter h>0 which one takes to be very small. This parameter will be related to the size of the largest or average triangle in the triangulation. As we refine the triangulation, the space of piecewise linear functions V must also change with h, hence the notation V_h. 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 V. In the one-dimensional case, for each control point x_k we will choose the piecewise linear function v_k in V whose value is 1 at x_k and zero at every x_j,;j eq k, i.e.,

:v_{k}(x)=egin{cases} {x-x_{k-1} over x_k,-x_{k-1 & mbox{ if } x in [x_{k-1},x_k] , \{x_{k+1},-x over x_{k+1},-x_k} & mbox{ if } x in [x_k,x_{k+1}] , \0 & mbox{ otherwise},end{cases}

for k=1,...,n; this basis is a shifted and scaled tent function. For the two-dimensional case, we choose again one basis function v_k per vertex x_k of the triangulation of the planar region Omega. The function v_k is the unique function of V whose value is 1 at x_k and zero at every x_j,;j eq k.

Depending on the author, the word "element" in "finite element method" refers either to the triangles in the domain, the piecewise linear basis function, or both. So for instance, an author interested in curved domains might replace the triangles with curved primitives, in which case he might describe his elements as being curvilinear. On the other hand, some authors replace "piecewise linear" by "piecewise quadratic" or even "piecewise polynomial". The author might then say "higher order element" instead of "higher degree polynomial." Finite element method is not restricted to triangles (or tetrahedra in 3-d, or higher order simplexes in multidimensional spaces), but can be defined on quadrilateral subdomains (hexahedra, prisms, or pyramids in 3-d, and so on). Higher order shapes (curvilinear elements) can be defined with polynomial and even non-polynomial shapes (e.g. ellipse or circle).

Methods that use higher degree piecewise polynomial basis functions are often called spectral element methods, especially if the degree of the polynomials increases as the triangulation size h goes to zero.

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 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 (r-adaptivity)
* refining (and unrefining) elements (h-adaptivity)
* changing order of base functions (p-adaptivity)
* combinations of the above (e.g. hp-adaptivity)

Small support of the basis

The primary advantage of this choice of basis is that the inner products

:langle v_j,v_k angle=int_0^1 v_j v_k,dx


:phi(v_j,v_k)=int_0^1 v_j' v_k',dx

will be zero for almost all j,k. (The matrix containing langle v_j,v_k angle in the (j,k) location is known as the Gramian matrix.)In the one dimensional case, the support of v_k is the interval [x_{k-1},x_{k+1}] . Hence, the integrands of langle v_j,v_k angle and "Phi(v_j,v_k)" are identically zero whenever |j-k|>1.

Similarly, in the planar case, if x_j and x_k do not share an edge of the triangulation, then the integrals

:int_{Omega} v_j v_k,ds


:int_{Omega} abla v_j cdot abla v_k,ds

are both zero.

Matrix form of the problem

If we write u(x)=sum_{k=1}^n u_k v_k(x) and f(x)=sum_{k=1}^n f_k v_k(x) then problem (3) becomes

(4) -sum_{k=1}^n u_k phi (v_k,v_j) = sum_{k=1}^n f_k int v_k v_j for j=1,...,n.

If we denote by mathbf{u} and mathbf{f} the column vectors (u_1,...,u_n)^t and (f_1,...,f_n)^t, and if we let L=(L_{ij}) and M=(M_{ij}) be matrices whose entries are L_{ij}=phi (v_i,v_j) and M_{ij}=int v_i v_j then we may rephrase (4) as

(5) -L mathbf{u} = M mathbf{f}.

As we have discussed before, most of the entries of L and M are zero because the basis functions v_k have small support. So we now have to solve a linear system in the unknown mathbf{u} where most of the entries of the matrix L, 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, L 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 L is usually referred to as the "stiffness matrix", while the matrix M 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 Omega. In the preceding treatment, the grid consisted of triangles, but one can also use squares or curvilinear polygons.
* Then, one chooses basis functions. In our discussion, we used piecewise linear basis functions, but it is also common to use piecewise polynomial basis functions.

A separate consideration is the smoothness of the basis functions. For second order elliptic boundary value problems, piecewise polynomial basis function that are merely continuous suffice (i.e., the derivatives are discontinuous.) For higher order partial differential equations, one must use smoother basis functions. For instance, for a fourth order problem such as u_{xxxx}+u_{yyyy}=f, one may use piecewise quadratic basis functions that are C^1.

Another consideration is the relation of the finite dimensional space V to its infinite dimensional counterpart, in the examples above H_0^1. A conforming element method is one in which the space V 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 in general discontinuous along the edges, this finite dimensional space is not a subspace of the original H_0^1.

Typically, one has an algorithm for taking a given mesh and subdividing it. If the main method for increasing precision is to subdivide the mesh, one has an "h"-method ("h" is customarily the diameter of the largest element in the mesh.) In this manner, if one shows that the error with a grid h is bounded above by Ch^p, for some C and p>0, then one has an order "p" method. Under certain hypotheses (for instance, if the domain is convex), a piecewise polynomial of order d method will have an error of order p=d+1.

If instead of making "h" smaller, one increases the degree of the polynomials used in the basis function, one has a "p"-method. If one simultaneously makes "h" smaller while making "p" larger, one has an "hp"-method. High order method (with large "p") are called spectral element methods, which are not to be confused with spectral methods.

For vector partial differential equations, the basis functions may take values in mathbb{R}^n.

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 finite difference method is an approximation to the differential equation; the finite element method is an approximation to its solution.

*The most attractive feature of the FEM is its ability to handle complex 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.

*The most attractive feature of finite differences is that it can be very easy to implement.

*There are several ways one could consider the FDM a special case of the FEM approach. One might choose basis functions as either piecewise constant functions or Dirac delta functions. In both approaches, the approximations are defined on the entire domain, but need not be continuous. Alternatively, one might define the function on a discrete domain, with the result that the continuous differential operator no longer makes sense, however this approach is not FEM.

*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 extremely problem dependent 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) while computational fluid dynamics (CFD) tends to use FDM or other methods (e.g., finite volume method). CFD problems usually require discretization of the problem into a large number of cells/gridpoints (millions and more), therefore cost of the solution favors simpler, lower order approximation within each cell. This is especially true for 'external flow' problems, like air flow around the car or airplane, or weather simulation in a large area.

Various types of finite element methods

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 “paste” 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 micro-scales, and problems with boundary layers. [cite journal | first=Ivo | last=Babuska | coauthors=Uday Banerjee, John E. Osborn | title=Generalized Finite Element Methods: Main Ideas, Results, and Perspective | journal=International Journal of Computational Methods | year=2004 | vol=1 | issue=1 | month=June | pages= 67-103 | doi=10.1142/S0219876204000083]


Spectral methods

Meshfree methods

ee also

* Direct stiffness method
* Boundary element method
* Discrete element method
* Finite element machine
* Finite element method in structural mechanics
* Galerkin method
* Multiphysics
* Patch test
* Rayleigh-Ritz method
* List of finite element software packages


External links

* [ NAFEMS] -- The International Association for the Engineering Analysis Community
* [ IFER] -- Internet Finite Element Resources - an annotated list of FEA links and programs
* [ Workshop "The Finite Element Method in Biomedical Engineering, Biomechanics and Related Fields"]
* [ Finite Element Analysis Resources] - Finite Element news, articles and tips
* [ Finite Element Books] - books bibliography
* [ Mathematics of the Finite Element Method]
* [ Finite Element Methods for Partial Differential Equations]
* [ FEM AVI-gallery at CompMechLab site, St.Petersburg State Polytechnical University, Russia]
* [ Illustrative Examples of Implementing the Finite Element Method in Software] CFDLab, University of Texas at Austin, USA

Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Finite element method in structural mechanics — Finite element method (FEM) is a powerful technique originally developed for numerical solution of complex problems in structural mechanics, and it remains the method of choice for complex systems. In the FEM, the structural system is modeled by… …   Wikipedia

  • finite element method —    A numerical method used to approximate the solution of partial differential equations …   Lexicon of Cave and Karst Terminology

  • Extended finite element method — The extended finite element method (XFEM), also known as generalized finite element method (GFEM) or partition of unity method (PUM) is a numerical technique that extends the classical finite element method (FEM) approach by extending the… …   Wikipedia

  • Engineering treatment of the finite element method — This is a draft of a new explanation as suggested on . The finite element method (FEM) is a technique for finding approximate solutions to differential equations that is particularly useful in engineering. As of 2005, FEM is the primary analysis… …   Wikipedia

  • Finite volume method — The finite volume method is a method for representing and evaluating partial differential equations as algebraic equations. Similar to the finite difference method, values are calculated at discrete places on a meshed geometry. Finite volume… …   Wikipedia

  • Finite strip method — The Finite strip method is a teqnique of structural analysis used primarily for bridge and tall structure design. The teqnique was first introduced in 1968.This method is less powerful and versatile then the finite element method but is more… …   Wikipedia

  • Finite element machine — The Finite Element Machine (FEM)[1] was a late 1970s early 1980s NASA[2] project to build and evaluate the performance of a parallel computer for structural analysis. The FEM was completed and successfully tested at the NASA Langley Research… …   Wikipedia

  • Finite element updating — Finite element model updating is a process of making sure that finite element analysis results in models that better reflect the measured data than the initial models. It is part of Verification Validation (V V) of numerical models.This process… …   Wikipedia

  • Discrete element method — A discrete element method (DEM), also called a distinct element method is any of family of numerical methods for computing the motion of a large number of particles of micrometre scale size and above. Though DEM is very closely related to… …   Wikipedia

  • Boundary element method — The boundary element method is a numerical computational method of solving linear partial differential equations which have been formulated as integral equations (i.e. in boundary integral form). It can be applied in many areas of engineering and …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”