Eclipse培训教材3.docx
《Eclipse培训教材3.docx》由会员分享,可在线阅读,更多相关《Eclipse培训教材3.docx(19页珍藏版)》请在冰豆网上搜索。
Eclipse培训教材3
资料概括
目录
·数模需要的数据
·数摸如何初始化
·通常,数模如何进行?
一个模型是一组描述油藏的数据,而一个模拟器是计算油藏压力和饱和度分布的一个作为时间函数的程序
建立模型
·象其它任何模型一样,模型建立得越接近真实油藏,模型越好
·由模拟器完成计算出的油藏与真实油藏相比较,来检查模型的质量(历史拟合阶段)
·一旦建立起接近了真实油藏的模型后,该模型就可以用来研究在变化产生影响的未来油藏的策略
物质平衡
·数值模拟的目的就是要确定作为时间函数的压力和饱和度的变化
·油藏按水平和垂直方向被分成几个块
·每个网格块内压力和饱和度的变化由在每个网格块上完成一个物质平衡计算来确定
·因为油藏当作一组块来描述,对不同的块heterogeneities能按分配的不同体积来考虑
·鉴于油藏被分成几个块,并考虑了heterogeneities,模拟器将表示这些面积内的油藏不会被消耗尽
资料要求
为在每个网格块内完成物质平衡计算,模拟器需要知道:
·每个网格块内的初始压力和饱和度
·在X、Y、Z方向的传导率
·来自每个块的生产和注入情况
总体积和中深
·每个网格块的长度和深度是不同的
·可计算总体积=DZ*DY*DZ
·块中深计算=顶深+DZ/2
孔隙体积
孔隙体积,网格到GROSS和净厚度从图中分配到每个网格中
孔隙体积计算=DX*DY*DZ*NTG*PORO
渗透率
·每个网格块的渗透率既可从图中也可由一组相关关系来指定
·任何流动面的传导率可计算=KA/L
平衡初始化参数
深度数据,压力数据和流体接触关系都详细作以说明
·这些数据,油、水、气的压力作为深度的函数列入表中
·这类表用流体变化梯度从PVT数据中提取
·在中深每个网格块其压力可从表中确定
初始油、气、水饱和度(不在过渡带)
·对不处于同一过渡带的每个块,可从相对渗透率最低点来确定初始水和气饱和度
·油饱和度通常由1-Sw-Sg
初始油、气、水饱和度(在过渡带)
·在过渡带,初始油、气饱和度值从Sw或Sg相对毛管压力表中确定
·当相态压力间不同时毛管压力可被计算出
Pcow=Pw-Po=△rh
Pcog=Pg-Po=△rh
完井,生产和注入数据
完井、生产和注入数据作为时间的函数作如下说明:
·井位坐标·射孔层位·生产/注入速率
时间步长
关于这一点,我们提供每个网格块需要完成一个物质平衡计算的所有数据
·完成物质平衡计算的一个时间间隔由用户指定,该时间间隔被确定为一个时步,间隔大小被确定为时步大小
·当一个时步结束模拟器为每个网格块计算出压力和饱和度
·一旦压力和饱和度在时步结束时被确定下来,可用作下一个时步的初始条件
数据摘要
DX,DY,DZ,Phi,K,Dznet,NTG,PVT,Kr,Pc,Pi,OWC,GOC,Prod,Inj
第二章文件
ECLIPSE100系列程序由六个子程序组成
ECLIPSE全隐、黑油油藏模拟器
EDIT有资料输入和及时帮助的一个编辑器
GRAF作图程序用于产生
FILL网格结构和插入程序
VFP用于产生井眼水动力表的程序
PSEUDO产生拟函数的程序
ECLIPSE100输入文件
·产生的文件是ASCII文件用于任何编辑器
·EDIT文件有及时帮助,输入控制板和在正确格式下将数据写到文件中
用其它程序产生数据
·用GRID程序产生网格文件
·用VFP程序产生井眼水动力表
·用PSEUDO程序产生拟函数
·用SCHEDULE程序产生完井、生产和注入数据
ECLIPSE100输出文件
·产生ASCII打印文件
·产生一个初始化文件,通常为二进制,但能转换为ASCII
·对每个时步产生汇总文件,通常为二进制,但能转换为ASCII
·为指定时步产生重启动文件,通常为二进制,但能转换为ASCII
ECLIPSE100文件名
数据输入文件*.DATA*.DAT
以下为单一文件输出
文件类型UNIX文件名ANSI文件名
打印文件*.PRT*.PRT
初始文件:
格式化*.INIT*.INI
非格式化*.FINIT*.FIN
保存文件:
格式化*.SAVE*.SAV
非格式化*.FSAVE*.FSV
汇总文件:
格式化*.UNSMRY*.USY
非格式化*.FUNSMRY*.FSY
重启文件:
格式化*.UNRST*.URS
非格式化*.FUNRST*.FUR
以下为多文件输出
汇总文件
格式化*.Annnn*.Ann*.Bnn*.Cnn
非格式化*.Snnnn*.Snn*.Tnn*.Unn
重启文件
格式化*.Fnnnn*.Fnn*.Tnn*.Unn
非格式化*.Xnnnn*.Xnn*.Ynn*.Znn
第三章输入规则概括
关键字部分
·ECLIPSE输入数据文件由八部分组成
·常用需要五部分
·每部分每个关键字必须打头,并用在指定任何数据或那部分关键字前
·每部分必须用命令引导来指定
·每个部分关键字要顶头写,不能空格
RUNSPEC用于定机器需多少内存才能解方程,告诉它PVT、WELL数有多少等
GRID网格尺寸大小,构造深度,总砂层厚度,孔隙度,渗透率,净厚度
EDIT修改传导率和孔隙体积
PROPS用于输出PVT特征,流体密度,相对渗透率曲线,毛管压力
REGIONS定义PVT、相对渗透率、平衡区和输出报告区域
SOLUTION定义初始油藏压力、油水界面、油气界面、泡点及露点压力
SUMMARY定义许多变量来输出GRAF所需要的数据
SCHEDULE生产速率、注水速率、观察动态压力,完成历史拟合
END
数据输入规则
·每类数据必须由一个关键字引导
·关键字必须在第一列顶头
·数据与关键字不能在同一行
·数据应再起一行开始或行可以是空行
·基于关键字,ECLIPSE知道是什么数据并且响应命令就指定了
·用户能指定给ECLIPSE什么数据能缺省、空行、插入
·数据可是自由格式
·从第一列到132列可以用COLUTION关键字修改
通常格式
·在数据开始前关键字必须被指定
·用关键字开头在关键字之后数据被关联
如:
KEYWORD或KEYWORD
datavalues/datavalues/
……
morevalues/
/
注释行
·任何行开始用两个短线(--)被处理成注释行
·命令可放置在短线--之后表示一行数据或设置的数据
数值多样性问题
·多值可以通过指定数值的号码来定义,一个重复的符号*,或重复数值
·对多值来讲,在重复符号前或后都不能有空格
·5*0.2等同于0.20.20.20.20.20.2
·接收多个缺省数值,可通过指定缺省号和重复号
·在重复号前没有空格
·5*等同于1*1*1*1*1*
表格
·仅用一个关键字来指定表格
·每个表结束用一个“/”
·如果在一个表中用一个1*代表某一个值,则ECLIPSE将在表中完成该值的插值计算
如:
SWOF
--SWKRWKROWPCOW
0.00.01.07.0
0.200.00.61*
0.301*0.41*
0.501*0.151*
0.700.40.01*
1.01.00.00.0
/ENDOFTABLE
选择关键字
·选择关键字可用来指定不同计算选项
·对输入数值关键字可以在任何地方来指定
部分关键字
ECHO启动每行的读入并被打印
NOECHO关闭打印读出的每行
MESSAGES控制信息号码,打印警告和错误,或运行前查错终止运行
NOWARN终止所有ECLIPSE警告信息
INCLUDE指定外部文件的读入
错误信息
·模拟器报告信息、警告、错误和
·信息包含有资料并一般不指出数值问题
·警告指出可能的数值问题,如果数值不正确用户应读或修改它们
·如果有错误,模拟器将不执行下去。
对指出的错误模拟器不知道如何解释数据或有关部门的信息一直没有说明
正如诸多模拟器一样,在列出错误表的开始和在你的工作路径下修改错误是最好的,通常情况下,一个错误的产生将不止一个信息(单位INPUT25)
第五章RUNSPEC部分
在数据文件中,RUNSPEC部分应是第一部分,它控制数据主要用于确定内存,包括网格维数、井数、PVT数、相对渗透率表,以及选择去激活它们。
注释行放置在RUNSPEC关键字前,可放在每行数据后,或在行数据最后。
在RUNSPEC关键字之后,第一行是标题行,标题行将被打印在每份报告页顶头
RUNSPEC关键字汇总(5-13页)
第六章GRID部分
块中心网格
定义方法:
DX
500/
DY
400/
DZ
5050/
TOPS
7000/
块中心网格
网格部分
·不管什么模拟器,指定给模拟器的大多数网格数据是相同的
·网个部分由大量的数据组成
·该部分通常由GRID程序产生
·需要检查关键字和格式化初始数据
·需要检查关键字和格式化修改数据
定义网格
·ECLIPSE提供两类几何网格
1.块中心
2.点中心
·块中心网格可确定为垂直规则网格或正交网格
·点中心网格可确定为非垂直规则网格或非正交网格
两种网格类型比较
块中心点中心
容易定义难于定义
不需要程序需要程序
与其他模拟器可兼容不支持其他模拟器
难于追踪油藏边界灵活不规则网格
GRID数据部分
·GRID部分常用于指定:
网格维数、网格深度、毛厚度、孔隙度、渗透率、净与毛厚度比率或净厚度
·在模型中每个网格都需要这些数据
定义网格数据
·分配网格参数到每个块,需要知道如何指定给ECLIPSE提到的那个块
·同样需要知道提及到的那个节点
·当谈到图和节点时,涉及到X、Y、Z的协调
·到涉及需详细指定块时,可使用I、J、K来定义
·当涉及到流体界面时,可使用I+、I-、J+、J-、K+、K-来定义
网格编号
·网格原点坐标在网格顶部、背部、左上角
·块和节点被从左到右、从后到前、从顶到底
·应知道每个网格有8个节点数从左到右、从后到前、从顶到底
块中心网格数据的定义
·为定义块中心网格,我们需要制定每个网格在X、Y和Z方向的维数、深度
·用DX、DY关键字来定义X、Y方向
·DX的IMAX值被指定,DX可是一个常数
·DY的JMAX值被指定,DY可是一个常数
·块中Z的维数由块的毛厚度来定义
·使用TOPS关键字来指定每个块的顶部深度
角点网格数据的定义
·要定义角点网格需要指定每个块的8个角点坐标(X、Y、Z)
·每个节点的X和Y坐标使用COORD关键字由CO-ORDINATELI来定义
·Z坐标使用ZCORN关键字,由指定每个节点的深度来定义
定义死网格(死节点)
·拥有零孔隙体积的网格可自动作为无效网格
·网格拥有零孔隙体积或零净厚度可自动设置零
·用ACTNUM关键字网格可人为设置成无效网格
·使用MINPV关键字,有小孔隙体积的网格将自动设置成无效网格
例1:
ACTUNM
0011100000
0111111100
0111111100
0111111100
0011111000
0000011000
/
例2:
MINPV
5000/
特征参数
用于描述特征参数的关键字是:
porosityPORO
permeabilityPERMXPERMYPERMZ
net-togroosratioNTG
netthicknessDZNET
数据可以使用任何一种描述的输入格式来指定(BOX或EQUALS)
输入数据格式
数据可以被指定为:
·对每一个块或块中的一小范围内使用BOX或ENDBOX关键字
·作为油藏或块中一小范围是常数时使用EQUALS关键字
·拷贝一排数据到另一排,使用COPY关键字
·读取由GRID或其它外部文件产生的文件数据时,使用INCLUDE关键字
例3:
BOX
--I1I2J1J2K1K2
137922
/
PORO
9*0.30/
PERMX
9*230/
ENDBOX
例4:
EQUALS
--arrayvalue------box--------
'DZ`50/
'PERMX`1000/
'PORO`0.32151911/
'PORO`0.23151922/
'NET`0.9/
'PERMX`350/
例4:
COPY
--sourcedestination------box------
'PERMX`'PERMY`/
'PERMX`'PERMZ`/
/
例5:
INCLUDE
'GRID.DAT`/
INCLUDE
'Porosity.Dat`/
INCLUDE
'PERM.DAT`/
INCLUDE
'DZNET.DAT`/
修改数据
·在历史拟合过程中,需要改变原始数据
·用MULTIPLY关键字可以修改孔隙体积和渗透率
·用MULTX,MULTY和MULTZ关键字可以修改传导率
·用MULTPV可以修改孔隙体积
·用FAULTS关键字由第一个定义的断层来修改过断层的交换,然后使用MULTFLT关键字来定义传导率因子
·在EDIT部分也有修饰语句来定义修改部分
例6:
MULTIPLY
--Keywordvaluebox
'PORO`0.9132523/
'PERMZ`0.1/
/
ADD关键字用法
·ADD关键字的用法正如象MULTIPLY关键字一样,ECLIPSE增加值到每个存在的值中去
·通常的格式:
ADD
--arrayconstant-------box-------
'TOPS`100253313/
/
MULTX、MULTY、MULTZ关键字的使用
·这几个关键字用于在块之间修改传导率
例7:
BOX
464513/
MULTY
18*0/
ENDBOX
(以上数据将设置一个非流动边界)
MULTPV关键字
·该关键字可用于修改孔隙体积
例7:
BOX
11012011/
MULTPV
200*1.2/
/
FAULTS和MULTFLT关键字的用法
·断层使用FAULTS关键字定义
·在断层关键字被定义之后,使用MULTFLT关键字可定义一个传导率乘数
·该乘数用于整个断层
例8:
FAULTS
--FALUTSNAMEI1I2J1J2K1K2FACE/
/
MULTFLT
FAULTNAME1MULTILIER/
FAULTNAME1MULTILIER/
/
OUTPUT关键字
RPTGRID控制数据写到打印文件中
INIT网格数据被写到初始化文件中由GRID和GRAF运用
BOUNDARY为输出定义一个块,仅将定义的块输出到该块中的打印文件里
第七章EDIT部分
·EDIT部分常用于修改孔隙体积、传导率和块中心深度
·其值的大小可以用BOX、ADD、COPY、EQUALS、MULTIPLY格式来定义,正如象GRID部分中所陈述一样。
EDIT部分的关键字
·DEPTH关键字可以被用来定义网格中深
·PORV关键字可用于修改孔隙体积
·TRANX、TRANY、TRANZ关键字可用于修改正常连接
·EDITNNC关键字能用于修改非—相邻网格连接问题
例9:
EDIT
BOX
11143866/
PORV
24*0.0/
ENDBOX
MULTIPLY
'TRANX`538133/
'TRANZ`0/
'PORV`1.1/
/
EDITNNC
--Cell1Cell2
--XYZXYZFactor
4514530.3/
618461760.0/
/
TRANX和MULTX
·TRANX、TRANY、TRANZ关键字不是累积渐进,因此一个10的乘数由一个乘数跟着
·MULTX关键字是累积渐进,因此跟着10的乘数
第八章
第九章第八章PROPS部分
PROPS部分主要组成为:
·油、气、水的PVT资料
·在储罐条件下流体的密度
·相对渗透率资料
·毛管压力资料
·岩石压缩系数资料
表
·PVT和相对渗透率资料都用表格形式输入
·当详细指明给模拟器一些表数据时,应该:
—为基础数据点绘制曲线并检查这些数据
—确信曲线数据是圆滑的,在曲线上没有不光滑点
—输入足够的点以便精确定义该曲线
PVT数据
·所有流体的PVT性质是压力的函数,没有组成的影响
·在油藏中PVT数据需要去为目前的流体定义
·指定PVT数据的压力应覆盖压力的范围,特别是在模拟期间。
这就意味着表中的大气压力应该在油田的最高注入压力之上。
定义活油的PVT数据
·在PUNSPEC部分(OIL和DISGAS)指定油和溶解气的存在
·定义PVCO关键字
·作为饱和压力函数的油组份体积因子的饱和度值、溶解气油比、油粘度都被定义
·泡点压力以上,作为饱和压力的函数的油压缩系数和粘度应被定义,以确定低于饱和压力以下的值
例10:
PVCO
--PoRsoBoVoCoCv
14.70.0001.0001.051.0E-52.7E-5
12000.5001.0381.111*1*
20000.8281.0631.061*1*
28001.1301.0871.001*1*
36001.3901.1100.951*1*
44001.6001.1300.921*1*
/terminatestable
PMAX
5000/
定义死油的PVT数据
·在PUNSPEC部分指明油是存在的
·无溶解气存在
·定义PVDO关键字
·仅在低于饱和区范围以下,油组份的体积因子和油的粘度作为压力的函数来定义
·定义溶解气-油比为常数,用于RSCONST和RSCONSTT
例11:
PVDO
--PoBoVo
14.71.0001.164
400.00.9961.167
12000.9981.172
20000.98031.177
28000.97241.181
36000.96461.185
44000.96071.190
/terminatestable
定义干气的PVT数据
·假定露点压力不重要或不可利用
·特别是在RUNSPEC部分,有气体存在(GAS)
·不要指定在RUNSPEC部分存在汽化油(VAPOIL)
·定义PVDG关键字
·作为压力的函数,定义气体组份体积因子和气体的粘度
·作为常数值,汽化油能用PVCONST和RVCONSTT关键字来定义
例12:
PVDG
--PgasBgasVisgas
14.7178.00.012
4005.900.013
12001.960.014
20001.180.015
28000.840.016
36000.650.017
44000.540.018
48000.490.0185
52000.450.019
56000.420.195
定义湿气PVT
·在RUNSPEC部分定义气体是存在的
·定义在RUNSPEC部分存在汽化油(VAPOIL)
·定义PVTG关键字
·作为压力的函数,定义气体组份体积因子、溶解油气比和气体的粘度
·干气的数据逐渐消失,就湿气来讲可解释为有限数量的油溶解在气体中,
·在表中最高压力点需要汽化气的值为零
例13:
PVTG
--PPvBgVg
300.000140.05230.0234--wetgas
0.00.05210.0238--drygas
900.000120.01320.0252
0.00.01310.0253
1500.000150.008770.0281
0.00.008610.0275
2100.000190.005440.0318
0.00.005550.0302
2700.000290.004170.0355
0.00.004210.0330
3300.000490.003570.0392
0.00.003610.0358
5300.000600.003560.0393
0.00.003600.0359
/
定义水的PVT特性
·在RUNSPEC部分需定义水存在于油藏(WATER)中
·水的PVT数据用PVTW关键字
·每个PVT部分的数据由一行组成
·目前,气油不允许溶解在水中
例14:
--WATERPROPERTIES
PVTW
--ref.pres.BwCwViswCv
36001.0033.0E-60.5230.0/
指定多样性PVT表
·如果需要有API重度范围或不同的PVT区域,一组以上的PVT数据需要被指定给模拟器
·在RUNSPEC部分表的数目需要说明
·每个关键字仅指定一次
·每个表结束用“/”
例15:
PVTO
Tablenumber1
/
Tablenumber2
/
PVDG
Tablenumber1
/
Tablenumber2
/
PVTW
Tablenumber1
/
Tablenumber2
/
储罐密度和重度
·无论表面密度或重度,必须为油、水、气所指定
·用DENSITY关键字定义密度
·用GRAVITY关键字指定重度
·确信使用的关键字能正确定义参数
·检查单位
--SURFACEDENSITIESOF
--RESERVOIRFLUIDS
DENSITY
--OLIWATERGAS
4563.00.0702
/
饱和度函数
·饱和度函数与相对渗透率和毛管压力有关
·相对渗透率和毛管压力在同一表中指定
·必须为一些可动流体指定数据,以确定流体的可变性
·在过渡带外,相对渗透率的最低点饱和度值常认为是水和气的初始饱和度
·在过渡带水和气的饱和度值,由毛管压力表中的数据来确定
第一十章REGIONS部分
Regions部分
·平衡区可选
·有许多类型的平衡区,在此教程中