24小时热门版块排行榜    

查看: 1861  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

琚裕波

金虫 (小有名气)

[求助] 求助!这个程序错在哪里?1stopt运行不了

Title "Kinetics";
Parameters k1_a,k1_b,k2_a,k2_b,KCO_a,KCO_b,KCO2_a,KCO2_b,KH2_a,KH2_b;  //需要拟合的参数
Variable TT,PP,Nin,yH2in,yCOin,yCO2in,yN2in,yN2out;                    //输入数据
Variable y1[Output],y2[Output];                                        //对比数据
StartProgram [VB];
Dim iter As Integer
dim TBA As Double
dim RCO As Double
dim RCO2 As Double
Dim KT1 As Double
dim KF1 As Double
dim KT2 As Double
dim KF2 As Double
dim KH2 As Double
dim KCO As Double
dim KCO2 As Double
Dim T As Double
dim P_Ca As Double
Dim fH2 As Double
dim fCO2 As Double
dim fCO As Double
dim fM As Double
dim fH2O As Double
Dim Beta1 As Double
dim Beta2 As Double
dim Nt as double
dim yCO as double
dim yCO2 as double
for iter=0 to Datalength-1
    TBA=503.2               //实验平均温度
    T=TT(iter)+273.15
    P_Ca=PP(iter)/0.101325
    //反应平衡常数计算
    KF1=Exp(13.1652+9203.26/T-5.92839*Ln(T)-0.00352404*T+0.0000102264*T*T-0.00000000769446*T^3+2.38583E-12*T^4)*(0.101325^(-2))
    KF2=Exp(1.6654+4553.34/T-2.72613*Ln(T)-0.01422914*T+0.000017206*T*T-0.00000001106294*T^3+3.19698E-12*T^4)*(0.101325^(-2))
    //逸度系数计算
    fH2=PP(iter)*yH2in(iter)*Exp((0.110785+35.3324/T-5005.47/(T*T*T)-19.6109*yH2in(iter)/T-20.9799*yH2in(iter)*yH2in(iter)/T)*P_Ca/T)
    fCO2=PP(iter)*yCO2in(iter)*Exp((-0.343605+428.452/T-69217700/(T*T*T)-327.402*yCO2in(iter)/T-374.954*yCO2in(iter)*yCO2in(iter)/T)*P_Ca/T)
    fCO=PP(iter)*yCOin(iter)*Exp((-0.093261+189.156/T-399940/(T*T*T)-181.527*yCOin(iter)/T+140.001*yCOin(iter)*yCOin(iter)/T)*P_Ca/T)
    Beta1=fM/(KF1*fCO*fH2^2)
    Beta2=fM*fH2O/(KF2*fCO2*fH2^3)
    //吸附平衡常数计算
    KCO=Exp(KCO_a+KCO_b*(1/T-1/TBA))
    KCO2=Exp(KCO2_a+KCO2_b*(1/T-1/TBA))
    KH2=Exp(KH2_a+KH2_b*(1/T-1/TBA))
    //反应速率常数计算
    KT1=k1_a*Exp(k1_b/8.314/T)
    KT2=k2_a*Exp(k2_b/8.314/T)
    //反应速率计算
    RCO=KT1*fCO*(fH2^2)*(1-Beta1)/((1+KCO*fCO+KCO2*fCO2+KH2*fH2)^3)
    RCO2=KT2*fCO2*(fH2^3)*(1-Beta2)/((1+KCO*fCO+KCO2*fCO2+KH2*fH2)^4)
    //通过反应速率计算出口CO和CO2组成,其中1.9108为催化剂质量
    Nt=Nin(iter)*yN2in(iter)/yN2out(iter)
    yCO=(Nin(iter)*yCOin(iter)-RCO*1.9108)/Nt
    yCO2=(Nin(iter)*yCO2in(iter)-RCO2*1.9108)/Nt
    //计算值与输入值进行对比
    y1(iter)=yCO
    y2(iter)=yCO2
Next
EndProgram;
Data;

[ Last edited by nono2009 on 2013-9-10 at 20:21 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

一切都会向着最好的方向发展!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lipenggg

专家顾问 (正式写手)

我的1.5可以
一团和气
10楼2015-06-26 16:23:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lipenggg

专家顾问 (正式写手)

1.5版本采用差分进化法可以顺利进行计算,麦夸特和简面体爬山法反应有错误。
一团和气
11楼2015-08-07 14:45:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 阿里巴巴国际站 的主题更新
信息提示
请填处理意见