| 查看: 834 | 回复: 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 |
» 猜你喜欢
“人文社科而论,许多学术研究还没有达到民国时期的水平”
已经有4人回复
过年走亲戚时感受到了所开私家车的鄙视链
已经有11人回复
什么是人一生最重要的?
已经有4人回复
版面费该交吗
已经有3人回复
今年春晚有几个节目很不错,点赞!
已经有12人回复
体制内长辈说体制内绝大部分一辈子在底层,如同你们一样大部分普通教师忙且收入低
已经有12人回复
基金正文30页指的是报告正文还是整个申请书
已经有5人回复
3楼2014-06-03 10:18:04
biowhb
银虫 (正式写手)
- 应助: 5 (幼儿园)
- 金币: 620.7
- 散金: 24
- 帖子: 396
- 在线: 103.4小时
- 虫号: 2353280
- 注册: 2013-03-17
- 性别: GG
- 专业: 微生物遗传育种学

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

4楼2014-06-03 14:25:57
5楼2014-06-03 21:05:51













回复此楼