解剖黑油模型源程序-final_第1页
解剖黑油模型源程序-final_第2页
解剖黑油模型源程序-final_第3页
解剖黑油模型源程序-final_第4页
解剖黑油模型源程序-final_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、黑油模型解剖汇报小组成员:周诗雨、徐晨、李硕轩、徐锡勇、倪威。BLACK OILBLACK OILBLACK OILBLACK OILBLACK OIL黑油模型基本结构(1)GRID1(2)PARM1(3)TABLE(4)UNIT1(5)CODES(6)NOTES(7)TRAN1(8)ORATE(9)SOLMAT(10&11)CGIN&MF1(12)MATBAL(13)PRTPS(14)INTERP(15)INTPVT主程序主程序:从结构上代表了整个模型,通过调用不同的子程序,完成全部运算1.定义运算所需数组;2.需要调用和应生成的文件的打开和关闭;3.通过调用子程序给模型赋基础数据和初始数据

2、;4.通过调用子程序给模型的运行确定各种控制;5.在运行过程中反复读入井点数据(包括产量和注入量、井底流压、流动指数等)以及打印输出控制码;6.分层油气水地质储量计算;7.进行井点产量项处理和形成压力矩阵;8.通过调用子程序求解压力方程;9.进行显式饱和度计算;10.进行过泡点处理;11.根据压力和饱和度增量控制,自动调节计算时步长;12.在每一运算时步末进行物质平衡检验;13.打印油井、水井、气井的分井分层报告和分井报告;14.通过调用子程序进行计算结果打印输出和形成文件;15.再启动运行方式的选择和再启动文件的生成和调用;16.运算终止的控制;17.运行中途错误信息的提示。主要功能 (1)

3、、调用子程序,完成整个黑油模型计算; (2)、储量计算和运行控制; (3)、打印输出控制。总结:由调用子程序和自带部分功能共同完成主程序程序框图基础数据准备计算储量及相关参数压力求解时步调整主程序程序框图计算饱和度及相关参数计算分层和总产量指标过泡点处理,变泡点计算 输出;循环主程序自带功能(五部分)一、运行参数的输入 模型在运行过程中,对每一时步都要往复地进行运算,因此也就要往复地输入运行参数,这些数据(包括其中的提示符)是:IWLCHG改变工作制度控制码(1或0);ICHANG本运算阶段的时步数(0的整数);IWLREP油井报告打印控制码(1或0);ISUMRY总报告打印控制码(1或0);

4、IPMAP网格压力打印控制码(1或0);ISOMAP网格含油饱和度打印控制码(1或0);ISWMAP网格含水饱和度打印控制码(1或0);ISGMAP网格含气饱和度打印控制码(1或0);IPBMAP网格饱和压力打印控制码(1或0)。(2)时步长DAY给定时步长(天)DTMIN最小时步长(天)DTMAX最大时步长(天)工作制度和打印控制代码、与时间有关参数主程序自带功能二、原始地质储量计算 在主程序中的第一时步内要进行原始的油水气(包括游离气和溶解气)的储量计算,程序自动计算出分层的油水气储量,也计算总的油水气储量。首先是计算出各网格点的孔隙体积VP,然后根据各网格点压力值内插求其体积系数BO、B

5、W和BG,然后计算各层的油水气(分别按游离气和溶解气计算):OOIP原油原始地质储量(地面方);OWIP地层水原始地质储量(地面方);ODGIP溶解气原始地质储量(地面方);OFGIP游离气原始地质储量(地面方)。 根据分层的油气水地质储量再计算全油藏地质储量,即TOOIP全油藏原油原始地质储量(地面方);TOWIP全油藏地层水原始地质储量(地面方);TDGIP全油藏溶解气原始地质储量(地面方);TFGIP全油藏游离气原始地质储量(地面方)。主程序自带功能三、计算时步长的自动调节 时间步长的自动调节是为了按照用户要求和题目本身的运行情况,避免由于时间步长过大、引起压力值增量和饱和度增量过大,从

