ECLIPSE WORKFLOW TRAINING
ECLIPSE工作流练习从油藏建模开始,经过历史拟合,直到完成后期开发生产方案的设计。其目的是利用ECLIPSE数模工具,帮助学员掌握油藏数值模拟的基本工作流程。
1. 油藏基本条件:
该油藏面积为10923×11225×384 feet,为一背斜油藏。两条南北向的主断层穿过油藏,分别为Fault1和Fault2。另有一条次断层Fault3。已知油藏顶面构造等值线图(TOPS1—TOPS6)和各层的孔隙度、渗透率、有效厚度等属性。
层2是一砂泥岩混合层,渗透率和孔隙度较低。层3存在不整合面。整个油藏的Kv/Kh 比为0.05。
该油藏是一饱和油藏,一个小的气顶存在油藏上部。油气界面深度为2300 feet;油水界面深度为3000 feet,在油水界面处地层初始压力为4000 psia。油藏的泡点压力为3814.7 psia。在2000 feet和4000 feet处分别测得Rs为0.77 Mscf /stb。在油藏第4层的边缘大约3700 feet处附有一小水体,提供底水驱能量。地质学家估计的水体参数如下表:
整个油藏的地质储量为:
2. 流体PVT参数、岩心分析数据
通过相态分析,拟合差异分离试验和单次闪蒸数据,得到流体PVT高压物性参数如下。
地面条件下原油的API重度为35,水的相对密度为1.00960 ,气体的相对密度为0.75。
在参考压力为3814.7 psia条件下,水的体积系数为1.0231rb /stb,粘度为0.94 cp,压缩系数为3.1E-6 /psia。
干气的P-V关系测定数据:
饱和原油的P-V关系测定数据:
测得岩石的压缩系数为4E-6 /psia,参考压力为3214.7 psia。
由于缺乏试验条件,该油藏未作相渗试验,因此只能借用相近油藏条件的部分端点值数据,利用Corey相关公式计算相渗曲线数据。
3.井数据和管理
该油藏从1980年1月1日开采,共有四口生产井(PROD1、PROD2、PROD3、PRODUCER),采用衰竭式开采。其中,PROD1和PROD3属于井组EAST,PROD2和PRODUCER属于井组WEST。已知井斜数据和射孔段数据,井底流压的测量值和生产月度报表。
练习1 数值模拟模型的建立
内容
a.利用FloGrid完成网格建模的前处理,生成*.grdecl文件;并加入断层迹数
据,在3D 中浏览;
b.利用Schedule处理井斜数据、射孔、井底流压和生产数据,生成*.sch文
件;
c.利用ECLIPSE Office,完成网格模型、流体物性、岩心分析数据的录入,以
及油藏初始化工作;
d.导入井史数据,利用Result和Report模块,比较模拟结果与历史数据,包
括单井的产水、产油和产气量,井底流压、含水率和气油比。
数据文件
a.顶部构造等值线图(tops1.dat~tops6.dat),坐标原点为(549500,
6.798E6);
a.渗透率、孔隙度、NTG的2D平面图(PERM*.UGC、PORO*.UGC、
NTG*.UGC);
b.断层数据文件fault.xls;
c.井史数据文件well.xls。
练习2 历史拟合
内容
a.在原有的网格模型的基础上,建立新的地质属性模型,导出属性文件;
b.考虑断层对流体流动的影响,进行流动分区;
c.在补充相渗曲线的基础上,进行饱和度分区(Fault1和Fault2将油藏分为3个
相渗饱和度区域);
d.根据地质资料的补充,重新进行平衡分区(Fault1将油藏分为两个平衡
区),导出所有分区数据文件;
e.利用Schedule重新计算井轨迹;
f.对水体的作用区域进行调整,拟合单井的产水量和含水率;
g.考虑断层封闭性的影响,修正断层的传导率和临界压力,导出断层属性文
件;
数据文件
a.相渗曲线数据rel_perm.xls;
b.平衡分区数据:
EquilReg 1
RSVD 0.77
EQUIL
3000 4000 3000 0 2300 0 1
EquilReg 2
RSVD 0.77
EQUIL
3000 4200 3200 0 2300 0 1
c.断层传导率数据:
FAULTS1 0.47
FAULTS2 0.28
FAULTS3 0.79
d.断层临界压力数据:
FAULTS1 500
FAULTS2 0
FAULTS3 0
练习3 生产预测
内容
a.移除Summary中的历史输出;
b.增加10年的生产预测,以提高采收率为目的。
** 可以采用各种方式:注水、钻新井等等。
建立基本的CASE
FloGrid
1) 在 FloGrid中,导入等值线图
Surfaces | Import C ontour Maps | Generic …
并且导入 data \contour\tops1.dat 到 tops6.dat ,注意编辑坐标原点值(549500,6.798E+6)
创建6个surfaces,并将等值线图附在每个surface上。
打开2D Mapping canvas选项,创建Mesh map。.
2) 输入 property maps(CPS3格式),包括渗透率、孔隙度和净厚比
Surfaces | Import Mesh Maps | CPS3 …
and load data/maps/PORO1.UGC through PORO6.UGC, PERM1.UGC through PERM6.UGC, NTG1.UGC through NTG6.UGC
3) 导入断层
编写断层文件*.flt,生成FAULTS.FLT(solution/history/FAULTS.FLT).
在FloGrid中,导入断层数据
Faults | Import Fault Traces | Generic
4) 创建一个 Structual Framework,自定义边界条件,模拟整个油藏范围。
5) 在先前建立的 structural framework的基础上,创建一个属性模型 (snark_prop)
6) 用上述的structural framework,创建一个角坐标网格模型 (snark_struct) 。Use the following gridding controls:
FAULTS1 I-Line
FAULTS2 I-Line
FAULTS3 Zig-Zag
Create a 20 x 25 (Isotropic) aereal grid.
Specify the following layering properties:
U1 Proportional 6 -
U2 Proportional 1 -
U3 Top Conf. - 27
U4 Proporitonal 3 -
U5 Proportional 4 -
7) 物性粗化
用缺省的方法,对perm, poro and NTG 进行物性粗化
8) 用属性计算器,对纵向上渗透率PermZ进行修正:
倍乘 PERMZ by 0.05
9) 输出ECLIPSE OFFICE调用的文件:
snark_struct | Export | Model …
Export only the Geometry / Grid data as Eclipse .GRDECL keywords。
(solution/models/snark_grid.grdecl).
包含Grid、 Property(PermX,PermY,PermZ,Porosity, NTG)、Fault.
10) 保存工作(snark_struct.WORKSPACE)
File/Restore Workplace
Eclipse Office
1) 在 RUNSPEC 中设定Simulation Start Time (1/1/1980), Title, Components (Oil, Gas, Water, DisGas) and Grid Size (20 x 25 x 23).
2) 在 GRID中导入通过FloGrid创建的网格模型(solution/models/snark_grid.grdecl)
插入水体keyword
AQUNUM
I j k XSA Len phi K h Pi PVT Sat
1 1 17 1.44e8 2000 0.3 500 3700 4300 1 1
AQUCON
1 1 20 1 25 23 23 K+
输出控制 GRIDFILE 选 .EGRID ,添加keyword INIT
运行:Grid View/Run Simulation, 得到EGRID 和INIT 文件。
Schedule
导入各项数据文件,包括网格、属性、井斜、生产、措施数据:
编写生产数据文件,并导入 (solution/history/snark_historical_Day_Volume.vol)
编写井措施数据文件,并导入(solution/history/snark_historical.ev)
从 OFFICE运行结果中,导入GRID和PROPERTY属性,即EGRID 和INIT文件
编写井斜控制文件*.cnt和数据文件*.dev,生成snark_https://www.sodocs.net/doc/8d13972925.html,t
创建井组控制,包括井组 EAST ( PROD1 和 PROD3 ),井组 WEST (PROD2 和PRODUCER)。
输出SCHEDULE section (solution/models/snark_base.sch)
保存.
**原始文件为well.xls,需编写控制文件,转换为Schedule 能识别的格式。
3) 输入PVT Tables
根据资料,添加关键字GRAVITY、ROCK、PVDG、PVTO、PVTW
分别对应流体的重度、岩石压缩性、干气、轻油、水的PVT属性。
4) 生成相渗曲线
使用 Corey 相渗曲线公式
5) 录入初始化数据,包括油水界面、油气界面、毛管压力等。
EQUIL
Datum Pressure WOC Pc GOC Pc Rs
3000 4000 3000 0.0 2300 0.0 1
RSVD
2000 0.77
4000 0.77
(RPTSOL to request initial restart)
6) 初始化计算(Do a NOSIM run),得到储量指标。
7) 在Office中导入以上得到的Schedule文件 (solution/history/snark_base.sch) 添加 RPTSCHED 和 RPTRST 关键字,以年为单位生成重启文件。
8) 添加Summary中的关键字
包括ALL和一些具体关心的指标,以及历史数据的输出。
ALL、FGPRH、FOPRH、FWPRH、WBHP、WBHPH、WGOR、WGORH、WGPRH、WOPRH WWCT、WWCTH、WWPRH、WOPP、WGPP、WWPP
9) 运行,并在RESULTS 和REPORTS中分析结果。
将观测数据(data/history.dat)导入到RESULTS中进行对比分析。
历史拟合工作
FloGrid
Restore the previous workspace.
1) 创建分区
主要以3条断层作为分区。
Property | Property Editor
Create Property fipnum_v0 (type = FIPNum)
断层Fault1、Fault2和Fault3将油藏分为4个流动区域。
Create Property satnum_v0 (type = SATNum)
SATNUM 1 包括 Fault1左边的区块,SATNUM 2 包括断层Fault1和Fault2包围的中间区块,SATNUM 3 指剩下的区块。
Create Property eqlnum_v0 (type = EQLNum)
断层Fault1将整个油藏分为两个平衡区,每个区的油水界面不相同。对于Fault1左边的区域,油水界面在3200feet,而Fault1右边,油水界面在3000feet。
2) 输出区块属性关键字(solution/models/snark_regs.grdecl)
3) 保存工区文件。
Eclipse Office
1) Change the aquifer to attach to Eastern side
AQUCON
1 20 20 1 25 1 23 I+
2) 改变断层的传导率,添加关键字:FAULTS、MULTFLT、THPRESFT
断层的传导率为
FAULTS1 0.47
FAULTS2 0.28
FAULTS3 0.79
临界压力为
FAULTS1 500
FAULTS2 0
FAULTS3 0
同时,在RUNSPEC设定 Threshold Pressure 选项
3) 输入REGIONS 数据(solution/models/snark_regs.grdecl)
4) 输入新的相渗数据,共有三套数据,分别对应三个相渗区域。
关键字选择为SGFN、SWFN、SOF3。
**原始文件为rel_perm.xls,可点击Table import录入。
5) 在Initialization section中,设定平衡区参数:
EquilReg 1
RSVD 0.77
EQUIL
3000 4200 3200 0 2300 0 1
EquilReg 2
RSVD 0.77
EQUIL
3000 4000 3000 0 2300 0 1
6) Do NOSIM run,检查储量。
7)添加 RPTRST keyword at 1st Dec 1989 ,输出最后一个重启文件。
9) 运行计算,比较结果。
预测
1) 从 SUMMARY section移除历史数据的指标输出
2) 添加10 年预测
添加 RPTRST ,调整重启文件输出时步
3) 设定井组控制
GCONPROD
FIELD ORAT 12000
EAST FLD 7000 10000 (Rate, Rate, Rate)
WEST FLD 5000 7000 (Rate, Rate, Rate)
GCONTOL – 0.02 3
设定单井控制
WCONPROD
P* GRUP BHP=400psi
WECON
P* Water Cut = 0.9
运行计算,分析结果。