参考文献
[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
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库威布尔模型与乙型水驱曲线的联解法开发课程设计报告(4)在线全文阅读。
相关推荐: