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

📄 jk.frm

📁 用VB编写得罗茨泵泄漏量计算
💻 FRM
📖 第 1 页 / 共 2 页
字号:
         End
         Begin VB.TextBox Text23 
            Height          =   375
            Index           =   0
            Left            =   2520
            TabIndex        =   27
            Text            =   "Text23"
            Top             =   360
            Width           =   2175
         End
         Begin VB.Label Label23 
            Caption         =   "分子流模型"
            Height          =   375
            Index           =   1
            Left            =   480
            TabIndex        =   33
            Top             =   1680
            Width           =   1455
         End
         Begin VB.Label Label22 
            Caption         =   "过渡流模型"
            Height          =   375
            Index           =   1
            Left            =   480
            TabIndex        =   32
            Top             =   1080
            Width           =   1455
         End
         Begin VB.Label Label21 
            Caption         =   "粘滞流模型"
            Height          =   375
            Index           =   1
            Left            =   480
            TabIndex        =   31
            Top             =   480
            Width           =   1455
         End
      End
      Begin VB.CommandButton Command1 
         Caption         =   "计算"
         Height          =   375
         Left            =   8280
         TabIndex        =   25
         Top             =   1680
         Width           =   975
      End
      Begin VB.TextBox txt5 
         Height          =   270
         Left            =   2880
         TabIndex        =   24
         Text            =   "0.1"
         Top             =   2160
         Width           =   1455
      End
      Begin VB.TextBox txt7 
         Height          =   270
         Index           =   1
         Left            =   2880
         TabIndex        =   23
         Text            =   "0.18"
         Top             =   3240
         Width           =   1455
      End
      Begin VB.TextBox txt8 
         Height          =   270
         Index           =   1
         Left            =   2880
         TabIndex        =   22
         Text            =   "0.07"
         Top             =   3600
         Width           =   1455
      End
      Begin VB.TextBox txt1 
         Height          =   270
         Left            =   2880
         TabIndex        =   3
         Text            =   "84.88"
         Top             =   360
         Width           =   1455
      End
      Begin VB.TextBox txt2 
         Height          =   270
         Left            =   2880
         TabIndex        =   2
         Text            =   "250"
         Top             =   720
         Width           =   1455
      End
      Begin VB.TextBox txt3 
         Height          =   270
         Left            =   2880
         TabIndex        =   1
         Text            =   "84.78"
         Top             =   1200
         Width           =   1455
      End
      Begin VB.Label Label17 
         Caption         =   "轴固定端(电机端)与泵体端盖间的间隙"
         Height          =   615
         Index           =   1
         Left            =   0
         TabIndex        =   21
         Top             =   3600
         Width           =   2295
      End
      Begin VB.Label Label16 
         Caption         =   "轴活动端(齿轮端)转子侧面与泵壁端盖间的间隙"
         Height          =   495
         Index           =   1
         Left            =   0
         TabIndex        =   20
         Top             =   3120
         Width           =   2415
      End
      Begin VB.Label Label15 
         Caption         =   "转子与转子间的间隙"
         Height          =   255
         Index           =   1
         Left            =   0
         TabIndex        =   19
         Top             =   2760
         Width           =   1935
      End
      Begin VB.Label Label14 
         Caption         =   "转子与泵壁之间特征间隙 "
         Height          =   255
         Index           =   1
         Left            =   0
         TabIndex        =   18
         Top             =   2160
         Width           =   2655
      End
      Begin VB.Label Label2 
         Caption         =   "壁的内圆半径"
         Height          =   255
         Left            =   120
         TabIndex        =   7
         Top             =   360
         Width           =   1095
      End
      Begin VB.Label Label3 
         Caption         =   "转子厚度"
         Height          =   255
         Left            =   120
         TabIndex        =   6
         Top             =   720
         Width           =   1095
      End
      Begin VB.Label Label4 
         Caption         =   "叶轮中心距"
         Height          =   255
         Left            =   120
         TabIndex        =   5
         Top             =   1080
         Width           =   1095
      End
      Begin VB.Label Label6 
         Caption         =   "叶峰半径"
         Height          =   255
         Left            =   120
         TabIndex        =   4
         Top             =   1560
         Width           =   1095
      End
   End
   Begin VB.Label Label1 
      Caption         =   "渐开线型型转子的间隙泄漏量"
      BeginProperty Font 
         Name            =   "楷体_GB2312"
         Size            =   15.75
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H000000C0&
      Height          =   615
      Index           =   0
      Left            =   2880
      TabIndex        =   8
      Top             =   0
      Width           =   5295
   End
