⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.frm

📁 VB环境开发程序
💻 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         =   "标准状况下空气密度"
      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         =   "原油体积系数"
      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         =   "油管内径"
      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         =   "生产气油比"
      Height          =   255
      Left            =   480
      TabIndex        =   5
      Top             =   600
      Width           =   1455
   End
   Begin VB.Label Label3 
      Caption         =   "油井产量"
      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 管内径 uo地面原油粘度, bo原油体积系数, ug天然气粘度,
    'a表面张力, mgr天然气密度, p1井口初始压力, mo原油密度, t温度, ma空气密度, z 压缩因子
    'ap1,ap2 为初设计算段的压力降 ql,qg气液的就地流量 ap就地的气体液体及混合物的表观粘度
    Dim vsl, vsg, vm, gl, gg, gm, el As Double  'vsl,vsg,vm就地的气体液体及混合物的表观流速 gl, gg, gm液气用总的质量流量
    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
    '液气及总的质量流量
    gl = ml * ql
    gg = mg * qg
    gm = gl + gg
    '入口体积含液率
    el = ql / (ql + qg)
    '弗罗德数nfr、液体粘度、混合物粘度用表面张力
    nfr = vm * vm / (9.81 * d)
    ul = u
    al = a
    um = ul * el + ug * (1 - el)
    '液体速度准数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
    '根据流型计算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
    '计算阻力系数
    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
    '比较压力增量的假设值与计算值设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颜冰作业")
   MsgBox ("请按求输入计算所需各参数")
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -