有限体积法2
二维 有限体积法

二维有限体积法
二维有限体积法是一种数值解法,用于求解二维空间中的流体力学问题。
它将流体力学方程离散化为差分方程,通过对网格中有限体积进行积分,求解各个网格单元的平均物理量。
在二维有限体积法中,计算域被划分为有限个网格单元,每个网格单元都包含一个小体积,称为控制体。
对于每个控制体,通过应用质量守恒、动量守恒和能量守恒方程,在控制体内对物理量进行积分,得到差分方程。
对于质量守恒方程,可以使用面积分来近似积分,得到流量的离散形式。
对于动量守恒方程,可以使用体积分或面积分来近似积分,得到速度或压力的离散形式。
对于能量守恒方程,可以使用体积分或面积分来近似积分,得到温度或能量的离散形式。
在得到离散形式的方程后,可以通过迭代求解这些差分方程,从而求解出各个网格单元的物理量。
通常使用迭代方法,如追赶法或Jacobi迭代法来求解差分方程。
二维有限体积法在模拟流体流动、热传导和传质等问题中具有广泛应用。
它可以处理复杂的几何形状和边界条件,并且能够较准确地模拟流体力学现象。
【计算流体力学】第8讲-有限体积法2

方法2: Van Leer 分裂 (不单独处理压力)
u
f
u
2
p
(E p)u
p c2 /
E p H 1 u2 p 1 u2 1 c2
2
1 2
1
M
f
c
uM
c
/
uM / 2 c / ( 1)
验证 f f f
M 1 f f,f 0 M 1 f 0, f f
1 0
f
cM
u
p
f
c
f
p
H 0
M M M M 0; M 0
p p p
5
M 当 M 1 M (M 1)2 / 4 当
0 当 M 1
M 1
0 M 1 M (M 1)2 / 4
M M 1
M M M p p p
M 1
特点: 连续、光滑、无可调参数
u 0 t x
被动标量方程
分裂形成简单
f u u u
1. 流通矢量分裂(FVS)
1) Steger-Warming分裂
f f f
f AU S1ΛSU
k
k
(2k 2 )1/ 2 2
1维:
f%(λ%)
2
(
2( 1)%1 %2 %3 2( 1)%1u %2 (u c) %3(u c)
区域物理量的近似值
f hll
fZLRfL
if ZL 0 ZLfR ZRZL (UR
ZR ZL
UL)
if
fR if ZR 0
ZL 0 ZR
Ref.: E. F. Toro: Riemann Solvers and Numerical Methods for Fluid Dynamics, Springer, 2009 (Third Edition)
有限体积法 中科大

有限体积法(Finite Volume Method,FVM)是一种数值计算方法,广泛应用于解决流体动力学、热传导等物理现象的偏微分方程。
它将求解域划分为有限数量的控制体积,然后通过对控制体积应用质量、动量、能量守恒等物理原理,将偏微分方程转化为代数方程组,最终用数值方法求解。
有限体积法的基本思想包括以下几个步骤:
1.离散化:将求解域划分为有限数量的控制体积,这些体积通常是规则的立方体或六
面体。
2.建立守恒方程:对每个控制体积应用守恒方程,例如质量守恒、动量守恒、能量守
恒等。
这通常涉及将偏微分方程转化为积分形式。
3.积分:对守恒方程进行积分,将守恒方程应用于控制体积的表面,得到在体积上的
积分方程。
4.离散化方程:将积分方程离散化,将连续域上的方程转化为离散的代数方程。
5.求解代数方程组:利用数值方法求解得到的代数方程组,通常采用迭代方法或直接
求解方法。
6.结果后处理:根据求解得到的数值解进行后处理,如可视化、数据分析等。
有限体积法的优势在于其能够自然地处理复杂的几何形状、多相流体、非结构网格等问题。
它在计算流体动力学、热传导、固体力学等领域有着广泛的应用。
2有限体积法及其网格简介

ρφdV t V
dV
用文字表述的特征变量在控制体积内的 守恒关系为:
φ 随 时 间 的 变 化 量 φ由 于 边 界 对 流 引 起 的 净 减 少 量 φ由 边 界 扩 散 引 起 的 净 增 加 量 φ由 内 源 引 起 的 净 产 生 量
A A V φ
dV
对瞬态,还需对时间积分,以表明从时刻t到 (t+△t)的时间段内未知量仍保持其守恒性
ρφdV dt t V
Δt
n φ ρ u d A d t
Δt A
n Γ g r a d φ d A d t S
2.2有限体积法及其网格介绍
1
2.2.1 有限体积法思想
有限体积法是在有限差分法基础上发展起来的,同时 它又吸收了有限元法的一些优点。 基本思路:将计算区域划分为网格,并使每个网格点 周围有一个互不重复的控制体积,将待解微分方程 (控制方程)对每一个控制体积分,从而得出一组离 散方程。其中的未知量是网格点上的因变量 。 有限体积法获得的离散方程,物理上表示的是控制容 积的通量平衡,方程中各项有明确的物理意义。这也 是有限体积法与有限差分法和有限元法相比更具有优 势的地方。
d iv ( u ) d iv ( g r a d ) S
10
有限体积法的关键步骤:
将控制方程在控制体积内积分
V
ρφ t
dV
d iv (ρ φ u ) d V
V
d iv ( Γ g r a d φ )d V S
V V
有限元法与有限体积法

C1h2 ≤ SQ ≤ h2,
∀Q ∈ Ω∗h
(15)
C2h2 ≤ SP∗0 ≤ C3h2,
∀P0 ∈ Ω¯ h.
(16)
取试探函数空间 Uh 为相应于 Th 的一次有限元空间,即 Uh = {uh | uh ∈ C(Ω), uh |K∈ P1(K), ∀K ∈ Th, uh |∂Ω= 0} ⊂ H01(Ω). (17)
P0 ∈ Ω˙ h.
(34)
7
据定理2.1和上式有
uh − Πhu
2 1
=
1 C
a(uh
−
Πhu, Π∗h(uh
−
Πhu))
=
1 C
a(u
−
Πhu, Π∗h(uh
−
Πhu)),
从而
uh − Πhu 1
≤
1 C
sup
u¯h∈Uh
|
a(u
−
Πhu, Π∗hu¯h) u¯h 1
|
(35)
其中
| a(u − Πhu, Π∗hu¯h) |≤ Ch | u |2 u¯h 1 .
(26) (27)
(28)
=
f dxdy
KP∗ij
(29)
5
三、误差估计
命题 2.1 对于求解问题(1)-(2)的有限体积法的双线性形式 a(·, ·) 有:
a(uh, Π∗hu¯h) =
∇uh · ∇u¯hdxdy = a(uh, u¯h), ∀uh ∈ Uh. (30)
K∈Th K
其中 a(uh, u¯h) 表示有限元法中的双线性形式 a(·, ·).
求解Poisson方程的有限体积法定义为:求 uh ∈ Uh,使得
a(uh, vh) = (f, vh), ∀vh ∈ Vh,
《有限体积—有限元方法在油藏数值模拟中的原理和应用》范文

《有限体积—有限元方法在油藏数值模拟中的原理和应用》篇一一、引言油藏数值模拟作为石油工程和地球物理研究的关键工具,是利用复杂的数值方法和计算机技术来模拟地下油藏的流体流动行为。
其中,有限体积法和有限元法是两种常用的数值方法。
本文将详细探讨这两种方法在油藏数值模拟中的原理和应用。
二、有限体积法的原理及应用1. 原理有限体积法是一种基于流体控制体积的离散化数值模拟方法。
它将计算区域划分为一系列不重复的控制体积,通过积分守恒形式的流体流动方程(如质量守恒方程和动量守恒方程),从而得出离散化方程组。
这些方程组在每一步的时间和空间离散中均能满足质量、能量和动量的守恒性。
2. 应用在油藏数值模拟中,有限体积法主要用于模拟流体在多孔介质中的流动过程。
其优势在于能够很好地处理复杂的几何形状和边界条件,同时能够有效地处理流体流动过程中的非线性问题。
此外,由于该方法在空间上具有明确的物理意义,因此能够更好地反映流体的实际流动情况。
三、有限元法的原理及应用1. 原理有限元法是一种基于变分原理和分片插值为基础的数值方法。
它将求解域划分为一系列小区域(即有限元),每个有限元内假设一个近似解,然后根据极值原理将问题转化为求解泛函极值问题。
通过这种方法,可以得到一系列线性方程组,从而求得问题的解。
2. 应用在油藏数值模拟中,有限元法主要用于解决复杂的工程问题和物理问题。
例如,它可以用于模拟复杂的地下结构、地应力分布以及多相流体的流动等。
其优点在于能够灵活地处理复杂的几何形状和材料属性,同时也能够处理多相流体的复杂相互作用。
四、有限体积与有限元方法的结合应用在油藏数值模拟中,有限体积法和有限元法常常被结合使用。
例如,在处理复杂的流体流动问题时,可以先用有限体积法进行初步的流体流动模拟,然后再用有限元法进行更精细的物理分析和工程计算。
这种结合使用的方法可以充分发挥两种方法的优势,提高模拟的准确性和效率。
五、结论综上所述,有限体积法和有限元法是油藏数值模拟中常用的两种数值方法。
二阶椭圆型方程有限体积法的若干研究

二阶椭圆型方程有限体积法的若干研究一、概述二阶椭圆型方程有限体积法是一种数值解法,用于求解二维或三维的椭圆型偏微分方程。
该方法的基本思想是将求解区域划分为有限个小区域,然后在每个小区域内进行数值计算,最终得到整个求解区域的近似解。
本文将对二阶椭圆型方程有限体积法进行详细研究。
二、数学模型二阶椭圆型方程的一般形式为:$$\nabla \cdot (a(x,y) \nabla u(x,y)) + b(x,y)u(x,y) = f(x,y)$$其中,$a(x,y)$和$b(x,y)$是已知函数,$f(x,y)$是给定的源项函数,$u(x,y)$是待求解函数。
三、离散化方法有限体积法将求解区域划分为若干个小区域,称为网格单元。
对于每个网格单元,可以通过对方程进行积分来得到一个离散化的形式:$$\frac{1}{|V_i|}\int_{V_i} a\nabla u \cdot \nabla \phi dxdy + \frac{1}{|V_i|}\int_{V_i} b u \phi dxdy = \frac{1}{|V_i|}\int_{V_i} f\phi dxdy$$其中,$V_i$表示第$i$个网格单元,$\phi$是一个测试函数,可以任意选取,$|V_i|$表示网格单元的面积或体积。
为了得到离散化的方程组,需要对上式进行进一步处理。
首先,在每个网格单元上使用高斯公式将第一项中的梯度项转化为面积分:$$\frac{1}{|V_i|}\int_{\partial V_i} a\nabla u \cdot n \phi ds -\frac{1}{|V_i|}\int_{V_i} a\nabla \phi \cdot \nabla u dxdy +\frac{1}{|V_i|}\int_{V_i} b u \phi dxdy = \frac{1}{|V_i|}\int_{V_i} f\phi dxdy$$然后,对于相邻两个网格单元之间的界面,需要加入一个通量项来保证数值解在界面处的连续性。
有限容积法和有限体积法

有限容积法和有限体积法有限容积法和有限体积法是计算流体力学中常用的两种数值方法,它们在流体动力学的数值计算中占有非常重要的地位。
本文将从概念、原理、特点、应用等方面,对这两种方法进行详细介绍。
一、有限容积法1.概念有限容积法(Finite Volume Method,FVM)是一种离散化的数值方法,它将连续的物理量离散化为有限个体积元,在每个体积元内计算其平均值,进而求解整个流体系统的物理量。
FVM方法的核心是质量守恒原理,即物质的进出必须平衡,这种保证了物理量在每个体积元内的守恒关系,从而保证了数值计算的准确性。
2.原理FVM方法的数值计算是基于网格的,它将流体动力学问题离散化为一个由有限体积元组成的系统,将原问题转化为流量守恒方程的求解,即$$\frac{\Delta m}{\Delta t}=\Sigma_{faces}\rho uA$$其中,$\Delta m$是在$\Delta t$时间内通过一个表面的质量变化量,$\rho$是介质的密度,$u$是速度,$A$是面积。
对于每个有限体积元,上式可以写为其中,$F_{ij}^p$和$F_{ij}^n$分别是流向有限体积元内部和外部的通量,$i,j$是有限体积元的编号。
3.特点(1)FVM方法基于质量守恒原理,具有非常强的数值稳定性和保真性;(2)FVM方法的计算结果具有局部守恒性,能够准确反映流场内部的物理现象;(3)FVM方法可以处理非结构化网格,适用范围广泛;(4)FVM方法求解的是面积分,所需的时间和空间存储相对较少。
4.应用(1)流体力学领域,如空气动力学、水力学、燃烧问题等;(2)材料科学领域,如薄膜生长、材料变形等。
有限体积法(Finite Element Method,FEM)是一种离散化的数值方法,它将求解的物理场离散化为有限个单元,然后在每个单元内进行近似计算。
相比于FVM方法,FEM方法更加精确,适用于需要高精度计算的问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
或 其中
∂ρφ ∂J x ∂J y ∂J z + =S + + ∂x ∂z ∂t ∂y
14
*
快将边界条件信息带到区域内部,有流动时最好从上游扫描 到下游。 (3)竖向扫描,对每一横向网格线取隐格式方程,即 aPφP=aEφE+aWφW+ aNφ N+aSφ S+ b 构成 x 方向的三对角方程,用追赶法求解。 (4)完成步骤(3)后再回到步骤(2)重新开始新的一轮 迭代,直至迭代收敛。
24
离散化方程的推导与二维问题时完全类似,得 aP φP = aE φE + aW φW + aN φN + aS φS + aT φT +aB φB + b 其中 a E = D e A ( Pe ) + max(− Fe ,0) , aW = D w A ( Pw ) + max(Fw ,0)
17
N n (δr)n W ∆r s (δr)s ∆θ (δθ)w S (δθ)e w P e E
18
直角坐标系 Orθ下,控制体为矩形
N (δr)n W (δr)s ∆r w n P s ∆θ (δθ)w S (δθ)w e E
19
~ ~ ~ φ ∂J ∂J θ ~ ∂ρ r + + =S 控制方程改写为 ∂t ∂r ∂θ ~ ~ ρ = ρr , S = rS , 其中
11
12
(2)采用适应边界形状的曲线坐标(贴体坐标) ,Oxy 平 面上的非矩形网格(通常希望取成正交网格)在曲线坐标系 下为矩形网格(原来的微分方程中的流速、扩散系数和源项 均会随之改变) 。 (3)采用非结构网格(如三角 形网格等) ,可以更好的适应边界 的形状,但离散格式和控制体的划 分较为复杂。
1
其中
J x = ρu φ − Γ
∂φ , ∂x
J y = ρv φ − Γ
N
∂φ ∂y
(δy)n W (δy)s ∆x ∆y w
n P s S (δx)w (δx)e e E
划分矩形网格,围绕结点 P 取控制体,大小为 1×Δx×Δy,
2
四个界面分别为 e、w、n、s,控制体上对方程积分,并且对 源项线性化处理,得
a N = D n A ( Pn ) + max(− Fn ,0) , aS = D s A ( Ps ) + max(Fs ,0)
a T = Dt A ( Pt ) + max(− Ft ,0) , a B = Db A ( Pb ) + max(Fb ,0)
aP =aE + aW + aN + aS + aT + aB + aP0 -SPΔxΔyΔz b = aP0φP0+ SCΔxΔyΔz, Fe = (ρu)eΔyΔz, D e = aP0=ρP0ΔxΔyΔz/Δt
9
2.边界条件处理与方程组求解 矩形网格时,二维对流扩散问题的边界条件的离散化方法 基本与前面介绍的一维问题类似。 水域边界尽量远离 回流, 否则不便确定边 界条件。
10
二维区域不规则边界形状的处理: (1) 矩形网格所形成的阶梯状边界来逼近实际边界, 空间 步长足够小时,计算结果常常可以令人满意(边界条件的处 理较为麻烦) ;
(ρu r )n (δr )n Γn (r∆θ)n = / = P F D (δr )n , n n n Γn
21
Fs = (ρru r )s ∆θ , D s =
Γs (r∆θ)s (ρur )s (δr )s , Ps = Fs / D s = 。 (δr )s Γs
22
4. 三维问题离散格式 三维问题的通用形式对流扩散方程为
(ρu )w (δx )w
Pn = Fn D n =
5
(ρv )n (δy )n
Γn
Ds =
Γs ∆x (δy )s ,
Ps = Fs D s =
(ρv )s (δy )s
Γs
将通量离散式代入方程(c),得结点 P 上的离散化代数方程 aPφP=aEφE+aWφW+ aNφN+aSφS+ b 其中 a E = De A ( Pe ) + max(− Fe ,0) , aW = D w A ( Pw ) + max(Fw ,0)
J x = ρu φ − Γ
∂φ ∂φ ∂φ ,J y = ρvφ − Γ ,J z = ρwφ − Γ ∂y ∂x ∂z
23
结点 P 周围所取的控制体大小为Δx×Δy×Δz, 在 z 方向上的两个相邻结点为 T 和 B ( “ Top ”和 “Bottom” ) ,界面为 t 和 b。
T t ∆z P b B (δz)b (δz)t
a N = Dn A ( Pn ) + max(− Fn ,0) , a S = D s A ( Ps ) + max(Fs ,0)
aP =aE + aW + aN + aS + aP0 -SPΔxΔy b = aP0φP0+ SCΔxΔy, aP0 = ρP0ΔxΔy/Δt
6
※ 存在的问题:对通量的离散化是在 x、y 方向上分别按一维 格式处理,但当流动方向与网格线成一夹角时,计算结果 会呈现垂直于流动方向的横向虚假扩散。
13
二维问题结点 P 的方程只与四个相邻的结点有关,代数方 程组的矩阵是稀疏矩阵,常用交替方向隐式迭代法,收敛速 度较快,其迭代步骤是: (1)假设各结点上的初始值。 (2)横向扫描,对每一竖向网格线取隐格式方程,即 aPφP= aNφN+aSφS+ aEφ*E+aWφ*W + b ——y 方向的三对角方程,可以用追赶法求解。 (φ 为前面迭代过程计算出的最新迭代值) 扫描的方向(从左到右或从右至左)可以交替改变以便尽
Dw = Fw = (ρu θ )w ∆r ,
Fn = (ρru r )n ∆θ , Dn =
aP0 = ρP0 ∆V/∆t
(ρu θ )w (rδθ)w Γw ∆r = / = P F D (rδθ)w , w w w Γw
(ρu θ )e (rδθ)e Γe ∆r , Pe = Fe / D e = Γe (rδθ)e
7
8
虚假扩散的扩散系数约为
Γf =
ρU∆x∆y sin 2θ 4 ∆y sin 3 θ + ∆x cos 3 θ
(
)
U、θ为来流速度及其与 x 轴的夹角。θ=45°时虚假扩散为 最大。 原因:没有考虑来自角点的“斜迎风”效应。 解决办法:取较小的空间步长; 格式的改进(如特征 FVM) ; 网格划分时应尽可能使网格线与流动方向一致。
0 0 ρP φP − ρ P φP ∆x∆y + J e − J w + J n − J s = (SC + S P φP )∆x∆y ∆t
(a)
其中 Je =(Jx)eΔy,Jw =(Jx)wΔy,Jn =(Jy)nΔx, Js =(Jy)sΔx 连续性方程
0 ρP − ρP ∆x∆y + Fe − Fw + Fn − Fs = 0 ∆t
, Pb
Fb= (ρw)bΔxΔy, Db =
= Fb Db =
(ρw )b (δz )b
Γb
26
四.有限体积法求解 Navier-Stokes 方程组
∂ρ ∂ (ρu j ) =0 + ∂x j ∂t
∂ρu i ∂ (ρu j u i ) ∂ 2ui ∂p + = ρg i − +µ 2 ∂t ∂x j ∂x i ∂x j
(c) 仿照一维问题中的方法 x、y 方向上分别对通量项离散化, 如
Γ (J x ) e = (ρu )e φ P + e A ( Pe ) + max[− (ρu )e ,0] (φ P − φ E ) (δx )e
即
J e = Fe φ P + [D e A ( Pe ) + max(− Fe ,0)] (φ P − φ E )
(b)
其中界面质量流量
Fe = (ρu)eΔy,Fw = (ρu)wΔy, Fn = (ρv)nΔx,Fs = (ρv)sΔx
3
类似于一维问题的处理方法, (a)-(b)×φP 得到
0 ρP 0 φP − φP ∆x∆y + (J e − Fe φ P ) − (J w − Fw φ P ) ∆t + (J n − Fn φ P ) − (J s − Fs φ P ) = (S C + Sφ P )∆x∆y
∂φ ~ ~ Γ ∂φ J r = ρru r φ − rΓ , J θ = J θ = ρu θ φ − ∂r r ∂θ
在矩形控制体上对方程积分,并采用类似直角坐标系下的 通量、源项等离散格式,得 aP φP = aE φE + aW φW + aN φN + aS φS + b 其中 a E = De A ( Pe ) + max(− Fe ,0) ,
三.二维和三维问题的有限体积法
1.二维问题离散格式(直角坐标) 二维问题的通用对流扩散方程为
∂ρφ ∂ (ρuφ) ∂ (ρvφ) ∂ ∂φ ∂ ∂φ Γ + + = + Γ +S ∂t ∂x ∂y ∂x ∂x ∂y ∂y