理论塔板数的计算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

首先要得到相平衡方程和精馏段、提馏段方程,再根据逐板计算求得精馏塔的理论塔板数。

源程序:

#include

#include

#include

static double R,L,F,W,T0,P,E;

static double Xf,Xd,Xw,q,Xe;

static double P1,P2;

//td和tb的变量

static double K1;

static double K2;

static double X1;

static double X2;

static double Y1;

static double Y2;

static double A1;

static double B1;

static double C1;

static double A2;

static double B2;

static double C2;

static double F1;

static double F2;

double Pressure(double A,double B,double C,double T)

{

double temp1=101325.0/760.0;

double temp2=A*1.0-B*1.0/(C+T)*1.0;

double temp3=pow(10.0,temp2);

double result=temp1*temp3;

return result;

}

double Ftd(double y,double P1,double P2)

{

double temp1=pow(K1,2);

double temp2=pow(C1+T0,2);

double temp3=pow(K2,2);

double temp4=pow(C2+T0,2);

double temp5=temp1*P*temp2;

double temp6=temp3*P*temp4;

double temp7=-1.0*y*P1*B1*log(10);

double temp8=-1.0*(1-y)*P2*B2*log(10);

double result=temp7/temp5+temp8/temp6;

return result;

}

double Ftb(double x,double P1,double P2) {

double temp2=pow(C1+T0,2);

double temp4=pow(C2+T0,2);

double temp5=P*temp2;

double temp6=P*temp4;

double temp7=1.0*x*P1*B1*log(10);

double temp8=1.0*(1-x)*P2*B2*log(10);

double result=temp7/temp5+temp8/temp6;

return result;

}

double Tdm(double y)

{

double Td=T0;

double P1;

double P2;

KTdm:P1=Pressure(A1,B1,C1,Td);

P2=Pressure(A2,B2,C2,Td);

K1=P1*1.0/P;

K2=P2*1.0/P;

X1=y*1.0/K1;

X2=(1-y)*1.0/K2;

F1=X1+X2-1;

F2=Ftd(y,P1,P2);

if(fabs(F1)>=E)

{

Td=Td-F1*1.0/F2;

goto KTdm;

}

return Td;

}

double Tbm(double x)

{

double Tb=T0;

double P1;

double P2;

KTbm:P1=Pressure(A1,B1,C1,Tb); P2=Pressure(A2,B2,C2,Tb);

K1=P1/P;

K2=P2/P;

Y1=x*K1;

Y2=(1-x)*K2;

F1=Y1+Y2-1;

F2=Ftb(x,P1,P2);

if(fabs(F1)>=E)

{

Tb=Tb-F1*1.0/F2;

goto KTbm;

}

return Tb;

}

void main()

{

double Td;

double Tb;

double x;

double y;

int n=0;

int m=0;

int N,M;

int Nt;

int flag;

char end;

printf("Please input R\n");

scanf("%lf",&R);

printf("Please input L\n");

scanf("%lf",&L);

printf("Please input F\n");

scanf("%lf",&F);

printf("Please input W\n");

scanf("%lf",&W);

printf("Please input P\n");

scanf("%lf",&P);

printf("Please input T0\n");

scanf("%lf",&T0);

printf("Please input E\n");

scanf("%lf",&E);

相关文档
最新文档