6、而造成误差过大,也避免由于步长取得过小,从而造成不必要的计算时间过长的情况。总之是为了保证在必要计算精度的同时,以最大的时步长进行模型的运行。PPM网格压力变化最大值;SOM网格含油饱和度变化最大值;SWM网格含水饱和度变化最大值;SGM网格含气饱和度变化最大值;DSMC网格饱和度变化最大值;DPMC网格压力变化最大绝对值;FACT1时间步长增长系数;FACT2时间步长缩短系数。根据需要调整合适的时间步长,避免过大或过小主程序自带功能四、单井报告的输出和数据存储 每一计算阶段末的分井分层的生产数据是通过主程序进行输出或存盘。通过油井报告在屏幕或打印机输出的数据有:FT运算阶段末的模拟生产时间(

7、天);WELLD井名;IQN1井点X坐标;IQN2井点Y坐标;K层号;PWEC计算的分井分层流动压力值(MPa);PWF给定的分井分层流动压力值(MPa);PID分层流动指数;QOO分层日生油量(m3/d);QGG分层日产气量( m3/d );QWW分层日产水量( m3/d );GOR分层生产油气比(m3/m3);WOR分层生产水油比(m3/m3);CUMO分层累积产油量(m3);CUMG分层累积产气量(m3);CUMW分层累积产水量(m3);TOR全油藏日产油量( m3/d );TGR全油藏日产气量( m3/d );TWR全油藏日产水量( m3/d );TOC全油藏累积产油量(m3);TGC

8、全油藏累积气量(m3);TWC全油藏累积水量(m3);主程序自带功能四、单井报告的输出和数据存储 通过再启动文件存入盘中的分井分层累积产量,包括J井号K层号CUMO累积产油量;CUMG累积产气量;CUMW累积产水量;五、黑油模型运行结束方式 黑油模型运行结束方式有下列几种:1.最大时步数NMAX2.最大模拟时间TMAX3.井数据卡片读完4.最大水油比WORMAX5.最高油气比GORMAX6.最大平均压力PAMAX7.最低平均压力PAMIN一、Grid1子程序参数说明II,JJ,KK:分别为X,Y,Z方向网格数; KDX,KDY,KDZ:分别为DX,DY,DZ输入方式控制代码;DX,DY,DZ:

9、分别为网格点X,Y,Z方向尺寸;NUMDX,NUMDY,NUMDZ:分别为网格尺寸DX,DY, DZ修正系数;IDCODE:网格尺寸修正值打印控制代码;KEL:地层深度计算控制代码;ELEV:到网格顶部的深度值。功能介绍 根据油藏均质程度,几何形状及井网规则程度和用户要求:进行三维网格划分输入网格尺寸数据并修正计算各网格中部深度网格信息Grid1流程图Y,Z方向尺寸的读入类似X方向参数说明KPH:控制孔隙度数据输入的代码;KKX:控制X方向渗透率数据输入的代码;KKY :控制Y方向渗透率数据输入的代码;KKZ :控制Z方向渗透率数据输入的代码;NUMP :需要修正孔隙度值的网格数目;NUMKX

10、 :需要修正X方向渗透率值的网格数目;NUMKY :需要修正Y方向渗透率值的网格数目;NUMKZ :需要修正Z方向渗透率值的网格数目。功能介绍 在油气藏网格大小已经确定的情况下,根据油层均质程度,把已确定出的各网格点的孔隙度和渗透率值,赋予模型各网格点。PARM1子程序孔隙度、渗透率PARM1流程图参数说明SAT(I):相对渗透率数据表中的饱和度值;KRO(I) :相对渗透率数据表中的油相相对渗透率值;PBO:原始饱和压力;VSLOPE:在高于饱和压力下,地层原油粘度对压力的斜率;RSLOPE:在高于饱和压力下,地层原油溶解油气比对压力的斜率;POT(I) :原油高压物性数据表中的压力值;MU

