首页 热力学计算VB程序代码

热力学计算VB程序代码

举报
开通vip

热力学计算VB程序代码热力学计算VB程序代码 附录二:VB程序代码 Dim Pa , Va , Pb , n1 , n2 As Single “计算”命令按钮的单击事件/’ ‘/ Private Sub Command1_Click() Dim P0, T0, Ne, n, e, e0, AF, Vr, Pz, Ez, Eb, Q, Tb, C, H, O, Hu, Ta, nv, Tc, Pc, L0, L, B , B0, Xz, Bz, Cvpmz, Cvpmb, Cppmz ,Hu_, i, Tz, p, g, Bb...

热力学计算VB程序代码
热力学计算VB程序代码 附录二:VB程序代码 Dim Pa , Va , Pb , n1 , n2 As Single “计算”命令按钮的单击事件/’ ‘/ Private Sub Command1_Click() Dim P0, T0, Ne, n, e, e0, AF, Vr, Pz, Ez, Eb, Q, Tb, C, H, O, Hu, Ta, nv, Tc, Pc, L0, L, B , B0, Xz, Bz, Cvpmz, Cvpmb, Cppmz ,Hu_, i, Tz, p, g, Bb, Pi_, Pi , gi , ni , nm , Pe , ge , ne0 , S , D , S_D , Cm As Single Pa = 0 Va = 0 Pb = 0 n1 = 0 n2 = 0 P0 = Val(Text1(2).Text) T0 = Val(Text1(1).Text) Ne = Val(Text1(3).Text) n = Val(Text1(9).Text) e = Val(Text1(5).Text) e0 = Val(Text1(6).Text) AF = Val(Text1(4).Text) Vr = Val(Text1(13).Text) Pz = Val(Text1(10).Text) Ez = Val(Text1(0).Text) Eb = Val(Text1(7).Text) Q = Val(Text1(14).Text) Tb = Val(Text1(8).Text) C = Val(Text1(15).Text) / 100 H = Val(Text1(16).Text) / 100 O = Val(Text1(12).Text) / 100 Hu = Val(Text1(11).Text) ‘/检查输入参数/’ Dim k As Integer For k = 0 To 16 If Len(Text1(k).Text) <= 0 Then a = MsgBox("请先输入全部参数", 0 + 0 + 48, "请确定") Exit Sub ElseIf Val(Text1(k).Text) <= 0 Then a = MsgBox("参数中有非法数据", 0 + 0 + 48, "请确定") Exit Sub End If Next k Call cqgccs(P0, T0, Tb, Vr, e, e0, Ta, Pa, nv) ’调用充气参数 计算过程 Call ysgccs(n1, Ta, e, Tc, Pc, Pa) ’调用压缩参数计算过程 Call rsgccs(L0, C, H, O, AF, L, B0, B, Vr, Xz, Ez, Eb, Bz, Bb, Cvpmz, Cppmz, Cvpmb, Hu_, Hu, i, Pz, Pc, Tz, Tb, Tc) ’调用燃烧参数计算过程 Call pzgccs(p, B, Tz, i, Tc, g, e, n2, Bz, Bb, Tb, Hu_, Eb, Ez, L, Cvpmb, Cvpmz, Pb, Pz) ’调用膨胀参数计算程 Call zscs(Pi_, Pc, e, i, p, n2, n1, Pi, Pb, Pa, e0, gi, nv, P0, T0, ni, Hu, g, L) ’调用指示参数计算过程 Call yxcs(nm, Pe, Pi, ge, gi, ne0, ni) ’调用有效参数计算过程 Call qgjbcc(S, D, S_D, Cm, n, Ne, Pe, Va) ’调用汽缸基本尺 寸参数计算过程 ‘/输出计算结果/’ Text2(0).Text = Ta Text2(1).Text = Pa Text2(2).Text = nv Text2(3).Text = n1 Text2(4).Text = Tc Text2(5).Text = Pc Text2(6).Text = L0 Text2(7).Text = L Text2(8).Text = B0 Text2(9).Text = B Text2(10).Text = Xz Text2(11).Text = Bz Text2(12).Text = Cvpmz Text2(13).Text = Cvpmb Text2(14).Text = Cppmz Text2(15).Text = Hu_ Text2(16).Text = i Text2(17).Text = Tz Text2(18).Text = p Text2(19).Text = g Text2(20).Text = n2 Text2(21).Text = Pb Text2(22).Text = Pi_ Text2(23).Text = Pi Text2(24).Text = gi Text2(25).Text = ni Text2(26).Text = nm Text2(27).Text = Pe Text2(28).Text = ge Text2(29).Text = ne0 Text2(30).Text = S Text2(31).Text = D Text2(32).Text = Va Text2(33).Text = S_D Text2(34).Text = Cm End Sub ‘/“绘图”命令按钮的单击事件/’ Private Sub Command2_Click() Dim x0 As Single, y0 As Single, x As Single If (n1 = 0) Then a = MsgBox("请先计算", 0 + 0 + 48, "请确定") Exit Sub End If Call Load(Form2) Form2.Show x0 = 1920 y0 = 3480 For x = Va To e0 * Va Step 0.01 PSet (x, y0 - Pa * (x - x0) ^ n1) Next x For x = Va To g * Va Step 0.01 PSet (x, y0 - Pa * (x - x0) ^ n2 Next x End Sub 定义充气参数计算过程/’ ‘/ Sub cqgccs(P0 As Single, T0 As Single, Tb As Single, Vr As Single, e As Single, e0 As Single, Ta As Single, Pa As Single, nv As Single) Ta = (T0 + 5 + 1.11 * Vr * Tb) / (1 + Vr) Pa = P0 nv = e * T0 / ((e0 - 1) * Ta * (1 + Vr)) End Sub ‘/定义压缩参数计算过程/’ Sub ysgccs(n1 As Single, Ta As Single, e As Single, Tc As Single, Pc As Single, Pa As Single) Dim n10, n11 As Single n10 = 1 Do n11 = n10 n10 = 8.315 / (19.26 + 0.0025 * Ta * (1 + e ^ (n11 - 1))) + 1 Loop While Abs(n11 - n10) > 0.001 n1 = n10 Tc = Ta * e ^ (n1 - 1) Pc = Pa * e ^ n1 End Sub ‘/定义燃烧参数计算过程/’ Sub rsgccs(L0 As Single, C As Single, H As Single, O As Single, AF As Single, L As Single, B0 As Single, B As Single, Vr As Single, Xz As Single, Ez As Single, Eb As Single, Bz As Single, Bb As Single, Cvpmz As Single, Cppmz As Single, Cvpmb As Single, Hu_ As Single, Hu As Single, i As Single, Pz As Single, Pc As Single, Tz As Single, Tb As Single, Tc As Single) Dim a, Cv_, Cv__, Tz0, Tz1, Cv_0, Cv_1, Cv__0, Cv__1, Cvpmz0, Cvpmz1, Cppmz0, Cppmz1 As Single a = AF / 14.2 Cv_ = 19.26 + 0.0025 * Tb Cv__ = 20.47 + 0.0036 * Tb L0 = 1 / 0.21 * (C / 12 + H / 4 - O / 32) L = a * L0 B0 = 1 + 0.0639 / a B = (B0 + Vr) / (1 + Vr) Xz = Ez / Eb Bz = 1 + (B0 - 1) / (1 + Vr) * Xz Bb = 1 + (B0 - 1) / (1 + Vr) Cvpmb = ((1.064 + Vr) * Cv__ + (a - 1) * (1 + Vr) * Cv_) / (a * (1 + Vr) + 0.064) Hu_ = Hu + L * (1 + Vr) * (B * Cvpmb - 19.26 + 0.0025 * 293) * 293 i = Pz / Pc Cv_0 = 20 Cv__0 = 20 Cvpmz0 = 30 Cppmz0 = 30 Tz0 = 1980 Do Cv_1 = Cv_0 Cv__1 = Cv__0 Cvpmz1 = Cvpmz0 Cppmz1 = Cppmz0 Tz1 = Tz0 Cv_0 = 19.26 + 0.0025 * Tz1 Cv__0 = 20.47 + 0.0036 * Tz1 Cvpmz0 = ((1.064 * Xz + Vr) * Cv__1 + (a * (1 + Vr) - (Xz + Vz)) * Cv_1) / (a * (1 + Vr) + 0.064 * Xz) Cppmz0 = Cvpmz1 + 8.315 Tz0 = (Ez * Hu_ / (a * L0) + (Cv_ + 8.315 * i) * Tc + Vr * (Cvpmb + 8.315 * i) * Tz1) / (Bz * (1 + Vr) * Cppmz1) Loop While Abs(Cv_1 - Cv_0) > 0.001 Or Abs(Cv__1 - Cv__0) > 0.001 Or Abs(Cppmz1 - Cppmz0) > 0.001 Or Abs(Cvpmz1 - Cvpmz0) > 0.001 Or Abs(Tz1 - Tz0) > 0.001 Cv_ = Cv_0 Cv__ = Cv__0 Cvpmz = Cvpmz0 Cppmz = Cppmz0 Tz = Tz0 End Sub ‘/定义膨胀参数计算过程/’ Sub pzgccs(p As Single, B As Single, Tz As Single, i As Single, Tc As Single, g As Single, e As Single, n2 As Single, Bz As Single, Bb As Single, Tb As Single, Hu_ As Single, Eb As Single, Ez As Single, L As Single, Cvpmb As Single, Cvpmz As Single, Pb As Single, Pz As Single) p = 1 g = e / p n2 = 8.315 * (Bz * Tz / Bb - Tb) / (Hu_ * (Eb - Ez) / (L * (1 + Vr) * B) + Bz / Bb * Cvpmz * Tz - Cvpmb * Tb) + 1 Pb = Pz / g ^ n2 End Sub ‘/定义指示参数计算过程/’ Sub zscs(Pi_ As Single, Pc As Single, e As Single, i As Single, p As Single, n2 As Single, n1 As Single, Pi As Single, Pb As Single, Pa As Single, e0 As Single, gi As Single, nv As Single, P0 As Single, T0 As Single, ni As Single, Hu As Single, g As Single, L As Single) Pi_ = Pc / (e - 1) * (i * p * (p - 1) + i * p / (n2 - 1) * (1 - 1 / g ^ (n2 - 1)) - 1 / (n1 - 1) * (1 - 1 / e ^ (n1 - 1))) Pi = (Pi_ * (e - 1) + (Pb - Pa) * (e0 - e)) / (e0 - 1) * 0.92 gi = nv * P0 / (28.96 * L * T0 * Pi) * 12.54 * 10 ^ 6 ni = 3600 * 10 ^ 3 / (gi * Hu) End Sub ‘/定义有效参数计算过程/’ Sub yxcs(nm As Single, Pe As Single, Pi As Single, ge As Single, gi As Single, ne0 As Single, ni As Single) nm = 0.8 Pe = Pi * nm ge = gi / nm ne0 = ni * nm End Sub 定义汽缸基本尺寸参数计算过程/’ ‘/ Sub qgjbcc(S As Single, D As Single, S_D As Single, Cm As Single, n As Single, Ne As Single, Pe As Single, Va As Single) Dim cm0(0 To 10) As Single, s0(0 To 10) As Single, d0(0 To 10) As Single, s_d0(0 To 10) As Single Dim k As Integer, j As Integer For k = 0 To 10 cm0(k) = 10 + 0.5 * k s0(k) = 30 * cm0(k) / n d0(k) = 0.3909 * (Ne / (Pe * s0(k) * n * 2)) ^ (1 / 2) s_d0(k) = s0(k) / d0(k) Next k For k = 0 To 10 If s_d0(k) > 0.82 Then j = k Exit For End If Next k D = d0(j) * 1000 If D - Fix(D) >= 0.5 Then D = (Fix(D) + 1) / 1000 Else D = Fix(D) / 1000 End If S = 0.3909 ^ 2 * Ne / (D ^ 2 * n * 2 * Pe) S_D = S / D Cm = S * n / 30 Va = (D / 2) ^ 2 * S End Sub
本文档为【热力学计算VB程序代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_751406
暂无简介~
格式:doc
大小:30KB
软件:Word
页数:11
分类:生活休闲
上传时间:2017-09-27
浏览量:76