Jump to content

Finite element method

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Oleg Alexandrov (talk | contribs) at 04:35, 8 July 2008 (fix the pictures). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
2D FEM solution for a magnetostatic configuration (lines denote the direction of calculated flux density and colour - its magnitude)
2D mesh for the image above (mesh is denser around the object of interest)

Finite element methods (FEM) (sometimes referred to as finite element analysis) are numerical techniques used for finding approximate solutions of partial differential equations (PDE) as well as of integral equations. The solution approach is based either on reducing the differential equations to a set of linear equations (steady state problems) or into an approximating system of ordinary differential equations (time-dependent problems).

FEM use a more general approach than the finite difference method or the finite volume method, both of which are types of finite element methods, by using a larger number of function spaces. Its generality makes it suitable to use with complex domains, such as cars and oil pipelines, or moving domains, such as melting wax. Extension to the basic method allow for other challenging problems, such as modeling discontinuous solutions with XFEM.

FEM are used for computer simulations in both research science and engineering applications. There are many finite element software packages, both free and proprietary.


History

The finite-element method originated from the needs for solving complex elasticity, 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.

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 [1]. 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.[2] By late 1950s, the key concepts of stiffness matrix and element assembly existed essentially in the form used today[3] 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[4], 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.

Application

Visualization of how a car deforms in an asymmetrical crash using finite element analysis.

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.[5] The introduction of FEM has substantially decreased the time to take products from concept to the production line.[5] It is primarily through improved initial prototype designs using FEM that testing and development have been accelerated.[6] 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.[5]

Outline of general mathematical framework

A function in H10, with zero values at the endpoints (blue), and a piecewise linear approximation (red).
Basis functions vk (blue) and a linear combination of them, which is piecewise linear (red).
A piecewise linear function in two dimensions.

The basic idea is to replace the infinite dimensional linear problem:

Find such that

with a finite dimensional version:

Find such that

where is a finite dimensional subspace of the Sobolev space . There are many possible choices for , FEM limits these choices by using a finite element defined below.

In general, the finite element method is characterized by the following process.

  • Formulate a weak or variational form of the PDE.
  • Choose a finite element.
  • Create a mesh for the continuous domain () using the reference shape of choosen finite element. (not described here)
  • Assemble a set of linear equations by applying the weak form on each element in the mesh.

Weak or variational form

The variational form, sometimes referred to as the weak form, is obtained by integration of the strong form of PDE with any given function in the approximating subspace. If able it is usual to integrate by parts using a Green's theorem. For example, finding in the Poisson equation:

(1)

where is given. One defines the bilinear form:

(2)

where is any function in the approximating subspace, denotes the gradient and denotes the dot product. Using this bilinear form one will create an equation for each basis function of by substituting each basis function for and set equal to the linear form:

(3)

Choosing a finite element

The finite element is defined as[7]):

  • a reference shape (such as an interval, triangle, square, tetrahedron, or other suitable polygon),
  • a set of basis functions for representing (piecewise polynomial basis functions are the most common), and
  • a set of evaluation node on the reference shape where the basis functions are evaluated.

It is common to use Lagrange polynomials with the evaluation nodes placed at the vertices of the polygon. In the one-dimensional case, one uses the evaluation nodes at , using piecewise linear functions in whose value is at and zero at every , i.e.,

for ; this basis is a shifted and scaled tent function. Similarly, for the two-dimensional case, one uses one basis function per vertex of the discretization of the planar region . The function is the unique function of whose value is at and zero at every .

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

and

will be zero for almost all . In the one dimensional case, the support of is the interval . Hence, the integrands of and are identically zero whenever .

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

and

are both zero.

Linear equation assembly

Solving the two-dimensional problem in the disk centered at the origin and radius 1, with zero boundary conditions.
(a) The triangulation.
(b) The sparse matrix L of the discretized linear system.
(c) The computed solution,

The process of formulating the linear equations is called assembly. Some methods will explicitly form a matrix while others will only assemble elements as each cell of the mesh is iterated. The different choices in assembly are implementation details that often depend on the specific problem being solved.

To assemble the linear equations, one defines and , where and are the coefficients of and at the points , and is the basis function that equals one at . The problem becomes

which can be written on column vector form:

for .

Denote by and the column vectors and , and (known as the stiffness matrix) and (known as the mass matrix) be matrices whose entries are and then we may rephrase as

.

As we have discussed before, most of the entries of and are zero because the basis functions have small support. So we now have to solve a linear system in the unknown where most of the entries of the matrix , 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, 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.

Additional concerns

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)

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.[8]

XFEM

Spectral methods

Meshfree methods

See also

References

  1. ^ Courant, R. L. (1943). "Variational Methods for the Solution of Problems of Equilibrium and Vibration". Bulletin of the American Mathematical Society. 49: 1–23.
  2. ^ Clough, Ray W. "Early Finite Element Research at Berkeley" (PDF). Retrieved 2007-10-25. {{cite web}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  3. ^ Turner, M.J. (1956). "Stiffness and Deflection Analysis of Complex Structures". Journal of the Aeronautical Sciences. 23: 805–82. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  4. ^ Strang, Gilbert (1973). An Analysis of the Finite Element Method. Englewood Cliffs: Prentice-Hall. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  5. ^ a b c Hastings, J. K., Juds, M. A., Brauer, J. R., Accuracy and Economy of Finite Element Magnetic Analysis, 33rd Annual National Relay Conference, April 1985.
  6. ^ McLaren-Mercedes (2006). "Vodafone McLaren-Mercedes: Feature - Stress to impress". Retrieved 2006-10-03.
  7. ^ Ciarlet, Phillippe G. (1978). The Finite Element Method for Elliptic Problems. Amsterdam: North-Holland.
  8. ^ Babuska, Ivo (2004). "Generalized Finite Element Methods: Main Ideas, Results, and Perspective". International Journal of Computational Methods (1): 67–103. doi:10.1142/S0219876204000083. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help); Unknown parameter |month= ignored (help); Unknown parameter |vol= ignored (|volume= suggested) (help)