Finite volume method

From Wikipedia, the free encyclopedia

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" refers to the small volume surrounding each node point on a mesh. In the finite volume method, volume integrals in a partial differential equation that contain a divergence term are converted to surface integrals, using the divergence theorem. These terms are then evaluated as fluxes at the surfaces of each finite volume. Because the flux entering a given volume is identical to that leaving the adjacent volume, these methods are conservative. Another advantage of the finite volume method is that it is easily formulated to allow for unstructured meshes. The method is used in many computational fluid dynamics packages.

Contents

[edit] 1D example

Consider a simple 1D conservative system defined by the following partial differential equation,

\rho_t + f_x\left(\rho \right)=0 \quad (1)

Here, \rho \ represents the state variable and f represents the flux or flow of \rho \. Conventionally, positive f \ represents flow to the right whilst negative f \ represents flow to the left. If we assume that (1) represents a flowing medium of constant area, we can sub-divide the spatial domain, x \, into finite volumes or cells. For a particular cell, i \, we can define the volume average value of {\rho \left( x, t \right)}\ at time {t = t_1 }\ and { x \in \left[ x_1 , x_2 \right] }\, as,

\bar{\rho}_i \left( t_1 \right) = \frac{1}{x_2 - x_1} \int_{x_1}^{x2} \rho \left(x,t_1 \right) dx , \quad (2)

and at time {t = t_2}\ as,

\bar{\rho}_i \left( t_2 \right) = \frac{1}{x_2 - x_1} \int_{x_1}^{x2} \rho \left(x,t_2 \right) dx , \quad (3)

where x_1\ and x_2\ represent the faces of the i^{th} \ cell.


It therefore follows that,

\bar{\rho}_i \left( t_2 \right) = \frac{1}{x_2 - x_1} \left[ \int_{x_1}^{x2} \rho \left(x,t_1 \right) dx  + \int_{t_1}^{t2} f \left(x_1,t \right) dt  - \int_{t_1}^{t2} f \left(x_2,t \right) dt \right] . \quad (4)


We can therefore derive a semi-discrete numerical scheme for the above problem with cell centres indexed as i\, and with cell fluxes defined at the cell edges, by differentiating (4) w.r.t. time to obtain,

\frac{d \bar{\rho}_i}{d t} + \frac{1}{\Delta x_i} \left[  f_{i + \frac{1}{2}} - f_{i - \frac{1}{2}}  \right] =0 , \quad (5)


where values for the edge fluxes, f_{i \pm \frac{1}{2}}, can be reconstructed by interpolation or extrapolation of the cell averages.

[edit] General hyperbolic problem

We can also consider a general hyperbolic problem, represented by the following PDE,


{{\partial {\mathbf u}} \over {\partial t}} + \nabla  \cdot {\mathbf f}\left( {\mathbf u } \right) = {\mathbf 0} . \quad (6)


Here, {\mathbf u} \ represents a vector of states and \mathbf f \ represents the corresponding flux vector. Again we can sub-divide the spatial domain into finite volumes or cells. For a particular cell, i \ , we take the volume integral over the total volume of the cell, v _{i} \, which gives,


\oint _{v_{i}}  {{\partial {\mathbf u}} \over {\partial t}} dv  + \oint _{v_{i}}  \nabla  \cdot {\mathbf f}\left( {\mathbf u } \right) dv = {\mathbf 0} . \quad (7)


Which on integrating the first term to get the volume average and applying the divergence theorem to the second yields,


v_{i} {{d {\mathbf {\bar u} }_{i} } \over {dt}} + \oint _{S_{i} }   {\mathbf f} \left( {\mathbf u } \right) dS  = {\mathbf 0} . \quad (8)


Where S_{i} \ represents the total surface area of the cell. So, finally, we are able to present the general result equivalent to (5), i.e.,


{{d {\mathbf {\bar u} }_{i} } \over {dt}} + {{1} \over {v_{i}} } \oint _{S_{i} }   {\mathbf f} \left( {\mathbf u } \right) dS  = {\mathbf 0} . \quad (9)


Again, values for the edge fluxes can be reconstructed by interpolation or extrapolation of the cell averages. The actual numerical scheme will depend upon problem geometry and mesh construction. MUSCL reconstruction is often used in high resolution schemes where shocks or discontinuities are present in the solution.


Finite volume schemes are conservative as cell averages change through the edge fluxes. In other words, one cell's loss is another cell's gain!

[edit] See also

[edit] External links

In other languages