威布尔模型与乙型水驱曲线的联解法开发课程设计报告(4)

2019-02-17 10:35

参考文献

[1]陈元千.预测油气田产量的Weibull模型[J].新疆石油地质,1995,16(3):250-255. [2]童宪章.天然水驱和人工注水油藏的统计规律探讨[J].石油勘探与开发,1978,4(6):38-64.

[3] 陈元千.一种新型水驱曲线关系式的推导及应用[J].石油学报,1993,14(2):65-73. [4] 陈元千.水驱曲线关系式的推导[J]. 石油学报,1985,6(2):69-78.

13

附录:计算机程序与结果

计算机程序

Option Base 0 Const e = 2.708281828

Dim a, t(200), qt(200), t0(200), q0(200), qw(200), ye(200), wp(200) Dim b, c, d

Dim afw, qmax, tm, NR, x, y, a1, a2, r, rmax, bmax, aa1, bb1, cc1, ub, aa, ab, ar, br, yt, an, bn, mn Dim s(), px(), py() Dim sx, sy, sxy, sx2, sy2 Dim np(200), lp(200)

Dim yq0(200), ynp(200), yfw(200), ynr, fw(200)

Private Sub c1_Click() yt = 50

Rem 源数据输入

Open App.Path + %ub = -1 Do Until EOF(1) ub = ub + 1

Input #1, ye(ub), t(ub), q0(ub), qw(ub), np(ub), wp(ub), lp(ub) lp(ub) = Log(lp(ub)) / Log(10) Loop Close #1

Private Sub c5_Click() Rem 乙型参数计算

For an = ub To 2 Step -1 '求相关系数r,趋势线 sx = 0: sy = 0: sxy = 0: sx2 = 0: sy2 = 0 l = ub - an For i = l To an + l sx = sx + np(i) Next i

14

For i = l To an + l sy = sy + lp(i) Next i

For i = l To an + l sxy = sxy + np(i) * lp(i) Next i

For i = l To an + l sx2 = sx2 + np(i) ^ 2 Next i

For i = l To an + l sy2 = sy2 + lp(i) ^ 2 Next i

a2 = ((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)

'取最大值r If r > ar Then ar = r Next an aa = a1 ab = a2

Form3.Text1.Text = aa '截距,参数A Form3.Text2.Text = ab '斜率,参数B Form3.Text3.Text = ar '最大相关系数 Form3.Show

Rem weibull参数计算 bn = 12 l = ub - bn bmax = 0 rmax = 0

15

For 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(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) / (((bn + 1) * sx2 - sx ^ 2) ^ 0.5 * ((bn + 1) * sy2 - sy ^ 2) ^ 0.5)) '最大相关系数

If r > rmax Then 'r取最大值 rmax = r bmax = b

16

a2 = ((bn + 1) * sxy - sx * sy) / ((bn + 1) * sx2 - sx ^ 2) a1 = (sx2 * sy - sx * sxy) / ((bn + 1) * sx2 - sx ^ 2) End If Next b aa1 = 10 ^ a1 bb1 = bmax

cc1 = -1 / (2.303 * a2)

afw = 100 * (1 - 10 ^ (-(aa + ab * 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)) 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 '参数a Form3.Text8.Text = bb1 '参数b Form3.Text9.Text = cc1 '参数c

Form3.Text10.Text = afw '极限含水率 Form3.Text11.Text = qmax '最高年产量

Form3.Text12.Text = tm '最高年产量对应时间 Form3.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)

17


威布尔模型与乙型水驱曲线的联解法开发课程设计报告(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《市场调研》

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: