东北石油大学油藏过程课程设计Word文档格式.docx

上传人:b****4 文档编号:7743672 上传时间:2023-05-09 格式:DOCX 页数:32 大小:1.58MB
下载 相关 举报
东北石油大学油藏过程课程设计Word文档格式.docx_第1页
第1页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第2页
第2页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第3页
第3页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第4页
第4页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第5页
第5页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第6页
第6页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第7页
第7页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第8页
第8页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第9页
第9页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第10页
第10页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第11页
第11页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第12页
第12页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第13页
第13页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第14页
第14页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第15页
第15页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第16页
第16页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第17页
第17页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第18页
第18页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第19页
第19页 / 共32页
东北石油大学油藏过程课程设计Word文档格式.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

东北石油大学油藏过程课程设计Word文档格式.docx

《东北石油大学油藏过程课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《东北石油大学油藏过程课程设计Word文档格式.docx(32页珍藏版)》请在冰点文库上搜索。

东北石油大学油藏过程课程设计Word文档格式.docx

从而将理论知识和实际问题相结合,通过该专题设计的训练,加强学生理论知识运用能力,计算机技术应用能力及解决实际问题的工程应用能力。

1.2设计的主要内容

根据已有的基础数据,利用所学的专业知识,在指导教师指导下独立完成并提交一个油田或一个区块油田开发指标预测结果,设计主要内容如下:

2基础数据

中国华北地区的任丘雾迷山古潜山油田于1975年7月被发现,1976年投产。

其油藏类型为块状底水潜山,孔、洞、缝发育,储层位于震旦系,以白云岩为主。

油藏埋藏深度为2588~3510m,含油面积为56.9km2,油层有效厚度为272.0m.,有效孔隙度为6%,空气渗透率为106×

10-3μm2。

原始地层压力为32.6MPa,原始饱和压力为1.3MPa,原始气油比为4.4m3/t,地面原油密度为0.889g/cm3,地层油粘度为8.20mPa·

s。

开始上报的原油地质储量为53038×

104t,可采储量为11760×

104t。

油藏采用边缘底部的注水方式。

1990年底综合含水率为82%。

该油田的开发数据列于下表。

表2-1开发数据表

年份

开发时间(a)

年产量(104t/a)

累积产量(104t/a)

1975

1

12.20

1976

2

606.10

618.30

1977

3

1127.30

1745.60

1978

4

1191.50

2937.10

1979

5

1240.20

4177.30

1980

6

1235.20

5412.50

1981

7

977.95

6390.45

1982

8

901.82

7292.27

1983

9

807.62

8099.89

1984

10

739.38

8839.27

1985

11

675.39

9514.66

1986

12

581.94

10096.60

1987

13

352.45

10449.05

1988

14

209.92

10658.97

1989

15

153.62

10812.59

1990

16

120.24

10932.83

3基础理论

瑞利(Rayleigh)模型能够很好地预测对油气田的年产量、累积产量、可采储量、最高年产量、最高年产量发生的时间,以及最高年产量对应的累计产量。

3.1瑞利(Rayleigh)模型的应用模型的建立

在数理统计中瑞利分布的分布密度表示为:

(3-1)

式中f(x)——瑞利分布的分布密度函数;

x——分布变量,其值大于等于0;

μ——控制分布峰值的参数。

由式(3-l)表示的瑞利分布,在x从0到∞区间内的累积分布(或分布函数)

等于1,因此可以得到关系式如下

(3-2)

对于油气田来说,开发时间从0到∞之间的累计产量可视为油气田的可采储量,可表示为

(3-3)

式中:

NR为油气田的可采储量,104t(油),108m3(气);

NP(t)为累积产量,104t(油),108m3(气);

Q年产量,104t/a(油),108m3/a(气);

t为开发时间,a。

将式(3-3)等号两端同除以NR得

(3-4)

由式(3-2)与式(3-4)对比可以看出,

,因此,若将式(3-1)转换为预测油气田产量分布的模型时,需将该式的右端乘以可采储量。

该可采储量可视为,将数理统计中的理论分布转为预测模型的转换常数。

由此,式(3-1)可写为

(3-5)

,则

又设

(3-6)