End
Attribute VB_Name = "jk"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Const pi = 3.1415926
'全局变量
Dim rm As Double, b As Double, a As Double, p2 As Double, p1 As Double, R0 As Double, nn As Double


'***************************************************************************************************************
'***************************************转子顶部与壁的泄漏模型**************************************************
'****************************************************************************************************************
Private Sub Command1_Click()
'p()为迭代过程中的p,Q()为迭代过程中的流量Q,x()为迭代过程中的x
Dim p(1 To 10000) As Double, Q(1 To 10000) As Double, x(1 To 10000) As Double, QQ As Double, alpha As Double, alphj As Double

rm = Val(Text1.Text) '壁的内圆半径
b = Val(Text2.Text)  '转子厚度
a = 0.5 * Val(Text3.Text) '叶轮中心距
r = Val(Text4.Text) '叶峰半径
nn = Val(Text5.Text) '粘滞系数
p1 = Val(Text6.Text) '初始压强P1
p2 = Val(Text7.Text) '出口压强p2
'num = Val(Text8.Text) '迭代步数
n = Val(Text10.Text) '转速:角速度
R0 = 4 * r / pi
'*************************************粘滞流状态QQ********************************************************************
alphp = Atn(-(4 * r / (pi * a)) / (-(4 * r / (pi * a)) ^ 2 + 1) ^ 0.5) + 2 * Atn(1) '节圆压力角
temp = 1 / (1 + (Tan(alphp) - pi / 2) ^ 2) ^ 0.5
alphj = Atn(-temp / (-temp ^ 2 + 1)) + 2 * Atn(1)                                   '终点压力角
h = 2 * R0 * Tan(alphj) / num                                                        '迭代步长
'ReDim p(1 To num), Q(1 To num), x(1 To num)

p(1) = p1
Q(1) = 0
x(1) = -R0 * Tan(alphj)
'开始迭代计算
For i = 1 To num - 1
    t1 = b * ((rm ^ 2 - x(i) ^ 2) ^ 0.5 - (r ^ 2 - x(i) ^ 2) ^ 0.5 - a) / 2
    t2 = ((rm ^ 2 - x(i) ^ 2) ^ 0.5 - (r ^ 2 - x(i) ^ 2) ^ 0.5 - a) ^ 2 / (6 * nn)
    t3 = 2 * pi * n * ((r ^ 2 - x(i) ^ 2) ^ 0.5 + a) / 60
    k1 = (Q(i) / (t1 * p(i)) - t3) / t2
    t12 = b * ((rm ^ 2 - (x(i) + 0.5 * h) ^ 2) ^ 0.5 - (r ^ 2 - (x(i) + 0.5 * h) ^ 2) ^ 0.5 - a) / 2
    t22 = ((rm ^ 2 - (x(i) + 0.5 * h) ^ 2) ^ 0.5 - (r ^ 2 - (x(i) + 0.5 * h) ^ 2) ^ 0.5 - a) ^ 2 / (6 * nn)
    t32 = 2 * pi * n * ((r ^ 2 - (x(i) + 0.5 * h) ^ 2) ^ 0.5 + a) / 60
    k2 = (Q(i) / (t12 * (p(i) + 0.5 * h * k1)) - t32) / t22
    k3 = (Q(i) / (t12 * (p(i) + 0.5 * h * k2)) - t32) / t22
    t13 = b * ((rm ^ 2 - (x(i) + h) ^ 2) ^ 0.5 - (r ^ 2 - (x(i) + h) ^ 2) ^ 0.5 - a) / 2
    t23 = ((rm ^ 2 - (x(i) + h) ^ 2) ^ 0.5 - (r ^ 2 - (x(i) + h) ^ 2) ^ 0.5 - a) ^ 2 / (6 * nn)
    t33 = 2 * pi * n * ((r ^ 2 - (x(i) + h) ^ 2) ^ 0.5 + a) / 60
    k4 = (Q(i) / (t12 * (p(i) + h * k3)) - t32) / t22
    p(i + 1) = p(i) + h * (k1 + 2 * k2 + 2 * k3 + k4) / 6
    x(i + 1) = x(i) + h
    Q(i + 1) = t1 * p(i + 1) * (t2 * k1 + t3)
