| 查看: 786 | 回复: 5 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
[求助]
VB入门解惑已有1人参与
|
||
|
刚开始学习VB,还不太熟悉,帮我看个题,谢啦~就是在主函数里面调用UNIFAC模型,不知道在哪里调试! Option Explicit Private Sub Command1_Click() Dim NG As Integer, NC As Integer, T As Single, XC() As Variant, RK() As Variant, QK() As Variant, A() As Single, V() As Single NG = 4 NC = 2 T = 298 XC = Array(0.1, 0.9) RK = Array(0.9011, 0.6744, 0.1, 2.8266) QK = Array(0.848, 0.54, 1.2, 2.472) A(1, 1) = 0 A(1, 2) = 0 A(1, 3) = 986.5 A(1, 4) = 526.5 A(2, 1) = 0 A(2, 2) = 0 A(2, 3) = 986.5 A(2, 4) = 526.5 A(3, 1) = 156.4 A(3, 2) = 156.4 A(3, 3) = 0 A(3, 4) = -202.1 A(4, 1) = 50.49 A(4, 2) = 50.49 A(4, 3) = -25.87 A(4, 4) = 0 V(1, 1) = 1 V(1, 2) = 1 V(1, 3) = 1 V(1, 4) = 0 V(2, 1) = 0 V(2, 2) = 0 V(2, 3) = 0 V(2, 4) = 1 Call UNIFAC End Sub Sub UNIFAC(NG As Integer, NC As Integer, T As Single, XC() As Single, RK() As Single, QK() As Single, A() As Single, V() As Single, GAMMA() As Single) 'This program calculates liquid phase activity coefficients using UNIFAC method 'NC--number of components in the mixture 'NG-number of functional group in the mixture 'QK(k)-the area parameter of functional group 'RK(k)-the volume parameter of functional group 'A(k,m)-the interactional parameter of functional group 'V(i,k)-the number of "'k" functional group in the "i" components 'T-system temperature,K 'XC(i)-mol fraction of "i" components 'GAMMA(i)--activity coefficients of "i" components Dim i As Integer, K As Integer, M As Integer, n As Integer Dim SUM1 As Single, SUM2 As Single, SUM3 As Single, SUM4 As Single Dim Q(10) As Single, R(10) As Single, THETA1(10) As Single, THETA2(10, 10) As Single, PHI(10, 10) As Single SUM1 = 0 SUM2 = 0 SUM3 = 0 For i = 1 To NC Q(i) = 0 R(i) = 0 For K = 1 To NG Q(i) = Q(i) + V(i, K) * QK(K) R(i) = R(i) + V(i, K) * RK(K) Next K SUM1 = SUM1 + XC(i) * (5 * (R(i) - Q(i)) - R(i) + 1) '计算SUM(x(i)*l(i)) SUM2 = SUM2 + XC(i) * Q(i) SUM3 = SUM3 + XC(i) * R(i) Next i For i = 1 To NC GAMMA(i) = Log(R(i) / SUM3) + 5 * Q(i) * Log(Q(i) * SUM3 / R(i) / SUM2) GAMMA(i) = Exp(GAMMA(i) + 5 * (R(i) - Q(i)) - R(i) + 1 - R(i) * SUM1 / SUM3) Next i SUM1 = 0 For i = 1 To NC SUM2 = 0 SUM3 = 0 For K = 1 To NG SUM2 = SUM2 + V(i, K) * XC(i) SUM3 = SUM3 + V(i, K) Next K SUM1 = SUM1 + SUM2 SUM4 = 0 For K = 1 To NG THETA2(i, K) = V(i, K) / SUM3 SUM4 = SUM4 + QK(K) * THETA2(i, K) Next K For K = 1 To NG THETA2(i, K) = QK(K) * THETA2(i, K) / SUM4 Next K Next i SUM2 = 0 For K = 1 To NG SUM3 = 0 For i = 1 To NC SUM3 = SUM3 + V(i, K) * XC(i) Next i THETA1(K) = SUM3 / SUM1 SUM2 = SUM2 + QK(K) * THETA1(K) Next K For K = 1 To NG THETA1(K) = QK(K) * THETA1(K) / SUM2 For M = 1 To NG PHI(K, M) = Exp(-A(K, M) / T) Next M Next K For K = 1 To NG SUM1 = 0 SUM2 = 0 For M = 1 To NG SUM1 = SUM1 + THETA1(M) * PHI(M, K) SUM3 = 0 For n = 1 To NG SUM3 = SUM3 + THETA1(n) * PHI(n, M) Next n SUM2 = SUM2 + THETA1(M) * PHI(K, M) / SUM3 Next M Q(K) = QK(K) * (1 - Log(SUM1) - SUM2) Next K For i = 1 To NC SUM4 = 0 For K = 1 To NG SUM1 = 0 SUM2 = 0 For M = 1 To NG SUM1 = SUM1 + THETA2(i, M) * PHI(M, K) SUM3 = 0 For n = 1 To NG SUM3 = SUM3 + THETA2(i, n) * PHI(n, M) Next n SUM2 = SUM2 + THETA2(i, M) * PHI(K, M) / SUM3 Next M SUM4 = SUM4 + V(i, K) * (Q(K) - QK(K) * (1 - Log(SUM1) - SUM2)) Next K GAMMA(i) = GAMMA(i) * Exp(SUM4) Next i End Sub End Sub |
» 猜你喜欢
寻求一种能扛住强氧化性腐蚀性的容器密封件
已经有7人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有8人回复
申请2026年博士
已经有6人回复
请问哪里可以有青B申请的本子可以借鉴一下。
已经有5人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有5人回复
2025冷门绝学什么时候出结果
已经有7人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有6人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有7人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
biowhb
银虫 (正式写手)
- 应助: 5 (幼儿园)
- 金币: 620.7
- 散金: 24
- 帖子: 396
- 在线: 103.4小时
- 虫号: 2353280
- 注册: 2013-03-17
- 性别: GG
- 专业: 微生物遗传育种学

4楼2014-06-03 14:25:57
biowhb
银虫 (正式写手)
- 应助: 5 (幼儿园)
- 金币: 620.7
- 散金: 24
- 帖子: 396
- 在线: 103.4小时
- 虫号: 2353280
- 注册: 2013-03-17
- 性别: GG
- 专业: 微生物遗传育种学

2楼2014-06-03 10:11:03
3楼2014-06-03 10:18:04
5楼2014-06-03 21:05:51













回复此楼