再作如下设定

(3-7)

则得到预测油气田产量的模型为

(3-8)

油气田的累积产量表示为

(3-9)

将式(3-8)代入式(3-9)进行积分得

(3-10)

再讲式(3-7)代入式(3-10),得到预测油气田累积产量的模型为

(3-11)

对式(3-8)两边取导数,整理得

(3-12)

时,必然有

(3-13)

由式(3-13)可以得到最高年产量发生的时间为

(3-14)

为最高年产量发生的时间,a

将式(3-14)代入式(3-8)的得到预测油气田最高年产量的公式为

(3-15)

为最高年产量,104t/a(油),108m3/a(气)。

再将式(3-14)代入式(3-11)得到预测最高年产量对应的累积产量为

(3-16)

为最高年产量对应的累积产量,104t/a(油),108m3/a(气)。

将式(3-7)代入式(3-16)得

(3-17)

已知

,因此式(3-17)又可写为

(3-18)

由式(3-18)可以看出,对于瑞利模型来说,当可采储量的40%时,油田进入递减期。

3.2模型的求解方法

由上述推导的结果可以看出,要想利用瑞利模型进行各项预测,就必须首先确定模型常数a和c的数值。

为此,将式(3-18)等号两端先除以t再取常用对数,得

(3-19)

若设:

(3-20)

(3-21)

则得:

(3-22)

由式(3-22)看出,Q/t与

之间具有半对数直线关系。

当根据油气田的实际生产数据,由式(3-22)进行线性回归之后,可以求得直线的截距

和斜率

的数值,并由式(3-22)和式(21)确定模型常数a和c的数值。

最小二乘法原理:

最小二乘法是提供“观测组合”的主要工具之一,它依据对某事件的大量观测而获得最佳结果或最可能表现形式。

如已知2变量为线性关系y=ax+b对其进行n(n>

2)次观测而获得n对数

据,若将这n对数据代入方程求解a,b之值则无确定解。

最小二乘法提供了一个求解方法,其基本思想就是寻找最接近这n个观测点的直线。

这条直线上各点相应的y值与测量值对应纵坐标值之偏差的平方和在所拟合中应是最小的。

在相同试验测量条件下,测得自变量的值为x1,x2,x3,xn,对应的物理量

依次为y1,y2,y3,yn值。

用这一组数据,根据最小二乘法原理去求直线的经验方程,也就是要总的偏差的平方和为最小,根据统计理论,有:

如果试验是在已知线性函数关系下进行的,那么用上述最小二乘法进行线性拟合,可得到最佳直线及其截距b和斜率a,从而得到回归方程。

如果试验是要通过x、y的测量来寻找经验公式,则还应判别由上述线性拟合所得的线性方程是否恰当。

这可由x、y的相关系数来判别:

相关系数大小表示了相关程度好坏。

的值在0和1之间,􀀁

的绝对值越接近1,说明线性越好。

4设计结果

处理表1中的数据得到

和相应的

,按照(3-22)式的直线关系绘于图4-1,得到了一条很好的直线。

经线性回归求得直线的截距α=2.5816;

直线的斜率β=0.007528;

直线的相关系数r=0.9945。

将α和β的数值分别代入式(3-20)和式(3-21)求得a为387.59,c为57.76。

图4-1该油田

的半对数关系

将a和c的数值代入式(3-7)得到该油田的可采储量为11020×

104t;

将c的值代入式(3-14)得到最高年产量发生的时间为5.3692a;

将a和c的数值代入式(3-15)得到该油田的最高年产量为1242.8×

将该油田可采储量的数值代入式(3-18)得到该当油田年产量达到最高年产量时的累积产量为4401.14×

将a和c的数值代入式(3-8)得,预测该油田年产量的公式为

(3-23)

将a和c的数值代入式(3-10)得到预测该油田累积产量的公式为

(3-24)

由式(3-23)和式(3-24)预测该油田的产量和累积产量如表4-1

表4-1开发数据表

预测年产量(104t/a)

预测累积产量(104t/a)

352.6832

177.7129

673.3874

694.6546

934.9175

1504.67

1118.654

2538.444

1216.625

3713.276

1231.56

4943.923

