理论塔板数的计算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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);