精馏塔塔板数与c语言编程计算,精馏塔理论塔板数与c语言编程计算.doc
# include void main ()
{
long double *y=NULL,*x=NULL,a=0.0,R=0.0,R1=0.0,xf=0.0,xd=0.0,xw=0.0;
int ii=0,ij=0,num=0,num1=0,a1=1;
printf("估计需要多少塔板:");
scanf ("%d",&num1);
y=(long double *)malloc(sizeof(long double)*num1);
x=(long double *)malloc(sizeof(long double)*num1);
printf("输入相对挥发度α:");
scanf ("%lf",&a);
printf ("输入精馏段回流比R:");
scanf("%lf",&R);
printf ("输入精馏段回流比R1:");
scanf("%lf",&R1);
printf ("输入进料易挥发组分摩尔分数xf:");
scanf("%lf",&xf);
printf ("输入塔顶易挥发组分摩尔分数xd:");
scanf("%lf",&xd);
printf ("输入塔釜易挥发组分摩尔分数xw:");
scanf("%lf",&xw);
printf ("开始计算理论踏板\n");
*y=xd;
for (ii=0;ii<=num1;ii++)
{
*(x+ii)=*(y+ii)/(a-(a-1)*(*(y+ii)));
printf("根据相平衡关系式x%d=%lf\n",ii+1,*(x+ii));
if (*(x+ii)<=xw)
{
printf("理论踏板%d\n",num);
break;
}
if (*(x+ii)>=xf)
{
*(y+ii+1)=R/(R+1)*(*(x+ii))+xd/(R+1);
printf ("根据精馏段操作线方程y%d=%lf\n",ii+2,*(y+ii+1));
num++;
printf("第%d块板\n",num);
}
else
{
while(a1)
{
printf("\n第%d块板是最佳进料板\n\n",ii+1);
a1=0;
}
*(y+ii+1)=(R1+1)/R1*(*(x+ii))+xw/R1;
printf ("根据提馏段操作线方程y%d=%lf\n",ii+2,*(y+ii+1));
num++;
printf("第%d块板\n",num);
}
}
}
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)