24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 850  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

yuyi2009

铜虫 (小有名气)

[求助] 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
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deephill

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
yuyi2009: 金币+20, 有帮助 2014-07-09 11:04:34
Option Explicit  语句表示,后面出现的变量都必须先定义才能使用。
对待要求不是太严格的程序或新手,这一句话不要就好了。
6楼2014-06-09 09:29:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

biowhb

银虫 (正式写手)

不知道楼主想要表达什么?你要调试什么啊?你这个算法一大堆,说白了,这个算法是通用的算法,本身应该没什么问题,一步调用也不会有什么问题。
生物技术-基因工程制药
2楼2014-06-03 10:11:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuyi2009

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by biowhb at 2014-06-03 10:11:03
不知道楼主想要表达什么?你要调试什么啊?你这个算法一大堆,说白了,这个算法是通用的算法,本身应该没什么问题,一步调用也不会有什么问题。

好吧!可能我没有说清楚,下面的算法应该没问题。就是我不知道怎么调用是对的,因为运行出错了,谢谢!
3楼2014-06-03 10:18:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

biowhb

银虫 (正式写手)

引用回帖:
3楼: Originally posted by yuyi2009 at 2014-06-03 10:18:04
好吧!可能我没有说清楚,下面的算法应该没问题。就是我不知道怎么调用是对的,因为运行出错了,谢谢!...

出错,就把错误代码写出来,并且标记一下,出错在哪一行
生物技术-基因工程制药
4楼2014-06-03 14:25:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 085602 307分 求调剂 +7 不知道叫什么! 2026-03-26 7/350 2026-03-28 09:57 by 神马都不懂
[考研] 289求调剂 +10 新时代材料 2026-03-27 10/500 2026-03-28 09:53 by 无际的草原
[考研] 086502化学工程342求调剂 +6 阿姨复古不过 2026-03-27 6/300 2026-03-28 07:06 by wangy0907
[考研] 材料求调剂 一志愿哈工大总分298分,前三科223分 +5 dongfang59 2026-03-27 5/250 2026-03-28 04:53 by wxiongid
[考研] 求调剂 +8 张zz111 2026-03-27 9/450 2026-03-28 03:41 by fmesaito
[考研] 考研化学308分求调剂 +10 你好明天你好 2026-03-23 12/600 2026-03-27 14:43 by shangxh
[考研] 085601 材料工程 313分 求调剂 +5 Ong3 2026-03-27 5/250 2026-03-27 12:24 by goldfish51
[考研] 286求调剂 +4 lim0922 2026-03-26 4/200 2026-03-27 10:28 by guoweigw
[考研] 求调剂323材料与化工 +7 1124361 2026-03-24 7/350 2026-03-27 10:22 by wangjy2002
[考研] 调剂求收留 +7 果然有我 2026-03-26 7/350 2026-03-27 00:26 by wxiongid
[考研] 一志愿华理,数一英一285求A区调剂 +8 AZMK 2026-03-25 10/500 2026-03-26 22:37 by 学员8dgXkO
[考研] 085602 289分求调剂 +8 WWW西西弗斯 2026-03-24 8/400 2026-03-26 16:33 by 不吃魚的貓
[考研] 303求调剂 +6 蓝山月 2026-03-25 6/300 2026-03-25 22:47 by 418490947
[考研] 考研调剂 +6 来好运来来来 2026-03-21 7/350 2026-03-25 22:43 by 418490947
[考研] 各位老师您好:本人初试372分 +5 jj涌77 2026-03-25 6/300 2026-03-25 14:15 by mapenggao
[考研] 318求调剂 +5 plum李子 2026-03-21 8/400 2026-03-25 09:26 by aa331100
[考研] 340求调剂 +5 话梅糖111 2026-03-24 5/250 2026-03-25 06:53 by ilovexiaobin
[考研] 333求调剂 +3 ALULU4408 2026-03-23 3/150 2026-03-23 19:04 by macy2011
[考研] 一志愿东华大学化学070300,求调剂 +7 2117205181 2026-03-21 8/400 2026-03-22 22:55 by chixmc
[考研] 求调剂院校信息 +6 CX 330 2026-03-21 6/300 2026-03-22 15:25 by 无懈可击111
信息提示
请填处理意见