《威布尔模型与乙型水驱曲线的联解法开发课程设计报告.doc》由会员分享,可在线阅读,更多相关《威布尔模型与乙型水驱曲线的联解法开发课程设计报告.doc(35页珍藏版)》请在三一办公上搜索。
1、石 油 大 学课 程 设 计课 程 石油工程课程设计 题 目 威布尔模型与乙型水驱曲线的联解法 院 系 石油工程学院 XXXX石油大学课程设计任务书课程 石油工程课程设计题目 威布尔模型与乙型水驱曲线的联解法专业 石油工程 姓名 学号 主要内容、基本要求、主要参考资料等主要内容:(1) 推导威布尔模型及其与乙型水驱曲线联解关系式的预测模型;(2) 根据油气田实际生产数据,进行线性回归,求得乙型水驱曲线的截距、斜率;(3) 根据相关公式,确定威布尔(Weibull)模型常数a、b、c;(4) 计算油田年产油量;(5) 计算油田累积产油量;(6) 计算含水率;(7) 计算可采储量;(8) 计算最高
2、年产量发生的时间;(9) 计算最高年产量;(10)绘制油田实际年产量与预测产量对比曲线;(11)绘制油田实际累积产量与预测累积产量对比曲线。基本要求:该专题设计最终要求是,学生通过自选基础数据,利用威布尔模型与乙型水驱曲线联解预测模型,结合油田实际生产资料,预测选定油气田的年产量、累积产量、含水率、可采储量、最高年产量、最高年产量发生的时间等开发指标,并编制相应软件,并提交规范设计报告。主要参考资料1陈元千.预测油气田产量的Weibull模型J.新疆石油地质,1995,16(3):250-255.2童宪章.天然水驱和人工注水油藏的统计规律探讨J.石油勘探与开发,1978,4(6):38-64.
3、3 陈元千.一种新型水驱曲线关系式的推导及应用J.石油学报,1993,14(2):65-73.4 陈元千.水驱曲线关系式的推导J. 石油学报,1985,6(2):69-78.完成期限 指导教师 专业负责人 年 月 日目 录1 前 言11.1 设计的目的意义11.2 设计的主要内容12 基础数据23 基础理论33.1威布尔预测模型的建立33.2威布尔模型与乙型水驱曲线的联解法43.3模型的求解方法54 设计结果7认识与结论8参考文献9附录:计算机程序与结果101 前 言1.1 设计的目的意义本课题的目的是让学生通过自选一组数据,利用所学专业知识在指导教师的指导下独立完成对某一油田或区块开发指标的
4、预测。本课题要求学生对威布尔(Weibull)模型及其与乙型水驱曲线联解关系式进行推导,其结果包括,对油气田的年产量、累积产量、含水率、可采储量、最高年产量、最高年产量发生的时间的预测方法。从而将理论知识和实际问题相结合,通过该专题设计的训练,加强学生理论知识运用能力,计算机技术应用能力及解决实际问题的工程应用能力。1.2 设计的主要内容根据已有的基础数据,利用所学的专业知识,在指导教师指导下独立完成并提交一个油田或一个区块油田开发指标预测结果,设计主要内容如下:(1)推导威布尔模型及其与乙型水驱曲线联解关系式;(2)根据油气田实际生产数据,进行线性回归,求得乙型水驱曲线的截距、斜率;(3)根
5、据相关公式,确定威布尔(Weibull)模型常数a、b、c;(4)计算油田年产油量;(5)计算油田累积产油量;(6)计算含水率;(7)计算可采储量;(8)计算最高年产量发生的时间;(9)计算最高年产量;(10)绘制油田实际年产量与预测产量对比曲线;(11)绘制油田实际累积产量与预测累积产量对比曲线。2 基础数据某油田的开发数据如下:表2-1 某油田开发数据年份时间(a)Qo(104t/a)Qw(104t/a)Np(104t)Wp(104t)Lp(104t)1968125.73 0.75 25.73 0.75 26.47 1969237.80 1.33 63.53 2.08 65.60 1970
6、350.84 1.63 114.37 3.71 118.07 1971472.05 1.85 186.42 5.56 191.97 1972585.44 4.25 271.86 9.80 281.66 1973696.68 7.24 368.54 17.04 385.58 19747115.16 14.67 483.70 31.71 515.42 19758129.69 24.08 613.39 55.79 669.18 19769127.82 26.31 741.21 82.10 823.31 197710153.83 39.71 895.03 121.81 1016.84 19781118
7、1.82 63.01 1076.85 184.82 1261.67 197912189.15 102.85 1266.00 287.67 1553.67 198013179.77 146.89 1445.77 434.57 1880.33 198114171.35 193.05 1617.12 627.62 2244.73 198215169.18 230.47 1786.29 858.09 2644.38 198316159.08 301.06 1945.37 1159.15 3104.51 198417152.74 381.82 2098.11 1540.97 3639.08 198518
8、136.70 431.01 2234.81 1971.98 4206.79 198619122.07 483.31 2356.88 2455.29 4812.17 198720104.16 480.49 2461.04 2935.78 5396.82 19882194.44 518.30 2555.48 3454.08 6009.56 19892283.86 517.19 2639.34 3971.26 6610.61 19902375.60 540.77 2714.94 4512.04 7226.98 3 基础理论威布尔(Weibull)预测模型能够很好地预测油田产油量随时间的变化关系,但却
9、不能预测油田的含水率、产水量、产液量及累积产水量和累积产液量,而这些开发指标正是水驱开发油田所需要预测的。乙型水驱曲线法是油藏工程中重要的预测方法,但它只能预测累积产水量与累积产油量之间的关系,却不能预测开发指标与开发时间的关系,而油田开发指标的预测,都离不开与开发时间的联系。将Weibull预测模型和乙型水驱曲线法相结合,则能够预测水驱油田的含水率、产油量、产水量、产液量、可采储量及其相应的累积产量随开发时间变化的联解法。联解法既能保持两种方法原有的预测功能,又克服了两者的局限性。3.1威布尔预测模型的建立Weibull(威布尔)于1939年提出的统计分布模型已成为生命试验和可靠性理论研究的
10、基础。该模型的分布密度表示为: (3-1)式中 f(x)威布尔分布的分布密度函数;x分布变量,根据实际问题,分布区间为0;控制分布形态的形状参数;控制分布峰位和峰值的尺度参数。若对(3-l)式进行积分,在x为0区间内,可以得到Weibu11的分布函数值等于1,推证如下: (3-2)为将Weibull分布模型用于油气田开发指标的预测,将(3-l)式改写为 (3-3)式中 Q油气田的年产量,104t/a(油)或108m3/a(气); t 油气田的开发时间,a; C由Weibull分布模型转换为油气田开发实用模型的模型转换常数。 油气田的累积产量表达式为: (3-4)式中 NP油气田的累积产量,10
11、4t或108t(油);108m(气)。式中 NP油气田的累积产量,104t或108t(油);108m(气)。 将(3-3)代入(3-4)式并考虑(3-2)式中的变量变换法,t从0到t积分得: (3-5) 当时,则,因此(3-5)式又可改写为: (3-6)在得到上面的结果之后,便可对模型转换常数的性质和作用做这样的说明:由于Weibull分布模型,在x从0到区间的分布函数F(x)=1.0,这相当于实际开发的油气田,在t从0到区间的累积产量,即油气田的可采储量。因此,为了能够得到(3-5)式的结果,就必须在(3-3)中引入模型转换常数C。而该模型转换常数就是油气田的可采储量。因此,可以将(3-3)
12、式再改写为: (3-7)为了确定最高年产量发生的时间,有(3-7)式对时间t求导数得: (3-8)当=0时,必然有=0,故可以得到最高年产量发生的时间tm为: (3-9)将(3-9)式代入(3-7)式,得到油气田的最高年产量(Qmax)的表达式: (3-10)再将(3-9)式代入(3-6)式,得到油气田最高年产量发生时的累积产量(Npm)为: (3-11)油气田的剩余可采储量NRR表示为: (3-12)将(3-6)式代入(3-12)式得: (3-13)剩余可采储量的储采比表示为: (3-14)将(3-7)式和(3-13)式代入(3-14)式得: (3-15)剩余可采储量的采油速度为储采比的倒数
13、,故由(3-15)式得到剩余可采储量采油速度的表达式: (3-16)式中以小数f表示,若改以百分数%表示时,(3-16)式改为下式: (3-17)3.2威布尔模型与乙型水驱曲线的联解法利用数理统计学中的威布尔(Weibull)分布,研究与推导得到了威布尔(Weibull)预测模型1。该模型具有预测油田产量、累积产量和可采储量的功能,其基本关系式分别为: (3-18) (3-19) (3-20)乙型水驱曲线法,首先是由我国著名专家童宪章先生2以经验公式的形式,于1978年提出。它的理论推导由文献3完成,其基本关系式为: (3-21)由(3-21)式对时间t求导数得: (3-22)已知:;故由(3
14、-22)式得: (3-23)将(3-23)式代入(3-21)式得: (3-24)取经济极限水油比(Rwo) L,由(24)式得到预测油田可采储量的关系式: (3-25)已知水油比与含水率的关系为: (3-26)将(3-26)式代入(3-24)式得: (3-27)将(3-19)式代入(3-27)式得: (3-28)当由(3-18)式和(3-28)式得到预测的产油量和含水率之后,可由下面的公式分别预测油田的产水量和产液量: (3-29) (3-30)最高年产量发生的时间tm的计算公式如下:最高年产量Qmax为:3.3模型的求解方法为了确定预测模型的模型常数a、b、c以及可采储量NR的数值,对(3-
15、18)式可进行如下处理: (3-31)若设: (3-32) (3-33)则得: (3-34)根据实际的开发数据,首先利用(3-34)式进行线性试差求解,根据最大线性相关系数求出b,然后利用最小二乘法求得和。再由(3-32)式和(3-33)式改写的下式,分别确定模型的常数a和c的数值: (3-35) (3-36)确定出预测模型参数a、b、c后,即可根据(3-20)式求解出可采储量NR。在确定预测模型常数a、b、c、NR时,其值是否正确可靠,要利用(3-18)式、(3-19)式、(3-28)式预测的理论产油量、累积产油量和含水率,与实际产油量、累积产油量和含水率进行对比加以确定,而达到最佳拟合效果
16、的参数才是最准确、可靠的。4 设计结果将表1中的累积产液量(Lp)和相应的累积产油量(NP)数据,按照(3-21)式的直线关系绘于图4-1,得到了一条很好的直线。经线性回归求得直线的截距A=2.50;直线的斜率B=0.000502;直线的相关系数r=0.9999。图4-1 该油田的乙型水驱曲线将表1中的Log(Qo/t)和相应的t(b+1)数据,按照(3-34)式的直线关系绘于图4-2,得到了一条很好的直线。经线性回归求得直线的截距=1.32;直线的斜率=-0.00132;参数a=21.002,b=1.1,c=328.039,直线的相关系数r=0.9990。图4-2 该油田的weibull曲线
17、在确定预测模型常数a、b、c后,利用(3-18)式、(3-19)式、(3-28)式计算油田年产油量、计算油田累积产油量、计算含水率如下表:表4-1 数据表时间(a)实际产量预测产量实际累计产量预测累计产量实际含水率预测含水率125.7320.9425.739.952.830237.8044.4463.5342.443.400350.8468.21114.3798.583.100472.0591.26186.42178.112.500585.44112.82271.86279.934.730696.68132.26368.54402.216.9607115.16149.05483.70542.5
18、911.3008129.69162.82613.39698.2115.6609127.82173.31741.21865.9417.07010153.83180.38895.031042.4220.5217.1811181.82184.051076.851224.2525.7432.8912189.15184.431266.001408.0735.2245.7413179.77181.761445.771590.7344.9756.0714171.35176.351617.121769.3452.9864.2715169.18168.61786.291941.3657.6770.7216159
19、.08158.941945.372104.6765.4375.7617152.74147.812098.112257.5771.4379.6918136.70135.662234.812398.8575.9282.7519122.07122.942356.882527.779.8485.1420104.16110.022461.042643.7682.18872194.4497.272555.48274784.5988.472283.8684.972639.342837.7386.0589.612375.6073.352714.942916.5487.7390.522462.592984.18
20、91.232552.793041.5791.82644.023089.7192.242736.293129.6392.592829.583162.3692.872923.853188.993.083019.013210.1893.253114.993227.0693.383211.693240.2993.48339.013250.5693.56346.883258.4393.62355.193264.4193.66363.873268.993.69372.863272.2393.72382.093274.6793.73391.513276.4593.75401.083277.7393.7641
21、0.763278.6493.76420.533279.2893.77430.373279.7293.77440.253280.0393.77450.173280.2393.77460.113280.3793.78470.083280.4793.78480.053280.5393.78490.033280.5793.78500.023280.693.78510.013280.6193.78计算可采储量:NR =3280.639(104t),计算最高年产量发生的时间:11.897a,计算最高年产量:Qmax=184.302(104t)。预测的理论产油量、累积产油量和含水率,与实际产油量、累积产油量
22、和含水率进行对比。按照(3-18)式的关系在同一坐标系中绘制实际产量与预测产量及其对应时间t之间的关系曲线,绘于图4-3。图4-3 产量与时间关系曲线按照(3-19)式的关系在同一坐标系中绘制实际累计产量与预测累计产量及其对应时间t之间的关系曲线,绘于图4-4。 图4-4 累计产量与时间关系曲线按照(3-28)式的关系在同一坐标系中绘制实际含水率与预测含水率及其对应时间t之间的关系曲线,绘于图4-5。 图4-5 含水率与时间关系曲线认识与结论通过本次课程设计,得出如下认识与结论:(1)通过此次油田开发的课程设计,我基本掌握了威布尔(Weibull)模型与乙型水驱曲线联解法,并能初步对油田进行预
23、测分析。(2)通过这次的课程设计,培养了我独立思考和动手操作的能力,也使我在日常的学习与讨论当中增长了许多课外知识,认识到数学模型对油气田的产量预测的重要性。虽然在课程设计的过程中遇到了一些问题,但经过反复的思考与检查找出原因所在并进行改正。(3)通过计算机的编程学习与操作,使我对VB语言有了更进一步的认识和了解。同时,提高了使用计算机技应用的能力以及解决实际问题的工程应用能力,使理论与实践相结合。(4)现在能熟练掌握、运用威布尔(Weibull)模型与乙型水驱曲线联解法的原理、推导及公式,可以对油气田的年产量、累计产量、含水率、可采储量、最高年产量、最高年产量发生的时间以及与最高年产量对应的
24、累积产量进行预测。(5)这次课程设计,使我认识到学好计算机的重要性与实践操作的必要性,在老师的指导下和与同学的讨论中,不断地发现问题、不断地解决问题、不断地领悟、不断地获取,使自己的程序不断完善。(6)课程设计诚然是一门专业课,它给了我很多的专业知识以及专业上的提升。课程设计同时又是一门讲道课,一门思辨课,给了我许多道,给了我许多思,得到很大的提升空间。参考文献1陈元千.预测油气田产量的Weibull模型J.新疆石油地质,1995,16(3):250-255.2童宪章.天然水驱和人工注水油藏的统计规律探讨J.石油勘探与开发,1978,4(6):38-64.3 陈元千.一种新型水驱曲线关系式的推
25、导及应用J.石油学报,1993,14(2):65-73.4 陈元千.水驱曲线关系式的推导J. 石油学报,1985,6(2):69-78.附录:计算机程序与结果计算机程序Option Base 0Const e = 2.708281828Dim a, t(200), qt(200), t0(200), q0(200), qw(200), ye(200), wp(200)Dim b, c, dDim afw, qmax, tm, NR, x, y, a1, a2, r, rmax, bmax, aa1, bb1, cc1, ub, aa, ab, ar, br, yt, an, bn, mnDim
26、 s(), px(), py()Dim sx, sy, sxy, sx2, sy2Dim np(200), lp(200)Dim yq0(200), ynp(200), yfw(200), ynr, fw(200)Private Sub c1_Click()yt = 50Rem 源数据输入Open App.Path + cd.txt For Input As #1ub = -1Do Until EOF(1)ub = ub + 1Input #1, ye(ub), t(ub), q0(ub), qw(ub), np(ub), wp(ub), lp(ub)lp(ub) = Log(lp(ub) /
27、 Log(10)LoopClose #1Private Sub c5_Click()Rem 乙型参数计算For an = ub To 2 Step -1 求相关系数r,趋势线sx = 0: sy = 0: sxy = 0: sx2 = 0: sy2 = 0l = ub - anFor i = l To an + lsx = sx + np(i)Next iFor i = l To an + lsy = sy + lp(i)Next iFor i = l To an + lsxy = sxy + np(i) * lp(i)Next iFor i = l To an + lsx2 = sx2 +
28、np(i) 2Next iFor i = l To an + lsy2 = sy2 + lp(i) 2Next ia2 = (an + 1) * sxy - sx * sy) / (an + 1) * sx2 - sx 2)a1 = (sx2 * sy - sx * sxy) / (an + 1) * sx2 - sx 2)r = (an + 1) * sxy - sx * sy) / (an + 1) * sx2 - sx 2) 0.5 * (an + 1) * sy2 - sy 2) 0.5)取最大值rIf r ar Then ar = rNext anaa = a1ab = a2Form
29、3.Text1.Text = aa 截距,参数AForm3.Text2.Text = ab 斜率,参数BForm3.Text3.Text = ar 最大相关系数Form3.ShowRem weibull参数计算bn = 12l = ub - bnbmax = 0rmax = 0For b = 1 To 2 Step 0.05 sx = 0: sy = 0: sxy = 0: sx2 = 0: sy2 = 0 For i = l To l + bn t(i) = i + 1 Next i For i = l To l + bn qt(i) = Log(q0(i) / (t(i) b) / Log
30、(10) t0(i) = t(i) (b + 1) Next i For i = l To l + bn sx = sx + t0(i) Next i For i = l To l + bn sy = sy + qt(i) Next i For i = l To l + bn sxy = sxy + qt(i) * t0(i) Next i For i = l To l + bn sx2 = sx2 + t0(i) 2 Next i For i = l To l + bn sy2 = sy2 + qt(i) 2 Next i r = Abs(bn + 1) * sxy - sx * sy) /
31、 (bn + 1) * sx2 - sx 2) 0.5 * (bn + 1) * sy2 - sy 2) 0.5)最大相关系数 If r rmax Then r取最大值 rmax = r bmax = b a2 = (bn + 1) * sxy - sx * sy) / (bn + 1) * sx2 - sx 2) a1 = (sx2 * sy - sx * sxy) / (bn + 1) * sx2 - sx 2) End IfNext baa1 = 10 a1bb1 = bmaxcc1 = -1 / (2.303 * a2)afw = 100 * (1 - 10 (-(aa + ab *
32、aa1 * cc1 / (bb1 + 1) + Log(2.303 * ab) / Log(10) 极限含水率fw公式,fw=1-10(-A+B(a*c/(b+1)(1-exp(-t(b+1)/c)tm = (bb1 * cc1 / (bb1 + 1) (1 / (bb1 + 1)最高年产量对应时间tm公式,tm=(b*c/(b+1)(1/(b+1)qmax = aa1 * (bb1 * cc1 / (bb1 + 1) (bb1 / (bb1 + 1) * Exp(-bb1 / (bb1 + 1)最高年产量Qmax公式,Qmax=a*(b*c/(b+1)(b/(b+1)*exp(-b/(b+1
33、)NR = aa1 * cc1 / (bb1 + 1)可采储量NR公式,NR=a*c/(b+1)Form3.Text4.Text = a2 斜率Form3.Text5.Text = a1 截距Form3.Text6.Text = rmax 最大相关系数Form3.Text7.Text = aa1 参数aForm3.Text8.Text = bb1 参数bForm3.Text9.Text = cc1 参数cForm3.Text10.Text = afw 极限含水率Form3.Text11.Text = qmax 最高年产量Form3.Text12.Text = tm 最高年产量对应时间Form3
34、.Text13.Text = NR 可采储量Rem 预测数据For i = 0 To yt t(i) = i + 1 yq0(i) = Round(aa1 * (t(i) bb1) * (e (-t(i) (bb1 + 1) / cc1), 2) ynp(i) = Round(aa1 * cc1 * (1 - (e (-t(i) (bb1 + 1) / cc1) / (bb1 + 1), 2) If i = ub Then fw(i) = Round(100 * qw(i) / (qw(i) + q0(i), 2) yfw(i) = Round(100 * (1 - 10 (-(aa + ab
35、 * ynp(i) + Log(2.303 * ab) / Log(10), 2) If yfw(i) 0 Then yfw(i) = 0 Next i mn = 50 Rem 表格输出MSFlexGrid1.ColWidth(0) = 1000 表格行宽MSFlexGrid1.ColWidth(1) = 1200MSFlexGrid1.ColWidth(2) = 1200MSFlexGrid1.ColWidth(3) = 1200MSFlexGrid1.ColWidth(4) = 1200MSFlexGrid1.ColWidth(5) = 1200MSFlexGrid1.ColWidth(6
36、) = 1200MSFlexGrid1.Rows = 201MSFlexGrid1.Cols = 7MSFlexGrid1.Width = MSFlexGrid1.ColWidth(1) * MSFlexGrid1.Cols + MSFlexGrid1.Cols * 12MSFlexGrid1.Height = MSFlexGrid1.RowHeight(1) * MSFlexGrid1.Rows + MSFlexGrid1.Rows * 12MSFlexGrid1.TextMatrix(0, 0) = 时间/aMSFlexGrid1.TextMatrix(0, 1) = 实际产量MSFlex
37、Grid1.TextMatrix(0, 2) = 预测产量MSFlexGrid1.TextMatrix(0, 3) = 实际累计产量MSFlexGrid1.TextMatrix(0, 4) = 预测累计产量MSFlexGrid1.TextMatrix(0, 5) = 实际含水率%MSFlexGrid1.TextMatrix(0, 6) = 预测含水率%For i = 0 To mnMSFlexGrid1.TextMatrix(i + 1, 0) = Format(t(i), 0.#)MSFlexGrid1.TextMatrix(i + 1, 1) = Format(q0(i), 0.#)MSFlexGrid1.TextMatrix(i + 1, 2) = Format(yq0(i), 0.#)MSFlexGrid1.TextMatrix(i + 1, 3) = Format(np(i), 0.#)MSFlexGrid1.TextMatrix(i + 1, 4) = Format(ynp(i), 0.#)MSFlexGrid1.TextMatrix(i + 1, 5) = Format(fw(i), 0.#)MSFlexGrid1.TextMatr