?? form1.frm
字號:
VERSION 5.00
Begin VB.Form Form1
Caption = "利用Beggs-Brill方法計算朝向流體的壓力梯度(油工016_顏冰)"
ClientHeight = 4410
ClientLeft = 60
ClientTop = 450
ClientWidth = 6885
LinkTopic = "Form1"
ScaleHeight = 4410
ScaleWidth = 6885
StartUpPosition = 3 '窗口缺省
Begin VB.TextBox Text1
Height = 270
Left = 3443
TabIndex = 35
Top = 3480
Width = 1095
End
Begin VB.TextBox Ztext
Height = 270
Left = 5040
TabIndex = 34
Top = 3120
Width = 1095
End
Begin VB.TextBox Ttext
Height = 270
Left = 5040
TabIndex = 33
Top = 2760
Width = 1095
End
Begin VB.TextBox P1text
Height = 270
Left = 5040
TabIndex = 32
Top = 2400
Width = 1095
End
Begin VB.TextBox Atext
Height = 270
Left = 5040
TabIndex = 31
Top = 2040
Width = 1095
End
Begin VB.TextBox Botext
Height = 270
Left = 5040
TabIndex = 30
Top = 1680
Width = 1095
End
Begin VB.TextBox Ltext
Height = 270
Left = 5040
TabIndex = 29
Top = 1320
Width = 1095
End
Begin VB.TextBox Dtext
Height = 270
Left = 5040
TabIndex = 28
Top = 960
Width = 1095
End
Begin VB.TextBox Qotext
Height = 270
Left = 5040
TabIndex = 27
Top = 600
Width = 1095
End
Begin VB.TextBox Matext
Height = 270
Left = 2160
TabIndex = 26
Top = 3120
Width = 1095
End
Begin VB.TextBox Motext
Height = 270
Left = 2160
TabIndex = 25
Top = 2760
Width = 1095
End
Begin VB.TextBox Mgtext
Height = 270
Left = 2160
TabIndex = 24
Top = 2400
Width = 1095
End
Begin VB.TextBox Ugtext
Height = 270
Left = 2160
TabIndex = 23
Top = 2040
Width = 1095
End
Begin VB.TextBox Uotext
Height = 270
Left = 2160
TabIndex = 22
Top = 1680
Width = 1095
End
Begin VB.TextBox Utext
Height = 270
Left = 2160
TabIndex = 21
Top = 1320
Width = 1095
End
Begin VB.TextBox Rstext
Height = 270
Left = 2160
TabIndex = 20
Top = 960
Width = 1095
End
Begin VB.TextBox Rptext
Height = 270
Left = 2160
TabIndex = 19
Top = 600
Width = 1095
End
Begin VB.CommandButton Command2
Caption = "退出"
Height = 375
Left = 3743
TabIndex = 2
Top = 3840
Width = 975
End
Begin VB.CommandButton Command1
Caption = "計算"
Height = 375
Left = 2303
TabIndex = 1
Top = 3840
Width = 975
End
Begin VB.Label Label18
Caption = "傾斜管角"
Height = 255
Left = 2483
TabIndex = 36
Top = 3495
Width = 735
End
Begin VB.Label Label17
Caption = "標(biāo)準(zhǔn)狀況下空氣密度"
Height = 255
Left = 480
TabIndex = 18
Top = 3120
Width = 1815
End
Begin VB.Label Label16
Caption = "原油表面張力"
Height = 255
Left = 3480
TabIndex = 17
Top = 2040
Width = 1095
End
Begin VB.Label Label15
Caption = "天然氣粘度"
Height = 255
Left = 480
TabIndex = 16
Top = 2040
Width = 1215
End
Begin VB.Label Label14
Caption = "原油粘度mPa"
Height = 255
Left = 480
TabIndex = 15
Top = 1320
Width = 1215
End
Begin VB.Label Label13
Caption = "天然氣壓縮因子"
Height = 255
Left = 3480
TabIndex = 14
Top = 3120
Width = 1335
End
Begin VB.Label Label12
Caption = "原油體積系數(shù)"
Height = 255
Left = 3480
TabIndex = 13
Top = 1680
Width = 1335
End
Begin VB.Label Label11
Caption = "溶解氣油比"
Height = 255
Left = 480
TabIndex = 12
Top = 960
Width = 975
End
Begin VB.Label Label10
Caption = "計算段長"
Height = 255
Left = 3480
TabIndex = 11
Top = 1320
Width = 975
End
Begin VB.Label Label9
Caption = "油管內(nèi)徑"
Height = 255
Left = 3480
TabIndex = 10
Top = 960
Width = 975
End
Begin VB.Label Label8
Caption = "計算段平均溫度"
Height = 255
Left = 3480
TabIndex = 9
Top = 2760
Width = 1455
End
Begin VB.Label Label7
Caption = "地面原油粘度"
Height = 255
Left = 480
TabIndex = 8
Top = 1680
Width = 1455
End
Begin VB.Label Label6
Caption = "天然氣相對密度"
Height = 255
Left = 480
TabIndex = 7
Top = 2400
Width = 1455
End
Begin VB.Label Label5
Caption = "地面脫氣原油密度"
Height = 255
Left = 480
TabIndex = 6
Top = 2760
Width = 1455
End
Begin VB.Label Label4
Caption = "生產(chǎn)氣油比"
Height = 255
Left = 480
TabIndex = 5
Top = 600
Width = 1455
End
Begin VB.Label Label3
Caption = "油井產(chǎn)量"
Height = 255
Left = 3480
TabIndex = 4
Top = 600
Width = 855
End
Begin VB.Label Label2
Caption = "初始壓力(井口)"
Height = 255
Left = 3480
TabIndex = 3
Top = 2400
Width = 1455
End
Begin VB.Label Label1
Caption = "利用Beggs-Brill方法計算朝向流體的壓力梯度"
BeginProperty Font
Name = "隸書"
Size = 12
Charset = 134
Weight = 700
Underline = -1 'True
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H000000FF&
Height = 375
Left = 720
TabIndex = 0
Top = 120
Width = 5655
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Dim ap1, ap, ap2, p, rs, rp, qo, ql, qg, d, u, l, uo, bo, ug, a, mgr, p1, mo, ml, t, ma, z As Double
'u原油粘度 l計算段長度 d 管內(nèi)徑 uo地面原油粘度, bo原油體積系數(shù), ug天然氣粘度,
'a表面張力, mgr天然氣密度, p1井口初始壓力, mo原油密度, t溫度, ma空氣密度, z 壓縮因子
'ap1,ap2 為初設(shè)計算段的壓力降 ql,qg氣液的就地流量 ap就地的氣體液體及混合物的表觀粘度
Dim vsl, vsg, vm, gl, gg, gm, el As Double 'vsl,vsg,vm就地的氣體液體及混合物的表觀流速 gl, gg, gm液氣用總的質(zhì)量流量
Dim nfr, ul, al, um, cta, nvl, l1, fai, h1, h2, l2, l3, l4, a1, b1, cc, c1, d1, e1, f1, g1 As Double
Dim s As String
Dim y, ss, nre, lanb1, lanb2, pp, ppp, p2, p3 As Double
If Rptext.Text = "" Or Rstext.Text = "" Or Qotext.Text = "" Or Dtext.Text = "" Or Utext.Text = "" Or Ltext.Text = "" Or Ltext.Text = "" Or Uotext.Text = "" Or Botext.Text = "" Or Ugtext.Text = "" Or Atext.Text = "" Or Mgtext.Text = "" Or P1text.Text = "" Or Ztext.Text = "" Or Matext.Text = "" Or Ttext.Text = "" Or Motext.Text = "" Then
MsgBox ("你的輸入不正確,為了你的利益請正確輸入!")
Exit Sub
End If
cta = Text1.Text
rp = Rptext.Text
rs = Rstext.Text
qo = Qotext.Text
d = Dtext.Text * (10 ^ (-3))
u = Utext.Text * (10 ^ (-3))
l = Ltext.Text
uo = Uotext.Text
bo = Botext.Text
ug = Ugtext.Text * (10 ^ (-3))
a = Atext.Text
mgr = Mgtext.Text
p1 = P1text.Text
mo = Motext.Text
t = Ttext.Text
ma = Matext.Text
z = Ztext.Text
ap1 = 0.5
p3 = ap1
Do While p3 > 0.02
ap2 = p1 + ap1
p = (ap2 + p1) / 2 'p平均
t = t + 273
'計算原油密度
ml = (mo + ma * rs * mgr) / bo
'計算天然氣密度
mg = (mgr * ma * p * 293) / (z * t * 0.101)
'氣液的就地流量
qg = 0.101 * t * z * (rp - rs) * qo / (86400 * p * 293)
ql = qo * bo / 86400
'就地的氣體液體及混合物的表觀流速
ap = 3.1416 * d * d / 4
vsl = ql / ap
vsg = qg / ap
vm = vsl + vsg
'液氣及總的質(zhì)量流量
gl = ml * ql
gg = mg * qg
gm = gl + gg
'入口體積含液率
el = ql / (ql + qg)
'弗羅德數(shù)nfr、液體粘度、混合物粘度用表面張力
nfr = vm * vm / (9.81 * d)
ul = u
al = a
um = ul * el + ug * (1 - el)
'液體速度準(zhǔn)數(shù)nvl
nvl = vsl * ((ml / (9.81 * a)) ^ 0.25)
'5流型確定
l1 = 316 * (el ^ 0.302)
l2 = 92.52 * (10 ^ (-5)) * (el ^ (-2.4684))
l3 = 0.1 * (el ^ (-1.4516))
l4 = 0.5 * (el ^ (-6.738))
If (el < 0.01 And nfr < l1) Or (el >= 0.01 And nfr < l2) Then '上下坡問題
s = "分離流"
a1 = 0.98
b1 = 0.4846
c1 = 0.0868
MsgBox ("分離流")
ElseIf el >= 0.01 And l2 < nfr And l3 >= nfr Then
s = "過渡流"
a1 = 0.845
b1 = 0.5351
c1 = 0.0173
MsgBox ("過渡流")
ElseIf (el >= 0.01 And el < 0.4 And l3 < nfr And nfr < l1) Or (el >= 0.4 And l3 < nfr And nfr < l4) Then
MsgBox ("間歇流")
a1 = 0.845
b1 = 0.5351
c1 = 0.0173
s = "間歇流"
ElseIf (el < 0.4 And nfr >= l1) Or (el >= 0.4 And nfr > l4) Then
MsgBox ("分散流")
a1 = 1.065
b1 = 0.5929
c1 = 0.0609
s = "分散流"
End If
d1 = 4.7
e1 = -0.3692
f1 = 0.1244
g1 = -0.5056
'根據(jù)流型計算h1(0),h1(aa)aa為角度 a1,b1,c1,d1
h1 = (el ^ b1) / (nfr ^ c1)
If cta <> 0 Then
cc = (1 - el) * (Log(d * (el ^ e1) * (nvl ^ f1) * (nfr ^ g1)))
fai = 1 + cc(Sin(1.8 * cta / 180 * 3.1415926) - (1 / 3) * (Sin(1.8 * cta / 180 * 3.1415926) ^ 3))
h1 = h1 * fai
End If
'計算阻力系數(shù)
y = el / (h1 ^ 2)
ss = Log(y) / (-0.0523 + 3.182 * Log(y) - 0.8725 * (Log(y) ^ 2) + 0.01853 * (Log(y) ^ 4))
nre = d * vm * (ml * el + mg * (1 - el)) / (ul * el + ug * (1 - el))
lanb2 = 0.0056 + 0.5 / (nre ^ 0.32)
lanb1 = lanb2 * (e1 ^ ss)
'計算壓降梯度
pp = ((ml * h1 + mg * (1 - h1)) * 9.81 * Sin(sta / 180 * 3.14) + lanb1 * gm * vm / (2 * d * ap)) / (1 - ((ml * h1 + mg * (1 - h1)) * vm * vsg) / p)
ppp = pp * z
'計算該段末端的壓力
p2 = p1 + ppp
'比較壓力增量的假設(shè)值與計算值設(shè)ipxlong=0.02
p3 = Abs(ap2 - p2)
ap1 = p2
Loop
MsgBox ("該段壓降是" & Format(ppp, "0.0000") & "Mp !")
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
MsgBox ("油工016顏冰作業(yè)")
MsgBox ("請按求輸入計算所需各參數(shù)")
End Sub
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -