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

📄 form6.frm

📁 基于VB语言编写的热力学性质计算的应用软件(数据库操作)
💻 FRM
📖 第 1 页 / 共 2 页
字号:
VERSION 5.00
Begin VB.Form Form6 
   AutoRedraw      =   -1  'True
   BackColor       =   &H00C0C0C0&
   Caption         =   "程序计算"
   ClientHeight    =   3615
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   4380
   LinkTopic       =   "Form6"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   3615
   ScaleWidth      =   4380
   StartUpPosition =   2  '屏幕中心
   Begin VB.CommandButton Command2 
      BackColor       =   &H00FFC0C0&
      Caption         =   "返回上一级"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   10.5
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   2400
      Style           =   1  'Graphical
      TabIndex        =   7
      Top             =   3000
      Width           =   1750
   End
   Begin VB.CommandButton Command1 
      BackColor       =   &H00FFC0C0&
      Caption         =   "确定并显示结果"
      Default         =   -1  'True
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   10.5
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   240
      Style           =   1  'Graphical
      TabIndex        =   6
      Top             =   3000
      Width           =   1750
   End
   Begin VB.Frame Frame1 
      BackColor       =   &H00C0C0C0&
      Caption         =   "请选择计算方程"
      BeginProperty Font 
         Name            =   "楷体_GB2312"
         Size            =   12
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   2655
      Left            =   240
      TabIndex        =   0
      Top             =   120
      Width           =   3975
      Begin VB.OptionButton Option6 
         BackColor       =   &H00C0C0C0&
         Caption         =   "普遍化压缩因子"
         Height          =   375
         Left            =   2040
         TabIndex        =   8
         Top             =   1920
         Width           =   1575
      End
      Begin VB.OptionButton Option5 
         BackColor       =   &H00C0C0C0&
         Caption         =   "维里方程"
         Height          =   375
         Left            =   240
         TabIndex        =   5
         Top             =   1920
         Width           =   1215
      End
      Begin VB.OptionButton Option4 
         BackColor       =   &H00C0C0C0&
         Caption         =   "P-R方程"
         Height          =   375
         Left            =   2040
         TabIndex        =   4
         Top             =   1200
         Width           =   1095
      End
      Begin VB.OptionButton Option3 
         BackColor       =   &H00C0C0C0&
         Caption         =   "S-R-K方程"
         Height          =   375
         Left            =   240
         TabIndex        =   3
         Top             =   1200
         Width           =   1335
      End
      Begin VB.OptionButton Option2 
         BackColor       =   &H00C0C0C0&
         Caption         =   "R-K方程"
         Height          =   375
         Left            =   2040
         TabIndex        =   2
         Top             =   480
         Width           =   1215
      End
      Begin VB.OptionButton Option1 
         BackColor       =   &H00C0C0C0&
         Caption         =   "范德法方程"
         Height          =   375
         Left            =   240
         TabIndex        =   1
         Top             =   480
         Width           =   1215
      End
   End
End
Attribute VB_Name = "Form6"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Private Sub Command1_Click()
 y2 = 1 - y1
 Dim STR1, STR2 As String
 '以下是判断计算的类型(纯的还是混合流体)
  If Form1.Option1 = True Then
     STR1 = Chr(13) + Chr(10) + "这是" + Form1.Option1.Caption + Chr(13) + Chr(10)
  Else
     STR1 = Chr(13) + Chr(10) + "这是" + Form1.Option2.Caption + Chr(13) + Chr(10)
  End If
  '以下是输出所计算的物质
  STR2 = "你选择的物质是" + Form5.Combo1.Text + "和" + Form5.Combo2.Text + Chr(13) + Chr(10)
Dim intt1, intt2 As Integer, V0, V1 As Double, strs As String
Dim T0, T1 As Double, P1, P0 As Double
Dim a11, a22, b11, b22, a12, am, bm As Double
Dim Z0, Z1 As Double
Dim a, b, h, m1, m2 As Double
Dim Tc12, Vc12, Pc12, w12, Zc12 As Double
Const R = 8.314
intt1 = Form5.Combo1.ListIndex  '判断所选的物质的索引号的返回值
intt2 = Form5.Combo2.ListIndex  '判断所选的物质的索引号的返回值

'以下是输出流体的临界常数
STR4 = "流体常数:" + Chr(13) + Chr(10) + Form5.Combo1.Text + ":  Tc=" + Str(Tc1) + "K  " + "Pc=" + Str(Pc1) + "MPa  " + Chr(13) + Chr(10) + "Vc=" + Str(Vc1) + "cm3/mol  " + "Zc=" + Str(Zc1) + "  " + "偏心因子w=" + Str(w1) + Chr(13) + Chr(10) + Form5.Combo2.Text + ":  Tc=" + Str(Tc2) + "K  " + "Pc=" + Str(Pc2) + "MPa  " + Chr(13) + Chr(10) + "Vc=" + Str(Vc2) + "cm3/mol  " + "Zc=" + Str(Zc2) + "  " + "偏心因子w=" + Str(w2) + Chr(13) + Chr(10)
On Error GoTo a0

If Form6.Option1 = True Then       '以下是范德乏方程的计算
  a11 = 27 * R ^ 2 * Tc1 ^ 2 / (64 * Pc1 * 1000000) '常数
  a22 = 27 * R ^ 2 * Tc2 ^ 2 / (64 * Pc2 * 1000000) '常数
  b11 = R * Tc1 / (8 * Pc1 * 1000000)  '常数
  b22 = R * Tc2 / (8 * Pc2 * 1000000)  '常数
  a12 = (Abs(a11) * Abs(a22)) ^ 0.5 * (1 - k)
  am = y1 ^ 2 * a11 + 2 * y1 * y2 * a12 + y2 ^ 2 * a22
  bm = y1 * b11 + y2 * b22
  strs = "用" + Form6.Option1.Caption + "计算的结果:" + Chr(13) + Chr(10)
    If Form5.Option1 = True Then
       P = R * t / (V - bm) - am / V ^ 2  'vdW方程
    ElseIf Form5.Option2 = True Then
       t = (P + am / V ^ 2) * (V - bm) / R
    ElseIf Form5.Option3 = True Then
      V0 = R * t / P
       Do While 1
         V1 = bm + R * t / P - am * (V0 - bm) / (P * V0 ^ 2)
         If Abs(V1 - V0) < 0.0000000001 Then Exit Do
         V0 = V1
       Loop
      V = V1
    End If                           '以上是范德乏方程的计算到此结束

ElseIf Form6.Option2 = True Then     '以下是R-K方程的计算
    a11 = 0.42748 * R ^ 2 * Tc1 ^ 2.5 / (Pc1 * 1000000)
    a22 = 0.42748 * R ^ 2 * Tc2 ^ 2.5 / (Pc2 * 1000000)
    b11 = 0.08664 * R * Tc1 / (Pc1 * 1000000)
    b22 = 0.08664 * R * Tc2 / (Pc2 * 1000000)
    a12 = (Abs(a11) * Abs(a22)) ^ 0.5 * (1 - k)
    am = y1 ^ 2 * a11 + 2 * y1 * y2 * a12 + y2 ^ 2 * a22
    bm = y1 * b11 + y2 * b22
    strs = "这是用" + Form6.Option2.Caption + "计算的结果" + Chr(13) + Chr(10)
    If Form5.Option1 = True Then
       P = R * t / (V - bm) - am / (Sqr(t) * V * (V + bm)) 'R-K方程
       Z = P * V / R / t                '为下面求逸度系数服务
       a = am * P / R ^ 2 / t ^ 2.5   '为下面求逸度系数服务
       b = bm * P / R / t             '为下面求逸度系数服务
    ElseIf Form5.Option2 = True Then
       Z0 = 1
       Do While 1
         T0 = P * V / R / Z0
         a = am * P / R ^ 2 / T0 ^ 2.5
         b = bm * P / R / T0
         h = b / Z0
         Z1 = 1 / (1 - h) - a / b * h / (h + 1)
         If Abs(Z1 - Z0) < 0.000001 Then Exit Do
         Z0 = Z1
       Loop
       Z = Z1
       t = P * V / R / Z
    ElseIf Form5.Option3 = True Then
       a = am * P / R ^ 2 / t ^ 2.5
       b = bm * P / R / t
       Z0 = 1
       Do While 1
         h = b / Z0
         Z1 = 1 / (1 - h) - a / b * h / (h + 1)
         If Abs(Z1 - Z0) < 0.000001 Then Exit Do
         Z0 = Z1
       Loop
       Z = Z1
       V = Z * R * t / P
    End If                          '以上是用R-K方程计算
    
    Yidu1 = Exp(Log(V / (V - bm)) + b11 / (V - bm) - 2 * (y1 * a11 + y2 * a12) / bm / R / t ^ 1.5 * Log((V + bm) / V) + am * b11 / bm ^ 2 / R / t ^ 1.5 * (Log((V + bm) / V) - bm / (V + bm)) - Log(Z))
    Yidu2 = Exp(Log(V / (V - bm)) + b22 / (V - bm) - 2 * (y1 * a12 + y2 * a22) / bm / R / t ^ 1.5 * Log((V + bm) / V) + am * b22 / bm ^ 2 / R / t ^ 1.5 * (Log((V + bm) / V) - bm / (V + bm)) - Log(Z))
    Yidu = Exp(y1 * Log(Yidu1) + y2 * Log(Yidu2))

ElseIf Form6.Option3 = True Then     '以下是S-R-K方程的计算
    strs = "这是用" + Form6.Option3.Caption + "计算的结果" + Chr(13) + Chr(10)

⌨️ 快捷键说明

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