Next

'输出流量Q
QQ = t1 * p2 * (t2 * k1 + t3)
Text9.Text = QQ
'****************************************************************************************************************
'********************************************过渡流状态Q*************************************************************************
k = 1.38 * 10 ^ (-23)
xgma = 3 * 10 ^ (-10)
nu = 28                                                 '气体摩尔质量取28
t = Val(Text11.Text)                                    '温度
'kk为修正系数
kk = 3 * (1 + r) * (r * Log(r + (1 + r ^ 2) ^ 0.5) + r ^ 2 * Log((1 + (1 + r ^ 2) ^ 0.5) / r) + (1 + r ^ 3 - (1 + r ^ 2) ^ (3 / 2)) / 3) / (8 * r ^ 2)
'开始迭代计算
For i = 1 To num - 1

'求K1
hx = (rm ^ 2 - x(i) ^ 2) ^ 0.5 - (r ^ 2 - x(i) ^ 2) ^ 0.5 - a 'x处的管道高度h(x)
vx = 2 * pi * n * ((r ^ 2 - x(i) ^ 2) ^ 0.5 + a) / 60       '速度分量v(x)
tx1 = Exp(-12 * k * t / (1.414 * xgma ^ 2 * p(i) * hx))
tx2 = (8 / 3) * kk * (2 / 0.97 - 1) * (2 * 8.31 * t / (pi * nu)) ^ 0.5 * (b ^ 2 * hx ^ 2 / (b + hx)) * (1 - tx1)
k1 = (Q(i) + vx * b * hx + tx1 * p(i)) / ((b * hx * tx1 * p(i) / 6 * nn) - tx2)
'求K2
hx = (rm ^ 2 - (x(i) + 0.5 * h) ^ 2) ^ 0.5 - (r ^ 2 - (x(i) + 0.5 * h) ^ 2) ^ 0.5 - a 'x处的管道高度h(x)
vx = 2 * pi * n * ((r ^ 2 - (x(i) + 0.5 * h) ^ 2) ^ 0.5 + a) / 60        '速度分量v(x)
tx1 = Exp(-12 * k * t / (1.414 * xgma ^ 2 * (p(i) + 0.5 * h * k1) * hx))
tx2 = (8 / 3) * kk * (2 / 0.97 - 1) * (2 * 8.31 * t / (pi * nu)) ^ 0.5 * (b ^ 2 * hx ^ 2 / (b + hx)) * (1 - tx1)
k2 = (Q(i) + vx * b * hx + tx1 * (p(i) + 0.5 * h * k1)) / ((b * hx * tx1 * (p(i) + 0.5 * h * k1) / 6 * nn) - tx2)
'求K3
hx = (rm ^ 2 - (x(i) + 0.5 * h) ^ 2) ^ 0.5 - (r ^ 2 - (x(i) + 0.5 * h) ^ 2) ^ 0.5 - a 'x处的管道高度h(x)
vx = 2 * pi * n * ((r ^ 2 - (x(i) + 0.5 * h) ^ 2) ^ 0.5 + a) / 60        '速度分量v(x)
tx1 = Exp(-12 * k * t / (1.414 * xgma ^ 2 * (p(i) + 0.5 * h * k2) * hx))
tx2 = (8 / 3) * kk * (2 / 0.97 - 1) * (2 * 8.31 * t / (pi * nu)) ^ 0.5 * (b ^ 2 * hx ^ 2 / (b + hx)) * (1 - tx1)
k3 = (Q(i) + vx * b * hx + tx1 * (p(i) + 0.5 * h * k2)) / ((b * hx * tx1 * (p(i) + 0.5 * h * k2) / 6 * nn) - tx2)
'求K4
hx = (rm ^ 2 - (x(i) + h) ^ 2) ^ 0.5 - (r ^ 2 - (x(i) + h) ^ 2) ^ 0.5 - a  'x处的管道高度h(x)
vx = 2 * pi * n * ((r ^ 2 - (x(i) + h) ^ 2) ^ 0.5 + a) / 60         '速度分量v(x)
tx1 = Exp(-12 * k * t / (1.414 * xgma ^ 2 * (p(i) + h * k3) * hx))
tx2 = (8 / 3) * kk * (2 / 0.97 - 1) * (2 * 8.31 * t / (pi * nu)) ^ 0.5 * (b ^ 2 * hx ^ 2 / (b + hx)) * (1 - tx1)
k3 = (Q(i) + vx * b * hx + tx1 * (p(i) + k3)) / ((b * hx * tx1 * (p(i) + h * k3) / 6 * nn) - tx2)
'求p(i+1)
p(i + 1) = p(i) + h * (k1 + 2 * k2 + 2 * k3 + k4) / 6
x(i + 1) = x(i) + h
'求Q(i+1)
Q(i + 1) = (b * hx * tx1 / (6 * nn)) * p(i + 1) * k1 - vx * b * hx * tx1 * p(i + 1) - tx2 * p(i + 1)
Next
'输出流量Q
QQ = (b * hx * tx1 / (6 * nn)) * p2 * k1 - vx * b * hx * tx1 * p2 - tx2 * p2
Text12.Text = QQ
'*********************************************************************************************************************
End Sub