1175.132

6152.55

1064.951

7276.25

921.0863

8271.242

762.8562

9113.677

606.4389

9797.615

463.5474

10331.12

341.147

10731.59

241.9794

11021.2

165.562

11223.16

109.339

11359.07

根据表4-1中数据,在同一坐标系中绘制实际产量与预测产量及其对应时间t之间的关系曲线,绘于图4-2。

图4-2实际与预测产量随时间变化曲线

在同一坐标系中绘制实际累计产量与预测累计产量及其对应时间t之间的关系曲线,绘于图4-3。

图4-3实际与预测累计产量随时间变化曲线

认识与结论

通过本次课程设计,得出如下认识与结论:

(1)完成了这次课程设计使我掌握了瑞利(Rayleigh)模型的应用,并能初步对油田进行预测分析。

(2)我能熟练掌握并应用瑞利(Rayleigh)模型原理、推导及公式,可以对油气田的年产量、累计产量、可采储量、最高年产量、最高年产量发生的时间以及与最高年产量对应的累积产量进行预测。

(3)在三周的课程设计里,我对VB语言有了更深刻的理解。

同时,提高了我对实际问题的解决能力,使理论与实践相结合。

(4)在这次课程设计之后,使我认识到学好计算机的重要性与实践操作的必要性,在老师的指导下和与同学的讨论中,不断地发现问题、不断地解决问题、不断地领悟、不断地获取,使自己的程序不断完善。

(5)通过这次的课程设计,培养了我独立思考和动手操作的能力,也使我在日常的学习与讨论当中增长了许多课外知识,认识到数学模型对油气田的产量预测的重要性。

虽然在课程设计的过程中遇到了一些问题,但经过反复的思考与检查找出原因所在并进行改正。

参考文献

[1]陈元千.瑞利模型的完善推导与应用[J].油气地质与采收率,2004,11(4):

39-41.

[2]陈元千油藏工程实践[M].石油工业出版社,2003

[3]兰燕娜基于VB语言实现最小二乘法直线拟合.长江大学学报2011􀀁

附录

程序

Dimnf(17)AsSingle,kfsj(17)AsSingle,cl(17)AsSingle,ljcl(17)AsSingle

PrivateSubbc_Click()

CD1.ShowSave

IfCD1.FileName="

"

ThenExitSub

Open"

E:

\基础数据.txt"

ForOutputAs#1

Fori=1ToMSFlexGrid1.Rows-1

Print#1,MSFlexGrid1.TextMatrix(i,0),MSFlexGrid1.TextMatrix(i,1),MSFlexGrid1.TextMatrix(i,2),MSFlexGrid1.TextMatrix(i,3)

Nexti

Close#1

EndSub

PrivateSubCommand1_Click()

Label1.Visible=True

MSFlexGrid1.Visible=True

ForInputAs#1

i=1

k=MSFlexGrid1.Rows

WhileNotEOF

(1)

Input#1,nf(i),kfsj(i),cl(i),ljcl(i)

MSFlexGrid1.TextMatrix(i,0)=nf(i)

MSFlexGrid1.TextMatrix(i,1)=kfsj(i)

MSFlexGrid1.TextMatrix(i,2)=cl(i)

MSFlexGrid1.TextMatrix(i,3)=ljcl(i)

i=i+1

Ifi>

MSFlexGrid1.Rows-1ThenMSFlexGrid1.Rows=i+1

Wend

Ifk<

>

MSFlexGrid1.RowsThenMSFlexGrid1.Rows=MSFlexGrid1.Rows-1

PrivateSubCommand2_Click()

Label1.Visible=True

Label2.Visible=True

Label3.Visible=True

Label4.Visible=True

Text1.Visible=True

Text2.Visible=True

Text3.Visible=True

MSFlexGrid1.Visible=True

MSFlexGrid1.Cols=MSFlexGrid1.Cols+2

MSFlexGrid1.ColWidth(5)=1000

MSFlexGrid1.TextMatrix(0,4)="

t^2"

MSFlexGrid1.TextMatrix(0,5)="

lg(Q/t)"

i=1

MSFlexGrid1.TextMatrix(i,4)=kfsj(i)^2

MSFlexGrid1.TextMatrix(i,5)=Int(Log(cl(i)/kfsj(i))/2.303*1000)/1000

Ifi>

Fori=2ToMSFlexGrid1.Rows-1

X=X+kfsj(i)^2

Z=Z+Int(Log(cl(i)/kfsj(i))/2.303*1000)/1000

zx=zx+Int(Log(cl(i)/kfsj(i))/2.303*1000)/1000*kfsj(i)^2

xx=xx+(kfsj(i)^2)^2

Text1=Int(((MSFlexGrid1.Rows-2)*zx-Z*X)/(((MSFlexGrid1.Rows-2)*xx-X^2))*10000)/10000

Text2=Int((Z-Text1*X)/(MSFlexGrid1.Rows-2)*10000)/10000

Text3.Text="

lg(Q/t)="

&

Text1&

+"

Text2

PrivateSubForm_Load()

Label1.Visible=False

Label2.Visible=False

Label3.Visible=False

Label4.Visible=False

Text1.Visible=False

Text2.Visible=False

Text3.Visible=False

MSFlexGrid1.Visible=False

MSFlexGrid1.TextMatrix(0,0)="

年份"

MSFlexGrid1.TextMatrix(0,1)="

开发时间(a)"

MSFlexGrid1.TextMatrix(0,2)="

年产量(10^4t/a)"

MSFlexGrid1.TextMatrix(0,3)="

累积产量(10^4t/a)"

MSFlexGrid1.ColWidth

(1)=1500

MSFlexGrid1.ColWidth

(2)=2000

MSFlexGrid1.ColWidth(3)=2000

PrivateSubjs_Click()

Form1.Hide

Form2.Show

ReDimj(1To17)AsString

ReDimh(1To17)AsString

ReDiml(1To17)AsString

Form2.MSFlexGrid1.TextMatrix(0,0)="

Form2.MSFlexGrid1.TextMatrix(0,1)="

理论年产油量(10^4t/a)"

Form2.MSFlexGrid1.TextMatrix(0,2)="

理论累积产油量(10^4t/a)"

Form2.MSFlexGrid1.ColWidth(0)=1000

Form2.MSFlexGrid1.ColWidth

(1)=2000

Form2.MSFlexGrid1.ColWidth

(2)=2800

g=0

l(i)=Form1.Text1*kfsj(i)^2+Form1.Text2

h(i)=kfsj(i)*10^l(i)

g=g+h(i)

j(i)=g

Form2.MSFlexGrid1.TextMatrix(i,0)=kfsj(i)

Form2.MSFlexGrid1.TextMatrix(i,1)=Int(h(i)*10000)/10000

Form2.MSFlexGrid1.TextMatrix(i,2)=Int(j(i)*10000)/10000

Nexti

c=1/(-Form1.Text1.Text)/2.3

a=10^(Form1.Text2.Text)

Form2.Text1.Text=Int(0.5*a*c*10000)/10000

Form2.Text2.Text=Int(0.707*(c^0.5*10000))/10000

Form2.Text3.Text=Int(0.4289*a*c^0.5*10000)/10000

Form2.Text4.Text=Int(0.5*a*c*(1-10^(-0.5)/0.52137)*10000)/10000

PrivateSubone_Click()

Form2.Hide

Form3.Show

Form3.MSChart1.Visible=True

Form3.MSChart2.Visible=False

Form3.MSChart3.Visible=False

n=MSFlexGrid1.Rows-1

ReDime(1Ton,1Ton)AsString

ReDimf(1Ton,1Ton)AsString

e(i,2)=Int(Log(cl(i)/kfsj(i))/2.303*1000)/1000

e(i,1)=kfsj(i)^2

Form3.Text1.Text="

Form1.Text1.Text&

(Form1.Text2.Text)

ReDimMyData(n-1,3)AsDouble

'

-----x轴坐标值-----Y轴坐标值----------

Fori=1ToMSFlexGrid1.Rows-1

MyData(i-1,0)=e(i,1):

MyData(i-1,1)=e(i,2)'

本句代表了:

第一点数据的X轴坐标,Y轴坐标

MyData(i-1,3)=(Form1.Text1.Text

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2