Upload
zhiyong-huang
View
37
Download
0
Embed Size (px)
DESCRIPTION
油藏数值模拟基础
Citation preview
油藏数值模拟基础
刘 月 田 主编
石油大学(北京)石油天然气工程学院
目 录
第一章 绪论…………………………………………………………… 1111§1.1 油藏数值模拟的概念和作用………………… 1§1.2 油藏数值模拟研究的主要内容………………… 2§1.3 课程的特点、目的和要求………………… 2第二章 油藏渗流的基本数学模型…………………………………… 3333§2.1 数学模型的分类………………… 3§2.2 建立数学模型的步骤………………… 3§2.3 单相流的数学模型………………… 4§2.4 两相流的数学模型………………… 6§2.5 渗流数学方程的通式………………… 8§2.6 多组分模型………………… 9§2.7 黑油模型………………… 11§2.8 定解条件………………… 13第三章 有限差分与差分方程………………………………… 15151515§3.1 离散化概念………………… 15§3.2 有限差分方法………………… 15§3.3 差分方程的建立………………… 17§3.4 差分格式的稳定性分析………………… 21§3.5 边界条件的处理方法………………… 22§3.6 差分方程组的线性化………………… 23第四章 线性代数方程组的数值解法…………………………………25252525§4.1 三对角方程组的直接解法——追赶法………………… 25§4.2 GAUSS 消元法和直接分解法………………… 26§4.3 交替方向隐式方法(ADIP) ………………… 32§4.4 简单迭代法和 Seidel 迭代法………………… 33§4.5 松驰迭代法(Successive Over Relaxation) ………………… 34§4.6 交替方向隐式迭代方法(ADIIP) ………………… 36§4.7 *强隐式方法………………… 38§4.8 迭代法和直接法的总结比较………………… 44第五章 单相渗流数值模拟方法………………………………………
45454545§5.1 径向渗流问题的数值模拟方法………………… 45§5.2 平面渗流问题的数值模拟方法………………… 51第六章 两相渗流数值模拟方法………………………………………
56565656§6.1 两相流完整的数学模型………………… 56§6.2 二维两相渗流差分方程的建立………………… 56§6.3 两相渗流差分方程的 IMPES 分离解法………………… 58§6.4 半隐式(联立)解法………………… 61§6.5 IMPIMS(分离)解法………………… 63§6.6 边界条件的统一化处理………………… 64§6.7 两相渗流数模程序编制………………… 65第七章 现代油藏数值模拟技术及发展趋势…………………………68686868§7.1 油藏数值模拟技术发展简介………………… 68§7.2 现代油藏数模技术与大型数值模拟软件………………… 68§7.3 油藏数值模拟技术发展趋势………………… 68第八章 油藏数值模拟应用……………………………………………
69696969§8.1 问题分析及模型与软件的选择………………… 69§8.2 油藏几何参数处理与网格系统的建立………………… 69§8.3 地质参数的处理………………… 69§8.4 流体资料的处理………………… 71§8.5 油藏初始资料的处理………………… 72§8.6 生产动态资料………………… 72§8.7 数值模拟输出数据………………… 73§8.8 历史拟合与动态预测………………… 73第九章 实用模拟软件及油藏模拟实例………………………………74747474
第一章 绪 论
§1.11.11.11.1 油藏数值模拟的概念和作用
一、油藏数值模拟在油气田开发中的作用
油气藏存在和运动形式及其开发过程都十分复杂,包括油藏构造、岩石物性、孔隙结构 、
非渗透夹层等静态地层描述的复杂性,包括流体形态、性质及其与岩石的相互作用,还包括
油田生产过程中油气产量、压力、温度和饱和度变化的复杂性,尤其是热力驱油、化学驱油
等“三次采油”过程的复杂性。
油气田开发的目的,就是排除各种复杂因素影响,克服各种困难,将地下岩石中的油气
流体开采到地面,并不断降低成本,提高最终采收率。经历过自喷、机械采油、注水开发、
化学及热力采油等阶段,油气田采收率不断提高。
油气田开发进程离不开科学技术。利用现代科技手段不断深入研究油气田、认识油气田 ,
是提高油气田开发效益的必经之路,研究油气田开发的方法有以下几类:
1.直接法
如钻井、取芯、试采、试井、井组开发试验、先导开发区试验、工业化开发区试验等。
其优点是:①直接、直观——看得见,摸得着;②准确——本身即客观存在,不存在人为误
差。其缺点是:①成本高,周期长;②对油藏变化的不可逆性;③只能在井点或油藏局部进
行。
2.模拟法
⎪⎩
⎪⎨
⎧
⎩⎨⎧数值模拟
解析方法数学
物理
(1)物理模拟。如渗透率测试、相渗测试、毛管力测试、流体性质试验以及三采驱油
机理试验等。其作用是:①发现微观运动规律,②验证理论和数值研究结果;其缺点是:①
很难进行复杂或整体油藏研究,②成本较高,周期较长。
(2)解析方法。通过数学方程组的解析解来研究其所描述的物理过程变化规律的方法。
优点是:①简便,②物理变化规律明显。缺点是:只能研究理想的、较简单的问题,很难直
接解决实际油气藏开发问题。
(3)数值模拟。根据油气藏地质及开发实际情况,建立物理数学模型并利用计算机求
得数值解来研究其运动变化规律。
其实质就是利用数学、地质、物理、计算机等理论方法技术对实际油藏的复制。
油藏数值模拟技术出现于 50 年代,到 90 年代就已发展成熟。现在处于另一个发展周期 。
油藏数值模拟功能包括两大部分:①复杂渗流力学研究,②实际油气藏开发过程整体模
拟研究,且可重复、周期短、费用低。
油藏数值模拟已经普遍应用于各种油气藏开发过程,成为油气田开发不可或缺的方法和
工具,被称作“现代油藏工程”。跟其它油藏研究方法相比,有着不可替代的优势。
油藏数值模拟的局限性主要在于:①模拟误差,②结果不唯一。误差主要来自两方面,
一是模型本身有误差,二是油气藏资料不全或不准。结果不唯一问题跟研究者的水平直接相
关。
二、从学科方向和课程设置看
科学研究主要靠三大手段:实验、理论、数值(模拟、实验、仿真),随着计算机技术
和计算科学的发展,数值研究的地位越来越重要,油藏数值模拟的功能和作用也随之不断增
强,被誉为“现代油藏工程”。
本课程是本专业同学在大学期间学习用计算机手段解决油气田开发问题的唯一的一门
课程,也是所有课程中综合性最强的课程之一。
本课程虽没有被列入必修课,但每个同学都应该修此课程。一个石油工程专业的大学生
不懂得油藏数值模拟,在今后的工作和学习中就缺少三大支柱研究手段之一,且是非常重要
的一个,这将是一个很大的缺憾。
§1.2 油藏数值模拟研究的主要内容
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
⎩⎨⎧
计算软件编制
线性方程组求解
线性化
离散化数值模型建立
数学模型建立
理论方法
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
§1.3 课程的特点、目的和要求
一、特点
(1)综合性强,需要宽厚的基础理论和专业知识,同时以方法为主线、应用为目的,
理论、方法和应用统一形成完整的有机体系。
(2)需较多的先修课程,故一般在最后学习本课程。数学类:微分方程、线性代数,
专业类:石油地质、油藏物理、渗流力学、油藏工程和采油工程等;计算机类:计算机原理 、
程序语言等。
二、目的
(1)为了进一步利用数值手段研究复杂油气田开发问题打下基础——理论方法。
(2)为从事实际工作做准备——数模应用
三、课程要求
(1)了解掌握油藏数模的基本原理和方法
(2)能够编制简单的渗流计算程序
(3)掌握实际油藏数模及软件应用的方法步骤
(4)平时作业约 10 题,两个大作业:调试两相流程序和用现有软件进行实例模拟计算
第二章 油藏渗流的基本数学模型
⎪⎩
⎪⎨
⎧
油藏内各种力的作用
质、各向异性)性质油藏介质(形状、非均
换流体相态组合及物质交
油藏数学模型考虑因素
⎩⎨⎧定解条件
微分方程(组)数学模型的组成及要求
§2.1 数学模型的分类
一、按流体相态数目分类
单相、两相、三相流模型
二、按油藏介质空间分类
1.零维模型:油藏压力、饱和度等量不随任何空间变量变化,如油藏工程中物质平衡法 ;
2.一维模型:平行流(x)、径向对称流(r);
3.二维模型:水平面内流动 x-y,垂直面内流动 x-z,柱状对称流动 r-z;4.三维模型:实际油藏流动(x-y-z 或 r-θ-z)。
三、按模型使用功能分类
1.气藏模型:描述天然气藏及其运动(开发)过程的数学模型;
2.黑油模型:油气水三相三组分,气油间可发生溶解和分离,气水和油水间无交换;
3.多组分模型:多组分三相模型,各相间有交换,如凝析气藏模型、聚合物驱模型;
4.其它:热采模型(考虑温度变化、热能传递),
聚合物驱(流体粘度发生变换),
多重介质模型(裂缝和孔隙),
各向异性模型(渗流介质的复杂性、张量渗透率);
总之,并没有严格统一的分类标准,约定俗成而已。
§2.2 建立数学模型的步骤
一、确定所要求解的问题(未知量 P、S)
二、问题满足的(隐含)条件:往往可以简化问题
三、基本方程和物理原理
四、定解条件
运动方程(达西定律)
(非线性二项式)
状态方程(流体)
(孔隙)
辅助方程(流动、参量、)
化学、物理)
质量守恒方程
能量守恒方程
渗流偏微
分方程组
五、量纲: 如达西定律 PKV ∇=µ
六、适用范围
七、适定性
§2.3.3.3.3 单相流的数学模型
推导单相流体三维渗流方程(数学模型),可压和微可压,恒等温。未知量(只有一个)
P,运动方程和连续性方程、状态方程、无能量方程。
一、单相可压流体三维渗流
连续性方程
(1))()()()( ρφρρρt
Vz
Vy
Vx zyx ∂
∂=
∂∂
−∂∂
−∂∂
−
运动方程(达西定律)
(2)
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
∂∂
−∂∂
−=
∂∂
−∂∂
−=
∂∂
−∂∂
−=
)(
)(
)(
zDg
zpkV
yDg
ypkV
xDg
xpkV
z
y
x
ρµ
ρµ
ρµ
两方程联立,得
(3) )()]([
)]([)]([
ρφρµ
ρ
ρµ
ρρµ
ρ
tzDg
zpk
z
yDg
ypk
yxDg
xpk
x
∂∂
=∂∂
−∂∂
∂∂
+
∂∂
−∂∂
∂∂
+∂∂
−∂∂
∂∂
——渗流控制方程,D 为深度,垂直向下增加;g 重力加速度。
当 Z 垂直向下, Z 垂直向上, ;同时有1=∂∂zD 1−=
∂∂zD 0=
∂∂
=∂∂
yD
xD
用 Hamilton 算子形式并考虑注入项写成:
(4))()]([ ρφρµρ
tqDgpk
∂∂
=+∇−∇⋅∇
q 注入项,注入为正,采出时为负,流体质量/(岩石体积*单位时间)。
引入体积系数:R
SC
SC
R
VVB
ρρ
==
则得 (5))()]([Bt
qDgpBk
Vφ
∂∂
=+∇ρ−∇µ
⋅∇
——体积注入项,流体体积////(单位岩石体积·单位时间)。sc
vqqρ
=
二、单相微可压流体三维渗流
对于微可压流体有状态方程(恒温)
压缩系数(常数): (6)TPPV
VC
∂∂
=∂∂
−=ρ
ρ00
11
(4)式右端变形(不考虑岩石压缩性)
(7)tPC
tp
ptt ∂∂
=∂∂⋅
∂∂
=∂∂
=∂∂
φρρ
φρ
φρφ )(
又因为:
xxPk
xPk
xxPk
x ∂∂
∂∂
+∂∂
∂∂
=∂∂
∂∂ ρ
µµρ
µρ )()(
xP
PxPk
xPk
x ∂∂
∂∂
∂∂
+∂∂
∂∂
=ρ
µµρ )(
2)()(xPCk
xPk
x ∂∂
+∂∂
∂∂
=µµ
ρ
舍去小量 C 后得到: (8))()(xPk
xxPk
x o ∂∂
∂∂
=∂∂
∂∂
µρ
µρ
同理可得: )()(yPk
yyPk
y o ∂∂
∂∂
=∂∂
∂∂
µρ
µρ
)()(zPk
zzPk
z o ∂∂
∂∂
=∂∂
∂∂
µρ
µρ
(8’))()()( 2 DkgDgkgDgkoo ∇⋅∇=∇⋅∇=∇⋅∇
µρ
µρ
ρρµρ
代回(3)和(4)式,并采用直角坐标形式得:
(9)
tPC
zDg
zpk
z
yDg
ypk
yxDg
xpk
x
oo
oooo
∂∂
=∂∂
−∂∂
∂∂
+
∂∂
−∂∂
∂∂
+∂∂
−∂∂
∂∂
φρµ
ρ
ρµ
ρρµ
ρ
)]([
)]([)]([
对于各向异性介质情况,取渗透率主轴方向坐标系:
(10)
tPC
zDg
zpk
z
yDg
ypk
yxDg
xpk
x
Oz
Oy
Ox
∂∂
=∂∂
−∂∂
∂∂
+
∂∂
−∂∂
∂∂
+∂∂
−∂∂
∂∂
φρµ
ρ
ρµ
ρρµ
ρ
)]([
)]([)]([
各向异性渗流一般形式的数学模型另外叙述。
(9)式写成算子形式: (11)tPCqDgp
Bk
V ∂∂
=+∇−∇⋅∇ φρµ
)]([ 0
——模型控制方程,单相、微可压,各向同性介质,恒等温,单一未知量 p 。
假设为均质地层, 为常数(μ随 P微小变化可忽略),则由(9),并考虑到µ/k0)( 2 =∇=∇⋅∇ DgDg oo ρρ
得 (12)tP
kCkqP v ∂∂
=+∇φµ
µ /2
——均质各向同性地层单相微可压流体恒等温渗流模型方程。
(9)式在柱坐标系(r,θ,z)中表示为:
(13)tp
kCkq
zpp
rrpr
rr v ∂∂
=+∂∂
+∂∂
+∂∂
∂∂ φµ
µθ
/1)(12
2
2
2
2
平面轴对称径向流动方程:
(14)tp
kC
rpr
rr ∂∂
=∂∂
∂∂ φµ)(1
§2.4.4.4.4 两相流的数学模型
两相流体互不交换,各向同性介质,皆可压。求压力和饱和度分布。
一、一维油、水两相可压流体渗流模型
连续性方程:
如上图所示。在渗流场(油藏)内取一微元体积,长为Δx ,左端面积 A(x) ,右端面
积 A(x+Δx),平均面积为 。左端油水流入速度设为 和 ,右端油水流出速度A )(xVO )(xVw分别为 和 。油水密度为 和 ,相渗为 和 ,再取一),( txxVO ∆+ ),( txxVw ∆+ Oρ wρ rok rwk任意微元Δt。
下面以油相为例建立连续性方程。在Δt时间内流入流出单元体的油质量差为:
tAVtAVtxxOOtxOO ∆⋅−∆⋅
∆+ ),(),(ρρ
(1)ttxxAVtxAV OOOO ∆∆+−= )],(),([ ρρ
考虑注入项: (*)tAxqO ∆∆
Δt 时间内,微元体内油的质量增量为:
(2)xAtsxAtts oooo ∆⋅⋅−∆⋅⋅∆+ )()( φρφρ
据守恒原理得(1)+(*)=(2),两端同除以 ΔxΔt,得:
At
tsttsx
txAVtxxAVAq ooooOOOOo ∆
−∆+=
∆−∆+
−)()(),(),( φρφρρρ
取极限 得:0,0 →∆→∆ tx
(3)tsA
xVAAq oooo
o ∂∂
=∂
∂−
)()( φρρ
同理得水相连续方程:
(4)tsA
xVAAq wwww
w ∂∂
=∂
∂ )()( φρρ
达西公式:
A(x)),(,),(,txVtxV
wxw
oxo
ρρ
AA
A(x+Δx)
Δx kro,krw
),(,),(,txxVtxxV
wxw
oxo
∆+∆+
ρρ
(5)
⎪⎪⎩
⎪⎪⎨
⎧
∂∂
−∂∂•
−=
∂∂
−∂∂•
−=
)(
)(
xDg
xPkkV
XDg
xPkkV
ow
w
rww
oo
o
roo
ρµ
ρµ
将(3)、( 4)代入(5),得:
)()]([ ooooo
o
roo st
AAqxDg
xPkkA
xφρρ
µρ
∂∂
=+∂∂
−∂∂•
∂∂
(6))()]([ wwowwow
w
rww st
AAqxDg
xPkkA
xφρρ
µρ
∂∂
=+∂∂
−∂∂•
∂∂
——油水两相可压缩流体在一维可压介质中的恒温渗流控制方程。
同上节步骤,(6)用体积系数表示为:
(7)
)()]([
)()]([
w
wwvwo
w
ww
rw
o
oovo
o
oo
ro
Bs
tAAq
xDg
xP
BkAk
x
Bs
tAAq
xDg
xP
BkAk
xφ
ρµ
φρ
µ
∂∂
=+∂∂
−∂∂•
∂∂
∂∂
=+∂∂
−∂∂•
∂∂
(6)中两个方程四个未知数,需两个辅助方程:
(8)1=+ wo SS(9)wocow PPP −=
二、二维气水两相可压缩渗流数学模型
连续性方程:
如上图所示。在渗流场内取体积
微元,长 ,宽 ,变高 ,x∆ y∆ ),( yxH
均高 。流动由前到后,由左到右,H即顺 x、y轴正向流动。取时间微元 。t∆以气相为例建立连续方程。
时间内气相在 x 方向两个面纯流入的质量为:t∆(1)txyyVHxtyVH gyggyg ∆∆∆+−∆∆ )()( ρρ
y 方向两个面纯流入的质量为:
(2)tyxxVHtyxVH gxggxg ∆∆∆+−∆∆ )()( ρρ
考虑注入质量为: (*)tyxHqg ∆∆∆时间内,由于密度、饱和度等增加,微元体气相质量增加量为:t∆
(3)yxHtSyxHttS gggg ∆∆−∆∆•∆+ )()( φρφρ由质量守恒原理得(1)+(2)+(*)=(3),两边同除以ΔxΔyΔt,然后取极限Δx->0,Δy->0 和Δt
->0,得:
(4)ts
HyVH
xVH
Hq gggyggxgg ∂
∂=
∂
∂−
∂
∂−
)()()( φρρρ
——气相连续性方程。同理可得水相连续方程:
,VVVVgygygygy(y)(y)(y)(y)gρ,VVVVwywywywy(y(y(y(y)wρ
,VVVVgxgxgxgx(x)(x)(x)(x)gρ
,VVVVwxwxwxwx(x)(x)(x)(x)wρ
VVVVgygygygy(y+(y+(y+(y+Δy)y)y)y)VVVVgygygygy(y+(y+(y+(y+Δy)y)y)y)
VVVVgxgxgxgx(x+(x+(x+(x+Δx)x)x)x)
VVVVwwwwxxxx(x+(x+(x+(x+Δx)x)x)x)
H(x,y)H(x,y)H(x,y)H(x,y)
y
xxxx
(5)tsH
yVH
xVHHq wwwywwxw
w ∂∂
=∂
∂−
∂∂
−)()()( φρρρ
写成哈密顿算子形式:
(4’)ts
HVH gggg ∂
∂=⋅∇−
)()(
φρρ�
(5’)tsHVH ww
ww ∂∂
=⋅∇−)(
)(φρ
ρ�
考虑重力作用的达西定律:
(6))( DgPkk
V ggg
rgg ∇−∇
•−= ρ
µ
�
(7))( DgPkkV www
rww ∇−∇
•−= ρ
µ
�
将(6)、( 7)分别代入(4’)和(5’),得
(8)
⎪⎪⎩
⎪⎪⎨
⎧
∂∂
=+∇−∇⋅∇
∂∂
=+∇−∇⋅∇
)()]([
)()]([
wwwvwwww
rw
gggvgggg
rg
st
HHqDgPBHkk
st
HHqDgPBHkk
φρρµ
φρρµ
体积系数 B 代替密度 ,( 8)式变为:ρ
(9)
⎪⎪⎩
⎪⎪⎨
⎧
∂∂
=+∇−∇⋅∇
∂∂
=+∇−∇⋅∇
)()]([
)()]([
w
wwvww
ww
rw
g
ggvgg
gg
rg
Bs
tHHqDgP
BHkk
Bs
tHHqDgP
BHkk
φρ
µ
φρ
µ
(8)或(9)式中两个方程四个未知量,求解时需辅助方程:
(10)1=+ wo SS(11)wgcgw PPP −=
注:对于油、水两相渗流,以完全相同的步骤和原理便可得到其模型方程:只要把 (8)—(11)式中的下标 g改为 o即可。
§2.5 渗流数学方程的通式
分析对比前面几种渗流流动的控制方程,可以看出,不管是油、气、水,还是一、二、
三维,都可用统一形式表示。设几何因子: ,采用下标符
⎪⎩
⎪⎨
⎧=
1 三维
二维
一维
),()(
),,( yxHxA
zyxα
号 l表示流体的相:l=o,g,w分别表示油气水。
连续性方程为:
(1)tsV ll
ll ∂∂
=∇−)(
)(φρ
ααρ�
达西定律为: (2))( DgPkkV lll
rll ∇−∇−= ρ
µ
�
(1)和(2)式联立,考虑注入项得:
(3)tsqDgPkk ll
lll
rll
∂∂
=+∇−∇⋅∇)(
)]([φρ
ααρµ
αρ
——可压(流体)渗流通式:
用体积系数代替密度项, 代入(3)式:llscl B/ρρ =
(4))()]([l
llvll
ll
rll
Bs
tqDgP
Bkk φ
ααρµ
α∂∂
=+∇−∇⋅∇
为单位体积岩石中单位时间注入的流体在地面条件下的体积。lscllv qq ρ/=� 建立渗流模型及数模的目的,是研究油藏内(各种流体)油、气、水等组分(物质成分 )
的分布及其变化情况。
� 到此为止,渗流方程都是以流体的相(液、气、固)为对象建立起来的,相是物质运动
变化时的形态,可互溶的物质同为一相。
§2.6.6.6.6 多组分模型
在前面所研究的情况下,每一种物质(油、气、水)只存在于某一种相态中(或以单一
相态形式存在运动),每一种流体相中只包含一种物质。因此需研究某一种物质(组分)在
油藏中的分布,只需观察研究它所在的相的运动分布即可,{流体的运动跟相态(体积)直
接相关,从相态出发建立渗流模型,比从组分(质量)出发更简单方便。}但是,实际油藏内的碳氢化合物是由多种化学成分组成的。每一种组分都可能以多种相
态存在和运动,并在不同相间发生质量交换;同时,每一相内都可能含有多种组分,且各组
分的比例可能发生变化。此时,无法通过直接研究相的运动来反映组分的分布变化过程,必
须由相的研究转为组分研究,由建立相物质平衡方程转为以组分为对象建立物质平衡方程。
问题:组分在油藏内的分布?
一、组分渗流控制方程
假设有油、气、水三相,N 种组分。任选一种组分 i,它在油、气、水中的质量分量分
别为: 和 。下面考察其运动分布模型。igio CC 、 iwC
连续性方程:
依前面同样方法,取体积微元,则油、气、水三相流速分别为:
TLVVV wgO /,, 3 量纲���
各相质量流速(由流动传递质量的速度)
; 量纲M/TwwggOO VVV���
ρρρ ,,组分 i的质量流速为:
(1)wwoiwggigOoioim VCVCVCV����
ρρρ ++=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
ρ+ρ+ρ
ρ+ρ+ρ
ρ+ρ+ρ
=
wzwoiwgzgigozoio
wywoiwgygigoyoio
wxwoiwgxgigoxoio
VCVCVCVCVCVC
VCVCVC
组分 i的质量注入速度为: ,量纲M/T (2)iq组分 i在孔隙体积微元中的质量为:
(3))( wwiwggigooio SCSCSC ρρρφ ++
与§2.6 中步骤完全相同,只需用(1)和(3)分别代替 ,即得:llll SV φρρ 和�
(4))]([
)]([
wwoiwggigOoio
iwwoiwggigOoio
SCSCSCt
qVCVCVC
ρρρφα
αρρρα
++∂∂
=
+++⋅∇−���
——连续性方程。
达西定律:
(5)
⎪⎪⎪⎪
⎩
⎪⎪⎪⎪
⎨
⎧
∇−∇−=
∇−∇−=
∇−∇−=
)(
)(
)(
DgPkkV
DgPkk
V
DgPkkV
www
rww
ggg
rgg
ooo
roo
ρµ
ρµ
ρµ
�
�
�
(5)代入(4),得:
(6)
)]([
)](
)()([
wwiwggigooio
iwww
rwwiw
ggg
rggigoo
o
rooio
SCSCSCt
qDgPkkC
DgPkkC
DgPkkC
ρρρφα
αρµρα
ρµ
ραρ
µρα
++∂∂
=
+∇−∇+
∇−∇+∇−∇⋅∇
将密度项换成体积系数 B,得
(7)
)]///([
)](
)()([
wwwsciwgggscigOooscio
lsclvwwww
rwwsciw
gggg
rggscigoo
oo
rooscio
BSCBSCBSC
qDgPB
kkC
DgPB
kkCDgP
BkkC
ρρρφα
ραρµ
ρα
ρµ
ραρ
µρα
++∂∂
=
+∇−∇+
∇−∇+∇−∇⋅∇
二、辅助方程及模型方程组
(6)式方程共有 N个,但未知数(参变量)有 3N+15 个:
rwrgrowgowgowgOwgOiwigio kkkSSSPPPCCC ,.,,,,,,;,,,,,,,, µµµρρρ故需另外 2N+15 个辅助方程。
2个: (8)
⎪⎩
⎪⎨
⎧
+=+==−
==−
==−
cowcgowgowgocgwwg
wgocwowo
wgocgoog
PPsssfsssfPPPsssfPPPsssfPPP
),,(),,(*),,(
),,(
21
2
1
1 个: (9)1=++ WgO SSS
3 个: (10)∑∑∑===
===n
iiw
n
iig
n
iio CCC
111
111 , ,
3 个: (11)
⎪⎩
⎪⎨
⎧
=
==
),(
),(),(
iwoww
igogg
ioooo
CPCPCP
ρρ
ρρρρ
3 个:
⎪⎩
⎪⎨
⎧
=
==
),(
),(),(
iwoww
igogg
ioooo
CPCPCP
µµ
µµµµ
3 个:
⎪⎩
⎪⎨
⎧
=
=
=
),,(),,(),,(
wgoworw
wgorgrg
wgororo
ssskkssskkssskk
2N 个:
⎪⎩
⎪⎨
⎧
⋅==
=
=
iowigoigwiwig
iwiowoiowiwio
ioigogsigoioig
kkkCCCCPPTkCCCCPPTkCC
/
),,,,(/),,,,(/
§2.7 黑油模型
一、概念
“黑油”指的是非挥发性原油,是相对于油质较轻的挥发性油而言的,其油质较重,
色泽较深,故称之为黑油。黑油模型是针对黑油油藏的特点(作了一些假设后)建立的渗
流数学模型,由此建立的数值模型和计算机软件也称为黑油模型。其特点为:
(1)油藏烃类只含油、气两个组分,油组分是在地面标准状况下经差异分离后残存的
液体,气组分是指全部分离出来的烃类气体,在油藏中以自由气和溶解气形式存在。
(2)油藏中最多只有油、气、水三相。
(3)水相与油相、水相与气相间无组分(物质)交换,油相与气相间存在气组分交换。
因为气组分随着压力的升降,既可从油相分离到气相中,也可从气相溶解到油相中,油、水
不互溶,气在水中的微量溶解忽略不计。
另外,还有一些通用的假设,如等温、线性、瞬间溶解和溢出等。
黑油模型是目前油藏模拟中发展最完善、最成熟的模型及软件系统,也是应用最为广泛
的模型。实际上所有常规油田的开发问题,都可以用它来进行模拟。
二、模型方程
黑油模型可看作多组分模型的一种,且较简单的一种。只要将黑油模型的假设条件代入
组分模型就可以得到黑油模型的方程(组)。设质量分数 Cio,Cig,Ciw,i=O,W,G。
1、偏微分方程
油组分方程:
(1)
)]([
)](
)()([
wwscOwggscOgooscOo
owww
rwwscOw
ggg
rggscOgoo
o
rooscOo
SCSCSCt
qDgPkkC
DgPkkC
DgPkkC
ρρρφα
αρµρα
ρµρα
ρµρα
++∂∂
=
+∇−∇+
∇−∇+∇−∇⋅∇
2、质量分数
油相: 0,, ==+
==+
= wooo
Gscso
GO
GGo
oo
osc
GO
OOo G
BR
WWWC
BWWWC
ρρ
ρρ
气相: (2)0,1,0 === WgGgOg CCC水相: 1,0,0 === WwGwOw CCC
(2)式中油相分数推导:
OOOSCOG
OSCOSCOGSCSOOSCG
BVWWVWRVW
ρρρ
=+== ,
相除即得(2)式中 。ioC将(2)式代入(1)式得油组分偏微分方程:
(3)O
ooscooo
oo
rlosc
Bs
tqDgP
Bkk )(
)]([φρ
∂∂
α=α+∇ρ−∇µ
αρ⋅∇
同理可得气相和水相方程。将(3)式及气、水相方程中密度项改用体积系数 B表示。
⎪⎪⎪⎪
⎩
⎪⎪⎪⎪
⎨
⎧
∂∂
=+∇−∇⋅∇
+∂∂
=+∇−∇+∇−∇⋅∇
∂∂
=+∇−∇⋅∇
w
wwvww
ww
rw
o
Oso
g
gGVoo
oo
rosogg
gg
rg
O
oovoo
oo
ro
Bs
tqDgP
Bkk
BSR
BS
tqDgP
BkkRDgP
Bkk
Bs
tqDgP
Bkk
)()]([
)]([)]()([
)()]([
φααρ
µα
φααρµ
αρ
µα
φααρ
µα
……………………………… (4)
注:方程(4)中用 B的好处是,右端未知量无量纲,方程整体量纲为 1/T 。
(4)式是黑油模型控制方程,由于已经消掉 3N(9 个)质量分数,方程中未知是和参
变是已由 3N+15(24)个降为 15个,还需要另外 12 个辅助方程。
; l=o,w,g
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧ =∑
3个
3个
3个
2个
1个
rl
l
l
c
l
k
PS
µ
ρ
1
§2.8 定解条件
实际问题完整的数学模型包括方程组和定解条件。前者描述流体运动规律,后者说明实
际问题存在发生的条件。定解条件包括空间边界条件和时间边界初始条件,前者说明流场(油
藏)边界的(位置形状等)特征及物理变是所受约束条件;后者说明流动从何时开始及物理
量所处的状态。
定解条件即是约束条件,流动中的任一个限制、约束条件都构成一个边界,没有约束条
件的边界是没有意义的,等于不存在。
一、(空间)边界条件
1. 外边界:定压、定流量、混合
定压:P , 已知函数),,(11zyxf=Γ
定流量:V ),,('22
zyxf=Γ
因 ),,('2 zyxf
KnP
nPkVn
µµ
=∂∂
⇒∂∂
=
记作: , 已知函数。 封闭边界:),,(22zyxf
nP
=∂∂
Γ 02=
∂∂
ΓnP
混合条件: ,已知函数),,()(3
zyxfcPnP
=+∂∂
Γ
2. 井边界:油气藏有两类边界条件。
一类是外边界即油气藏构造边界,另一类是油气井边界(尽管井筒尺度很小,但确是整
个油气藏运动变化的动力源泉,因此是非常重要但又较难处理的边界。
(1)给出井底压力:P(r ,t)=w )(1 tϕ定压井 : P(r ,t)= 常数w
注:在求解析解时,定井压与变井压难度相差很大,后者可能无法解出;但在数模处理时没
什么不同,实际生产跟数模更相近些,且不可能做到严格定压。
(2)给出井产量:( ) )(,
2 trtrPr
wr ϕ=∂
∂
定产井: 常数。 若关井: 0。=)(2 tϕ =)(2 tϕ二、初始条件
某一时刻(t=0)油藏内的压力和饱和度分布
;),,(),,,( 10 zyxPtzyxP t ==
。),,(),,,( 10 zyxStzyxS t ==
第三章 有限差分与差分方程
§3.1 离散化概念
油藏数值模拟方法的最重要特征就是离散化。数学物理问题只有经过离散化才能利用计
算机求解。
一、概念:离散化就是将连续的整体(物理量)处理成若干不连续单元的集合。
数学模型的离散化定义为:
(1) 将求解区域网格化,并按一定顺序编号;
(2) 用未知量(物理量)在各网格上的局部平均值代替未知量在求解区域上的连续函数
分布,用表示各网格未知量关系的线性代数方程代替微分方程和边条件,从而把数
学模型变为数值模型。
(3) 确立数值模型的求解方法步骤。
二、离散化的一般要求
(1) 收敛:数值模型与数学模型同解;
(2) 精度:模型都有误差,但必须能控制在一定范围;
(3) 简单:模型构造简单,程序方便易用;
§3.2 有限差分方法
一、差分网格系统
一维空间网格如图 3.2.1,步长为 ,x∆第 i个网格点表示为 ,相应的ii xix ∆⋅=未知量记作: )( ii xPP =
带时间变量的网格如图 3.2.1, 为时间t∆
步长,第 n时间步表示为 。相应变tntn ∆⋅=量为 。)( n
n tPP =二维空间网格如图 3.2.2。网格节点
位置用(i,j)表示。二维不稳定问题中的
网格变量表示为:
, 。),,(, njinji tyxPP = ),,(, nji
nji tyxSS =
块中心与点中心网格:
点中心网格就是用网格节点作为未知量
求解的位置点;如图 3.2.2。
块中心网格就是用网格块中心作为未知
量求解的位置点。如图 3.2.3。
i-1i-1i-1i-1 iiii iiii+1+1+1+1
xxxxiiii xxxx
j+1
j-1
jyj Pij
图 3.2.2
y
0000 1111 2222 i-1i-1i-1i-1 iiii i+1i+1i+1i+1 xxxx
t
Δtnnnn
n+1n+1n+1n+1
n-1n-1n-1n-1
图 3.2.1
二、差商
1. 一阶差商
如图 3.2.4, 将 P(x)在 x 点微商i ixxP∂∂
表示为离散点上 P (i=1,…,n)的线性函数。i
首先把 展开成 x 点泰勒)( 11 ++ = ii xPP i
级数:
(1)
⋅⋅⋅+∆
+
∆+∆+=+
)x(P!3)x(
)x(P!2)x()x(xPPP
i'''
3
i''
2
i'
i1i
⋅⋅⋅−∆
−∆
−∆−
=⇒ + )(!3)()(
!2)( '''
2''1'
iiii
i xPxxPxxPPxP
(2)xPPxP
xP ii
ixx i ∆−
==∂∂
⇒ +=
1' )(
这就是函数 P 在 点的一阶向前差商。截断误差为O( ),跟网格步长有关。ix x∆称为向前差分。iii PPP −=∆ +1
若从 来展开泰勒级数:)( 11 −− = ii xPP
(3)⋅⋅⋅+∆
−∆
+∆−=− )(!3)()(
!2)()( '''
3''
2'
1 iiiii xPxxPxxxPPP
)()( 1' xOxPPxP ii
i ∆+∆−
=⇒ −
(4)xPP
xP ii
xi ∆−
=∂∂
⇒ −1
这是函数 P在 点的一阶向后差商。截断误差O( ), 为向后差分。ix x∆ 1iii PPP −−=∆
(1)-(3)得中心商差: (5)x2ΔPP
xP 1i1i
x i
−+ −=
∂∂
其中 为中心差分。1i1ii PPP −+ −=∆对于时间变量 t ,同样有:
——向前差商tPP
tP nn
tn ∆−
=∂∂ +1
——向后差商tPP
tP nn
tn ∆−
=∂∂ −1
——中心差商tPP
tP nn
tn ∆−
=∂∂ −+
2
11
时间空间差商标识: , P在(i,n)点对 x的向前差商;xPP
xP i
nin
tx ni ∆−
=∂∂ +1
),(
, P在(i,n)点对 t的向前差商。tPP
tP i
ni
n
tx ni ∆−
=∂∂ +1
),(
yjjjj----1111
PPPPijijijij
yjjjj+1+1+1+1
yjjjj
xxxxiiii----1111 xxxxiiii xxxxiiii+1+1+1+1xxxx
y
图 3.2.3
i-1 ii+1
Pi-1 Pi Pi+1xxxx
图 3.2.4
2.二阶差商: 的离散形式
ixxP2
2
∂∂
(1)+(3)得:
...)x(P!4)x(2)x("PxP2PP i
)4(4
i2
i1i1i +∆
+∆+=+ −+
=> , 截断误差为二阶小量(Δx)2。])x[()x(
PP2P)x("P 2
21ii1i
i ∆+∆
+−= −+ O
=> 211
2
2
)(2x
PPPxP iii
xi∆
+−=
∂∂ −+
这就是 P对 x在 xi点的二阶差商。
二维情况表示形式:
在 (xi,yj)点上有: 2,1,,1
),(2
2
)(2x
PPPxP jijiji
yx ji∆
+−=
∂∂ −+
三维空间并时间变量:
在 (xi,yj,zk,tn)点上有: 2,,1,,,,1
),,,(2
2
)(2x
PPPxP n
kjinkji
nkji
nkji ∆
+−=
∂∂ −+
§3.3 差分方程的建立
上节介绍了差分和差商的概念及其构造方法,本节以单相微可压缩流体渗流方程为例,
说明差分方程的建立方法。
一、一维等距网格的差分格式
等距网格:同一空间变量 x、y、z或时间变量 t的各网格步长都相等。
一维渗流方程: (1)CkE
tP
xPE
φµ=
∂∂
=∂∂ ,2
2
——抛物型偏微分方程。
1.显式差分格式
将 在(i,n)点的二阶差商和 在(i,n) 点的一阶向前差商代入方程(1),得此方2
2
xP
∂∂
tP∂∂
程在任一点(i,n)处的差分方程:
(2)tPP
xPPPE
ni
ni
ni
ni
ni
∆−
=∆
+− +−+
1
211
)(2
整理,得:
(3)2
n1i
n1i
ni
1ni
x/tE),PP(P)21(P
∆∆=δ
+δ+δ−= −++
这是一个线性代数方程。每一个未知节点都对应这样一个方程。方程中各物理量的关系
如图所示。假设第 n时间步的值已知,则方程中只有一个未知量 Pin+1 ,可以直接计算得到。
(i-1.n) (i,n) (i+1,n)
图 3.3.1
(i,n+1)
因此称作显式差分方程。在 n=0 即 t=0 的初值给定后,便可利用显式差分方程逐点逐层对
整个问题进行计算。R=O( )。2)( xt ∆+∆2.隐式差分格式
将任意网格点(i,n+1)处 的二阶差商和 的一阶向后差商代入(1)式,得其在2
2
xP
∂∂
tP∂∂
(i,n+1)处的隐式差分方程:
(4)tPP
xPPPE
ni
ni
ni
ni
ni
∆−
=∆
+− ++−
+++
1
2
11
111
)(2
整理,得:
(5)2
ni
1n1i
1n1i
1ni
x/tE
,P)PP(P)21(
∆∆=δ
=+δ−δ+ ++
+−
+
各物理量关系如图 3.3.2,未知量须联立求解,故为隐式差分格式。R=O( )。2)( xt ∆+∆矩阵形式线性方程组:
将(5)写成一般形式( 记 ai=1+2 , bi=ci=- , di=Pin):δ δ
ciPi-1+aiPi+biPi+1=di (6)
假设未知量网格数为 4,则逐点写出(6)式,得:
a1P1+b1P2 =d1+c1P0
c2P1+a2P2+b2P3 =d2
c3P2+a3P3+b3P4 =d3
(7)
c4P3+a4P4 =d4+b4P5
很容易将(7)式写成矩阵形式:
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
44
333
222
11
acbac
bacba
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
+
+
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
544
3
2
011
4
3
2
1 c
PbdddPd
PPPP
或记作:
dPA =
, ,
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
44
333
222
11
acbac
bacba
A⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
4
3
2
1
PPPP
P⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
4
3
2
1
dddd
d
为三对角系数矩阵,一维渗流差分方程共性。A3. 其它差分格式举例
以上的显式和稳式格式是最基本格式,另还有各种为了特殊用途设计的差分格式。
Crank--Nicolson是一个较典型的格式。它的构造思想是将显式和隐式格式相加取平均,以
期将时间向前和向后差分引起的误差抵消或尽量减少。(2)+(4)得:
(i,n)
(i-1,n+1) (i,n+1) (i+1,n+1)
图 3.3.2
(9)t
PP)x(
PP2P2E
)x(PP2P
2E n
i1n
i2
n1i
ni
n1i
2
1n1i
1ni
1n1i
∆−
=∆
+−+
∆+− +
−++−
+++
整理后得:
(10)n
1in
in
1i1n
1i1n
i1n
1i P2
P)1(P2
P2
P)1(P2 −+
++
+++
δ−−δ+
δ−=
δ++δ−
δ
其中 ,隐式差分格式,三对角系数矩阵。R=O 比显式(3)2)/( xtE ∆∆=δ ( )[ ],)( 22 xt ∆+∆和稳式(5)都小。各节点位置关系如图 3.3.3 所示。
二、二维规则网格的差分格式
规则网格即等距网格。
二维单相微可压流体渗流方程:
(11)c
KE,tP
E1
yP
xP
2
2
2
2
φµ=
∂∂
=∂∂
+∂∂
这是一个二维抛物型方程。
1.显式差分格式
方程(11)在任意网格(i,j,n)处的差分方程(时间向前差分):
(12)tPP
EyPPP
xPPP n
jinji
nji
nji
nji
nji
nji
nji
∆
−=
∆
+−+
∆
+− +−+−+ ,
1,
21,,1,
2,1,,1 1
)(2
)(2
令 ,并整理(12)式得:ytE
xtE
∆∆
=∆∆
= βα ,
( )( )n
1j,inj,i
n1j,i
nj,1i
nj,i
nj,1i
nj,i
1nj,i
PP2P
PP2PPP
−+
−++
+−β+
+−α+=
各量位置如图 3.3.4 所示,每个方程只含一个未知量,
可直接求解,显式格式。R=O ( )[ ]22 )( yxt ∆+∆+∆2.隐式格式
将 P(x,y,t)在任意点(xi,yj,tn)上对 x和 y的二阶差商及对 t的向后差商代入(11),得
到(11)式在任一点(i,j,n)上的差分方程:
(14)tPP
EyPPP
xPPP n
jinji
nji
nji
nji
nji
nji
nji
∆
−=
∆
+−+
∆
+− ++−
+++
+−
+++ ,
1,
2
11,
1,
11,
2
1,1
1,
1,1 1
)(2
)(2
记: 并整理(14)得:22 )(,
)( ytE
xtE
∆∆
=∆∆
= βα
)15(P
PPP)122(PPnj,i
1n1j.i
1nj.1i
1nj.i
1nj.1i
1n1j.i
=
β−α−+β+α+α−β− ++
++
+++
+−
——五个未知量,联立求解,隐式格式,
各节点关系如图 3.3.5所示。
将(15)写成一般形式:
(16)nij
njiij
njiij
njiij
njiij
njiij fPdPbPePaPc =++++ +
++
+++
−+−
11.
1.1
1.
1.1
11.
假设有一求解区域,未知量网格如
图 3.3.6所示。块中心网格,自然排序。
(i-1,n+1) (i,n+1) (i+1,n+1)
(i-1,n) (i,n) (i+1,n)
图 3.3.3
(17) (18) (19) (20)
(13) (14) (15) (16)
(9) (10) (11) (12)
(5) (6) (7) (8)
(1) (2) (3) (4)
图 3.3.6
n+1n+1n+1n+1
nnnnn
jiP ,1−
1,+njiP
njiP 1, +
njiP ,1−
njiP ,
njiP ,1+
图 3.3.4
nj,iP
11,
++
njiP
1,+njiP
1,1+
−njiP
njiP ,1−
11,
+−
njiP图 3.3.5
对于每个网格,分别写出方程(16):
(1): =1
)5(111
)2(111
)1(11+++ ++ nnn PdPbPe n
11f
(2): =1)(1
1)3(21
1)2(21
1)1(21
++++ +++ nnnn PdPbPePa 62 n21f
(3): 1)(11
1)(1
1)(1
1)(1
++++ +++ nnnn PdPbPePa 7433323
=n31f
⋮ ⋮⋮⋮⋮⋮⋮⋮ ⋮⋮⋮⋮⋮⋮
(6): =1)(
1)(2
1)(2
1)(2
1)2(22
+++++ +++ nnnnn PdPbPePaPc 1022726252 + n22f
⋮ ⋮⋮⋮⋮⋮⋮⋮(20):
·································································································································································
——————————(17)
写成矩阵形式:
(18)
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
•
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
+
+
+
+
n5,4
n1,3
n1,2
n1,1
1n)20(
1n)3(
1n)2(
1n)1(
f
fff
P
PPP
⋮⋮⋮⋮⋮⋮
⋮⋮⋮⋮⋮⋮
即 (18’)FPA =⋅其中系数矩阵 为五对角矩阵,半带宽为 W=4,带宽为 2W+1=9,与(16)式中 5个未知量相A符。这也是二维单相渗流隐式线性代数方程组的共同特点:五对角,自然排序时半带宽
W= ,M 和 N 分别是 y和 x方向的网格数。{ }N,Mmin3.Crank-Nicolson格式
与一维情况相似,显式(13)+隐式(15)则得:
n1j.i
nj.1i
nj.1i
n1j.i
nj.i
1n1j.i
1nj.1i
1nj.1i
1n1j.i
1nj.i
PPPPP)1(2
PPPPP)1(2
++−−
++
++
+−
+−
+
β+α+α+β+β−α−=
β−α−α−β−+β+α
其中含五个未知量,联立求解,隐式格式。其截断误差为
。各节点关系如图 3.3.7。])y()x()t[(R 222 ∆+∆+∆=O
WWWW
11,
++
njiP
1,1+
+n
jiP1,1+
−n
jiP1
,+njiP
11,
+−
njiP n
jiP 1, +
njiP ,1+
njiP ,n
jiP 1, −
njiP ,1−
n+1
n
图 3.3.7
§3.4 差分格式的稳定性分析
一、差分格式的稳定性概念
当用差分方程进行求解计算时,舍入误差在逐层传播过程中不随时间增长而增大,则称
该差分方程具有稳定性。
二、Fourier 分析方法(Ven Neumann 法)
1. 设误差为 ,精确解为 P,则真实解 P*=P+ε ε2. 将真实解代入差分方程,得到误差方程
3. 将误差写作简谐波形式: 根据 Fourier 原理jikxnnj eA=ε
4. 把误差 Fourier 形式代入误差方程,求得增长因子|A|满足的关系式
5. 稳定性判别:|A|>1 不稳定, 时稳定。1 |A| ≤三、例子
1. 一维单相渗流隐式差分方程
(1)nj
njj
nnj
nj PPPPP
xtE
−=+−∆∆ +
−+++
+1
1111
12 2( ))(
其真实解:P*=P+ 代入上式得:ε
(2)nj
nj
nj
nj
njj
nnj
nj
nj
nj PPPPP
xtE εεεεε −−+=++−−+
∆∆ +++
−−++++
++
+111
111111
11
12 2( ))(
(1)( 2)两式相减,得误差方程:
(3)nj
nj
nj
nj
njx
tEεεεεε −=+−
∆∆ ++
−++
+11
111
12 2( ))(
将 , 等代入(3)得:jikxnnj eA=ε 111
1+++
+ = jikxnnj eAε
12(2 −=+−∆∆ ∆−∆ AAeAAextE xikxik ))(
整理,得: 1A2
xksin)x(
tAE4 22 −=
∆∆
∆−
=> 恒成立。1A
2xksin
)x(tE41
1A2
2
≤⇒∆
∆∆
+= ,
原差分格式恒稳定(无条件稳定)。——一般隐式格式特点,求解复杂,稳定性强。
2.显式差分方程
误差方程: )nj
nj
nj
nj
nj x
tE112
1 2()( −+
+ ε+ε−ε∆∆
+ε=ε
将 代入上式,得:jikxnnj eA=ε
2sin
)(41 2
2
xkxtEA ∆
∆∆
−=
若要 ,则须1|| ≤A 12
sin)(
411 22 ≤
∆∆∆
−≤−xk
xtE
=> 或21
)( 2 ≤∆∆xtE
kC
xt
2)( 2φµ
≤∆∆
上述差分格式条件稳定。——一般显示格式的特点,求解简单,稳定性较差。
§3.5 边界条件的处理方法
一、外边界(一维情况为例)
1. 第一类边条件:给定压力值: )(10tfP x =
=
(1)点中心网格,如图 3.5.1,直接令 P1=f1。简单方便,没有误差。
(2)块中心网格, 如图 3.5.2,最简单方法是令 P1 =f1,误差O(Δx)。另有减少误差的方
法,但较繁琐。总之, 块中心网格不适于直接处理第一类边条件。
2. 第二类边条件: )(20
tfxP
x
=∂∂
=
(1)点中心网格,如图 3.5.3。
方法一:在边界处直接采用向前差商:
)(212 tf
xPP
=∆−
误差 R=O(Δx),精度较低。
方法二:采用镜象法,采用虚拟网格点 P0和 x=0 点的中心差分
)t(fx2PP
202 =
∆−
误差 R=O[(Δx)2], 精度较高。
(2)块中心网格,如图 3.5.4。
镜象法:在 x=0 点用中心差分
, R=O[(Δx)2])t(fxPP
201 =
∆−
二、内边界(井边界)
由于井筒边界的尺度相对于油藏尺度往往小几个量阶,如果将井筒直接作为油藏边界,
按照井筒尺度划分油藏网格,则网格数量会大得惊人(10Km2 油藏网格则数十亿计),根本无
法计算,也没有必要。为了适应计算机速度的限制,实现正常模拟运算,油藏网格一般都在
几十米以上,因此只能把井当作其所在网格中的源(汇)项处理,而不作为油藏边界。井的流
量和井底流压根据其所在网格平均压力确定,其几何形状和尺度对网格系统没有影响。计算
时利用另一套与数值模型相对独立的径向流理论或经验公式(称作井的计算公式)。
1. 定产条件(给定井产量 q):在井所在网格点的渗流差分方程中加入产量项 q,直接构造
线性方程组,进行计算,可求得网格压力 Pi,j。若要求井底流压 Pwf,则需用到下面方法 。
2. 定压条件(给定井底流压 Pwf):需建 q与 Pi,j 、Pwf的关系式。
P1=f1 P2 P3 P4 x
图 3.5.1 点中心网格
P1=f1 P2 P3 x
图 3.5.2 块中心网格
P0 P1 P2 P3 P4 P5 x
图 3.5.3 点中心网格边界处理
P0 P1 P2 P3 P4 x
图 3.5.4 块中心网格边界处理
处理方法:将网格内油井生产近似看成拟稳定流动,符合平面径向流公式:
SrrPPKhq
w
e
wfji
ji +
−⎟⎟⎠
⎞⎜⎜⎝
⎛=
ln2 ,
,µπ
式中 Pi,j——网格压力,Pwf——井底流压;rw——井筒半径,re——等值供给半径。
关于 re有各种计算公式(设 x 、y 方向网格步长分别为 和 ):x∆ y∆
(1)各向同性地层: , 长方形网格;( ) ( )2214.0 yxre ∆+∆=̇
, 正方形网格。xre ∆= 28.0̇
(3)各向异性地层:
( ) ( )
41
41
21
221
221
28.0
⎟⎟⎠
⎞⎜⎜⎝
⎛+⎟⎟
⎠
⎞⎜⎜⎝
⎛
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡∆⎟
⎟⎠
⎞⎜⎜⎝
⎛+∆⎟⎟
⎠
⎞⎜⎜⎝
⎛
=
y
x
x
y
y
x
x
y
e
KK
KK
yKKx
KK
r
在长期的油藏数值模拟的研究和应用中,发展了多种各有特点或镇对各种特殊问题的边
界处理方法,特别是井的处理方法,有的方法是很有效的,但这些已经超出了本书范围。
§3.6 差分方程的线性化
前面的数学方程都是线性的,因此经过离散后可直接得到线性代数方程组,再用计算机
进行求解。但在实际问题中碰到的数学偏微分方程大都是非线性的,这时就要对离散化后的
数学方程即差分方程再进行线性化处理,下面举简单例子说明:
例:一维非线性波动方程: ( ) ( ) ( )ttxu
xtxutxu
∂∂
=∂
∂ ,,,
隐式差分方程(xi点):tuu
xuuu
ni
ni
ni
ni
i ∆−
=∆− +++
+111
1
整理得:ni
1n1i
i1ni
i uux
tuu
xtu
1 =∆∆
−⎟⎠⎞
⎜⎝⎛
∆∆
+ ++
+
这就是差分方程组。但由于方程系数中的 ui是未知量,所以方程系数矩阵也是不确定
的(未知),所以无法求解。这就是方程的非线性化造成的困难(问题)。
按问题物理意义,系数中 ui应取 ,但这样会使方程中出现 和 类的1+n
iu1
11 +
++ n
ini uu 11 ++ n
ini uu
项,不再是未知量 线性方程组,系数矩阵未知, 因而无法求解。1+n
iu为此,取 ui=ui
n ,代入原差分方程组,得:
——线性化差分方程ni
ni
nin
i
ni uu
xtuu
xtu
=∆∆
−⎟⎟⎠
⎞⎜⎜⎝
⎛∆∆
+ ++
+ 11
11
若第 n时间步值已知,则上述方程组为第 n+1 步未知量的线性方程组,其系数矩阵由
第 n步值求得,于是可用计算机求解。但是,非线性项带来不利影响:
(1)“令 ui=uin”的截断误差 R=O( )t∆
(2)每一时间步须重新计算系数矩阵
因此,非线性项会使精度降低,计算量大大增加。非线性项的处理(差分方程线性化)
是油藏数模研究中一项非常重要的内容。
第四章 线性代数方程组的数值解法
由前面内容知,经过离散化和线性化,渗流数学模型转化为渗流数值模型,即(差分方
程组成的)线性代数方程组。这类线性方程组的阶数(等于未知量网格数)一般都很高 ,
只能借助于计算机才能求解。用计算机对大型线性代数方程组进行求解是工程实践中普
遍存在的问题。所以研究学习线性代数方程组的数值解法十分必要。本章仅介绍常用的
简单而有效的求解方法。
方程组的数值解法分两类:直接法与迭代法。
§4.1 三对角方程组的直接解法-追赶法
一维流动问题形成的线性代数方程组,其系数矩阵是三对角矩阵。一般的三对角系数矩
阵方程组形式为:
(1)
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⋅⋅⋅
=
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⋅⋅⋅
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⋅⋅⋅⋅⋅⋅
⋅⋅⋅
−−−−−
n
n
n
n
nn
nnn
dd
dd
xx
xx
acbac
bacba
1
2
1
1
2
1
111
222
11
记作: (1’)DXA���
=其中 -系数矩阵, 未知量, 已知项。A
�X�
D�
为解此方程,先把 分解成两个特定形式的两对角矩阵的乘积 :A�
L�U�
= (2)
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⋅⋅⋅⋅⋅⋅
−−−
nn
nnn
bcbac
bacbac
ba
111
333
222
11
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⋅⋅⋅⋅
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−
nn
nn
lclc
lclc
l
11
33
22
1
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⋅⋅⋅⋅
−
11
11
1
1
3
2
1
nu
uu
u
= • (2’)A�
L�
U�
对比分析容易得到 L、U 各元素与 A的各元素的关系:
(3)
⎪⎩
⎪⎨
⎧
⋅⋅⋅=−=⋅⋅⋅==
=
−
− −−
niucalniu
al
iiii
lb
i ii
,,3,2,,,3,2,
1
1
11
11
由(1)和(2)得: (4)DXUL����
=
令: (5)YXU���
=
则得: (6)DYL���
=求解方法:
① 利用(3)式求 ;UL��
和
② 利用(6)求出 [ ]nn yyyyyY ,,,, 1321 −⋅⋅=�
(7)
⎪⎪⎩
⎪⎪⎨
⎧
⋅⋅⋅=−
=
=
− nilycdy
ldy
i
iiii ,,3,2,1
1
11
③ 再利用(5)求出 [ ] :,,, 21T
nxxxX ⋅⋅⋅=�
(8)⎩⎨⎧
⋅⋅⋅−−=−==
+ 1,,2,1,1 nnixuyxyx
iiii
nn
§4.2 GAUSS 消元法和直接分解法
一、 GAUSS 消元法
设有 n阶线性代数方程组:
(1)
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−
−
−−−−−−
−
−
−
n
n
n
n
nnnnnnn
nnnnnnn
nn
nn
nn
dd
ddd
xx
xxx
aaaaaaaaaa
aaaaaaaaaaaaaaa
1
3
2
1
1
3
2
1
,1,3,2,1,
,11,13,12,11,1
,31,3333231
,21,2232221
,11,1131211
........................
.................................................................................................
⋮⋮
或: (1’)DDDDXXXXAAAA =•
方法原理:
1. 首先将AAAA逐列消元化为三对角矩阵 U ,对 D 进行同样的行操作得到新的已知项 Y 。
当消去AAAA中第 k列中主对角线元素以下的各元素时,AAAA 中新的元素 的计算公式为:)(kija
, (2))1(
)1()1()1()(
−
−−− −= k
kk
kikk
kjkij
kij a
aaaa nkkinkkj
,...,2,1,...,1,++=
+=
新的 D 中元素值为:
, i=k+1,k+2,…,n (3))1(
)1()1()1()(
−
−−− −= k
kk
kikk
kki
ki a
addd
最后得: YYYYDDDDU,U,U,U,AAAA 1)1)1)1)(n(n(n(n1)1)1)1)(n(n(n(n == −−
从而得到新的同解方程组:
(4’)YYYYUXUXUXUX =
(4)
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−−−
−
−
−
n
n
n
n
nn
nnnn
nn
nn
nn
yy
yyy
xx
xxx
uuu
uuuuuuuuuuuu
1
3
2
1
1
3
2
1
,
,11,1
,31,333
,21,22322
,11,1131211
...............
⋮⋮
2. 回代求出 :X
nnnn uyx /=
, i=n-1,n-2,…,1 (5)ii
n
ikikkii uuxyx /)(
1∑
+=
−=
二、直接分解法
1. 方法原理:
(1)根据矩阵 分解定理,将系数矩阵 直接分解为 一个下三角矩阵 和一个上L U A L
三角矩阵 的乘积,即由 直接求出 和 : =U A L U A L U
(2)由 记 (6)DXULDXA =⇒= YXU =
则有 (7)DYL =
先由(7)式求出 ,再由(6)式求得 。Y X
2. 和 的计算公式L U
(1)若取 和 的形式分别为:L U
, (8)
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
−
−−−
1...1...
.........1
11
1,3,2,1,
3,12,11,1
3231
21
nnnnn
nnn
lllllll
lll
L
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
−−−
−
−
nn
nnnn
nn
nn
uuu
uuuuuuu
U
,
,11,1
,21,222
,11,11211
...
......
........................
则由 对比各元素间关系可得:ULA =
, i=1,2,…,n (9)
niijuulal
niijulau
ii
i
kkijkjiji
i
kkjikijij
,...,2,1,
,...1,,
1
1
1
1
++=⎟⎠
⎞⎜⎝
⎛−=
+=−=
∑
∑−
=
−
=
(2)若取 和 的形式分别为:L U
, (10)
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
−
−−−−−
nnnnnnn
nnnnn
lllllllll
lllll
l
L
1,3,2,1,
1,13,12,11,1
333231
2221
11
...
............
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
−
−
−
11
.........
............
.....................1......1
,1
,21,223
,11,11312
nn
nn
nn
u
uuuuuuu
U
则由 可得:ULA =
, i=1,2,…,n (11)
niijlulau
niijulal
ii
j
kkiikijij
i
kkijkjiji
,...,2,1,
,...1,,
1
1
1
1
++=⎟⎟⎠
⎞⎜⎜⎝
⎛−=
+=−=
∑
∑−
=
−
=
� 注:可以看出消元法和 LU 分解法的主要思路,都是先将原有方程组 ,化成DXA =
上三角系数矩阵方程组 ,再回代求解。消元过程相当于求解YXU = DYL =
的过程,只不过没有直接求出 。——根本上一致。L三、二维渗流线性方程组及其解法
二维单相渗流形成的线性方程组的系数矩阵 是一个五对角矩阵,若 x 、y方向网格A
数分别为 M 和 N,按自然网格排序后, 的半带宽为 ,带宽为 2W+1,如A { }NMW ,min=
下式:
(1)
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
•
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
nn f
fff
P
PPP
⋮⋮⋮⋮⋮⋮
⋮⋮⋮⋮⋮⋮
3
2
1
3
2
1
或记作: FPA =由于是条带矩阵,消元法和直接分解法的计算量可减少。
1. 消元法
消元公式:
( )
,
⎪⎪⎭
⎪⎪⎬
⎫
−=
−=
−
−−−
−
−−−
)1(
)1()1()1()(
)1(
)1()1()1(
kkk
kikk
kki
ki
kkk
kikk
ijkij
kij
aaddd
aaaaa
WkkjWkki +=++= ,...,,...,1 ;
WWWW
回代公式: , i=n-1,n-2,…,1。ii
Wi
ikikkji uuxyx ⎟⎟⎠
⎞⎜⎜⎝
⎛−= ∑
+
+= 1
2. 直接 分解法:L U
设 对角线为 1,则:L
⎪⎪⎩
⎪⎪⎨
⎧
+++=−=
++=−=
∑
∑−
=
−
=
Wiiijuulal
Wiiijulau
ii
i
mkkijkjiji
i
mkkjikijij
,...,2,1,/)(
,...,1,,
1
1
其中: { }WjWim −−= ,max
例题:如图二维单相微可压流体渗流, 第一类边条件。,2=∆=∆ yx ,2=∆τ ;tckkµ
τ =
求压力 P新的分布值。
解:渗流方程:
τφµ
∂∂
=∂∂
=∂∂
+∂∂ p
tp
kc
yp
xp
2
2
2
2
隐式差分方程:
τ∆−
=∆
+−+
∆
+− +++
++−
++
++−
nji
njIi
nji
nji
nji
nji
nji
nji PP
yPPP
xPPP ,
1.
2
11,
1,
11,
2
1,1
1,
1,1
)(2
)(2
将已知条件Δx=Δy=2, Δτ=2代入上式,得:
nji
nji
nji
nji
nji
nji PPPPPP ,
1,1
11,
1,
11,
1,1 26 −=++−+ +
+++
++−
+−
将求解区域内网格编号:(P11, P12, P21, P22, P31, P32)->( P(1), P(2),…, P(6))
列出各网格差分方程:
(1)点: -6P(1) +P(2) +P(3) = 322 2112)1( −=−−− PPPn
(2)点: P(1) -6P(2) +P(4) = 272 2513)2( −=−−− PPP n
(3)点: P(1) -6P(3) +P(4) +P(5) = 192 31)3( −=−− PP n
(4)点: P(2) +P(3) -6P(4) +P(6) = 142 34)4( −=−− PP n
(5)点: P(3) -6P(5) + P(6) = 202 5241)5( −=−−− PPP n
(6)点: P(4) +P(5) -6P(6) = 132 5444)6( −=−−− PPP n
5 4 310 6 5 4 210 7 6 5 4
8 7 6
t=n时压力分布
5 4 3
10 P(2) P(4) P(6) 2
10 P(1) P(3) P(5) 4
8 7 6
t=n+1时压力分布
即: FPA
PPPPPP
���=⋅⇒
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−−−−
=
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−
−−
−
132014192732
611000160100106110011601001061000116
)6(
)5(
)4(
)3(
)2(
)1(
——系数矩阵 五对角距阵,半带宽 W=2A(一)消元法
将系数矩阵和右端项组成增广矩阵,进行消元运算,回代后得:
[P(1), P(2), P(3), P(4), P(5), P(6)]=[3.8461,4.9890,5.0875,6.0882,6.5890,7.4466]
(二)直接分解法
1. 先求 和 : 中的行和 中的列交替依次求解L U U L
第一行Uauauau �
⎪⎭
⎪⎬
⎫
====−==
11
6
1313
1212
1111
⎪⎭
⎪⎬⎫
−==
−==
1667.0
1667.0/
11
3131
112121
ual
ual第一列L
⎪⎭
⎪⎬
⎫
===×+=−=
−=×+−=−=
11667.0101667.0
8333.511667.06
2424
13212323
12212222
auulauulau
第二行U
( )
⎪⎭
⎪⎬⎫
−==
−=−=
1714.0
0286.0/
22
4242
2212313232
ual
uulal第二列L
⎪⎭
⎪⎬
⎫
===−=
−=−−=
10286.1
8286.5
3535
24323434
233213313333
auuluu
ululau第三行U
( ) ( ) ( )
( ) ⎪⎭
⎪⎬
⎫
−=−==
−=−×+=−=
1716.08286.51/
1765.08286.5/1617.01714.01
335353
33
23424343
ual
uulal
第三列L
⎪⎭
⎪⎬
⎫
==×+=−=
−=×++−=−−=
4646
35434545
344324424444
1765.011765.006471.50286.101765.1714.06
auulau
ululau第四行U
( ) ( ) ( )
( ) ⎪⎭
⎪⎬
⎫
−=−==
−=−×+=−=
1771.06471.51
0313.06471.5/0286.11716.00
44
6464
44
34535454
ual
uulal
第四列L
⎭⎬⎫
=+=−=−=×+×+−=−−=
0313.10313.018229.51765.00313.011716.06
56545656
455435535555
ulauululau
第五行U
( ) ( )( ) ⎭⎬
⎫−=−×+=−= 1771.08229.5
1765.01771.01155
45646565 u
ulal 第五列L
}6403.50313.11771.001771.6566546646666 −=×++−=−−= ululau 第六行U至此 和 各元素计算完毕。U L
2. 求解方程 L :FY��
=⋅
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−−−−
=
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−−
−−−−
−
132014192732
0
0.11771.01771.00000.10313.01716.000
0.11765.001714.00.10286.01667.0
0.11667.00.1
6
5
4
3
2
1
yyyyyy
321 −=⇒ y3344.321667.027 12 −=+−= yy
y3=-19+0.1667y1+0.0286y2=-25.2592
y4=-14+0.1714y2+0.1765y3=-24.0003
y5=-20+0.1716y3+0.0313y4=-25.0857
y6=-13+0.1771y4+0.1771y5=-21.6932
3. 求解 YPU��
=
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−−−
−
=
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−
−−
−−
6932.210857.250003.242592.253344.3232
6903.5000000313.18229.50000
0.11765.06471.500000.10286.18226.500000.11667.08332.500000.10.16
)6(
)5(
)4(
)3(
)2(
)1(
PPPPPP
P(6)⇒
=3.8461
P(5)=(-25.0857-1.0313 P(6))/(-5.8229) =4.9893
P(4)=(-24.0003-0.1765 P(5)- P(6))/(-5.6471)=5.0870
p(3)=(-25.2592-1.0286 P(4)- P(5))/(-5.8286)=6.0874
P(2)=(-32.3344-0.1667 P(3)- P(4))/(-5.8333)=6.5891
P(1)=(-32- P(2)- P(3))/(-6) =7.4416
[P(1),P(2),P(3),P(4),P(5),P(6)]=[3.8461,4.9893,5.0870,6.0874,6.5891,7.4416]⇒
(三)比较两种方法结果:
两个结果基本相同,微小的差别是由舍去误差(只保留 4位小数)引起的,LU分解舍
去误差可能稍大。因做 运算不符合“悬殊不相加,等量不相减,两极不作乘,大小∑ kjikul不作除”的原则。但在能保证计算机运算位数(精度)的情况下,LU法有较大的优势和用途,
它是许多更高级更先进方法的基础。
§4.3 交替方向隐式方法(ADIP)
Alternating Direction Implicit Procedure是针对二维和三维问题提出的。
以二维问题为例,其隐式差分格式虽具有稳定性强特点,但直接求解时要解一个五
对角系数矩阵方程组,过程复杂,计算量大。
一、构造
ADIP 方法的思想是:将计算过程的每一个时间步分为两个相等的部分,前半步只对
x方向差商进行逐行隐式求解,后半步对 y 方向差商进行逐列隐式求解,从而把求解二维的
五对角系数矩阵方程组的问题化为若干个求解一维的三对角矩阵方程组的问题,达到简化计
算的目的。
二维渗流差分方程:
, E= (1)tEPu
yPPP
xPPP n
jinji
nji
nji
nji
nji
nji
nji
∆
−=
∆
+−+
∆
+− +++
++−
++
++− ,
1,
2
11,
1,
11,
2
1,1
1,
1,1
)(2
)(2
CKφµ
前半个时间步,从 n 到 n+ :21
(2)2/tEPP
)y(PP2P
)x(PP2P n
j,i21n
j,i2
n1j,i
nj,i
n1j,i
2
21n
j,1i21n
j,i21n
j,1i
∆
−=
∆
+−+
∆
+−+
+−
+
+
++
−
把(2)式进行整理,得:
(3)j,i21n
j,1ij,i21n
j,ij,i21n
j,1ij,i gPdPcPb =+++
+
++
−
其中: ( )( )
,1x
tE2c,x/tEdb 2j,i2
j,ij,i ⎟⎟⎠
⎞⎜⎜⎝
⎛+
∆∆
−=∆∆==
( )( ) n
j,in
1j,inj,i
n1j,i2j,i P2PP2P
ytEg −+−
∆∆
−= +−
(3)式对任一个固定的 j 值,取不同的 i值可得一个独立的三对角矩阵方程组,容易
求解,解之可得 ,接着再求 j+1 行的 。如此逐行扫描,就可得整个网格区域上21n
j,iP+
21n
1j,iP+
+
的 值。21n
P+
后半个时间步,从 n+ 到 n+1。21
(4)tEPP
yPPP
xPPP
n
jinji
nji
nji
nji
n
ji
n
ji
n
ji
∆
−=
∆
+−+
∆
+−+++
+++
−
+
+
++
−21
,1
,2
11,
1,
11,
2
21
,121
,21
,1
)(2
)(2
把(4)式进行整理,得:
(5)jinjiji
njiji
njiji hPfPePa ,
11,,
1,,
11,, =++ +
+++
−
(5)式中
( )( )
,12,/ 2,2
,, ⎟⎟⎠
⎞⎜⎜⎝
⎛+
∆∆
−=∆∆==xtEeytEfa jijiji
( )21
,21
,121
,21
,12, 22++
+
++
− −⎟⎟⎠
⎞⎜⎜⎝
⎛+−
∆∆
−=n
ji
n
ji
n
ji
n
jiji PPPPytEh
对每一列网格(5)式都组成一个独立的三对角方程组,容易求解得 ,逐列扫描,1
,+njiP
便可求得整个网格区域上的 P n+1值。
经过以上两个交替扫描求解过程,便由 tn 时间解得到了 tn+1时间步的求解。同理依次
可求得 tn+2,tn+3,…等所有时刻解。
截断误差: ( ) ( )[ ]22 xtOR ∆+∆=
二、特点:
1. 优点:若二维区域的横向和纵向网格数分别是 I和 J,I>J。则自然排序法时用高斯
消元解五对角方程组的工作量和为存贮量:
W IJ3 , S IJ2=̇ =̇用交替方向隐式方法时(三对角工作量按 S IJ计算)=̇
W IJ2 , S IJ=̇ =̇2. 缺点:对较大的时间步长和各向异性传导系数常发生振荡,而很难收敛,只能解决较
简单的问题,该方法已不再常用。
3. 意义:是构造一切交替方向法的基础。
§4.4 简单迭代法和 Seidel 迭代法
迭代法的概念,迭代法的主要问题——提高敛速
迭代法的构成——迭代格式和计算步骤
设有 n 阶代数方程组:
(1)
⎪⎪⎩
⎪⎪⎨
⎧
=++⋅⋅⋅+++⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
=++⋅⋅⋅+++=++⋅⋅⋅+++
−−
−−
−−
nnnnnnnnnn
nnnn
nnnn
bPaPaPaPaPa
bPaPaPaPaPabPaPaPaPaPa
,11,332211
2,211,2323222121
1,111,1313212111
化成迭代格式:
(2)
[
⎪⎪⎪⎪⎪⎪
⎩
⎪⎪⎪⎪⎪⎪
⎨
⎧
+⋅⋅⋅+++−=
⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
+⋅⋅⋅+++⋅⋅⋅+−=
⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
++⋅⋅⋅++−=
++⋅⋅⋅++−=
−−
++−−
−−
−−
)]([1
)]([1
)]([1
)](1
11,332211
,11,11,11
,211,2323121222
2
,111,1313212111
1
nnnnnnnnn
n
nniiiiiiiiiii
i
nnnn
nnnn
PaPaPaPaba
P
PaPaPaPaba
P
PaPaPaPaba
P
PaPaPaPaba
P
给定初值 代入(2)式左端,便可得 ,)0()0(
3)0(
2)0(
1 ,,,, nPPPP ⋅⋅⋅ )1()1(3
)1(2
)1(1 ,,,, nPPPP ⋅⋅⋅
即第一次迭代值,再把 P(1i),i=1,2,3,…,n 代入 ,求得 P(2i) ,设已求得 P(ki),代入求 P(k+1i) ,
直到满足精度要求。[(2)式中上标(k)和(k+1) ]。
写成矩阵形式:
(3)( ) ( ) ][1 1
1 1
)1(⎟⎟⎠
⎞⎜⎜⎝
⎛+−= ∑ ∑
−
= +=
+i
j
n
ij
kiij
kjiji
ii
ki PaPab
aP
——简代迭代法的通式。
若将(3)式稍作改变,即在每一步迭代中,后面的点在计算时不再用前面的点的上一
步值(旧值),而用其刚刚求出的本步值(新值)。则(3)式变为:
(4)( ) ( ) ][1 1
1 1
1)1(⎟⎟⎠
⎞⎜⎜⎝
⎛+−= ∑ ∑
−
= +=
++i
j
n
ij
kjij
kjiji
ii
ki PaPab
aP
——Seidel 迭代法的通式。
如果网格(未知量)排序是按着行号和列号依次上升的顺序,则在计算节点(i,j) 时 ,
其邻点(i-1,j) 和(i,j-1)都已有了新值。
两种方法比较,可以猜想到 Seidel 法较简单迭代法收敛要快.[ 即迭代值收敛ik
i PP →+ )1(
到某个定值。]
§4.5 松驰迭代法(Successive Over Relaxation)
主要思想是在 Seidel 方法的基础上进一步提高敛速:用 Seidel 通式§5.4 中(4)式
的中间计算结果 ,代入原方程组§5.4 中(1)式,得:)()()1(
1)1(
1 ,...,,,..., kn
ki
ki
k PPPP +−
+
× × × × × ×
× × × × × ×
∨ ∨ ∨ · × ×
∨ ∨ ∨ ∨ ∨ ∨
∨ ∨ ∨ ∨ ∨ ∨
称为余项0)( )(1
1
)1()( ≠+−=γ ∑∑=
−
=
+n
ij
kjij
i
j
kjiji
ki PaPab
在 Seidel 通式两侧同时加上)(k
iP
(1)
ii
kik
i
n
ij
kjij
i
j
kjiji
ii
ki
ki
aP
PaPaba
PP
)()(
)(1
1
)1()()1( )]([1
γ+=
+−+= ∑∑=
−
=
++
由(1)式可看出 Seidel 法实质是:用余项 来修正第 k次迭代的近似值 ,得到)(k
iγ)(k
iP更逼近于真解的 。由此得到启示:能否在余项 上乘以一个系数 ,用 来修
)1( +kiP
)(kiγ ϖ )(k
iϖγ
正 ,使得到的 逼近真解的程度进一步提高,从而加快迭代敛速。 称为松驰因)(k
iP)1( +k
iP ϖ子。
(2))([ )(1
1
)1()()1( ∑∑=
−
=
++ +−ϖ
+=n
ij
kjij
i
j
kjiji
ii
ki
ki PaPab
aPP
——松驰法迭代公式。
在余项上乘一个松驰因子来加快迭代收敛速度的方法,就叫做松驰法。
能使(2)式收敛的 范围是 0< <2,1< <2 时叫超松驰或过量松驰,0< <1 时叫ϖ ϖ ϖ ϖ低松驰或欠量松驰。 有一个最优值 *,当 = * 时迭代收敛最快。松驰法的关键是尽ϖ ϖ ϖ ϖ量找到并合理使用 *,而实际上 *总满足 1< * <2,故松驰法一般又叫做超松驰法。ϖ ϖ ϖ
下面介绍松驰法具体的迭代计算公式。
一、逐点松驰法
点松驰法(Point SOR)就是对网格的每个单元逐一应用松驰法,迭代中可以不用方程组
形式,而直接利用每一网格的差分方程。
例 二维问题差分方程[对于(i,j)点]:
(3)ijjiijjiijjiijjiijjiij fPdPbPePaPc =++++ ++−− 1,,1,,11,
计算各点按照 i和 j从小到大的顺序,按照(2)式规则,差分方程(3)写成 Seidel
迭代形式:
ijkjiij
kjiij
kjiij
kjiijij fPdPbPcPaP ++++= ++
+−
+−
)(1,
)(,1
)1(1,
)1(,1
*
作为过渡压力值,取余项 ,则点松驰法的迭代公式为:*ijP
)(*)( kijij
kij PP −=γ
(4))( )(*)()1( kijij
kij
kij PPPP −+=+ ϖ
按(4)式逐点计算各网格值,并进行多次迭代,直到任一点(i,j)都满足精度要求:
ε≤−+
+
)1(
)()1(
),(max k
ij
kij
kij
ji PPP
整个迭代过程可由合理选择 而获得较快的敛速。ϖ二、逐线松驰法(LSOR)
同时计算一条线(一行或一列)上的网格的未知量值,并对其同时进行松驰。
仍以二维问题及其差分方程(3)式说明,设从下而上按行进行线松驰计算(如图所示),
当要计算第 i行的第 k+1 次迭代值时,各网格值关系如图所示。
× × × × × × × ×
(5)ijk
ijk
ijk
ijk
ijk
ij fPdPbPePaPcjijijijiji=++++
++−−
++++1,,1,,11,
1111
将未知量移到右端可得:
(6)jik
ijk
ijijk
ijk
ijk
ij FPdPcfPbPePajijijijiji ,
11111,1,,1,,1=−−=++
+−+−
++++
这是一个三对角矩阵系数方程组。相当于把一个二维问题化为多个一维问题进行逐次求
解,简化求解过程。
由(6)式,同一行网格未知量联立求解出: , i=1,2,…,M ;再进行松驰得 k+1 步值。*ijP
(7))( )(*)()1( kijij
kij
kij PPPP −+=+ ϖ
由(7)式逐步计算,满足精度要求后即可。
线松驰也可按列进行。线松驰比点松驰快一倍收敛。
三、最优松驰因子的选择:
1.试算法
2.经验+试算
首先根据经验定出 的最小存在区间[ a, b],再用试算法求出 。optϖ ϖ ϖ optϖ3.过程控制方法
在方程求解过程中,根据 的性质和迭代过程反映的信息,将 找出来。初始值optϖ optϖ逐步修改。
注意: 的估算不能占用过多计算时间。optϖ� 注:逐行松驰迭代法,虽然在大的结构上属迭代类方法,但在每一步每一行中用的是三
对角方程直接解法,这也是所有大型方程组高效解法的共同特点。
§4.6 交替方向隐式迭代方法(ADIIP)
× × × × × × × ×
· · · · · · · ·
√ √ √ √ √ √ √ √
√ √ √ √ √ √ √ √
1.0 2.0optϖ由试算次数选择 (定余量)ϖ
试算
次数
1.0 2.0optϖ ϖ
由最大点余量来选择 (定迭代次数)ϖ
最大
余量
将交替方向隐式方法与超松驰迭代法相结合,也就是把 ADIP 用于松驰迭代法的一个迭
代步中,便可以得到 ADIIP。不同的是,ADIIP 不是用两次扫描完成一个时间步的计算,而
是在一个时间步长内进行若干次迭代计算,每一次迭代中都包含两个方向的交替扫描过程。
该方法无条件稳定、易于求解、占用内存少、计算速度快。
一、方法结构
以二维渗流问题为例,对于任一时间步长中的第 k+1 次迭代,构造如下差分格式:
从 k到 k+1/2 即前半步迭代,逐行进行 x向(水平方向)扫描:
(1)( ) ( )( ) )(
22
)(,
2/1,
)(,
)2/1(,
2
)(1,
)(,
)(1,
2
)2/1(,1
)2/1(,
)2/1(,1
kji
kjik
nji
kji
kji
kji
kji
kji
kji
kji
PPH
PPy
PPPx
PPP
−=
∆
−−
∆
+−+
∆
+−
+
+−+
+−
+++
τ
其中 为第 k次迭代的加速因子。令 , (1)式经整理得:kHct ,
φµτ = 2
22
)()(,)(yxx
∆∆
=∆∆
= βτ
α
(2))(
,)(1,
)(,
2)(
)21(
,1
)21(
,2)
21(
,1
))(2(
))(2(
1,nji
kji
kjik
k
k
ji
k
jik
k
ji
PPPHxPPPHxP
ji αβββ
α
−−∆−+−=
+∆++−
+
+
+
++
−
−
从 k+1/2 到 k+1 后半步迭代,逐列进行 y向(垂直方向)扫描求解:
(3)( ) ( )( ) )(
22
)21(
,1
,
)(,
)1(,
2
)1(1,
)1(,
)1(1,
2
)2/1(,1
)2/1(,
)2/1(,1
++
++−
+++
+−
+++
−=
τ∆
−−
∆
+−+
∆
+−
k
jikjik
nji
kji
kji
kji
kji
kji
kji
kji
PPH
PPy
PPPx
PPP
令 ,( 3)式经整理,得2
22
)()(,)(xyy
∆∆
=∆∆
= ητ
ζ
(4))(
,
)21(
,1
)21(
,2)
21(
)1(1,
)1(,
2)1(1,
))(2(
))(2(
,1nji
k
ji
k
jik
k
kji
kjik
kji
PPPHyP
PPHyP
ji ξηηη
ξ
−−∆−+−=
+∆++−
+
+
++
++
++−
−
二、求解步骤
(1)将整个时间分为若干(N)时间步;
(2)在每一个时间步长( )内,进行迭代求解,直到迭代值 满足精度1+→ nn tt 1+kp
要求,则 ;11 ++ = kn pp
(3)在每一个迭代步( )内,先用(2)式逐行求解所有网格点值 ,1+→ kk)
21( +k
p
再用(4)式逐列求解所有网格点值 。)1( +kp
三、加速因子的选择
只有不同的迭代步(k)使用不同的加速因子 Hk,才能保证以上方法有较高的敛速。也就
是需要一个加速因子序列来进行迭代: ,m 为序列中加速因子个数,且有mHHH ,,, 21 ⋯(常数),即等比数列。γ=+ kk HH /1
问题:如何确定 m 和 ?方法如下:mHHH ⋯,, 21
(1)令 , 方向网格数,并取yxKT
xyKT yyxx ∆
∆=
∆∆
= , yxNN yx 、表示和
⎪⎭
⎪⎬⎫
⎪⎩
⎪⎨⎧
⋅+
⋅+
= 2
2
2
2
42
,4
2minyyx
y
xyxO NTT
TNTT
TxH ππ
⎪⎭
⎪⎬⎫
⎪⎩
⎪⎨⎧
++=
yx
y
yx
xm TT
TTT
TH2
,2
max
(2)试算。用 根据计算结果进行调整。先调 , 越大],10,5[10 ∈mHH ,并取作 1H 1H越稳定但收敛越慢, 越小,收敛越快,但越容易振荡(稳定性越差);后调m,增加 m数1H有利于收敛,反之易发散,所以就在保证收敛的前提下由大到小调节 m。一般三、四次即可
满意。
(3) ,k=2,…,m1
1
1
11
−− ⎟
⎠⎞⎜
⎝⎛=⋅=
mmk
k HHHH γγ ,
�注:只要将逐线松弛法沿 x、y方向(网格行和列)交替进行迭代,便可得到交替方向隐
式迭代方法的另一形式。
§4.74.74.74.7 强隐式方法
一、方法的基本思路
忽略重力,弱可压缩单相流体在非均质地层中的渗流方程式:
tpk
∂∂
=⎥⎦
⎤⎢⎣
⎡∇⋅∇
)(φραµρα
二维情况下,维数因子 。展开上式,得:),( yxz∆=α
(4-1-0)tpz
ypz
yxpz
x yx ∂∂
∆=∂∂
∆∂∂
+∂∂
∆∂∂
βλλ )()(
其中 综合压缩系数−=== ffy
yx
x cckk
,,, φρβµρ
λµρ
λ
该方程在矩形网格系统中的隐式五点差分格式为:
(4-1-1)jinjiji
njiji
njiji
njiji
njiji gpepdpcpbpa ,
11,,
1,1,
1,,
1,1,
11,, =++++ +
+++
++−
+−
矩阵形式: GpA =
设网格数为 4×3(如图 4-1-1),则上式可写为:
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
43
33
23
13
42
32
22
12
41
31
21
11
43
33
23
13
42
32
22
12
41
31
21
11
434343
33333333
23232323
131313
42424242
3232323232
2222222222
12121212
414141
31313131
21212121
111111
gggggggggggg
pppppppppppp
cbadcba
dcbadca
ecbaedcba
edcbaedca
ecbedcb
edcbedc
介绍思想:为了仿照用消去法求解,需要将 A分解成 U和 L的乘积,但直接由 A得到的 U和 L,其非零元素将增加,计算时将浪费内存和时间。为此,将矩阵 A稍加
变化成 A′,使 A′进行分解后的乘子矩阵 L′和 U′具有这样的性质:每行中最多有
三个非零元素,L′+U′每行最多仍只有五个元素,且其位置与 A中相同。用 A′= L′U′近似代替 A′进行求解,便可以大幅度减少内存和工作量。这就是基本思路。
二、任一下三对角矩阵(L′)和任一上三对角矩阵(U′)的各元素与其乘积 A′的关系
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
′′′′′′
′′′′′
′′′′′′
′′′′′
′′′′
′′′
=′
434343
333333
232323
1313
424242
323232
222222
1212
4141
3131
2121
11
cbacba
cbaca
cbacba
cbaca
cbcb
cbc
L
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
′′
′′
′′′′
′′′
′′′′
′′
=′
11
11
11
11
11
11
33
23
13
42
3232
2222
1212
41
3131
2121
1111
dd
de
eded
ede
eded
ed
U
(注:U′对角线各元素为 1)
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
′′′′′′′′
′′′′′′′′′
′′′′′′′′′′′′
′′′′′′′′′′′′
′′′′′′′′′
′′′′′′′′
=′′=′
434343
3333333333
2323232323
13131313
4242424242
32323232323232
22222222222222
1212211212
41414141
3131313131
2121212121
111111
EDBFEDCB
FEDCBFECB
HGEDBHGFEDCB
HGFEDCBHFECB
HGEDHGFED
HGFEDHFE
ULA
经比较可知:
⋯⋯111111
111111
1111
ecHdcF
cE
′′=′′′=′
′=′
综合,得:
(4-1-2)
⎪⎪⎪⎪⎪
⎩
⎪⎪⎪⎪⎪
⎨
⎧
′′=′
′′=′
′′=′
′+′′+′′=′
′=′
′⋅′=′
′=′
−
−−
−
ijijij
jiijij
ijijij
ijjiijjiijij
ijij
jiijij
ijij
ecHebGdcF
cdbeaEbD
daCaB
,1
,11,
1,
(2)式表明,只要给定 ,就可求得 。 即 。反求(2)式,得:UL ′′和 A′ AUL ′⇒′′
(4-1-3)
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
′′=′
′′=′
′′−′′−′=′
′=′
′=′
−−
ijijij
ijijij
jiijjiijijij
ijij
ijij
cHecFd
dDeBEcDbBa
/
/,11,
(3)式证明,只要给定任一形式如 的矩阵中的元素 ,则可以求得A′ ijijijijij HFEDB ′′′′′ 和,,,
中各元素,即 。而作为 的乘积 中的七条对角线上元素不能UL ′′和 ULA ′′⇒′ , UL ′′和 A′
随意给出,须符合如下关系式:
jiijijjiijij eDGdBC ,11, , −− ′′=′′′=′
即 由 中其余五个对角线上元素决定,也就是说七组元素是相关的,只有五ijij GC ′′和 A′
组是独立的。
三、矩阵 A的变形与 分解UL ′′
将 A跟 对比,可以看出,只要令:A′
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
=′
=′
=′
=′
=′
jiji
jiji
jiji
jiji
jiji
eHdFcEbDaB
,,
,,
,,
,,
,,
便可得到 :UL ′′和
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
′=′
′=′
′−′−=′
=′
=′
−−
ijijij
ijijij
jiijjiijijij
ijij
ijij
ceecdd
dbeaccbbaa
/
/,11,
再在 A中相应位置加入两条对角线元素:
⎪⎩
⎪⎨⎧
′=′
′=′
−
−
jiijij
jijiij
ebGdaC
,1
1,,
则有: uLAA ′′=′⇒至此,变形与分解过程完成。
四、 的修正A′用以上方法得到的 AA ≠′为了说明 的物理意义,换回差分方程形式:A′
(4-1-4)jijijijiji
jijijijijijijijijiji
gpGpCpepdpcpbpa
,1,1,1,1,
1,,,1,,,,1,1,,
=′+′+
++++
+−−+
+++−
跟方程(4-1-1)相比,(4-1-4)多出两项: ,跟原微分方程1,1,1,1, , +−−+ ′′ jijijiji pGpC(4-1-0)不相容。从物理角度看,是增加了(i+1,j-1)和(i-1,j+1) 这两点上压力值的影响,如
图所示。为了尽量消除误差,作如下处理。
由 Taylor 级数:
(4-1-5)⎪⎩
⎪⎨⎧
−+≈
−+≈⇒
⎪⎪⎪⎪⎪
⎩
⎪⎪⎪⎪⎪
⎨
⎧
∆+∂∂
∆+=
∆+∂∂
∆+=
∆+∂∂
∆−=
∆+∂∂
∆−=
+−+−
−+−+
−
−
++−
+−+
jijijiji
jijijiji
jiji
jiji
jiji
jiji
pppppppp
xOxpxpp
yOypypp
xOxpxpp
yOypypp
,1,,11,1
,1,,11,1
2,1,
21,,
21,1,1
2,11,1
)(
)(
)(
)(((((iiii,j,j,j,j ))))
((((iiii-1-1-1-1,j,j,j,j+1)+1)+1)+1)
((((iiii-1-1-1-1,j,j,j,j+1)+1)+1)+1)
((((iiii,j,j,j,j+1)+1)+1)+1)
((((iiii+1+1+1+1,j,j,j,j ))))((((iiii-1-1-1-1,j,j,j,j ))))
((((iiii,j,j,j,j-1)-1)-1)-1)
(4-1-5)中两式分别乘以 相加,得:jiji GC ,, ′′ 和
)(( ,1,,1,,1,,1,
1,1,1,1,
jijijijijijijiji
jijijiji
pppGpppCpGpC
−+′+−+′≈
′+′
+−−+
+−−+
为了使得修正过程更灵活、更便于控制,上式右端乘以加速迭代参数 ,得:ω
(4-1-6))()( ,1,,1,,1,,1,
1,1,1,1,
jijijijijijijiji
jijijiji
pppGpppCpGpC
−+′+−−′=
′+′
+−−+
+−−+
ωω
(4-1-4)左端减去(4-1-6)右端,整理得:
(4-1-7)
ij
jiji
jijijijiji
jijijijijijiji
jijijijijiji
gpG
pCpGepCdpGCc
pGbpCa
=
′+
′+′−+
′−+′+′++
′−+′−
+−
−++
+
−−
1,1,
1,1,1,,,
,1,,,,,,
,1,,1,,,
)(
)()()()(
ω
ωωω
ωω
由上述过程知,(4-1-7)等价于(4-1-1)式。
此时,系数矩阵 变成(再次变化与“三”中 道理同):A′ AA ′⇒
(4-1-8)
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
−=
′−=′
′+′+=′
′−=′
′−=′
',,
',
,,,
,,,,
,,,
,,,
jijiji
jijiji
jijijiji
jijiji
jijiji
GeH
CdFGCcE
GbDCaB
ω
ω
ωω
ω
ω
(4-1-2)与(4-1-8)联立,求得对应于新的 :ULA ′′′ 和的
(4-1-9)
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
′′′−=′
′′′−=′
′′−′′−′+′′+=′
′+=′
′+=′
−
−
−−−
−
−
jijijijiji
jijijijiji
jijijijijijijijijiji
jijiji
jijiji
cebeecdadd
dbeaebdaccebbdaa
,,1,,,
,1,,,,
,1,,,,1,1,,,,
,1,,
1,,,
/)(/)(
))1/()1/(
ω
ω
ωω
ω
ω
另外:
⎪⎩
⎪⎨⎧
′+′=′
′+′=′
−−
−−
)1/()1/(
,1,1,,
1,1,,,
jijijiji
jijijiji
eebGddaC
ω
ω
此时, 满足三对角简单结构,且 。UL ′′和 AAUL ≈′=′′
(原矩阵 A中添加项 ,仍是由其原有的五条对角线元素决定。)jiji GC ,, ′′ 和
五、强隐式方法迭代求解过程
1.格式构成
由 ,得AA ≈′⎪⎩
⎪⎨⎧
≈′
≈′+
)()(
)1(
kk
k
pApA
GpA
两式相减,得迭代格式:)()()1(
)( kkkApGppA −≈−′
+
记作:)()1( kk
RA ≈′+
δ
⎪⎪
⎭
⎪⎪
⎬
⎫
⎪⎪
⎩
⎪⎪
⎨
⎧
=
=−==′
→−=→∞→+
++
GpA
pAGRA
ppppkkk
kkkk
即有
则有
若有时当
0
0,,)()1(
)()1()1()(
δ
δ
由上式及 ,得:ULA ′′=′)()1( kk
RUL =′′+
δ2.迭代步骤:
令:)1()1( ++
′=kk
UV δ
则
⎪⎩
⎪⎨⎧
=′
=′++
+
)1()1(
)()1(
kk
kk
VU
RVL
δ
(1)求)1( +k
V
(2)求)1( +k
δ
(3))1()1()1()()1(
,++++
−=+=kkkkk
pAGRpp δ(4)重复(1)~(3)
3.加速收敛方法
(1)方程(1)节点排序:左下到右上→右下到左上,交替方向循环
(2) 选取ω
§4.8.8.8.8 迭代法和直接法的总结比较
⎪⎩
⎪⎨
⎧
节省内存—法带状矩阵压缩排列消元
特殊矩阵特殊方法—三对角矩阵追赶法
基本方法—直接分解法消去法、
直接解法
LUGauss
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
−−
−−⎭⎬⎫
−−−
−−
最具竞争力预处理共轭梯度法
应用较广泛适应性较强加速收敛强隐式方法
超松驰迭代法
基本方法迭代法
基本方法简单迭代法
迭代方法,,
SeidelGauss
两类方法的对比:
1.直接法
优点:可靠性。不需要任何试运算,一次性直接求出方程的解,计算过程只跟所选的方
法有关,跟所处理的油藏模拟问题(物理问题)无关。无论问题简单还是复杂,甚至对系数矩
阵呈现“病态”的问题,也都可顺利解出。
缺点:存储量大。过程中矩阵非零元素大量生成,随着网格数增多,存储量增大的倍数
越来越大。因而很难求解大型的油藏模拟问题。另外舍入误差也有影响。
2.迭代法
优点:存储量小。同样计算机条件能解决比直接法规模大得多的问题。同时,不受舍入
误差影响。
缺点:不确定性。计算过程强烈依赖于实际油藏问题的性质,复杂问题收敛慢甚至不收
敛。另外,迭代因子的选择与试算也是一个很麻烦的过程。
3.数模发展趋势
由于遇到的实际问题越来越大,越来越复杂,现有大型数模软件越来越趋向于使用迭代
方法。并且随着迭代方法的不断改进和新迭代解法的出现,迭代类解法的可靠性也得到了明
显提高。
现在较常用的方法—预处理共轭梯度方法,另有强隐式方法和线松驰方法。
第五章 单相渗流数值模拟方法
前面几章介绍了数值模拟的基本方法,后面两章将介绍这些方法在单相和两相渗流问题
中的应用,同时了解油藏数值模拟模型和软件的基本建立过程。
§5.1.1.1.1 径向渗流问题的数值模拟方法
一、定解问题的数学模型
问题条件:油藏内一口井生产时,油藏内的压力分布
(1)单相;(2)岩石、流体均质;(3)达西定律;
(4)流体微可压;(5)岩石不可压;(6)无重力。
(控制方程) (1)tp
Kc
rpr
rr ∂∂
=⎟⎠⎞
⎜⎝⎛
∂∂
∂∂ φµ1
(2)iprp =)0,( ew rrr ≤≤
t >0 (封闭外边界) (3a)0=∂∂
=rerrp
t >0 (定压外边界) (3b)( ) ee ptrp =,
t >0 定产 (4a),2 qrpKhr
wrr =∂∂
=µπ
t >0 定井底流压 (4b)( ) ,, wfw ptrp =
二、不均匀网格下的差分方程
本段内容需注意以下问题:
(1)二阶差商的构造方法?与前面的均匀网格不同,不能直接用 Taylor 展式。
(2)一维点中心网格和段中心网格区别?
(3)两种网格的差分格式是否一样?
(一)直角坐标均匀网格下的差商
1. 一阶差商
(中心差商)xpp
xp ii
xx i ∆−
=∂∂ −+
= 211
将网格细化 (5)x
pp
xp ii
xx i ∆
−=
∂∂ −+
=21
21
( 实际计算中辅助点值并不知道,故此式只是中间推导过程。)2. 二阶差商
xi-3/2 xi-1/2 xi+1/2 xi+3/2xi+5/2 P(x)P(x)P(x)P(x)
xi-2 xi-1 xi xi+1
xi+2 xi+3
xxxx
(6)
211
11
21
21
2
2
2
)(
xppp
xxpp
xpp
xxp
xp
xp
xxp
iii
iiii
ii
xxxx ii
∆+−
=∆
∆−
−∆−
=
∆
∂∂
−∂∂
=∂∂
∂∂
=∂∂
−+
−+
−+
==
(二)直角坐标非均匀网格
点中心网格:
构造特点:
(1)边界是节点
(2)先定节点 ix
(3)辅助点2
1
21
±
±
+= ii
i
xxx
(4)网格步长21
21
−+−=∆
iii xxx
(5)辅助步长 1211
21 , −
−+
+−=∆−=∆ iiiiiixxxxxx
块中心网格:
构造特点:
(1) 边界非节点
(2) 先定辅助点 xi+1/2
(3) 节点位置由 确定。2/)( 2/12/1 −+ += iii xxx
(4) 12/112/12/12/1 ,, −−++−+ −=∆−=∆−=∆ iiiiiiiii xxxxxxxxx
一阶差商
xxxx
xi-3/2 xi-1/2 xi+1/2 xi+3/2xi+5/2 P(x)P(x)P(x)P(x)
xi-2 xi-1 xi xi+1
xi+2 xi+3
△xi △xi+1
△xi-1/2 △xi+1/2
xi-3/2 xi-1/2 xi+1/2 xi+3/2xi+5/2 P(x)P(x)P(x)P(x)
xi-2 xi-1 xi xi+1
xi+2 xi+3
△xi △xi+1
△xi-1/2 △xi+1/2
xxxx
(中心差商) (7)i
iixx x
ppxp
i ∆−
=∂∂ −+
=2/12/1
二阶差商:
(8)
2/1
1
2/12/12/1
1
2/1
1
2/1
1
21
21
2
2
)11(−
−
−++
+
−
−
+
+−+
=
∆∆+
∆∆+
∆−
∆∆=
∆∆−
−∆
−
=∆
∂∂
−∂∂
=∂∂
ii
i
i
i
iiii
i
i
i
ii
i
ii
i
ii
xx
xxp
xp
xxxxp
xxpp
xpp
xyp
xp
xp
i
高阶差商建立规则:(1)微商逐层变差商;(2)函数取当地值
(三)柱坐标系不均匀网格差分方程
)11(
)10()(
)9(1
11
2/1
12/1
2/1
2/1
2/1
2/1
2/1
12/1
2/1
12/1
2/1
12/1
2/12/1
tP
Kc
rrp
rr
rrp
rr
rr
rrp
rr
rrPPr
rPPr
r
rrPr
rPr
rrPr
rr
ii
i
i
i
ii
i
i
i
i
i
ii
i
i
i
i
i
iii
i
iii
i
i
rr
irr
ii
i
∂∂
=
∆∆+
∆∆+
∆−
∆∆=
∆∆−
−∆
−∆
∂∂
−∂∂
=⎟⎠⎞
⎜⎝⎛
∂∂
∂∂
−
−−
−
−
+
+
+
++
−
−−
+
++
=
−+
φµ
=
若用块中心网格,由(9)和网格关系得:
(12)i
ii
iii
ii
iii
irr r
rrPPr
rrPPr
rrPr
rr i ∆∆∆
−−
∆∆−
⎟⎠⎞
⎜⎝⎛
∂∂
∂∂ −
−−
+
++
=)+()+(
= 1
12/1
1
12/1 5.05.011
(点中心不存在(12)形式的关系式,其实没必要写出(12)式,由(10)式可直接进行求解。
在(10)式中 )2/12/112/1 , −+++ −=∆−=∆ iiiiii rrrrrr
(由(10)和(11)形成的差分方程当 时,可能不稳定,需要进行坐标变we rrrr ≈<< 或
换,改变二阶微商形式,从而改变二阶差商形式,保证计算格式稳定)
(四)变换坐标下的差分方程
坐标变换: )(, ixwi
xw errerr ==
代入(1)式,得 (13)tP
Kcre
xP
wx
∂∂
=∂∂ φµ22
2
2
将(8)式代入(13),并将右端项取向后差商 ,得
(14)tpp
Kcre
xxp
xp
xxxxp n
ini
wx
ii
ni
i
ni
iiii
ni i
∆−
=∆∆
+∆∆
+∆
−∆∆
+
−
+−
+
−++
++
122
2/1
11
1
2/12/12/1
11 )11( φµ
若取等距网格△x :
(15)tpp
Kcre
xppp n
ini
wxi
i
ni
ni
ni
∆−
=∆
+− +∆
+−
+++
122
11
111 2 φµ
记 ,( 15)式变为:tx
KcreM w
xi
∆∆∆
222 φµ
=
(16)ni
ni
ni
ni MPPPMP −=++− +
−++
+1
111
1 )2(再令 1,,2,1,,2 −=−=+= niMPdM n
ii ⋯λ
则有: (17)ini
ni
ni dPPP =+− +
+++
−1
111
1 λ(17)式与边条件一起构成线代方程组,解之则得问题解。
三、问题处理
(一)不均匀网格的确定(因为离井点越远,P变化趋缓,网格应越大。)
若对 x 取均匀网格: ,则可得如下图所示 ri的不均匀网格:xixi ∆=
其中x
iixi
wx
wi errererr i ∆+
∆ === /, 1且
xnwnn
xw
xw
xw
w
errx
errxerrxerrx
rrx
∆
∆
∆
∆
=
=
=
=
=
:
:
:
:
:
333
222
11
00
⋮⋮
(二)不同边界条件下的三对角系数矩阵方程
1.外边界定压,内边界定产
由(3b)得:
een PtrPP == ),(代入(17)得:
(18)ennn PdPP −=− −−− 112 λ由(4a)得:
wf
x
PPKhq
xPP
qxPKh
==∆−
⇒
=⎟⎠⎞
⎜⎝⎛∂∂
=
001
0
,2
2
πµ
µπ
rw r1 r2 r3re rrrr
0 1 2 3 4 n
)19(
,2
01
0
dPP
xKhqd
wf =+−
∆=
则
记πµ
对于 i=1,2,3,……,n-2 点,代入差分方程(17)式并与(18)、 (19)联立,可得原问题的三
对角系数矩阵方程组为:
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
−
=
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
−
−−
−
−=
===
−− enn
wf
Pd
ddd
P
PPP
ni
iii
1
2
1
0
1
2
1
1
1111
11
1
210
⋮⋮⋮⋮⋮⋮⋮λ
λλ
:
:
:
:
2.外边界封闭、内边界定压
此时边界条件是(3a)和(4b):
,0=∂∂
=rerrp ( ) ,, wfw ptrp =
外边界条件离散化得: 02
11 =∆− −+
xPP nn
即: 11 −+ = nn PP对于边界点 i=n,将上式代入(17)式得:
, 即 (20)nnn
nn
nn dPPP =+− +
+++
−1
111
1 λ nnn
nn dPP =− ++−
1112 λ
对于井点 i=0,此时(19)式中 Pwf已知,d0和 P1未知,所以将(19)式写成:
)21(10 wfPPd −=−对 i=1 点,将(21)式代入(17)式得:
(22)11
21
10 )1( dPPd nn =+−+− ++λ对于 i=2,3,……,n-1 点,代入差分方程(17)式可得三对角系数矩阵方程组为:
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡−
=
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−
−−−−
=−=
===
−−
n
n
fw
n
n
dd
ddP
PP
PPd
nini
iii
1
2
1
1
2
1
0
211
11111
11
1
210
⋮⋮⋮⋮⋮⋮⋮⋮⋮
λλ
λλ
:
:
:
:
:
四、程序编制
§5.2 平面渗流问题的数值模拟方法
t=0
输入 Pi,Q(Pwf)
输入 tmax,△t
输入△x,ri,M 及系数矩阵 A
t=t+△t
计算对应边界条
件下的右端项
解 dPA =
打印 t,r,P
t<tmax?
结 束
开始
输入 nCKrr ew ,,,,,, µφλ
YYYY
N
一、完整数学模型
条件:(1)单相; (2)流体微可压; (3)达西渗流;
(4)岩不可压;(5)无重力影响; (6)渗透率各向异性及非均质
(1)tPCq
yPK
yxPK
x vyx
∂∂
=+⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
∂∂
+⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
∂∂
φµµ
(2)iPyxP =),,( 0 ),( yx LyLx ≤≤≤≤ 00
外边界条件: )3((),,(),0(),,(),,0( 定压), eyx PtLxPtxPtyLPtyP ====
或:)4()(0
00封闭=⎟
⎟⎠
⎞⎜⎜⎝
⎛
∂∂
=⎟⎟⎠
⎞⎜⎜⎝
⎛
∂∂
=⎟⎟⎠
⎞⎜⎜⎝
⎛
∂∂
=⎟⎟⎠
⎞⎜⎜⎝
⎛
∂∂
==== yLyyxLxx yP
yP
xP
xP
内边界条件: 定井产量 (5)vq
或: 定井底流压 (6) )( ijwfij PpJq −=
二、差分方程
左端项:考虑非均质系数,任一网格(i,j)处有:
)7(2/1
,1,
,2/12/1
,,1
,2/1
,2/1,2/1
i
i
jiji
ji
x
i
jiji
ji
x
i
ji
x
ji
x
x
xxPPK
xPPK
xxPK
xPK
xPK
x
∆
∆
−⎟⎟⎠
⎞⎜⎜⎝
⎛−
∆
−⎟⎟⎠
⎞⎜⎜⎝
⎛
=
∆
⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
−⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
=⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
∂∂
−
−
−+
+
+
−+
µµ
µµ
µ
)8(2/1
1,,
2/1,2/1
,1,
2/1,
j
j
jiji
ji
x
j
jiji
ji
x
y
yyPPK
yPPK
yPK
y ∆
∆
−⎟⎟⎠
⎞⎜⎜⎝
⎛−
∆
−⎟⎟⎠
⎞⎜⎜⎝
⎛
=⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
∂∂ −
−
−+
+
+ µµ
µ(9)jviiiv qyxq ,),( =
右端项:与一维情况类似,采用隐式差分格式:
(10)tPP
CtPc
nji
nji
ji ∆
−=
∂∂ +
,1
,,φφ
(7)、( 8)、( 9)、( 10)代入(1),得:
)11(,1
,,,
2/1
1,,
2/1,2/1
1,
11,
2/1,
2/1
1,1
1,
,2/12/1
1,
1,1
,2/1
tPP
Cqy
yPPK
yPPK
xxPPK
xPPK
nji
nji
jijivj
j
jiji
ji
y
j
nji
nji
ji
y
i
i
nji
nji
ji
x
i
nji
nji
ji
x
∆
−=+
∆
∆−
⎟⎟⎠
⎞⎜⎜⎝
⎛−
∆−
⎟⎟⎠
⎞⎜⎜⎝
⎛
+
∆
∆−
⎟⎟⎠
⎞⎜⎜⎝
⎛−
∆−
⎟⎟⎠
⎞⎜⎜⎝
⎛
+−
−
−+
+++
+
−
+−
+
−+
+++
+
φµµ
µµ
(10)式两端同乘以 ,h—油层厚度,得如下形式:hyxV jiji ∆∆=,
(12)
( ) ( )( ) ( )
( )njinji
jipjiv
nji
njijy
nji
njijy
nji
njiix
nji
njiix
PPtCV
Q
PPTPPT
PPTPPT
.1
,,
,
11.
1,2/1,
1.
11,2/1,
1,1
1,2/1,
1.
1,12/1,
−∆
=+
−+−+
−−−
+
+−
+−
++++
+−
+−
++++
合并相同未知量,得:
(13)ijnjiij
njiij
njiij
njiij
njiij fPdPbPePaPc =++++ +
++
+++
−+−
11.
1.1
1.
1.1
11.
其中: , Nx,Ny—x 和 y 方向网格数,共 Nx,Ny个方程。⎟⎟⎠
⎞⎜⎜⎝
⎛∆
+−= nji
jipjivij P
tCV
Qf ,,
,
将(13)形式的差分方程写成矩阵形式求解,逐点展开过程与第三章相同。矩阵形式为:
(14)bPA =⋅其中系数矩阵 AAAA为五对解矩阵,通常为对称矩阵,同时也是稀疏矩阵。
(15)
[ ]( ) ( )[ ]NxNy
TnNxNy
nnn
bbbbb
PPPPP
,,,,
,,,,
3)2()1(
1)(
1)3(
1)2(
1)1(
⋯⋯
⋯⋯
=
= ++++
(13)式是差分方程通式,对于内点其形式不变,在边界及其邻点的形式由具体边条件决定。
三、传导系数及边界条件的处理
(一)传导系数
2/1
2/1,2/1,
2/1
,2/12/1, ,
±
±±
±
±± ∆
∆⎟⎟⎠
⎞⎜⎜⎝
⎛
=∆
∆⎟⎟⎠
⎞⎜⎜⎝
⎛
=j
iji
y
jyi
jji
x
ix y
hxK
Tx
hyK
Tµµ
为了避免:(1)地质不均匀性;(2)网格不均匀引起的误差,采用平均方法:
算术平均:2
1,,2/1,
±±
+= ixix
ix
TTT
几何平均: 1,,2/1, ±± = ixixix TTT
调和平均: ,1,,
1,,2/1,
2
±
±± +
⋅=
ixix
ixixix TT
TTT
1,,
1,,2/1,
2
±
±± +
⋅=
jyjy
jyjyjy TT
TTT
其中: 11
1,, // ±±
± ∆∆⎟⎟⎠
⎞⎜⎜⎝
⎛=∆∆⎟⎟
⎠
⎞⎜⎜⎝
⎛= ij
i
xixij
i
xix xhyKTxhyKT
µµ,
一般用调和平均,其优点:一方为零则为零,一方很大不会很大。
(二)不同边界条件下的线性代数方程组
将不同边界条件代入通式(13)或(14)式,便可得到边界点差分方程。
1.外边界定压、内边界定产
(1)外边界:
iiii-1 iiii iiii+1
取点中心网格,边界点压力已知 : 。( ) ( ) ( ) ( ) eyx PNiPiPjNPjP ==== ,1,,,1只求内部节点:(Nx-2)(Ny-2)个未知量。对每个节点利用(14)式并将边。xy NiNj ,1,,1 ==
界点值代入即得:
( )( ) ( ) ( )( ) ( ) ( )( ) ( ) ( ) ( )( ) ( )( ) )6(67)2(27712127887777:7 PaPabPaPaPak −+=++=(左端项皆为未知量,右端项皆已知量)
( )( ) ( ) ( )( ) ( ) ( )( ) ( ) ( )( ) ( ) ( )( ) ( ) ( )131818131414131313131212138813:13 bPaPaPaPaPak =−+++=
未知节点共 12 个:(7),( 8),( 9),( 12),( 13),( 14),( 17),( 18),( 19),( 22),( 23)
和(24)。对应 12 个方程,组成方程组:
。bPA ′=⋅其中 AAAA的形式与(15)式相同。
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )( )TPPPPPPPPPPPPP 242322191817141312987 ,,,,,,,,,,,=
(第二项与该网格具体位置有关)。( ) ( ) dkdkk Pabb ∑−='�
(2)内边界:
井点 ;( ) ⎟⎟⎠
⎞⎜⎜⎝
⎛∆
+−= nk
pkvkk P
tCV
Qb
非井点 。( )nk
pkk P
tCV
b∆
−=
2.外边界封闭、内边界定井底流压
(1) 外边界:采用块中心网格,虚拟网格。封闭条件是:
Ny
26 27 28 29 30
21 22 23 24 25
16 17 18 19 20
11 12 13 14 15
6 7 8 9 10
87 (26) (27) (28) (29) (30)
6 (21) (22) (23) (24) (25)5 (16) (17) (18) (19) (20)4 (11) (12) (13) (14) (15)3 (6) (7) (8) (9) (10)2 (1) (2) (3) (4) (5)1
NNNNy
Nx1 2 3 4 5
jjjj
iiii
1 2 3 4 5 6 7 Nx
(16)
( ) ( )( ) ( )( ) ( )( ) ( )jNPjNP
jPjPNiPNiP
iPiP
xx
yy
,1,,2,1
1,,2,1,
−==
−==
求解时,可以直接用(13)和(16)式组成方程组,也可以用如下方法得到简化方程组。
对于任一边界点,用(16)式代入(13)式,得其差分方程。如(i,j)=(2,7)点:
(17)7,21
8,21
7,21
7,31
7,21
7,21
7,21
7,17,21
6,27,2 fPdPbPePaPc nnnnnnnn =++++ ++++++++
将(16)式中第一、二式代入(17)式,得:
(18)7,21
7,37,31
7,27,21
7,27,21
6,27,2 )( fPbPdeaPc nnnn =++++ ++++
对(i,j)=(2,3)有:
3,21
4,23,21
3,33,21
3,23,23,21
2,23,2 )( fPdPbPeaPc nnnn =++++ ++++
内点格式同(13)式,未知量个数为(Nx-2)(Ny-2) ,方程个数同未知量个数。按顺序重新编号,将
各点差分方程放在一起,写成矩阵形式即可求解。
(2) 内边界:
SRRPPhKQ
w
e
wfji
jijiv
+
−⋅⎟⎟
⎠
⎞⎜⎜⎝
⎛=
ln2 ,
,, µ
π
记: ,则得:SRRKhJw
e
ji
+⎟⎟⎠
⎞⎜⎜⎝
⎛= ln2
,µπ
(19)( )⎪⎩
⎪⎨⎧
−−
=−=+
显式
隐式
),(),(
,
1,
,,fw
nji
fwnji
wfjijiv PPJPPJ
PPJQ
将(19)式的隐式形式代入(i,j)点差分格式(13)式;即可得:
nji
jipwf
njiij
njiij
njiij
njiij
njiij
PtCV
JP
PdPbPJePaPc
,,
11.
1.1
1.
1.1
11. )(
∆−=
+++++ ++
++
++−
+−
若用显式,则(13)式只有右端项发生变化。
一般地,都要在结果中给出井产量:求得 Pi,jn+1 ,代入(19)式得Qv i,,j 。
四、程序框图
网格信息
地层岩心资料与流体性质
N
开 始
输入 , , ,μ),( jiK ijφ C
输入 Nx,Ny,,△xi,△yj,h(△z)
输 入 ,maxt
=0t
= +t t t∆
计算 kb
解 =A P�b�
计算 , 和pijV 2/1, ±ixT 2/1, ±jyT
输入 ),( jiPi
输入 或ijQ wfP
计算系数矩阵 A
t>tmax ?
打印 t,(i,j),P,Q
结 束
Y
未知量初值
生产制度(井的信息)
计算控制
本章内容总结: 1. 数学模型; 2. 差分离散;
3.参数项及边条件处理,建立线性方程组; 4. 编程序步骤。
重点:1. 非均匀块中心和点中心网格的特点和构造方法(掌握)
2. 非均匀网格二阶偏微商的差分离散(掌握)
3. 边条件处理:4种边条件(掌握)
第六章 两相渗流数值模拟方法
§6.1 两相渗流完整的数学模型
条件:(1)油水两相; (2)岩石、流体均可压; (3)达西流动;
(4)岩石各向异性和非均质;(5)考虑毛管力; (6)无重力。
控制方程:
(1)( )tSqPKK oo
o
ro
∂∂
=+⎟⎟⎠
⎞⎜⎜⎝
⎛∇•∇
φρµ
ρ00
o
(2)( )
tSqPKK ww
www
rw
∂∂
=+⎟⎟⎠
⎞⎜⎜⎝
⎛∇•∇
φρµ
ρw
辅助方程:
(3)wowc PPSP −=)((4)1=+ wo SS
初始条件:
(5))( wicoit PPPP +===00
(6))( oiwitw SSS −=== 10
外边界:
(7)(定压)(封闭)或 ePPnP
==∂∂
ΓΓ 0
内边界: 给定Pwf 或给定 ql=Jl(Pi,j-Pwf) (8)
§6.2 二维两相渗流差分方程的建立
一、方程右端差分离散
(1)、( 2)式右端项展开:
(9)( ) ( )oooo
oo
oo
oo CCStS
tP
tS
f +=∂∂
+∂∂
=∂
∂φρβφρβ
φρ,
(10)( ) ( )wfwww
ww
ww
w CCStS
tP
tS
+=∂∂
+∂∂
=∂
∂φρβφρβ
φρ,w
(11)( ) n
njoi
njoi
jin
njoi
njOi
joi tSS
tPP
∆
−+
∆
− ++,,
,
,,
,
离散1
0
1
φρβ
(12)( ) n
njwi
njwi
jiwn
njwi
njwi
jwi tSS
tPP
∆
−+
∆
− ++,,
,
,,
,
离散11
φρβ
二、左端项的差分离散
(1)式左端第一项=
( ) ⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
∂∂
+⎟⎠
⎞⎜⎝
⎛∂∂
∂∂
=∇⋅∇yP
yxP
xP yx
00
0000 λλλ
(13)
( ) ( )
( ) ( )jOijijj
ojjOiji
jj
oj
jOijiii
oijOiji
ii
oi
ji
ooy
ji
ooy
j
ji
oox
jiox
i
PPyy
PPyy
PPxx
PPxx
yP
yP
y
xP
xP
x
,,,,
,,,,
,,
,,
−∆∆
+−∆∆
+
−∆∆
+−∆∆
=
⎥⎥⎦
⎤
⎢⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
−⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
∆+
⎥⎥⎦
⎤
⎢⎢⎣
⎡⎟⎠
⎞⎜⎝
⎛∂∂
−⎟⎠
⎞⎜⎝
⎛∂∂
∆=
−−
−+
+
+
−−
−+
+
+
−+
−+
102/1
2/110
2/1
2/1
102/1
2/110
2/1
2/1
2/12/1
2/12/1
0
1
1
λλ
λλ
λλ
λλ
(11)、( 13)代入(1)式,两端同乘以 ,得到:hyx ji∆∆
(14)
( ) njoin
joijijoin
njoi
njoi
oji
joioyjjoioxi
join
jioyjoyjoxioxi
joioxijoioyj
Pt
VQ
tSS
V
PTPT
Pt
VTTTT
PTPT
joi
,
,,
,
,,
,
,,
,
,
,,
,
∆−−
∆
−=
++
⎟⎟⎠
⎞⎜⎜⎝
⎛
∆++++−
+
+
++++
−++−
−−−−
βφρ
β
1
12/112/1
2/12/12/12/1
12/112/1
同理可得(2)式差分方程:
(15)
( ) njwin
jwijijwin
njwi
njwi
ijwji
jwiwyjjwiwxi
jwinjoiji
wyjwyjwxiwxi
jwiwxijwiwyj
Pt
VQ
tSS
V
PTPT
Pt
VTTTT
PTPT
,
,,
,
,,
,
,,
,
,
,,
∆
β−−
∆
−φρ=
++
⎟⎟⎠
⎞⎜⎜⎝
⎛∆
β++++−
+
+
++++
−++−
−−−−
1
12/112/1
,2/12/12/12/1
12/112/1
上两式简记作:
(16)( ) n
njoi
njoi
ijoijjoi
njoijoi
njoijoijoijoi
njoijoi
njoijoi
tSS
Vf
PdPbPePaPc
∆
−φρ+=
+++++
++
++
++−
+−
,,
,
,,,,,,,,
1
111
11,
1n,
11
11
(17)( ) n
njwi
njwi
ijwijjwi
njwijwi
njwijwi
njwijwi
njwijwi
njwijwi
tSS
Vf
PdPbPePaPc
∆
−φρ+=
+++++
+++
++
++−
+−
,,
,
,,,,,,,,,,
1
111
11
111
11
(16)和(17)式共有 2M 个方程,4M个未知量,无法直接求解;另外系数与变量为函数关系
—非线性方程,须线性化处理。差分方程的求解,主要是处理多未知量和非线性问题。 分
离(顺序)解法和联立(同时)解法。
§6.3 两相渗流差分方程的 IMPES 分离解法
一、方法步骤
1. 利用辅助方程从差分方程中消去 S0 和 Sw 。
令(16)+(17) 得:w
o
ρρ
方程右端=
jwiw
ojoi
jwiw
ojoinoji
jwiw
ojoin
njwi
njoi
n
njwi
njoi
oji
jwiw
ojoi
n
njwi
njwi
wjiw
on
njoi
njoi
oji
ff
fft
V
fftSS
tSS
V
ff
tSS
VtSS
V
,,
,,,
,,
,,,,
,
,,
,,
,
,,
,
)(
ρρ
+=
ρρ
++∆−
φρ=
ρρ
++∆
+−
∆
+φρ=
ρρ
++
∆
−φρ
ρρ
+∆
−φρ
++
++
11
11
11
记 则方程左端=,w
Aρρ
= 0
(18)
jwijoijwijwijoijoi
jwijijoijoijwijwijoijoi
jwijwijoijoijwijwijoijoi
AffPAdPdPAbPbPAePePAaPaPAcPc
,,11
1,1
1111,
+=++
++++
+++
++
++
−−−−
,,,,
,,,,,,,
,,,,,,,
2. 利用 Pc辅助方程消掉 Pw将 Pc = P0 – Pw 代入(18)式得:
(19)ji
joijijoijijoijijoijijoiji
fPdPbPePaPc
,
,,,,,,,,,
=
++++ ++−− 11,11
其中
,,, ,,,,,,,,, jwijoijijwijoijijwijoiji AeeeAaaaAccc +=+=+=
( )njciw
njciw
njciw
njciw
njciwwijoijij
wqijoijijwijoijij
PdPbPePaPcAAfff
AdddAbbb
1,,1,,11,
,,
++−− ++++++=
+=+=
3. 线性化,显式处理系数矩阵和右端项
(19)式中各系数及右端项皆为Pon+1的函数,同Pon+1一样也是未知的量,所以无
法直接求解(19)式得到Pon+1 。这就是(19)式的非线性特点。为此,用上一时间步的未
知量值Pon 代替 Pon+1,求各系数及右端项,实现(19)式的线性化。
要求各系数及右端项,主要需处理传导系数:
1
2/1,2/1,
1
2/1,2/1,
2,
2
±
±±
±
±± ∆+∆
∆=
∆+∆
∆=
jj
njlyi
jlyii
nilxj
ilx yyhx
Txx
hyT
λλ
传导系数的处理,主要是确定导流(流动)系数λln ,以λn
l,x,i+1/2为例说明。
首先将λnl,x,i+1/2分为两部分:
( )( ) ( ) ( )
( )n
j,ill
wrlll
,jixll
rlxlln
l,x,i puskpρ
x,ykpu
skrkpρλ21
21
21
)()()(+++
•==
只是空间函数, 是时空函数。( )yxkx ,( )
( )ll
wrlll
puskp )(ρ
对 用如下方法求得:( ) jixjix kyxk ,2/1,2/1 , ++ =
(1)算术平均方法: )(21
,1,21, xijjxijix
kkk += ++
(2)加权平均法:以网格点对应步长为权反映网格影响,网格大时其对流动影响也大 ,
故对 k 有较大贡献。
( ) 2/,,1,1,21,
21, ijixijixijix
xkxkxk ∆+∆=∆ ++++
ii
ijixijix
jix xxxkxk
k∆∆
∆+∆= +
+ +块中心网格
+
+
1
,,1,1,
,21
,
(3)几何平均法: jixjixjixkkk ,,,1,,
21, +
+=
(4)调和平均:一维流动为例,根据渗流和网格关系有:
, 同时i
iix
i
iix
i
i
xx xpk
xpk
x
pkv
∆∆
=∆∆
=∆
∆=
+
++
+
+
,1
11,
21
21
⎪⎩
⎪⎨⎧ ∆+∆=∆
∆+∆=∆
++
++
)(21
)(21
121
121
iii
iii
ppp
xxx
ix
i
ix
i
ii
ix
kx
kx
xxk
,1,
1
1
21
, ∆+
∆∆+∆
=⇒
+
+
+
+
对 采用上游权衡方法或称迎风格式,如图 6.3.1 所求。),( trFkl
rll �=µρ
i i+1/2 i+1
Fin+1 ≈ Fin12/1
++niF
→
V
Fin niF 2/1+
图 6.3.1
n
n+1
( ) ( )( )
n
jsnll
nlrl
nll
n
jil
rll
PuskP
uK
,
1
,2/1⎥⎦
⎤⎢⎣
⎡ ⋅ρ=⎟⎟
⎠
⎞⎜⎜⎝
⎛ ρ+
+
其中 。{ jiljil
jiljil
PPiPPis ,1,,,
,1,,,
,,1
+
+
><+= 当
当
经过以上步骤,得到线性化的差分方程组:
, ——五对角矩阵FpA o =⋅ A4. 解上述线性代数方程组(20),得 :
1,,0+njlp
由 得n
jicn
jin
jiw ppp ,,1,,0
1,, −= ++ 1
,,+njiwp
5. 将 代回(17)式,显式求解得: ;1,,
+njiwp
1,,
+njiws
再由 得 ;( )1,,
1,,
++ = njiwc
njic spp 1
,,+njicp
最后由 得 ;1,,
1,, 1 ++ −= n
jiwn
jio ss 1,,+njios
6. 求产量或井底流压,用显式处理: ( )wfnijll PPJQ −=
二、提高 IMPES 精度的方法:主要针对饱和度求法
1. 联合方程求解方法:
用油、水方程(16)( 17)相加,将 和 的已知值及关系式1,,0+njip 1
,,+njiwp =+1
,,n
jios
代入,得:1,,1 +− njiws
(21)
( ) wijoijn
njiw
njiw
owijn
jiwwijn
jioij
njiwwij
njioij
njiwwij
njioij
njiwwij
njioij
njiwwij
njioij
fftss
Vpdpd
pbpbpepe
papapcpc
++∆
−−=++
++++
+++
++
−+
+
++
++
++
+−
+−
++−
,,1,,1
1,,1
1,,0
1,1,
1,1,0
1,,
1,,0
1,1,
1,1,0
1,,
11,,0
ρρφ
记左端项 ,则有:ijh=
(22)( ) ( )wijoijijowij
nn
jlwn
jlw ffhv
tss −−−
∆+=+
ρρφ,,1,,
用(22)式可求得 。较直接用(17)式方程中参量增加,稳定性增强,精度提高。1,,
+njlws
2. 一步压力多步饱和度方法
原理如图 6.3.2 所式,缩小时间步长,减少显式求解饱和度时的误差:R=O( ) 。t∆
nwS
nm
nm
nnn ttttt ∆∆∆∆∆ −13210
( )一步1+nwS
SSSSwwww
( )步mS nw
1+
(真值)1+nwS
△tttt nnnn
图 6.3.2 一步压力多步饱和度方法示意图
tttt
IMPES 方法适用范围:较简单情况,饱和度变化较缓慢,方程非线性不太强。
§6.4 半隐式((((联立))))解法
系数处理的显式、半隐式和隐式—由线性化方式不同而区分。
注意与差分方程显式和隐式的区别。
一、系数的半隐式处理
1. 相对渗透率: ( ) ;,,11 wlskk nlrl
nrl o== ++
( ) nrl
nrl
nnrln
rl
nn
n
nrln
rlrln
rlrln
rlnrl
sskksdsdkk
tts
dsdkkdt
dtds
dsdkkdt
dtdkkk
∆+=∆+=
∆∆∆
+=+=+=+
'
1
即: (1)( ) ( )nlnlrl
nrl
nlrl sskksk −+= ++ 1'1
其中 预先做成图表,如图 6.4.1 所示。将给定的相渗曲线分为若干个小( )nrlrl skk ′=′
区间,每个小区间求得一个 (斜率),存贮于计算机中。实际计算时,(1)式中的rlk ′ rlk′取 所在小区间的值。
nls
0 Sln 1.0 S1图 6.4.1 处理相对渗透率的半隐式方法
KKKK′′′′rlrlrlrl
KKKKrlrlrlrl
KKKKrlrlrlrl
2. 毛管压力: (2)( )( )nlnl
nlc
ncl
l
cnc
nc ssspps
dsdppp −+=∆+= ++ 1'1
3. 产量项: (3)nl
l
cl
l
cnl
nl p
dpdqs
dsdqqq ∆+∆+=+1
4. 与压力相关的系数 用显式: (4)l
l
µρ
n
l
l⎟⎟⎠
⎞⎜⎜⎝
⎛µρ
由以上各式可得:
(5)( )[ ] ( )nlnll
nl
nl
nlrl
nrl
n
l
lnrl
n
l
lnl sssskkkkk −λ+λ=−+⎟⎟
⎠
⎞⎜⎜⎝
⎛µρ
=⎟⎟⎠
⎞⎜⎜⎝
⎛µρ
=λ ++++ 1'1'11
二、半隐式差分方程
定义:i
jiji
i
jijiyx y
uuxuu
uuu∆
−+
∆
−=∆+∆=∆ −+−+ 2/1,2/1,,2/1,2/1
,yxuu yx222 ∆+∆=∆∆=∆ ( ) nn
ijnijt tuuu ∆−=∆ + /1
1. 利用(5)式和§6.3 中(9)-(10)式对原微分方程进行离散,得:
(6)( ) ( )[ ]
wlPSPSSP
ltlltl
nl
nl
nl
nl
nl
nl
,
111
o, =∆β+∆ρφ=
∆−λ′∆+∆λ∆ +++
(6)式跟§6.3 中(16)和(17)式相比,消除了原左端项的强非线性,但多出了弱非线性的第 2项。
2. 进一步线性化。令(6)式右端第二项中 ;同时右端项系数取 值。nl
nl PP =+1
ntt =3. 消去 PW 和 S0,简化方程未知量
将 代入(6)式中油相方程,得:wSS −=10
(7)( ) ( )[ ] otowtno
nw
nwo
no
no PSPSSP ∆+∆−=∆−′∆−∆∆ ++ βρφλλ o
11
再将 代入(6)中11
01 +++ −= n
cnn
w PPP ( )( )nwnw
nwc
nn SSSPPP −−−= ++ 1'1oo
水相方程,得:
( )[ ]{ } ( )[ ]( )ctwwtw
nw
nw
nww
nw
nwc
no
nnw
PPSPSSSSPPP
−∆+∆=∆−′∆+−′−−∆∆ +++
0
1110
βρφλλ
= , (展开 ) (8)otwwtwcw PSP ∆+∆′− ββφρ )( ctP∆若网格总数为 N 个,则上述方程(7)+(8)共 2N 个,未知量为 2N 个。
4. 线性方程组及其求解方法
由(7)、( 8) (9)FXA =⋅⇒(9)式中 为 11 对角条带形稀疏矩阵,半带宽为 2Nx+1,Nx 为较少方向网格数。A
�
, 为右端已知项。(9)形式的差分方程解法有[ ]TwNoNwowo SPSPSPX ,,,,,, 2211 ⋅⋅⋅=� F
专门讨论。
由(9)联立求解得 ,11 ++ n
wijn
oij SP 和
再由辅助方程 ,11 ++⇒ n
oijn
cij SP 、
由111 +++ −= n
cn
on
w PPP 1+⇒ nwijP
所以称联立(同时)解法。
三、方法特点:
(1)精度高、稳定性强;(2)解法复杂,内存占用大。
§6.5 IMPIMS(IMPIMS(IMPIMS(IMPIMS(分离))))解法
一、构造方法
1. 用 IMPES 方法中压力方程求解压力Poijn+1 ;
2. 将Poijn+1 代入半隐式方法中的水相方程,隐式求解 Swijn+1。
用差分算子形式写成(令 Pcn=Pcn+1):
(1)( )[ ] ( ) ( ) otwoncw
nowo PAPAPA ∆+≈∆∆−∆+∆ + ββλλλ 1
——跟§6.3 中(19)式完全相同。
[ ]{ } ( ) ( )[ ]nwnw
nmww
nw
nwc
nc
no
nw PSSSSSPPP ∆−⋅∆+−⋅−−∆∆ +++ 1'1'1 )( λλ
(2)( ) otwwtwcw PSP ∆+∆−= ββφρ '
二、特点:
1. 饱和度求法:半隐式稳定,吸取了 Semi_Implicit的优点,避免了 IMPES 的缺点。
2. 方程阶数低,省内存和计算量。吸收 IMPES 的优点,避免半隐式的缺点。
* 注:无论在模拟还是在实际生产中, 饱和度分布比压力分布对油藏流动和生产的
影响更大,属于敏感参数。跟压力相比,饱和度更不易改变,而一旦改变,则无论对
生产数据还是储量数据,影响都很大,所以处理饱和度须十分小心。
§6.6 边界条件的统一化处理
工程上使用的计算机数模软件必须具有通用性,实际上同一类型油藏的流动控制方程是
一样的。但其边界条件造千变万化,数值模型及计算机软件中的边界处理方法应该适用于各
种边界条件,即用统一方式处理各种不同边界条件,同时还要求构造简单、使用方便。
一、边界形状
无论边界形状如何,首先用一个长方形或长方体将求解区域包围,并使长方体(形)的
体(面)积为最小,再将此长方体(形)网格化,然后按实际求解区域形状确定边界网格,
就是将边界网格化,同时注销界外网格。
因实际油藏边界形状复杂,不可能完全落在网格点上,所以只能对边界进行近似网格化 。
如图 6.6.1。
图 6.6.1
二、边界条件处理
数模软件在对实际问题进行求解时须自动生成线性方程组。如果油藏边界形状较复杂,
再加上不同的边界条件用不同的离散处理方法,方程组系数矩阵的形成过程及其元素分
布将很复杂,难以自动实现,所以采用如下方法:
首先在边界网格外设一排虚拟网格,然后:
对封闭边界,令虚拟网格渗透率为零(或 P 虚=P 边),代入差分方程消除 P 虚项。
对已知流量边界,在封闭边界网格加入定流量控制的源汇项。
对定压边界,在封闭边界网格中加入定压控制的源汇项。
在后两种情况中,源汇产量跟网格压力的关系是核心问题,应根据地层的具体性质确定 。
这些源汇流量跟油气藏的井产量不是同一概念。
§6.7 两相渗流数模程序编制
以油水平面二维两相渗流为例,介绍油藏数值模拟程序软件编制的全过程,为今后应用
打下基础。
物理问题: 如图 6.7.1 所示。取五点法注采系统的一个单元,用 IMPES方法求解该单
元的压力和饱和度分布。已知条件如下:
油藏均质等厚,岩石和流体均可压缩,达西渗流,不考虑毛管力和重力。单元边长 600m,
油层厚 10m,绝对渗透率为 1µm2,孔隙度为 0.25,综合压缩系数为 1.0×10-4MPa-1 ,油粘度
为 5mPa.s,水粘度为 1.0mPa.s,原始地层压力为12.0Mpa,原始含油饱和度为 0.8,注水井
底压力 Piwf=15.0Mpa,生产井底压力 Pwf=10.0Mpa。其相对渗透率与饱和度关系如表 6.7.1。
注入井原始含油饱和度为 0.2,生产井原始含油饱和度为 0.8。
表 6.7.1 相对渗透率与饱和度关系 600m
Piwf=15MPa
600m
Pwf=10M
Pa
图 6.7.1 五点法注采单元
一、数学模型
(1)
1
)(
)(
=+
∂φρ∂
=+⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
µρ
∂∂
+⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
µρ
∂∂
∂φρ∂
=+⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
µρ
∂∂
+⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
µρ
∂∂
wo
www
w
rww
w
rww
ooo
o
roo
o
roo
SStSq
yPKK
yxPKK
x
tSq
yPKK
yxPKK
x
初始条件: ( ) ( ) iwi SyxSPyxP == 0,,,0,,
边界条件 ,(Г为外封闭边界);0=∂∂
ΓnP
, (Г1为注水井边界); , (Г2为生产井边界)。iwfPP =Γ1 wfPP =Γ2
二、网格划分和差分方程
(一)网格:均匀步长 ,求解区域 (Nx-2)(Ny-2)。如图 6.7.2。yx ∆=∆(二)差分方程
依照§6.2 中步骤可得(1)的差分方程:
(2)
oni,j
onoi,j
noi,j
o
i,joi,j,jioi,ji,joi,j,jioi,ji,joi,j
qPΔtβ
ΔtSS
φρ
PdPbPePaPc
−−−
=
+++++
++−−
1
1111:油相
(3)
wnji
wn
jwin
jwiw
jijwijijwijijwijijwijijwi
qPtt
SS
PdPbPePaPc
−∆β
−∆
−φρ=
+++++
++−−
,,
1,
1,,,1,,,,1,1,,:水相
其中 ,/,/ 22/1,
22/1, xayc lijliljjli ∆λ=∆λ= −−
,/,/ 22/1,
22/1, ydxb ljjlilijli ∆λ=∆λ= ++
序号 Sw Kro Krw123456789101112
0.000.100.200.300.400.500.600.700.800.880.941.00
0.880.840.780.690.550.310.190.100.020.000.000.00
0.000.000.000.030.070.110.160.230.300.370.480.60
+q
-q
jjjj
iiii Nx
Ny
图 6.7.2 单元网格划分
)/( ,,,,, tdcbae ljlijlijlijlijli ∆β++++−=
,lrlll KK µρ=λ / w,ol =同§6.2 中步骤可得差分方程的 IMPES 方法求解公式:
压力方程: jii,ji,j,jii,ji,ji,j,jii,ji,ji,j fPdPbPePaPc ,1111 =++++ ++−−
(4)
饱和度方程:1,1,
11,,,,
1, ( +
−+−
+ ++∆β
φρ∆
++= njijwi
njijwi
nji
w
ww
njwi
njwi PaPcP
ttqSS
11,,
1,1,
1,,
++
++
+ +++ njijwi
njijwi
njijwi PdPbPe
(5)
其中参数: ,有相同形式,,,, 、、、 jijijijijwiw
ojoiji edcbaaa ,,,, ρ
ρ+=
)(1,,,
w
owo
njijwi
w
ojoiji qqP
tf
ρρ
+−βρρ
+β∆
−= () ,
三、边条件与参数处理
(一)封闭外边条件:取 P 虚=P 边
(二)定压内边界:注意流量分割——角井:1/4;边井:1/2
生产井: ;
w
wfjiji
o
roo
rx
PPhKKq∆
−
µπ
=208.0ln
)(2
,,
注水井:
w
jiwfji
w
rww
rx
PPhKKq∆
−
µπ
=208.0ln
)(2
,,
(三)流动系数取调和平均求压力,取上游值求饱和度。
(四)节点相渗用插值法由相渗数据表求得。
(五)方程组解法
四、程序设计与程序编制
根据以上方法和技术路线设计编制 IMPES 方法求解二维渗流问题的计算程序。
五、一般平面二维油水两相数值模拟程序
包括 IMPES、Semi_Implicit 和 IMPIMS 三种方法的选择。具有大型软件的特点。
本章总结
一、内容:数学模型及差分方程,三种求解方法的原理和步骤,边界条件统一处理方法。
二、重点:差分方程的线性化求解方法。
<<<<大作业>>>>:P119,网格 10X10 个,△x=△y=60 米,Tmax=5y=1800d,K=0.5D=500mD。半年(180
天)打印一次结果。
第七章 现代油藏数值模拟技术
及发展趋势
§7.1 油藏数值模拟技术发展简介
油藏数值模拟的发展跟计算技术(计算机与计算方法)的发展密不可分。计算技术给油
藏工程研究提供了强有力的手段,而油藏开发工程给计算技术提供了一个理想的应用领域
(雄厚资金、典型问题、方法验证、发展方向)。
四十年代:计算机出现。
五十年代:数模理论方法奠基时代。
六十年代:油田开发简单问题。黑油模型。
七十年代:大型标量计算机 100-500 万次/秒,16M 内存。
八十年代:大型商业软件发展、完善阶段。模型完善,界面友好、运行可靠。
九十年代:成熟阶段,第一循环完成。
§7.2 现代油藏数模技术与大型数值模拟软件
一、油藏数值模拟新技术
(1)向量化(喻为流水线);
(2)并行计算机(喻为不同车间同时生产一部汽车的不同部件);
(3)线性方程组新型解法(预处理共轭梯度法);
(4)局部网格加密方法(不同坐标网格、不同层次网格);
(5)自适应隐式方法;
(6)井的自动化控制技术(关、开、定压、定产等)。
二、大型数值模拟软件
(1)Schlumberger的 eclipse; (3)Landmark 的 VIP;
(2)CMG 的 IMEX; (4)……。
§7.3 油藏数值模拟技术发展趋势
一、发现新的渗流规律,建立新型数学模型
在前面 20年时间里,在计算机软件上投入了最多的力量,今后,研究认识新型物理问
题、构造新型数学及数值模型,将成为数模领域的主题。面临又一次大循环。
各向异性油藏数模软件的研制是当今一个新的研究方向。各向异性油藏渗流机理、油藏
工程、数模软件和配套软件上的研究属国际前沿领域。
二、智能化油藏数值模拟技术
与油气田智能自动布井技术、油气田开发与调整方案智能优化决策技术等相结合,形成
智能化综合油藏数模技术,在数模运算过程中,根据油藏内油气水运动分布的动态变化,自
动调整井网和井的工作制度,找到油气田最优开发方案。
第八章 油藏数值模拟应用
前面介绍了油藏数值的理论基础和方法程序,下面研究油藏数值模拟在实际油藏开发中
的应用,即如何对实际油藏进行模拟计算。
功能合适的数模软件
应用条件 全面可靠的油藏资料
经验丰富的工作人员(掌握油藏工程、数模技术和计算机工具三方面技能)
资料数据的处理(油藏地质模型建立)
应用步骤 开发历史拟合
开发方案预测与优化优选
§8.1 问题分析及模型与软件的选择
一、对实际油藏问题应考虑的因素
二、现代油藏数模软件的多功能集成特点及其可选择性
三、计算机硬件环境的改善和步骤
§8.2 油藏几何参数处理与网格系统的建立
将地质模型数值化的第一步,就是把要模拟的油藏区域进行网格离散,原则是:达到足
够精度,尽量减少网格数量,建立网格系统须考虑至少以下几个方面:
一、几何特征:
包括大小、形状和方位,边界及边条件处理,油藏空间跟矩形网格区域最佳配合。
二、井位:
每井必须独占一个网格,两井间隔 3 个网格以上,两井连线与网格方向匹配(即流动
与网格的方向匹配)。
三、各向异性:
对于各向异性渗透率油藏,只有网格方向与渗透率主轴平行时,现有数模软件才能用。
§8.3 地质参数的处理
一、基本地层参数
K - 渗透率 ;φ- 孔隙度;h - 厚度;D - 埋深;C - 压缩系数。需要每个参数在所
有网格点上的分布,处理方式有:
(1)手工:标井点值,画等势线,网格离散值计算。
(2)自动:大型数前处理系统软件,输入油藏图形、井点位置和参数值,输出离散数
据结果。
二、两相流相对渗透率
1.归一化处理:将孔隙结构相同、相渗随饱和度变化规律相同的多块岩石的多条实验
曲线归一化。orwc
wcww SS
SSS−−
−=
1经过归一化,多条 曲线变为同一条 曲线,存于计算机中。( ) wwrl SSK − ( ) wwrl SSK ~
使用时只需给出不同的 Swc和 Sor,即可经计算机内部处理得到不同的 数据。( ) wwrl SSK ~2.软件输入:分段离散,贮存备用。
大型软件:多条 曲线,不同网格既可选择不同的归一化曲线(相渗规律)又( ) wwrl SSK −可指定不同的 Swc 和 Sor。
中型软件:一条 曲线,不同网格可指定不同的 Swc 和 Sor。( ) wwrl SSK −
小型软件: 和 Swc 和 Sor 输入唯一值,认为整个油藏的相渗 Swc 和 Sor 都相同 。( ) wwrl SSK −三、毛管力
1.数据拟合:从大量的实验结果中选择合适的毛管压力曲线,一般较有效的 J函数方
法(原理已在油藏物理中学过)。
( ) ( ) 2/1
cos ⎟⎟⎠
⎞⎜⎜⎝
⎛=
φθσKSPSJ
owow
wcw
2.归一化或取近似取双曲线形状,归一化公式:
wcmaxw
wcww
mincmaxc
minccc SS
SSS,
PPPP
P−−
=−−
=
3.数据输入:分段离散,存贮于计算机模型内。与相对渗透率处理相似。
四、三相流动资料数据:K rl 和 Pc
1.相对渗透率:数模中需要三相同时存在时的相对渗透率:
—— 油、气、水 (1)( )( )( )⎪⎩
⎪⎨⎧
===
gwrwrw
gwrgrg
gwroro
SSKKSSKKSSKK
,,,
但实验室目前只能提供两相流相对渗透率。
油水 油气 (2)( )( )⎩
⎨⎧
==
wrworwo
wrowrowSKKSKK ( )
( )⎩⎨⎧
==
grgorgo
grogrog
SKKSKK
实验表明: (3)( ) ( )( ) ( )⎩
⎨⎧
==
grgogwrg
wrwogwrw
SKSSKSKssK
,,
Stone 给出油相相对渗透率经验计算公式:
(4)( )( ) ( )rwrgrgrogrwrowro KKKKKKK +−++=在(4)式基础上不少人又提出了多种修正经验公式(略)
利用(3)和(4)便可确定三相流动中油、气、水相对渗透率。此处理过程一般由软件
内部实现,数据输入只需给出油水和油气两相相渗曲线。
2.毛管力:认为油气藏中气和水分别只和油相接触,因此三相情况的毛管力可以直接取
为两相渗流的毛管压力, (5)( )( )⎩
⎨⎧
==
ocogcog
ocowcowSPPSPP
§8.4 流体资料的处理
一、流体高压物性数据(PVT)
油气水物理性质随压力变化规律: B,μ,Rs ∽ P
(一)实验数据曲线:数据输入
(二)使用经验公式。
二、饱和压力(泡点压力)
1.过饱和压力问题
BO μ0
0 Pb1 Pb2 Pb3 P 0 Pb1 Pb2 Pb3 P
随油藏压力增加,当油藏内气体全部溶于油中时,B、μ等物理参数的变化趋势将发
生改变,如上图所示。
2.变泡点压力问题
如果油藏内气体的(相对)量发生变化,如注气或采气引起的气成分和气总量变化,那
么油藏的泡点压力就会随之改变。如图所示。
实验表明,对应于不同饱和压力,当油藏压力超过饱和压力后B、μ的变化趋势基本相
同,因此,流体过泡点的B、μ可用下式表示:
( )( )bllbl
bllbl
PPPPCBB−∆−=
−−=µµµ
其中 为过泡点的斜率,由实验数据统计整理得到,事先提供;llC µ∆,
由实验PVT曲线中得到;Pb泡点压力为油藏动态数据,由数( ) ( )bblbbllb PPBB µµ == 和
模计算得到。
三、温度对流体性质的影响
实际油藏中的温度随深度增加而增加,当考虑温度的影响时,就要对流体参数行进行温
度校正。
Bw
B BO μ μg
Rs Rs
Bg P μ O PP体积系数与压力关系 粘度与压力关系 溶解气油比与压力关
系
( )[ ]( )[ ]( )[ ]( )[ ]
( )[ ]( )[ ]bt
ob
btssbs
btggbg
bt
ob
btggbg
bt
ob
ttttRRRttBBBttBBBtttt
−+=
−+=
−+=
−+=
−+=
−+=
00
00
00
1/1
1/1/
1/1/
µµµ
ρρρρρρ
其中下标b表示实验室测量值,上标t表示该项目在温度t时的校正系数-热膨胀系数 。
四、数据输入形式
数据表输入,计算中使用插值。
§8.5 油藏初始资料的处理
主要是给定饱和度 Soi ,Swi ,Sgi 和 Poi ,Pwi ,Pgi 。以油水两相为例:
(1)首先给定 Poi,由现场测试得到,或者给出油水界面深度 dowc及油水界面压力 Powc再计算 Poi :
(2)毛管力: ( )ddPP owcogowcoi −−= ρ
(3) cowoiwi PPP −=
(4)根据 曲线,求出 Swi。( )wcowcow SPP =(5)Soi=1- Swi.至此油水压力和饱和度初值皆已求得。用同样步骤可求得气相的初始压力和饱和度值。
实际模拟时,数据输入只需完成第一步即可。
§8.6 生产动态资料
一、油水井生产资料
油井单井(按月): (1)油、气、水产量
(2)含水率
(3)生产油气比
(4)井底流压或动液面高度
(5)注入剂产量、浓度(强化采油)
水井单井(按月): (1)注水量
(2)井底流压或注入压力
(3)注剂配量
总体资料: (1)地层压力
(2)油、气、水、注剂总产量
(3)综合含水率、油气比
(4)总注水量,总注剂量
二、油水井的生产条件
采油或吸水指数: (1)根据工程资料人为给定
(2)由理论公式计算
注采量:根据试井、试油、生产任务等资料确定。
注采压差:与注采量有关,防止脱气、地层破裂。
§8.7 历史拟合与动态预测
一、历史拟合
1. 概念:所谓历史拟合就是用油田实际生产的动态数据资料,通过油藏模拟试运算,
来检验和修正油藏静态的地质模型,同时弄清油藏内部压力和流体动态分布状况,使计算机
模型与实际油藏保持一致。
这个步骤在整个油藏模拟中的作用非常重要,最终模拟结果的好坏往往取决于此,这也
是反映数模工作人员水平的地方。只有动态历史拟合成功,才能证明计算机中的油藏模型跟
被模拟的实际油藏是一致或相近的。才能保证后面模拟预测的结果有实际意义。
2. 内容和步骤。基本内容包括:
(1)储量: 修改 h,φ,Si 分布;
(2)产量-压力(井底流压、井间压力): 修改K或J-采液指数;
(3)含水率: Kro , Krw , Sor , Swc ,μ0 , Soi , Swi 等;
(4)生产气油比: Krg ,Rs,Sgi 等;
(5)弄清油、气、水分布及压力分布,分析问题所在。
二、动态预测与方案优选
实际油藏研究的目的就是针对油藏生产中存在的问题,找到合理的解决方案。
1.措施方案的设计(以水驱为例)
(1)调整井的注采量; (2)增产措施(压裂、酸化);
(3)调整注采井别(井网变化);(4)侧钻井、侧钻水平井;
(5)加密井、加密水平井。
2.动态预测
对过多的初选方案进行筛选,然后进行模拟预测,计算出油藏生产指标。
3.油藏开发经济指标估算与评价
4.方案优选
各种分析、优选方法,系统工程,专家系统,人工智能,模糊理论等。
[本章总结]
一、数模应用的条件(3个)
二、数模应用的步骤(3个)
三、数模资料处理的主要内容)(5部分)
四、历史拟合的概念、拟合修改的参数、步骤
五、动态预测
第九章 实用模拟软件及油藏模拟实例
本节以三维三相黑油油藏数值模拟(ANS)软件为例,介绍油藏数模软件的结构和使用
方法,及利用工程(或商业)数模软件进行实际油藏模拟的一般技能。
本软件共分三部分:输入文件,模拟软件,输出文件。
一、数据输入(文件)系统
采用固定格式输入
输入数据文件名:ANS1.DAT
ANS2.DAT
二、模拟运算系统
适用于三维三相非均质简单各向异性黑油油藏注水、注气开发过程的模拟。
三、数据输出(文件)系统
1、综合结果文件:ANS.RES
2、典型时刻生产单一项指标和压力饱和度分布
3、重新连续运行文件:ANSTRT.DAT
软件详细使用说明见《说明书》。软件程序和应用实例见本书所附计算机磁盘。
附录 AAAA 三维三相黑油油藏数值模拟软件数据输入说明
Ⅰ《网格系统》
1、标题(40A2)2、网格块数和原油流变性及控制代码(315)
II=X 方向网格块数
JJ=Y 方向网格块数
KK=Z 方向网格块数
3、标题(40A2)
4、输入用到的代码(315)
KDX—控制 X方向网格大小输入方式的代码
KDY—控制 Y方向网格大小输入方式的代码
KDZ—控制 Z方向网格大小输入方式的代码
代码含义:
KDX=-1 X 方向网格大小相同(只需输入一个值)。
KDX=0 第一层(K=1)第一行的每一网格大小须读入。X方向相同列的网格相同
(须读入 II 个值)
KDY=-1 y 方向上网格大小相同(只须读入一个值)。
KDY=0 y 方向第一层(K=1)第一行的每一网格大小都需读入。Y方向相同列的
网格相同(须读入 JJ 个值)。
KDZ=-1 Z 方向网格大小(网格厚度)相同(只须读入一个值)。
KDZ=0 网格中各层读入不同厚度值(须读入 KK 个值)。
KDZ=+1 每个网格的 Z方向步长都须一一读入(须读入 II×JJ×KK 个值)。
5、x 方向网格大小(DX)(10F8.0)若 KDX=-1, 只读入一常数。
若 KDX=0 ,读入 II 个值(一列一个)。
若 KDX=+1, 读入(II×JJ)个值(一层中每一网格一值)。
6、y 方向网格大小(DY)(10F8.0)若 KDY=-1,只读入一常数。
若 KDY=0,读入 JJ 个值(一列一个)。
若 KDY=+1,读入(II×JJ)个值(一层中每一网格一值)。
7、Z 方向网格大小(DZ)(10F8.0)若 KDZ=-1,只读入一常数。
若 KDZ=0,读入 KK 个值(一层一个)。
若 KDZ=+1,读入(II×JJ×KK)个值(每一网格一值)。
Ⅱ《网格大小修正》
1、标题(40A2)2、网格大小改变的块数与打印代码(4I5)
NUMDX = x 方向网格大小改变的块数
NUMDY = y 方向网格大小改变的块数
NUMDZ = z 方向网格大小改变的块数
IDCODE = 打印代码:
IDCODE =0 表示不打印修正
IDCODE=1 表示打印修正
3、x 方向网格步长(DX)修正(3I5,F10.0)若 NUMDX=0,忽略修正
I=被修正网格的 x 坐标
J=被修正网格的 y 坐标
k=被修正网格的 z 坐标
DX=网格(I,J,K)在 x 方向的新步长值
注意:必须事先读入 NUMDX 值
4、y 方向网格步长(DY)修正(3I5,F10.0)若 NUMDY=0,忽略修正
I=被修正网格的 x 坐标
J=被修正网格的 y 坐标
k=被修正网格的 z 坐标
DY=网格(I,J,K)在 y 方向的新步长值
注意:必须事先读入 NUMDY 值
5、z 方向网格步长(DZ)修正(3I5,F10.0)若 NUMDZ=0,忽略修正
I=被修正网格的 x 坐标
J=被修正网格的 y 坐标
K=被修正网格的 z 坐标
DZ=网格(I,J,K)在 z 方向的新步长值
注意:必须事先读入 NUMDZ 值
说明:封闭边界外网格的 z 方向步长(有效厚度)不能绝对赋零,宜取内部点的 1%,否则影
响计算稳定性和收敛速度。
Ⅲ《网格顶部深度》
1、标题(40A2)2、深度输入代码(I5)
KEL=输入代码:
KEL=0,表示第一层各网格顶部的深度输入为一常数(水平地层);
KEL=1,表示第一层各网格顶部深度须输入不同值,共输入 II×JJ 个值。
3、深度(8F10.0)ELEV=网格顶部的深度,米
(KEL=0 时,读入一个值,KEL=1 时,输入 II×JJ 个值)。
第一层以下各层网格深度自动算出,其公式为:
TOP(I,J,K+1)=TOP(I,J,K)+DZ(I,J,K){注:网格顶部的深度。在本软件所选的坐标系中,z 方向值越往下越大,因此参考面下
的深度为正值,参考面以上取负值}Ⅳ 《孔隙度(Ф)和渗透率(K)分布》
1、标题(40A2)
2、输入用词的代码(4I5)
KPH=孔隙度数据输入控制代码
KKX=x 方向渗透率数据输入控制代码
KKY=y 方向渗透率数据输入控制代码。
KKZ=z 方向渗透率数据输入控制代码。
代号含义:
-1 对全部网格读入一常数
0 每 KK层读入一常数,每个单层其值可以不问(须读入 KK 个值);
+1 对每一个网格读入一值(读入 II×JJ×KK 个值)。
3、孔隙度值(10F8.0)
孔隙度值以小数读入(不是以百分数)
若 KPH=-1,只读入一常数;
若 KPH=0,读入 KK 个值(一层一个)
若 KPH=+1,读入(II×JJ×KK)个值(每一个网格一个值)
说明:封闭边界外网格孔隙度不能绝对赋零,宜取 0.01,否则影响计算稳定性和收敛速度。
4、x 方向渗透率(KX)(10F8.0)
其值以毫达西读入
若 KKX=-1,只读入一个常数
若 KKX=0,读入 KK 个值(一层一个)
若 KKX=+1,读入(II×JJ×KK)个值(每一网格一值)
5、y方向渗透率(KY)( 10F8.0)
其值以毫达西读入
若 KKY=-1,只读入一个常数
若 KKY=0,读入 KK 个值(一层一个)
若 KKY=+1,读入(II×JJ×KK)个值(每一网格一值)
6、z方向渗透率(KZ)( (10F8.0)
其值以毫达西读入
若 KKZ=-1,只读入一个常数
若 KKZ=0,读入 KK 个值(一层一个)
若 KKZ=+1,读入(II×JJ×KK)个值(每一网格一值)
说明:封闭边界外网格的各方向渗透率不能绝对赋零,宜取 0.001mD,否则影响计算稳定
性和收敛速度。
Ⅴ《孔隙度Ф、渗透率K分布修正》
1、标题(40A2)
2、Ф和/或 K变化的网格块数及打印代码(5I5)
NUMP=Ф变化的网格块数
NUMKX=KX 的变化的网格块数
NUMKY=KY 的变化的网格块数
NUMKZ=KX 的变化的网格块数
IPCODE=打印代码:
IPCODE=0 表示不打印Ф、K分布修正
IPCODE=1 表示打印Ф、K分布修正
3、Ф值修正(3I5,F10.0)
若 NUMP=0,忽略修正
I=修正网格的 x坐标
J=修正网格的 y坐标
K=修正网格的 z坐标
PHI=网格(I,J,K)新的Ф值(Ф值必须以小数输入)。
注意,必须事先输入 NUMP 的值。
4、KX 值修正(3I5,F10.0)
若 NUMKX=0,忽略修正
I=修正网格的 x坐标
J=修正网格的 y坐标
K=修正网格的 z坐标
KX=网格(I,J,K)新的 KX 值(毫达西)
注意,必须输入 NUMKX 的值
5、KY 值修正(3I5,F10.0)
若 NUMKY=0,忽略修正
I=修正网格的 x坐标
J=修正网格的 y坐标
K=修正网格的 z坐标
KY=网格(I,J,K)新的 KY 值(以毫达西)
注意,必须输入 NUMKY 的值
6、 KZ 值修正(3I5,F10.0)
若 NUMKZ=0,忽略修正
I=修正网格的 x坐标
J=修正网格的 y坐标
K=修正网格的 z坐标
KZ=网格(I,J,K)新的 KZ 值(毫达西)
注意,必须输入 NUMKZ 的值
Ⅵ 《导流系数修正》
说明:记住有关约定在说明导流系数修正时尤其重要。例如在网格(I,J,K)中:
TX(I,J,K)表示网格(I-1)和 I边界的导流系数
TY(I,J,K)表示网格(J-1)和 J边界的导流系数
TZ(I,J,K)表示网格(K-1)和 K边界的导流系数
1、标题(40A2)
2、导流系数改变的网格块数和打印代码(4I5)
NUMTX = x 方向导流系数改变的网格块数
NUMTY = y 方向导流系数改变的网格块数
NUMTZ = z 方向导流系数改变的网格块数
IDCODE = 打印代码:
IDCODE =0 表示不打印导流系数修正
IDCODE=1 表示打印导流系数修正
3、x 方向导流系数修正(3I5,F10.0)若 NUMTX=0,忽略修正
I=进行导流系数修正的网格的 x坐标
J=进行导流系数修正的网格的 y坐标
K=进行导流系数修正的网格的 z坐标
TX=网格(I,J,K)的新的 TX 值。
注意:NUMTX 必须赋值
4、y 方向导流系数修正(3I5,F10.0)
若 NUMTY=0,忽略修正
I=进行导流系数修正的网格的 x坐标
J=进行导流系数修正的网格的 y坐标
K=进行导流系数修正的网格的 z坐标
TY=网格(I,J,K)新的 TY 值。
注意:NUMTY 必须赋值
5、z 方向导流系数修正(3I5,F10.0)若 NUMTZ=0,忽略修正
I=进行导流系数修正的网格的 x坐标
J=进行导流系数修正的网格的 y坐标
K=进行导流系数修正的网格的 z坐标
TZ=网格(I,J,K)新的 TZ 值。
注意:NUMTZ 必须赋值
VIIVIIVIIVII《相对渗透率和毛管压力间的关系》
1、标题(40A2)2、读入相对渗透率和毛管压力表(6F10.0)
SAT1 KRO1 KRW1 KRG1 PCOW1 PCGO1
׃׃׃׃ ׃׃׃׃ ׃׃׃׃ ׃׃׃׃ ׃׃׃׃ ׃׃׃׃׃׃׃׃ ׃׃׃׃ ׃׃׃׃ ׃׃׃׃ ׃׃׃׃ ׃׃׃׃׃׃׃׃ ׃׃׃׃ ׃׃׃׃ ׃׃׃׃ ׃׃׃׃ ׃׃׃׃
SATn KROn KRWn KRGn PCOWn PCGOnSAT---本相饱和度值(SAT1 取-0.10,SATn 取 1.10,饱和度值以小数读入)
KRO=油相的相对渗透率,小数
KRW=水相的相对渗透率,小数
KRG=气相的相对渗透率,小数
PCOW=油-水毛管压力,MpaPCGO=气-油毛管压力,MpaSAT 表示每一项的饱和度,如:
SAT=0.20,KRO 表示含油饱和度为 20%时的油的相对渗透率,KRW 表示含水饱和度为 20%时的水的相对渗透率,KRG 表示含气饱和度为 20%时的气的相对渗透率,PCOW 表示含水
饱和度为 20%时油-水的毛管压力,PCGO 表示含气饱和度为 20%时气-油的毛管压力。
VIIIVIIIVIIIVIII《流体 PVTPVTPVTPVT数据表》
1、标题(40A2)2、泡点压力、未饱和油特性,最大 PVT 压力(5F10.0)
PBO=原始油泡点压力(绝对),MpaVSLOPE=不饱和(压力高于泡点压力)状态下,油的粘度对压力曲线的斜率,
其值为△μ0/△P,厘泊/Mpa
BSLOPE=不饱和(压力高于泡点压力)状态下,油的体积系数 Bo 对压力曲线的斜率,
其值为△B0/△P 米 3(地下)/标准米 3(地面)/Mpa
RSLOPE=不饱和(压力高于泡点压力)状态下,溶解油气比 Rso 对压力曲线的斜率,
其值为△RSO/△P 米 3/米 3/Mpa(其值通常为 0)
Pmax=PVT 表中最大输入压力(绝对),MPa
3、标题(40A2)
4、油的 PVT 表(8F10.0)
P1 MUO1 BO1 RSO1┆ ┆ ┆ ┆
Pmax MUo.Pmax Bo.Pmax Rso.PmaxP=压力(最后输入的压力必须是 Pmax),MpaMUO=饱和油粘度,厘泊
BO=饱和油体积系数,地下米 3/地面(标准米 3)RSO=饱和油溶解油气比
5、水 PVT 表(8F10.0)P1 MUW1 BW1 RSW1
┆ ┆ ┆ ┆
PMAX MUw.Pmax Bw.Pmax Rsw.PmaxP=压力(绝对),Mpa,(最后输入的压力必须是 PMAX)MUW=水的粘度,厘泊
BW=水的体积系数, 地下米 3/地面(标准米 3)RSW=水的溶解水气比,米 3/米 3
一般,黑油模型中假定水中溶解的气可忽略,这样,使得任何压力下 RSW=0。本软件的方法
是把水的 PVT 编成表,处理从地下含水层中产气的情况,并且认为水中气的溶解度对问题
的求解是有意义的.6、标题(40 A2)7、气体 PVT 表和岩石的压缩系数(8F10.0)
P1 MUG1 BG1 RSG1
┆ ┆ ┆ ┆
PMAX MUg.Pmax Bg.Pmax Rsg.PmaxP=压力,Mpa (最后输入的压力必须是 PMAX)MUG=气的粘度,厘泊
BG=气体的体积系数,米 3(地下)/米 3(地面)CR=岩石的压缩系数,1/MPa
8、标题(40 A2)9、地面流体密度(8F10.0)
RHO SCO=地面油密度,克/厘米 3
RHO SCW=地面水密度,克/厘米 3
RHO SCG=标准状况下气体的密度,千克/米 3
IXIXIXIX《原始压力和饱和度》
BOAST 对原始压力和饱和度有两种选择。平衡条件下,原始压力分布可通过给定气 -油接触面和油-水接触面以及两种接触面压力计算出来;原始非平衡条件下,原始压力分布可
以逐个网格块读入。饱和度(SO,SW,SG) 可以在整个网格系统中作为常数读入,也可以把 SO和 SW 分布逐个网格块读入,再由 SG=1-SO-SW 算出每一网格块的 SG 值。
1、标题(40 A2)2、原始压力和饱和度控制代码(2 I5)
KPI=原始压力代码
KSI=原始饱和度代码
代码含义:
KPI=0,采用相等的原始压力,要求输入气/油、油/水接触面压力及接触深度。
KPI=1,采用不相等的原始压力,要求读入每一网格压力值
KSI=0,整个网格中原始油、气、水饱和度为常数。
KSI=1,读入每一网格油、水饱和度,每一网格的含气饱和度由程序算出。(必须读入
油、水两相各 II×JJ×KK 个饱和度值)。
3、原始压力数据(10F8.0)若 KPI=0,(原始压力相等)PWOC=水/油接触面压力,Mpa(绝对)PGOC=气/油接触面压力,Mpa(绝对)WOC=基准面到水/油接触面深度,米GOC=基准面到气/油接触面深度,米若 KPI=1(原始压力不相等)每一网格读入一原始压力(读入 II×JJ×KK 个)
4、原始饱和度数据(10 F8.0)若 KSI=0(定饱和度状态)SOI=各个网格的原始含油饱和度,小数
SWI=各个网格的原始含油饱和度,小数
SGI=各个网格的原始含气饱和度,小数
若 KSI=1(原始非定态)SO 数组::对每一网格读入原始含油饱和度(读入 II*JJ*KK 个值)。SW 数组::对每一网格读入原始含水饱和度(读入 II*JJ*KK 个值)。
X《调整和诊断代码》
程序在调整中提供了几个诊断输出控制代码,这些代码一般取为零。这些代码不提
供数据输入方面诊断信息,使这些代码赋非零值,将输出大量诊断信息。
1、标题(40A2)
2、诊断输出控制代码(5I5)
KSN1=线松弛法参数调整输出控制
KSM1=矩阵解法参数调整输出控制
KCO1=压缩系数和体积系数调整输出控制
KTR=导流系数调整输出控制
KCOFF=密度和饱和度调整输出控制
代号含义:
0 表示不打印诊断输出
1 表示打印诊断输出
XI 《运算控制参数》
1、标题(40A2)
2、运算控制参数(I5,7F10.0)
NMAX=允许运算的最大时间步长数
FACT1=自动控制时间步长时,时间步长的增加系数(固定时间步长时,令FACT1=1.0),
其值一般取为 1.25。
FACT2=自动控制时间步长时,时间步长的减小系数(固定时间步长时,令FACT2=1.0),
其值一般取为 0.5。
TMAX=允许模拟的最长时间,天
WORMAX=油区最大油水比(当生产油水比高与其值时运算停止)。
GORMAX=油区最大油气比(当生产油气比高与其值时运算停止)
PAMIN=油区最小平均压力(绝对),MPa
(当油藏平均压力低于此值时运算停止)
PAMAX=油区最大平均压力(绝对),MPa
(当油藏平均压力高于此值时运算停止)
XIIXIIXIIXII《解法说明》
1、标题(40A2)
2、解法控制代码(2I5,6F10.0)
KSOL=解题代码
解题代码含义:
1表示用直接法-条带算法(用于一维)
2表示用线松弛法(用于二维和三维问题)
3表示用直接法-D4 算法(用于二维问题)
MITR=线松弛法每一时间步长迭代的最大次数,一般取值为 250
OMEGA=线松弛时初始加速参数,OMEGA 初值应为:1.0<ω<2.0,有时取为 1.7,程序中优
化ω提高解题速度。
TOL=线松弛迭代收敛时允许的最大压力变化值,MPa,取值为 0.100。
TOL1=ω变化的决定参量,取值为 0.001。
(若 TOL1=0,上面输入的初始ω值将参与运算)。
DSMAX=一个时间步长内允许饱和度变化的最大值,小数。如果在一时间步长内,任一
流体饱和度在任一网格上的变化超过 DSMAX 值时,时间步长将据 FACT2 而减小,
取 DSMAX=0.05。
DPMAX=一个时间步长内允许的压力变化的最大值,MPa。如果在一时间步长内,任一流
体饱和度在任一网格上的变化超过 DSMAX 值时,时间步长将据 FACT2 而减小,
一般取 DPMAX=0.5MPa。
XIIIXIIIXIIIXIII 《循环数据》
在模拟运算中,循环数据被重复输入。这些数据包括网格中井的技术条件的说明,完井
条件的改变和油田开发时间、井产量和/或压力动态时间记录表,控制模拟预测的时间步长,
为模拟器提供打印类型及频率信息。
如下所示是循环数据输入结构流程图:
1、标题(40A2)只读入一次,表示循环数据的开始
是
不
输入循环数据
读标题卡(只读一次)
读入时间步长和输出控制数据
(两卡一组)
IWLCNG=1 ?
读新值或改变单井资料
IWLCNG=0
时间步长和输出控制
模拟开始时,必须输入时间步长和输出控制两张卡片,并且在每一时间间隔一开始被定
义。
1、时间步长和输出控制代码(9I5)(1)IWLCNG=告诉程序是否在该时间步长内读入单井资料
代码含义:
IWLCNG=0 该时间步长内不读入单井资料
IWLCNG=1 该时间步长内读入单井资料
若 IWLCNG=1 单井资料必须读入,新的单井资料将在下一时间步长内使用。
(2)ICHANG=本次输出控制和时间步长控制所覆盖的时间步数。
(3)IWLREP=控制打印井报告的输出控制代码。
(4)ISUMRY=控制打印时间步长概况的控制代码。
(5)IPMAP=控制打印网格压力图的输出控制代码。
(6)ISOMAP=控制打印网格含油饱和度的控制代码。
(7)ISWMAP=控制打印网格含水饱和度的控制代码。
(8)ISGMAP=控制打印网格含气饱和度的控制代码。
(9)IPBMAP=控制打印网格饱和压力的控制代码。(通常令 IPBMAP=0)其值含义:
0—不打印报告、数组
1—本时间段每一时间步长打印报告/数组
2—将该数据单独存放到另一个文件中。此功能用于数据过多,用同一个文件存
储长度过大的情况,或者要对某一类数据做重点研究的情况。
3—建立再次连续运行的输入数据文件,将该时间步压力和饱和度分布存入文件。
2、时间步长控制信息(3 F10.0)DT=初始时间步长,天(如果超过了饱和度和压力界限,初始时间步长将随着自动
控制时间步长而减小)
DTMIN=在该段时间内最小时间步长,天。(该值往往取 0.1 天)
DTMAX=在该段时间内最大时间步长,天。(该值不超过 30 天)
XIVXIVXIVXIV《单井资料》
只有当前面时间步长和输出控制卡上 IWLCNG=1 时,才读入下面的卡片。
1、标题(40 A2)
2、网格中总井数(I5)
NVQN=读入单井资料的井数
3、单井资料(A5,5I5,4F10.0)WELLID=最多 5 个字符的井名
I=包括该井的网格的 x 坐标
J=包括该井的网格的 y 坐标
PERF1=该井最上一个的完井层的层系号
NLAYER=连贯完井层总数
KIP=说明井的类型,井定产量或定井底流压下生产(或注入)动态,以及显式或隐式
井压力计算的代码,多数情况下,用显式压力计算。
代码含义:
KIP=3,气井——定产量
KIP=2,水井——定产量
KIP=1,生产井(油井)——定产量
KIP=-1,生产(油)井——原始压力和井底流压控制(显式压力计算)
KIP=-2,水井——原始压力和井底流压控制(显式压力计算)
KIP=-3,气井——原始压力和井底流压控制(显式压力计算)
KIP=-11,生产(油)井——原始压力和井底流压控制(隐式压力计算)
KIP=-12,水井——原始压力和井底流压控制(隐式压力计算)
KIP=-13,气井——原始压力和井底流压控制(隐式压力计算)
(气井只注气,水井只注水,而油井则可采出油气水三种流体)
QO——采油量,米 3/天(仅当 KIP=1,且 QT=0 时可以不为零)QW——注水量,米 3/天(仅当 KIP=2 时可以不为零)QG——注气量,米 3/天(仅当 KIP=3 时可以不为零)QT——采液量,米 3/天 (仅当 KIP=1,QO=0 时可以不为零)。QT 为采油量 、采水量和
采气量之和,是油藏的消耗量。
对每一口井,上述四个注采量控制数据只能有一个不为零。读入时约定符号:流
体注入用负号,流体采出用正号。
4、单井资料卡片(2 F10.0)对每一井号要读入 NLAYER 个卡片,每一卡片说明每一完井层的分层流动系数和井层
的流压,因此 NLAYER 必须读入。第一张卡片必须读入最上面一个完井层,其余卡片
读入以下各层。如果井定产(KIP=1,2,或 3)则不用 PWF,应取为零。而油藏压力用来
计算井的井底流压,该流压将在单井报告中打印出,但不会以任何方式来控制井动态。
(1) PID=单层采油指数
计算公式:
SDYDXkhPID
w
+×
=)121.0ln(
00708.0
γ
这里 K—— 单层绝对渗透率,毫达西
h——单层(网格)厚度,米
D X——x 方向网格步长,米
DY——y 方向网格步长,米
γw——井半径,米
S——表皮系数(污染系数)
(2)PWF——单层的井底流压,Mpa。(若井定产,即 KIP>0 时,令 PWF=0,该值不用)。
特别强调,在模拟中任何时间,井数都可能增加或重新完井。然而一旦指明一口井(层),以后该井(层)单井资料卡片每次都必须读入,即该井必须在后面每次输入单井资料时都加以
描述,即使该井或层关闭,关一层,则令该层 PID=0,关井,则令各层 PID=0。卡片 3 和 4必须读入,NVQN 必须读入。