CMG组分模块GEM教程Word文件下载.docx
- 文档编号:19044778
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:140
- 大小:121.98KB
CMG组分模块GEM教程Word文件下载.docx
《CMG组分模块GEM教程Word文件下载.docx》由会员分享,可在线阅读,更多相关《CMG组分模块GEM教程Word文件下载.docx(140页珍藏版)》请在冰豆网上搜索。
水层可以另增加仅有水的边界单元,或使用Carter—Tracy不层模型模拟。
前者用于水体大小和位置已知,而附加的水体网格又相对小的情况。
后者一般用于不体较大或未知,希望近似计算水侵量,而附加水体网格不可行的情况。
单位:
SI或矿场单位
模拟结果文件
GEM产生SRF格式,第二代模拟结果文件*IRF和*MRF文件。
结果文件可用于二维和三维可视化软件,也可用于动态曲线图输出。
如果希望重启,需要其它几个存在的文件,同时产生另外三个文件,如下:
关键字输入部分数据组
a)七个不同组
b)数据组应遵循确定的顺序
I/O控制
油藏描述
组分特性
岩石一流体数据
初始条件控制
井数据和循环数据
怎样建立数据文件注释
a)*TITLE1
b)*TITLE2
c)*TITLE3
d)CASEID
这四个关键字都必须在输入/输出控制部分。
这四个关键字是可选的,并可以去掉。
但是,它们对于辩别不同数据文件很有用。
至少应使用一行标题。
全部标题和标识必须包含在单引号之内。
TITLE1和CASEID匀在模拟结果文件中使用,该文件用来产生模拟图形。
*TITLE1可以有40个字符,*TITLE2和*TITLE3每个可有80个字符。
*CASEID最多少个字符。
也可使用两个关键字标识符即‘**插'
入注释,注释可以出现在数据文件任何地方。
例:
*TITLE1
‘SimulationRun#11989—01—23'
*TITLE2
‘DualporosityproblemusingMINCoption'
*TITLE3
‘Thisisa12x12X10Cattesiangridsystem'
*CASEID'
Runl'
**注释部分
怎样重启
什么是重启文件?
重启文件是一个二进制文件,初始数据和主要变量按用户指明频率写入,写重启文件是可选择的.
为什么需要重启?
有以下几点理由:
a)做敏感性分析或历史模拟
b)修改井定义
c)在运行一大的长作业之前,做一短的模拟运行,看结果是否满意。
d)随意运行后的运行中节约运行时间。
例如,当完成一模拟运行且初步结果盾起来不错,则需做预测运行。
因为已经由前次运行创建一重启文件,则可以选取一中间时间步重启运行。
模拟器不需从初始日期启运行,可以在选择的时间步继续运行。
怎样做一重启?
重启记录是可选的。
如果需要做重启运行,则要在前次运行时产生。
使用*WRST划*RESTARTJ建重启文件,它们必须位于输入/输出控制部分。
然而,当井工作制度改变时*WRST可出现在井数据部分,*WRST指示写重启记录的频率。
*RESTART表示当前值,否则,输入时间步数。
*RESTART30
当做重启时:
a)不改变原始油藏数据,但在输入/输出控制部分加一*RESTAR咲键字。
b)增加最大时间步数,如果必要删除*MAXSTEPS
c)需要附加输入文件:
输入重启文件和输入模拟结果文件。
这些文件在前次运行期间产生
d)需要新的一组输出文件名。
控制输出打印文件内容
控制输出打印文件内容,使用:
a)*WPRN
b)*OUTPRN
这些关键字可以出现在输入/输出控制部分,其参数也可在随后井数据部分修改。
*WPRN表示写网格块数据、井数据和数值方法控制数据的频率。
如果不希望输出网格或井数据,则频率置零。
例如:
*WPRN*WELL0
*WPRN*GRID0
如果将这两个关键字删除,其缺省选择为每一次井变化时打印。
这种打印控制会产生一个非常大的输出打印文件,会很快占满计算机的可用空间。
*OUTPRN限制打印什么样的油藏信息和井信息。
详细的网格信息和流体性质数据可使用*OUTPRN*RE萨生
控制模拟结果文件内容
模拟结果文件(SRF是模拟运行期间产生的数据文件。
SRF文件由图形和控制读入,产生绘图输出。
为控制是SRF的内容,使用:
a)*WSRF
b)*OUTSRF
这两个关键字一般首次出现在输入/输出控制部分。
*SWRF表示写网格数据和井数据的频率。
如果不希望网格数据或井数据输出,则输出频率置零。
网格系统描述
描述网格系统,使用:
a)*GRID
b)*KDIR
描述网格xx,使用
c)*DJ
d)*DJ
e)*DK
描述油藏xx和倾角,使用
f)*DEPTH
g)*DIP或h)*DTOP
在以上关键字中,只有*KDIR和*DIP完全可选,并可能以从数据集中删除。
上述列出的关键字必须在油藏描述部分。
*GRID必须是这一部分的第一个关键字。
*GRID表示网格系统类型,有四种选择:
直角坐标、变深度/变厚度、径向井筒和角点网格。
其中每个均要求I,J,K方向网格块数目:
*GRID*CART10106
*GRID*VARI10106
*GRID*RADIAL10115
*GRID*CORNER10106
第一个为标准直角人坐标10X10X第二个为变深度/变厚度网格10X10X第三个为径向网格,最后一个为角点网格。
KDIR定义Z轴的方向,。
缺省值为UP,第一层为最底层。
死结点
定义死结点有两种方法
a)*NULL
b)*POR
两种关键字都必须在油藏描述部分,在数据集中必须有*POR但*NULL可
选。
当用*NULL关键字表示无效网格时,0表示无效网格,1表示有效网可知,例如:
*NULL*IJK
1:
101:
31
41:
31:
30
第二行覆盖第一行。
*NULL是可选的,如果不出现,则假定全部网格均不有效网格。
NULL关键字覆盖POR关键字。
即使给一网格赋予非零孔隙度,而在*NULL关键字中赋给零值,则该网格在流动计算中也不予考虑。
上述例子可以下列形式表示:
*POR*IJK
30.3
1:
41:
31:
30.0
调用孔/双渗选择,可以使用(只能选一个);
a)*DUALPOR
b)*DUALPERM除裂缝介质标准网格信息外,还需输入:
c)*DIFRAC
d)*DJFRAC
e)*DKFRAC
f)*TRASFER在组分性质部分,还可以指定:
g)*DIFFUSION孔隙度值需要对基质和裂缝输入例:
*POR*MATRIX*IJK1:
310.31:
*POR*FRACTURE*IJK
101:
87:
91:
20.4
*MOD
81=0.45
水层选择:
水层模型如下:
a)*AQUIFER
b)*AQPROP
c)AQFUNC
步长过小或运行时间过长问题
收敛失败可能由于:
a)内迭代收敛失败
b)xx收敛失败导致时步截短
c)物质平衡误差
如果在输出文件中发现“迭代不收敛”频繁出现,那么可以:
1减小时间步长。
将*DTMAX改小,或用*NORM*PRES番口*NORM*SAUR减小第个时间步的改变量。
2用关键子*ITERMAX增加迭代次数
3使用*SDEGRE增加因子分解度。
注意:
这个方法增加了存贮需求。
如果问题原因是最大改变量,则若出夙不频繁,问题不大。
如果时间步大量重复出现,那么,应采取以下措施:
4检查岩石和PVT曲线是否出现非线性,该曲线应当平滑。
5检查网格和其他性质
6检查井的限制。
一个有效的办法是对每一注入井总是指定一最大井底压力,对每一生产井总是指定一最小井底压力。
7如果不收敛由于超过最大牛顿迭代次数引起,使用关键字*NEWTONCYC,增加牛顿循环次数。
如果由于最大改变量振荡引起,达到最大迭代次数,那么,使蜚线性段平滑,或减小时间步长是最好的解决办法。
8油藏是否在迭代之间出现在单相油和单相气之间浮动。
如果出现浮动,设
置适当的*PHASEID或*REFDEN
9置油藏的某些区域或整个油藏为隐式。
缺省开关符,*AIM*STAB检查网
格的显式隐式开关,仅当该网格是一隐式格块的相邻格块。
如果某些油藏区域变量发生剧烈变化,并且不是井的毗邻区域,或流体前沿运动太快,而在一个时间步扫过两个格块,那么置这些区域为隐式
a)当不使用垂向平衡初始化时。
在某些情况下,这可能引起初始压力饱和度发生大的改变,即使全部井关井。
当该情况发生时使用全隐式。
b)当出现气顶时。
如果出现较强的指进,置气顶的底层为隐式,至少在指进出现的区域。
c)在具有极端高渗透率的格块,压力的微小改变可能引起饱和度很大变化。
在这些区域,置格为全隐式。
物质平衡误差可能由收敛误差超过设定的改变量而引起。
在大多数情况下,*NORM和*Converge的缺省值足够。
然而,当模拟裂缝油藏或使用裂缝代表水平井时,推荐使用较小的值。
对锥进问题,推荐使用小值。
模拟一单相油藏
有两种主要方法模拟气水两相的干气,单相气藏或一次接触混相溶解剂注入。
A)使用饱和压力
使用关键字*PSAT置饱和压力为一很小的值
例如,—1。
在这种情况下,所有油藏流体是欠饱和的,并跳过每个可知块
的闪蒸计算。
所有流体性质仍然使用状态方程计算。
*PSAT不影响井流动计算。
B)使用拟合组分选择
1使用*PSEUDQ—般来说,置油藏油为一拟组分,每个注入流体作为不同的单个拟组分。
2用*PHASEID将单相标为油或气'
一般建议用油'
从而流体相对渗透率依据油水相对渗透率曲线计算。
该方法也不做网格闪蒸计算。
另外,GEM还将单个组分流动方程分组为较小数目的拟组分流动方程。
这个可以大大减少每个网格坟程的数目。
水平井
水平井可作为一线源(注入井)或汇(生产井)。
GEM使用AXIX等流动图计算体滞留量,同时也计算井筒磨擦压力降。
注意,当前方法并不能解决回流问题。
垂赂平衡
*VERTICA控制垂向平衡计算。
处理垂向平衡计算时,使用下列几种方法:
A)*VERTICAL*ON
同时使用下列关键字
*DWOC,
*REFDEPTH,
*REFPRE,S
*XGLOBALand
*SWOC
B)VERTICAL*GASCA及
*DWOC
*DGOC
*REFDEPTH
*REFPRES
*ZOIL
*ZGAS
C)*VERTICAL*COM及
*CDEPTH
*ZDEPTH这些关键字必须位于初始条件部分。
*VERTICALOr主要用于欠饱和油藏,而VERTICAL
GASCAP可用于饱和油藏,也可用于欠饱和油藏。
对于VERTICAL*0N用重力一毛管压力平衡计算全部格压力和水饱和度。
当网格包含油相和气相时,不做特殊处理。
因此,在第一个时间步可能出夙剧烈的流体变化。
VERTICAL*GASCA是更一般的选择,假定气顶油区处于平衡状态,用穗力一毛管压力平衡计算全部网格压力和油、气、水饱和度。
闪蒸计算用于确油和气相组成。
油相和气相依饱和度混合,然后计算网格总的组成。
因此,油藏中总的组成可能随深度变化。
*VERTIACL*COM有用户指定的随度变化的组成一起,用于欠饱和油藏或者和油藏的重力初始化。
这时,要指定水油界面深度正气参考压力。
用户必须输入总的组成与深度表。
用户还必须输入临界深度。
在临界深度以下,单烃相网格为油网格,而在临界深度以一,单烃相网格为气相网格。
如果不做垂赂平衡计算,输入
*VERTICAL*OF及
*PRES
*SW
*ZGLOBAL
下述第一个例子表示对饱和油藏做垂计算的初始条件数据:
**INITIAL
*VERTICAL*GASCAP
*REFDEPTH900.0
*REFPRES3000.0
*SWOC1250.0
*DGOC788.0
*ZOIL0.300.100.200.300.120.08
*ZGAS0.780.190.030.00.00.0
*SWOC1.0第二个例子表示不使用垂赂平衡计算的数据:
*INITIAL
*VERTICAL*OFF
*PRES*CON3400.0
*SW*CON0.2
*GLOBAL*CON
0.300.100.200.300.120.08
井的定义
*井使用以下关键字定义,注意严格按照关键字排序
*WELL井号‘xx'
井类型定义
*PRODUCEF井号
或者
*INJECTOF井号
*CYCLPROD井号
在井类型以下,输入:
*PWELLBOR(E如果需要计算井筒压力,需要井筒数据)
或*IWELLBORE
INCOMP(如果定义了注入井时需要,紧接着INJECTOR
*OPERATE(至少定义一个工作限制)
*ONITOR(监视限制任)
定义井的位置和射孔,使用:
*GEOMETRY(可选的,在完井卡之前)
*PERF(必需)
这些关键字必须位于井数据部分。
怎样关井?
怎样重新打开井?
在关井之前:
(1)该井必须用以下方式完全定义:
(a)作约束和任意监视约束
(b)完井关键字
在完全定义一口井以后,该井可以在使用TIME或DATE关键字的任一时间
关闭。
在关井之后任一时间可打开一口闭的井。
*WELL1'
waterinjector'
*WELL2'
producer'
*WELL3'
Solventinjector'
**全部井具有相同的几何因了
**
**radgefacwfracskin
*GEOMETRY*K0.250.341.00.0两口源程序入井初始关井,只有生产井开井这咱工作制度持续两年。
*INJECTOR1
*INCOMP*WATER
*OPERATE*MAX*STW12000.0
*OPERATE*MAX*BHP100.0
*PERF*GEO1
**ifjfkfff
1131.0
**关1号井
*SHUTIN1
*PRODUVER2
*OPERATE*MAX*STO12000.0
*OPERATE*MIN*BHP1000.0
*MIONTOR*GOR100.0*STOP
*MONITOR*WCUT0.*STOP
*PERF*GEO2
**ifjfKfff
7711.0
*INJECTOR3
*INCOMP*SOLVENT
0.780.190.030,00.00.0
*OPERAE*MAX*STG1.2E7
*PERF*GEO3
]1131.0-
**3号井和1号井在相同网格射孔
**关3号井
*SHUTIN3
*TIME730.000
*OPEN1**打开注水井
*TIME1095.0
**在这个方案中,注水和注溶解剂井在同一网格定义;
在打开第二个以前,关闭第一个。
*SHUTIM1**关注水井
*0PEN3**开注溶解剂井
*TIME同14600
*SHUTIN3**关注溶解剂井
*TIME18250
*SHUTIN1**关注水井
井筒模型
说明井筒模型时,需要:
PWELLBOR用于生产井,IWELLBOR用于注入井,位于井类型卡之后。
当要求井口压力时需要使用井筒模型,用于:
a)仅是一种信息;
b)当xx压力作为一个约束条件时。
对2号注入井建立井筒模型
*INJECTOR2
*IWELLBORE
**wepthlengthroughwhtempbhtempwr
1100.1100..3490.033
工作和监视约束
OPERATEDMONITOR说明一给定井的约束条件。
至少要求一个工作约束,监视约束是可选的。
每一口井引入一新的未知变量pbh(井底流压),要求一约束方程确定该变量。
在工作和监视约束表中第一个工作约束条件为主工作约束。
模拟器首先在主工作约束下运行,同时监视其它约束条件。
当监视约束之一违反,而且使用CONT关键字,则该约束变为工作约束。
如果不止一个工作约束违反,那么使用第一个工作约束。
生产井
对一生产井,应当:
a)在产量约束下生产(主工作约束)
b)在最小井底流压约束下生产。
如果生产井为产油井,则选一油产量约束。
如果生产井为产气井,则选一气产量约束。
对一生产井使用的约束可以是一最小产量。
*PRODUCER1
*OPERATE*MAC*STO1200.0*CONT
*OPERATE*MIN*BHP1500.0*CONT
这个例子表明:
a)使用油产量作为油井的主约束
b)使用井底流压作为从约束
如果有一条违反,运行继续,工作约束改变为刚刚被违反的约束。
CONT是
缺省值不需输入。
注入井
对一注入井,应选:
a)最大注入时作为主工作约束
b)最大井底流压约束
如果为注水井,选水产量作为约束。
如果为注气井,则选气井,则选产量。
*OPERATE*MAX*STW1000.0*STOP
*OPERATE*MAX*BHP2250.0*STOP
该例表示:
a)注水井的注水量是主约束
b)同时监视蟛底流压,作为从约束
只要有一个违反,则模拟停止.
监视约束
监视约束格式与*Operate格式相同。
而且,如果同时有多个约束违反,则采取约束表中第一个约束的动作。
极力推荐监控生产井的GOR和含水率:
这个可以避免作业运行中的某些问题。
*OPERATE*MAX*OIL1200.0*CONT
*OPERATE*MIN*BHP2500.0*CONT
*MONITOR*MAX*GOR15000.0*STOP
*MONITOR*MIN*WCUT60.0*SHUTIN
如果在一时间步,GOR和含水率均违反,模拟停止。
输入井指数井指数可由下述两种方法获得:
a)从井模型的井几何因子。
使用下述关键字:
*GEOMETRY
*PERF*GEO
b)使用关键字直接指定:
*PERF这些关键字位于数据部分。
PERF包括完井段的
*GEMTRY指定内部计算井指数的必要参数。
完井关键字位置。
如果*GEO子关键字不在*PERF中,则应指定井指数。
*PERF可用作水平井、斜井和垂直井。
*WELL1'
-1029-18-56'
*PERF1
**ifjfkfwisetn
112:
41.241定义井指数为1.24或例如:
*GEOMETRY*K37524881.00.0
**完井关键字必须紧接着几何关键字
*PERF*GEO1
**ifjfkfffsetn
112:
411停止模拟运行
可使用关键字*STOP中止模拟运行。
另一方法是,在一井改变之后,由*DTWELL指定的第一个时间步长为0例:
*DATE19980908
*DTWELL0.0
怎样建立井数据
当首次输入井数据时,数据必须依据以下顺序:
1要法语*TIME或*DATExx
2定义一*DTWEL值,该数据是井定义之后,立刻使用的第一个时间步长。
3使用*WELL标识所有xx
每组井定义由如下部分组成:
4a)使用*producer和*INJECTOR定义一口新井或主工作制度改变。
b)如果选择*WHP作为约束之一,必须指明井筒模型要求。
c)定义注入流体组
d)定义该井的工作或监控约束
5使用*GEOMETRY定义井位置、几何因子或井指数,使用*PERF定义完井段。
6在第1步到第5步后可使用*SHUTN
7使用*OPEN重新找开一关闭井
8第9步到第14步可在不同时间或日期对井进行修改,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CMG 组分 模块 GEM 教程