Private Sub Command4_Click()

End Sub

Private Sub Command5_Click()

End Sub

Private Sub Command2_Click()

End Sub

Private Sub Command7_Click()

End Sub

Private Sub Command3_Click(Index As Integer)
kk = (Val(txt1.Text) / 84.88 + Val(txt2) / 250 + Val(txt3.Text) / 24.78 + Val(txt4) / 25.03 + Val(txt5) / 0.1 + Val(txt6) / 0.14 + Val(txt7(1)) / 0.18 _
      + Val(txt8(1)) / 0.07 + Val(txt10) / 3000 + Val(txt12) / 500) / 10
p1 = Val(txt11.Text) / 5
q2 = kk * (-0.000000006352 * p1 ^ 2 + 0.00002239 * p1 + 67.02)
txt19(1) = q2
txt20(1) = q2 * 1.2
txt21(1) = q2 * 0.89
End Sub

Private Sub Command6_Click()
kk = (Val(txt1.Text) / 84.88 + Val(txt2) / 250 + Val(txt3.Text) / 24.78 + Val(txt4) / 25.03 + Val(txt5) / 0.1 + Val(txt6) / 0.14 + Val(txt7(1)) / 0.18 _
      + Val(txt8(1)) / 0.07 + Val(txt10) / 3000 + Val(txt12) / 500) / 10
p1 = Val(txt11.Text) / 5
q2 = kk * (-0.00000003801 * p1 ^ 2 + 0.00382 * p1)
txt16 = q2
txt17 = q2 * 1.2
txt18 = q2 * 0.89


End Sub

Private Sub Command8_Click()
kk = (Val(txt1.Text) / 84.88 + Val(txt2) / 250 + Val(txt3.Text) / 24.78 + Val(txt4) / 25.03 + Val(txt5) / 0.1 + Val(txt6) / 0.14 + Val(txt7(1)) / 0.18 _
      + Val(txt8(1)) / 0.07 + Val(txt10) / 3000 + Val(txt12) / 500) / 10
p1 = Val(txt11.Text) / 5
q1 = kk * (-0.000000009294 * p1 ^ 2 + 8.956 * 0.001 * p1)
txt13(1) = q1
txt14(1) = q1 * 0.99
txt15 = q1 * 1.11
End Sub

'***************************************************************************************************************
'***************************************************************************************************************
'****************************************************************************************************************
Private Sub Form_Load()
'Text1.Text = 200
'Text2.Text = 50
'Text3.Text = 140
'Text4.Text = 45
'Text5.Text = 0.8
'Text6.Text = 1000
'Text7.Text = 500
'Text8.Text = ""
'Text9.Text = ""
'Text10.Text = 1000
'Text11.Text = ""
'Text12.Text = ""



End Sub

Private Sub Form_Unload(Cancel As Integer)
mainfrm.Show
End Sub

⌨️ 快捷键说明

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