11、OT(I) :原油高压物性数据表中的粘度值;BOT(I) :原油高压物性数据表中的体积系数值。功能介绍 将数据文件中有关岩石性质(相对渗透率和压缩吸水),地层流体数据(高压物性、油气水密度)等以一定规则输入。TABLE子程序相渗、PVTTABLE流程图RSOT(I) :原油高压物性数据表中的溶解气油比值;MSAT:相对渗透率表中的饱和度个数;MPOT:原油高压物性表中的压力值个数;RHOSCO:标准状况下原油密度;RHOSCW:标准状况下水的密度;RHOSCG:标准状况下天然气密度;BOPT(I) :不同压力下原油体积系数的斜率。参数说明(续)UNIT1:给模型赋初值开始KRESTKPI读入P

12、I,PGOC,WOC,GOC计算BTP,BBO,RSO计算PI,BBW,RSW计算PGOC,BBG计算PN(I,J,K)SO=SO1,SW=SW1,SG=SG1读入SO,SW,SG=1-SO-SW结束重启动读入OOIP,OWIP,ODGIP,OFGIP读入NVQN1活动井数读入第I口井在第K层的产油量CUMO,产水量CUMW,产气量CUMG读入重启运算起始时间ETIR,再启动起始步数NRESTT,再启动初始平均压PAVGO读入P(I,J,K), SO(I,J,K),SW(I,J,K),SG(I,J,K),PBOT(I,J,K)初始启动:主要以不同方式给各个网格点赋初始压力和饱和度。KPI=0,

13、原始压力根据油水界面压力、高度差和流体密度折算得到; KPI=1,则各网格点原始压力由数据文件直接读入。KSI=0,则各层油气水均为定值; KSI=1,则各网格点原始油气水饱和度不同,由数据文件直接读入。再启动方式:饱和度和压力值由再启动文件读入,还应读入再启动起始点的储量、累计产量,起始时刻及步数等=1=0=0=0=1WOCGOCEL(I,J,K)KSI初始数据的输入分为:初始启动和再启动结束CODES:输入运行控制变量开始读入KSN1,KSM1,KCO1,KTR,KCOFF输出NN,FACT1,FACT2,TMAX,WORMAX,GORMAX,PAMIN,PAMAX,MITER,KNK,O

14、MEGA,TOL,TOL1,DSMAX,DPMAXPAMIN=9.869*PAMINPAMAX=9.869*PAMAXDPMAX=9.869*DPMAXKSN=KSN1KSM=KSM1KCO=KCO1结束FACT1:在时间步长自动控制的情况下,增大时间步长的参数;FACT2:在时间步长自动控制的情况下,缩小时间步长的参数;TMAX:最大模拟时间;KNK:共轭梯度法中,正交化次数的限定;MITER:每一时步内共轭梯度法的最大迭代次数;OMEGA:加速收敛因子;TOL:在迭代过程中,两次迭代之间最大的压力变化值;TOL1:求解过程中,改变松弛因子的参数;DSMAX:最大饱和度变化允许值;DPMAX

15、:最大压力变化允许值;WORMAX:最大水油比;GORMAX:最大油气比;PAMIN:最低油层平均压力;PAMAX:最高油层平均压力;参数说明KIP=1:定产量生产井KIP=2:定产量注水井KIP=3:定产量注气井KIP=-1:定压力生产井KIP=-2:定压力注水井KIP=-3:定压力注气井KIP=-11:隐式定压力生产井KIP=-12:隐式定压力注水井KIP=-13:隐式定压力注气井NVQN总井数NINJ注水井数NPROD生产井数WELLID井号IQN1井所在X方向网格号IQN2井所在Y方向网格号IQN3射孔井段顶部Z方向网格号LAYER射开层数KIP井型QVO井产油量QVW井产水量QVG井

