Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Finite volume method
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Method for representing and evaluating partial differential equations}} {{Differential equations}} The '''finite volume method''' ('''FVM''') is a method for representing and evaluating [[partial differential equation]]s in the form of algebraic equations.<ref>{{cite book|last=LeVeque|first=Randall|date=2002|title=Finite Volume Methods for Hyperbolic Problems|url=https://www.cambridge.org/core/books/finite-volume-methods-for-hyperbolic-problems/97D5D1ACB1926DA1D4D52EAD6909E2B9|isbn=9780511791253}}</ref> In the finite volume method, volume integrals in a partial differential equation that contain a [[divergence]] term are converted to [[surface integral]]s, 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 [[Conservation law (physics)|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. "Finite volume" refers to the small volume surrounding each node point on a mesh.<ref>{{Cite journal |last1=Wanta |first1=D. |last2=Smolik |first2=W. T. |last3=Kryszyn |first3=J. |last4=Wróblewski |first4=P. |last5=Midura |first5=M. |date=October 2021 |title=A Finite Volume Method using a Quadtree Non-Uniform Structured Mesh for Modeling in Electrical Capacitance Tomography |journal=Proceedings of the National Academy of Sciences, India Section A: Physical Sciences |volume=92 |issue=3 |pages=443–452 |language=en|doi=10.1007/s40010-021-00748-7 |doi-access=free}}</ref> Finite volume methods can be compared and contrasted with the [[finite difference method]]s, which approximate derivatives using nodal values, or [[finite element method]]s, which create local approximations of a solution using local data, and construct a global approximation by stitching them together. In contrast a finite volume method evaluates exact expressions for the ''average'' value of the solution over some volume, and uses this data to construct approximations of the solution within cells.<ref>{{Cite journal|last1=Fallah|first1=N. A.|last2=Bailey|first2=C.|last3=Cross|first3=M.|last4=Taylor|first4=G. A.|date=2000-06-01|title=Comparison of finite element and finite volume methods application in geometrically nonlinear stress analysis|journal=Applied Mathematical Modelling|language=en|volume=24|issue=7|pages=439–455|doi=10.1016/S0307-904X(99)00047-5|issn=0307-904X|doi-access=free}}</ref><ref>{{Cite book|last=Ranganayakulu, C. (Chennu)|title=Compact heat exchangers : analysis, design and optimization using FEM and CFD approach|others=Seetharamu, K. N.|isbn=978-1-119-42435-2|location=Hoboken, NJ|chapter=Chapter 3, Section 3.1|date=2 February 2018 |oclc=1006524487}}</ref> ==Example== Consider a simple 1D [[advection]] problem: {{NumBlk|:|<math>\frac{\partial\rho}{\partial t}+\frac{\partial f}{\partial x}=0,\quad t\ge0.</math>|{{EquationRef|1}}}} Here, <math> \rho=\rho \left( x,t \right) </math> represents the state variable and <math> f=f \left( \rho \left( x,t \right) \right) </math> represents the [[flux]] or flow of <math> \rho </math>. Conventionally, positive <math> f </math> represents flow to the right while negative <math> f </math> represents flow to the left. If we assume that equation ({{EquationNote|1}}) represents a flowing medium of constant area, we can sub-divide the spatial domain, <math> x </math>, into ''finite volumes'' or ''cells'' with cell centers indexed as <math> i </math>. For a particular cell, <math> i </math>, we can define the ''volume average'' value of <math> {\rho }_i \left( t \right) = \rho \left( x, t \right) </math> at time <math> {t=t_1} </math> and <math>{ x \in \left[ x_{i-1/2} , x_{i+1/2} \right] } </math>, as {{NumBlk|:|<math>\bar{\rho}_i \left( t_1 \right) = \frac{1}{ x_{i+1/2} - x_{i-1/2}} \int_{x_{i-1/2}}^{x_{i+1/2}} \rho \left(x,t_1 \right)\, dx ,</math>|{{EquationRef|2}}}} and at time <math> t = t_2 </math> as, {{NumBlk|:|<math>\bar{\rho}_i \left( t_2 \right) = \frac{1}{x_{i+1/2} - x_{i-1/2}} \int_{x_{i-1/2}}^{x_{i+1/2}} \rho \left(x,t_2 \right)\, dx ,</math>|{{EquationRef|3}}}} where <math> x_{i-1/2} </math> and <math> x_{i+1/2} </math> represent locations of the upstream and downstream faces or edges respectively of the <math> i^\text{th} </math> cell. Integrating equation ({{EquationNote|1}}) in time, we have: {{NumBlk|:|<math>\rho \left( x, t_2 \right) = \rho \left( x, t_1 \right) - \int_{t_1}^{t_2} f_x \left( x,t \right)\, dt,</math>|{{EquationRef|4}}}} where <math>f_x=\frac{\partial f}{\partial x}</math>. To obtain the volume average of <math> \rho\left(x,t\right) </math> at time <math> t=t_{2} </math>, we integrate <math> \rho\left(x,t_2 \right) </math> over the cell volume, <math>\left[ x_{i-1/2} , x_{i+1/2} \right] </math> and divide the result by <math>\Delta x_i = x_{i+1/2}-x_{i-1/2} </math>, i.e. {{NumBlk|:|<math> \bar{\rho}_{i}\left( t_{2}\right) =\frac{1}{\Delta x_i}\int_{x_{i-1/2}}^{x_{i+1/2}}\left\{ \rho\left( x,t_{1}\right) - \int_{t_{1}}^{t_2} f_{x} \left( x,t \right) dt \right\} dx.</math>|{{EquationRef|5}}}} We assume that <math> f \ </math> is well behaved and that we can reverse the order of integration. Also, recall that flow is normal to the unit area of the cell. Now, since in one dimension <math>f_x \triangleq \nabla \cdot f </math>, we can apply the [[divergence theorem]], i.e. <math>\oint_{v}\nabla\cdot fdv=\oint_{S}f\, dS </math>, and substitute for the volume integral of the [[divergence]] with the values of <math>f(x) </math> evaluated at the cell surface (edges <math>x_{i-1/2} </math> and <math> x_{i+1/2} </math>) of the finite volume as follows: {{NumBlk|:|<math> \bar{\rho}_i \left( t_2 \right) = \bar{\rho}_i \left( t_1 \right) - \frac{1}{\Delta x_{i}} \left( \int_{t_1}^{t_2} f_{i + 1/2} dt - \int_{t_1}^{t_2} f_{i - 1/2} dt \right) .</math>|{{EquationRef|6}}}} where <math>f_{i \pm 1/2} =f \left( x_{i \pm 1/2}, t \right) </math>. We can therefore derive a ''semi-discrete'' numerical scheme for the above problem with cell centers indexed as <math> i </math>, and with cell edge fluxes indexed as <math> i\pm1/2 </math>, by differentiating ({{EquationNote|6}}) with respect to time to obtain: {{NumBlk|:|<math> \frac{d \bar{\rho}_i}{d t} + \frac{1}{\Delta x_i} \left[ f_{i + 1/2} - f_{i - 1/2} \right] =0 ,</math>|{{EquationRef|7}}}} where values for the edge fluxes, <math> f_{i \pm 1/2} </math>, can be reconstructed by [[interpolation]] or [[extrapolation]] of the cell averages. Equation ({{EquationNote|7}}) is ''exact'' for the volume averages; i.e., no approximations have been made during its derivation. This method can also be applied to a [[Finite volume method for two dimensional diffusion problem|2D]] situation by considering the north and south faces along with the east and west faces around a node. == General conservation law == We can also consider the general [[Conservation law (physics)|conservation law]] problem, represented by the following [[partial differential equation|PDE]], {{NumBlk|:|<math> \frac{\partial \mathbf u}{\partial t} + \nabla \cdot {\mathbf f}\left( {\mathbf u } \right) = {\mathbf 0} . </math>|{{EquationRef|8}}}} Here, <math> \mathbf u </math> represents a vector of states and <math>\mathbf f </math> represents the corresponding [[flux]] tensor. Again we can sub-divide the spatial domain into finite volumes or cells. For a particular cell, <math>i </math>, we take the volume integral over the total volume of the cell, <math>v _{i} </math>, which gives, {{NumBlk|:|<math> \int _{v_{i}} \frac{\partial \mathbf u}{\partial t}\, dv + \int _{v_{i}} \nabla \cdot {\mathbf f}\left( {\mathbf u } \right)\, dv = {\mathbf 0} .</math>|{{EquationRef|9}}}} On integrating the first term to get the ''volume average'' and applying the ''divergence theorem'' to the second, this yields {{NumBlk|:|<math> v_{i} {{d {\mathbf {\bar u} }_{i} } \over dt} + \oint _{S_{i} } {\mathbf f} \left( {\mathbf u } \right) \cdot {\mathbf n }\ dS = {\mathbf 0}, </math>|{{EquationRef|10}}}} where <math> S_{i} </math> represents the total surface area of the cell and <math>{\mathbf n}</math> is a unit vector normal to the surface and pointing outward. So, finally, we are able to present the general result equivalent to ({{EquationNote|8}}), i.e. {{NumBlk|:|<math> {{d {\mathbf {\bar u} }_{i} } \over {dt}} + {{1} \over {v_{i}} } \oint _{S_{i} } {\mathbf f} \left( {\mathbf u } \right)\cdot {\mathbf n }\ dS = {\mathbf 0} .</math>|{{EquationRef|11}}}} 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 scheme|MUSCL]] reconstruction is often used in [[high resolution scheme]]s 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 always another cell's gain''! ==See also== *[[Finite element method]] *[[Flux limiter]] *[[Godunov's scheme]] *[[Godunov's theorem]] *[[High-resolution scheme]] *[[KIVA (software)]] *[[MIT General Circulation Model]] *[[MUSCL scheme]] *[[Sergei K. Godunov]] *[[Total variation diminishing]] *[[Finite volume method for unsteady flow]] == References == {{Reflist}} == Further reading == *Eymard, R. Gallouët, T. R., [[Raphaèle Herbin|Herbin, R.]] (2000) ''The finite volume method'' Handbook of Numerical Analysis, Vol. VII, 2000, p. 713–1020. Editors: P.G. Ciarlet and J.L. Lions. *Hirsch, C. (1990), ''Numerical Computation of Internal and External Flows, Volume 2: Computational Methods for Inviscid and Viscous Flows'', Wiley. *Laney, Culbert B. (1998), ''Computational Gas Dynamics'', Cambridge University Press. *LeVeque, Randall (1990), ''Numerical Methods for Conservation Laws'', ETH Lectures in Mathematics Series, Birkhauser-Verlag. *LeVeque, Randall (2002), ''Finite Volume Methods for Hyperbolic Problems'', Cambridge University Press. *Patankar, Suhas V. (1980), ''Numerical Heat Transfer and Fluid Flow'', Hemisphere. *Tannehill, John C., et al., (1997), ''Computational Fluid mechanics and Heat Transfer'', 2nd Ed., Taylor and Francis. *Toro, E. F. (1999), ''Riemann Solvers and Numerical Methods for Fluid Dynamics'', Springer-Verlag. *Wesseling, Pieter (2001), ''Principles of Computational Fluid Dynamics'', Springer-Verlag. ==External links== * [https://hal.science/hal-02100732v2/file/bookevol.pdf Finite volume methods] by R. Eymard, T Gallouët and [[Raphaèle Herbin|R. Herbin]], update of the article published in Handbook of Numerical Analysis, 2000 * {{cite web |url=http://www.imtek.uni-freiburg.de/simulation/mathematica/IMSweb/imsTOC/Lectures%20and%20Tips/Simulation%20I/FVM_introDocu.html |title=The Finite Volume Method (FVM) – An introduction |first=Oliver |last=Rübenkönig |archive-url=https://web.archive.org/web/20091002233707/http://www.imtek.uni-freiburg.de/simulation/mathematica/IMSweb/imsTOC/Lectures%20and%20Tips/Simulation%20I/FVM_introDocu.html |archive-date=2009-10-02}}, available under the [[GNU Free Document License|GFDL]]. * [http://www.ctcms.nist.gov/fipy/ FiPy: A Finite Volume PDE Solver Using Python] from NIST. * [http://depts.washington.edu/clawpack/ CLAWPACK]: a software package designed to compute numerical solutions to hyperbolic partial differential equations using a wave propagation approach {{Numerical PDE}} {{Differential equations topics}} {{Authority control}} [[Category:Numerical differential equations]] [[Category:Computational fluid dynamics]] [[Category:Numerical analysis]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite web
(
edit
)
Template:Differential equations
(
edit
)
Template:Differential equations topics
(
edit
)
Template:EquationNote
(
edit
)
Template:EquationRef
(
edit
)
Template:NumBlk
(
edit
)
Template:Numerical PDE
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)