有限体积法( 英文:finite volume method )是一种以数值方法解偏微分方程的计算方式[1]。 在有限体积法中,将要描述的物理实体切分为网格单元来描述,并使用发散定理,将所有包含发散项的偏微分方程中的体积积分转换为表面积分。然后将每个网格的项加总,便成为每个有限体积表面的通量。因为进入给定体积的通量与离开相邻体积的通量相同,所以这些方法是守恒的。该方法用于许多计算流体动力学软件。
有限体积法常被拿来与有限元素分析做比较,后者使用节点值来近似导数,或者使用有限元方法来使用局部数值来逼近解的局部近似值,并通过将它们加总在一起来形成全域近似值。另一方面,有限体积法会计算某个体积中的网格解之平均,然后使用此平均值来决定单元内解的近似值[2][3]。
举例
一维平流问题:
![{\displaystyle \quad (1)\qquad \qquad {\frac {\partial \rho }{\partial t}}+{\frac {\partial f}{\partial x}}=0,\quad t\geq 0.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ab2ff8ec861c83205cefa2e534b7c6cc8c867137)
在这里代表状态变量,
代表的通量或流量
。习惯上,
正值代表向右流动,而
负值代表向左流动。如果假设式(1)表示恒定面积的流动介质,则可以空间域
,细分为数个网格单元,以每个网格单元所占的有限体积以
作为标记 。对于特定的单元
,我们可以定义该体积某物理量( 压力、温度等 )之通量或流量平均值
在时间
和
,如式(2)
![{\displaystyle \quad (2)\qquad \qquad {\bar {\rho }}_{i}\left(t_{1}\right)={\frac {1}{x_{i+{\frac {1}{2}}}-x_{i-{\frac {1}{2}}}}}\int _{x_{i-{\frac {1}{2}}}}^{x_{i+{\frac {1}{2}}}}\rho \left(x,t_{1}\right)\,dx,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/def33b441be6ea9696fdb4fd9469c7fdae11ad8c)
而在时间
时式(2)可写为:
![{\displaystyle \quad (3)\qquad \qquad {\bar {\rho }}_{i}\left(t_{2}\right)={\frac {1}{x_{i+{\frac {1}{2}}}-x_{i-{\frac {1}{2}}}}}\int _{x_{i-{\frac {1}{2}}}}^{x_{i+{\frac {1}{2}}}}\rho \left(x,t_{2}\right)\,dx,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/79d4467d0bc890166b9761a510809514f8498e4f)
此处
和
分别代表上游和下游面或网格单元的交界面位置
。
将式(1)积分,可得:
![{\displaystyle \quad (4)\qquad \qquad \rho \left(x,t_{2}\right)=\rho \left(x,t_{1}\right)-\int _{t_{1}}^{t_{2}}f_{x}\left(x,t\right)\,dt,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ab00842765e03199b60d5285068f3c6c38505f74)
当
。
为了得到在时间
的有限体积平均值
,在此积分位于整个有限体积的所有网格的流量
,并
并将计算结果除以
,即可得:
![{\displaystyle \quad (5)\qquad \qquad {\bar {\rho }}_{i}\left(t_{2}\right)={\frac {1}{\Delta x_{i}}}\int _{x_{i-{\frac {1}{2}}}}^{x_{i+{\frac {1}{2}}}}\left\{\rho \left(x,t_{1}\right)-\int _{t_{1}}^{t_{2}}f_{x}\left(x,t\right)dt\right\}dx.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d4f8ca3e20b9b1bf2fa9eb971b014c858d318784)
我们可以逆向积分的顺序。同样,请记住,流量垂直于单元的表面。现在,因为一维
,我们可以应用散度定理,即
,并用的值代替散度的体积积分
在网格单元表面计算(某单元与其他单元之前后交界面
和
)的有限体积如下:
![{\displaystyle \quad (6)\qquad \qquad {\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+{\frac {1}{2}}}dt-\int _{t_{1}}^{t_{2}}f_{i-{\frac {1}{2}}}dt\right).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5b46fcd1ad0bffd7cf820ac7321957ab19e1a0fb)
当
。
因此,对于上述问题,我们可以得出一个半离散的数值格式,其单元中心的索引为
,且单元交界面通量的索引为
,通过对时间对式(6)进行微分,可得:
![{\displaystyle \quad (7)\qquad \qquad {\frac {d{\bar {\rho }}_{i}}{dt}}+{\frac {1}{\Delta x_{i}}}\left[f_{i+{\frac {1}{2}}}-f_{i-{\frac {1}{2}}}\right]=0,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1865cfc7bed5417ba22f47a5245d4db89e19f7d1)
通过某单元交界面通量的值
可以通过对单元平均值进行内插或外推来获得。式(7)对于该有限体积的平均值是精确的,因为在推导过程中未进行任何近似。
该方法也可以应用于2D形况,只要同时考虑单元四周交界面,北面、南面、东面和西面即可。
一般守恒法则
我们还可以考虑以下PDE代表的一般守恒定律问题,
![{\displaystyle \quad (8)\qquad \qquad {{\partial {\mathbf {u} }} \over {\partial t}}+\nabla \cdot {\mathbf {f} }\left({\mathbf {u} }\right)={\mathbf {0} }.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/825dd0af47ddabf8cdbdb17e5e362ba6509e5530)
此处
代表状态向量
代表相应的通量张量。同样,我们可以将空间域细分为有限体积的网格单元。对于特定的网格单元
,将体积积分乘以单元的总体积
, 如式(9)。
![{\displaystyle \quad (9)\qquad \qquad \int _{v_{i}}{{\partial {\mathbf {u} }} \over {\partial t}}\,dv+\int _{v_{i}}\nabla \cdot {\mathbf {f} }\left({\mathbf {u} }\right)\,dv={\mathbf {0} }.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/556da00cad3580d2af93a12469fa2b62dca1d8b0)
将第一项积分可得体积平均值,然后将散度定理应用于第二项,可得:
![{\displaystyle \quad (10)\qquad \qquad v_{i}{{d{\mathbf {\bar {u}} }_{i}} \over {dt}}+\oint _{S_{i}}{\mathbf {f} }\left({\mathbf {u} }\right)\cdot {\mathbf {n} }\ dS={\mathbf {0} },}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fa824d544e8600a72ff0dacbda704c9e9e392bef)
此处
代表单元的总表面积,
是垂直于表面并指向外的单位向量。最后,可得一般结果如式(11)。
![{\displaystyle \quad (11)\qquad \qquad {{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} }.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/57bc65f2b67872a0def38619b93910abd0f42185)
同样的,可以通过对单元平均值进行内插或外推来重建交界面通量的值。实际的数值将取决于问题的几何形状和軮格结构。
有限体积方案是守恒的,因为单元平均会通过交界面通量而变化。换句话说,某个单元所损失的物理量,必定会通过交界面而被另一单元所获得!
相关文献
- Eymard, R. Gallouët, T. R., 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.
参考资料
- ^ LeVeque, Randall. Finite Volume Methods for Hyperbolic Problems. 2002 [2020-12-23]. ISBN 9780511791253. (原始内容存档于2020-10-23).
- ^ Fallah, N. A.; Bailey, C.; Cross, M.; Taylor, G. A. Comparison of finite element and finite volume methods application in geometrically nonlinear stress analysis. Applied Mathematical Modelling. 2000-06-01, 24 (7): 439–455. ISSN 0307-904X. doi:10.1016/S0307-904X(99)00047-5 (英语).
- ^ Ranganayakulu, C. (Chennu). Chapter 3, Section 3.1. Compact heat exchangers : analysis, design and optimization using FEM and CFD approach. Seetharamu, K. N. Hoboken, NJ. ISBN 978-1-119-42435-2. OCLC 1006524487.
外部链接