16、产气量PID分井分层流动指数PWF分井分层流动压力NODES-读入井点工作制度的运行数据,包括井型、井坐标、生产数据等。START读入井号、网格号、井标示、生产数据、流动指数判别井类型(KIP值),输出相应生产信息ENDTRAN1-计算有限差分方程中流动项各方向的传导系数网格I-1和网格I之间在X方向的传导系数网格J-1和网格J之间在Y方向的传导系数网格K-1和网格K之间在Z方向的传导系数START计算各个网格的渗透率修正因子FACX,FACY,FACZ计算各个网格的渗透率KX, KY, KZ计算各个网格传导系数TX,TY,TZ读入要修正传导率的网格参数(NUMT*)和修正值打印和重启动代码判

17、断输出修正值方式END调和平均NUMTX :修正X方向传导系数的网格数NUMTY :修正Y方向传导系数的网格数NUMTZ:修正Z方向传导系数的网格数ITCODE :打印控制代码KREST :重启动控制代码流程图根据不同的生产条件(定流量、定压-显式、定压-隐式),根据流动系数确定分井分层油气水产量及全井流动压力和全井总产量ORATE-计算各井分层分层及全井生产指标STARTNRATE=0NRATE=1读入压力数据,计算油、气、水流度读入压力数据,计算CIP值定油生产井定液生产井定注水量井定注气量井油井定流量定流压水井气井定流压油井水井气井END计算公式见P194-196显式隐式SOLMAT求解

18、(I,J,K),(I+1,J,K) (I-1,J,K),(I,J+1,K) (I,J-1,K), (I,J,K+1) (I,J,K-1)七点处的参数值开始计算参数I=I+1,I=IIJ=J+1,J=JJK=K+1,KLz=y-z Ux=z-x被谁调用:CGIN算法描述:x=x0;dx=100;N=1;while dx=EFC & NKNK r=b-Ax;q=M-1r; do k=0,KNK-1 ak=(r,M-1r)/(q,Aq) x=x+aq; r=r-aAq; dx=ak*q; if(dxKNK) exit. b=(r,M-1r)/(r,M-1r) q=M-1r+bq N=N+1参数说明P

19、AVGO:时步初油藏平均压力 WOR :水油比PAVG :时步末油藏平均压力 GOR :气油比OP :产油量 CWOR :累积水油比WP :产水量 功能介绍 对每一步末的计算结果进行物质平衡检验,确定计算误差。这一计算分别对油、气、水进行。MATBAL子程序CGOR :累积气油比WI :注水量 MBEO :原油物质平衡误差百分数GP :产气量 MBEW :水的物质平衡误差百分数GI :注气量MBEG :气的物质平衡误差百分数MATBAL流程图COP-累积产油量OPR:全油藏日产油量CWP-累计产水量;CGP-累积产气量;CWI-累积注水量;CGI-累积注气量;参数说明(续)计算值误差计算ETN

20、:总生产时间(天); NVQN:总井数(口)NPRD:总生产井数(口; NINJ:总注入井数(口)PAVG:平均油藏压力(兆帕); OPR:全油藏日产油量(方/日)GPR:全油藏日产气量(方/日); WPR:全油藏日产水量(方/日)WIR:全油藏日注水量(方/日); GORM:全油藏瞬时生产油气比(米3/米3)FW:全油藏综合含水率(%); COP:全油藏累积产油量(方)CWP:全油藏累积产水量(方) CGP:全油藏累积产气量(方)CWI:全油藏累积注水量(方) VPR:折算采油速度(%)COP/TOOIP:采出程度(%)再启动运行所需的初始数据的生成、包括:ETN:再启动起始时刻(天);NLM1:再启动时步数(1的整数);PAVG:再启动初始时刻油藏平均压力(兆帕);CGP:再启动初始时刻油藏累积产气量(米3);CGI:再启动初始时刻油藏累积注气量(米3);CWI:再启动初始时刻油藏累积注水量(米3);P(I,J,K):再启动初始时刻油藏内各点压力分布;SO(I,J,K):再启动初始时刻油藏内各点含油饱和度分布;SW(I,J,K):再启动初始时刻油藏内各点含水饱和度变化;SG(I,J,K):再启动初始时刻油藏内各点含气饱和度分布;PBOT(I,J,K):再启动初始时刻油藏内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论