CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Wiki > Finite volume

Finite volume

From CFD-Wiki

Revision as of 09:15, 3 January 2012 by Peter (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The Finite Volume Method (FVM) is one of the most versatile discretization techniques used in CFD. Based on the control volume formulation of analytical fluid dynamics, the first step in the FVM is to divide the domain into a number of control volumes (aka cells, elements) where the variable of interest is located at the centroid of the control volume. The next step is to integrate the differential form of the governing equations (very similar to the control volume approach) over each control volume. Interpolation profiles are then assumed in order to describe the variation of the concerned variable between cell centroids. The resulting equation is called the discretized or discretization equation. In this manner, the discretization equation expresses the conservation principle for the variable inside the control volume.

The most compelling feature of the FVM is that the resulting solution satisfies the conservation of quantities such as mass, momentum, energy, and species. This is exactly satisfied for any control volume as well as for the whole computational domain and for any number of control volumes. Even a coarse grid solution exhibits exact integral balances.

FVM is the ideal method for computing discontinuous solutions arising in compressible flows. Any discontinuity must satisfy the Rankine-Hugoniot jump condition which is a consequence of conservation. Since finite volume methods are conservative they automatically satisfy the jump conditions and hence give physically correct weak solutions.

FVM is also preferred while solving partial differential equations containing discontinuous coefficients.

Integral form of conservation law

Consider a single partial differential equation in conservation form


\frac{\partial u}{\partial t} + \nabla \cdot f(u) = 0

where u is a conserved quantity and


f(u) = [ f_1(u), \ldots, f_d(u)]

is the flux vector. Integrating this over any volume V in R^d we get the integral form of the conservation law


\frac{\partial}{\partial t} \int_V u dx + \oint_{\partial V} f_i n_i ds = 0

where the divergence theorem has been used to convert the divergence term to a surface integral over the surface \partial V and (n_1, \ldots, n_d) is the unit outward normal to \partial V. The above equation is the starting point for the finite volume method.

Finite volume formulation

The computational domain V_h is divided into non-overlapping cells or finite volumes

V_r, r=1,\ldots, N, \quad V_h = \cup_r V_r

Usually these cells are polygons (triangles, quadrilaterals) in 2-D and polyhedra (tetrahedron, hexahedron, prims, etc) in 3-D.

Introduce the cell average value over the cell V_r


u_r = \frac{1}{|V_r|} \int_{V_r} u(x) dx

which is the basic unknown quantity in the finite volume method. Let


N(r) = \{ \mbox{Set of cells which share a common face with } V_r \}

Then the integral conservation law for cell V_r is


|V_r| \frac{du_r}{dt} + \sum_{s \in N(r)} \int_{V_r \cap V_s} f_i n_i ds = 0

It now remains to approximate the flux integral. This can be achieved using gaussian quadrature. Taking p gaussian points we get


\int_{V_r \cap V_s} f_i n_i ds = \Delta s_{rs} \sum_{m=1}^p \omega_m F^m_{rs}

where \omega_m are the gaussian weights and F is an approximation to f_i n_i.

External links


Return to Numerical Methods


My wiki