There is an obvious difference between finite difference and the finite volume method (moving from point definition of the equations to integral averages over cells). But I find FEM and FVM to be very similar; they both use integral form and average over cells.

What is the FEM method doing that the FVM is not? I have read a little background on the FEM I understand that the equations are written in the weak form, this gives the method a slightly different stating point than the FVM. However, I don't understand on a conceptual level what the differences are. Does FEM make some assumption regarding how the unknown varies inside the cell, can't this also be done with FVM?

I am mostly coming from 1D perspective so maybe FEM has advantages with more than one dimension?

I haven't found much information available on this topic on the net. Wikipedia has a section on how the FEM is different from finite difference method, but that is about it, http://en.wikipedia.org/wiki/Finite_element_method#Comparison_to_the_finite_difference_method.

up vote 46 down vote accepted

Finite Element: volumetric integrals, internal polynomial order

Classical finite element methods assume continuous or weakly continuous approximation spaces and ask for volumetric integrals of the weak form to be satisfied. The order of accuracy is increased by raising the approximation order within elements. The methods are not exactly conservative, thus often struggle with stability for discontinuous processes.

Finite Volume: surface integrals, fluxes from discontinuous data, reconstruction order

Finite volume methods use piecewise constant approximation spaces and ask for integrals against piecewise constant test functions to be satisfied. This yields exact conservation statements. The volume integral is converted to a surface integral and the entire physics is specified in terms of fluxes in those surface integrals. For first-order hyperbolic problems, this is a Riemann solve. Second order/elliptic fluxes are more subtle. Order of accuracy is increased by using neighbors to (conservatively) reconstruct higher order representations of the state inside elements (slope reconstruction/limiting) or by reconstructing fluxes (flux limiting). The reconstruction process is usually nonlinear to control oscillations around discontinuous features of the solution, see total variation diminishing (TVD) and essentially non-oscillatory (ENO/WENO) methods. A nonlinear discretization is necessary to simultaneously obtain both higher than first order accuracy in smooth regions and bounded total variation across discontinuities, see Godunov's theorem.

Comments

Both FE and FV are easy to define up to second order accuracy on unstructured grids. FE is easier to go beyond second order on unstructured grids. FV handles non-conforming meshes more easily and robustly.

Combining FE and FV

The methods can be married in multiple ways. Discontinuous Galerkin methods are finite element methods that use discontinuous basis functions, thus acquiring Riemann solvers and more robustness for discontinuous processes (especially hyperbolic). DG methods can be used with nonlinear limiters (usually with some reduction in accuracy), but satisfy a cell-wise entropy inequality without limiting and can thus be used without limiting for some problems where other schemes require limiters. (This is especially useful for adjoint-based optimization since it makes the discrete adjoint more representative of the continuous adjoint equations.) Mixed FE methods for elliptic problems use discontinuous basis functions and after some choices of quadrature, can be reinterpreted as standard finite volume methods, see this answer for more. Reconstruction DG methods (aka. $P_N P_M$ or "Recovery DG") use both FV-like conservative reconstruction and internal order enrichment, and are thus a superset of FV and DG methods.

The conceptual differences of FEM and FVM are as subtle as the differences between a tree and a pine.

If you compare a certain FEM scheme to the FVM discretization applied to a particular problem then you can speak of fundamental differences that become evident in different implementation approaches and different approximation properties (as @Jed Brown has laid out in his answer).

But in general I would say that FVM is a special case of FEM, using a grid of cells and piecewise constant test functions. This relation is also used for convergence analysis of FVM as it can be found in the book by Grossmann, Roos & Stynes: Numerical Treatment of Partial Differential Equations.

The basic difference is simply the meaning to be attached to the results. FDM predicts point values of any aspect of the solution. Interpolation between these values is often left to the imagination of the user. FVM predicts averages of conserved variables within specific control volumes. Hence it predicts the integrated conserved variables and can be shown to converge to weak (discontinuous) solutions. FEM gives a set of discrete values from which an approximate solution can be deduced unambiguously everywhere by invoking a set of basis functions. Usually, but not necessarily, the variables involved are conservative. It is possible to have finite difference methods that are conservative in some sense, according to a particular quadrature rule.

These are matters of definition. There are many variations of all three methods. Not every method is cleanly of one type, and the details vary between application areas. Researchers inventing a new method employ those tools that will help to provide the properties that they are looking for. It is, as you seem to have found, difficult to find an authoritative discussion and it would be difficult for me to provide one. The best advice that I can give is to continue reading, without expecting a totally clear answer, but giving credence to the things that make sense to you.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.