#include #include #include #define R 8.314 int main() { int comp,i,j,k,a,b; double tempc,tempk,pressdp,pressbp,vi,vio,est,f,fo,df,**mtrx,pressorg,**invv,**tcrit,**zcrit,**wcrit,**vcrit,*gammab,tempb,tempd,*gammad,**pcrit,*phid,*phib,**bij,**delta,*x,*y,*ki,*z,*xo,*yo,*phi,pjsat,tempco,pjsato,*tsat,*gamma,*psat,frac=0.0,press=0.0,sum1=0.0,sum2=0.0,sum3=0.0,presso,*gammao,b0,b1; FILE *input; input=fopen("data.txt","r"); fscanf(input,"%d\n",&comp); x=(double*)malloc(comp*sizeof(double)); y=(double*)malloc(comp*sizeof(double)); phi=(double*)malloc(comp*sizeof(double)); gamma=(double*)malloc(comp*sizeof(double)); psat=(double*)malloc(comp*sizeof(double)); tsat=(double*)malloc(comp*sizeof(double)); mtrx=(double**)malloc(comp * sizeof (double *)); for(i=0;i-0.1) break; } printf("Pressure:%f kPa\n",press); for(i=0;i-0.1) break; } printf("Pressure:%f kPa\n",press); for(i=0;i-0.1) break; } printf("Pressure:%f kPa\n",press); for(i=0;i-0.1) j++; } if(j==comp) break; } presso=press; press=0.0; for(i=0;i-1.0) break; } printf("Pressure is %f kPa\n",press); for(i=0;i-0.1) j++; } if(j==comp) break; } presso=press; press=0.0; for(i=0;i-1.0) break; } printf("Pressure is %f kPa\n",press); for(i=0;i-0.1) j++; } if(j==comp) break; } presso=press; press=0.0; for(i=0;i-1.0) break; } printf("Pressure is %f kPa\n",press); for(i=0;i-0.1) break; } printf("Temperature is %f\n",tempc); for(i=0;i-0.1) break; } printf("Temperature is %f\n",tempc); for(i=0;i-0.1) break; } printf("Temperature is %f\n",tempc); for(i=0;i-0.1) j++; } if(j==comp) break; } pjsat=psat[0]; sum1=0.0; for(i=0;i-0.1) break; } printf("Temperature is %f C\n",tempc); for(i=0;i-0.1) j++; } if(j==comp) break; } pjsat=psat[0]; sum1=0.0; for(i=0;i-0.1) break; } printf("Temperature is %f C\n",tempc); for(i=0;i-0.1) j++; } if(j==comp) break; } pjsat=psat[0]; sum1=0.0; for(i=0;i-0.1) break; } printf("Temperature is %f C\n",tempc); for(i=0;i-0.1) j++; } if(j==comp) break; } pjsat=psat[0]; sum1=0.0; for(i=0;i-0.1) break; } tempd=tempc; //DEW T //buble t for(i=0;i-0.1) break; } tempb=tempc; printf("Tdew is %f C\n",tempd); printf("Tbubble is %f C\n",tempb); tempc=(tempb+tempd)/2.0; printf("Temperature value is %f C\n",tempc); tempk=tempc+273.15; //bubble t END frac=0.0; for(i=0;i-0.1) j++; } if(j==comp) break; } presso=press; press=0.0; for(i=0;i-1.0) break; } pressdp=press; phid=(double*)malloc(comp*sizeof(double)); gammad=(double*)malloc(comp*sizeof(double)); for(i=0;i-0.1) break; } pressbp=press; phib=(double*)malloc(comp*sizeof(double)); gammab=(double*)malloc(comp*sizeof(double)); for(i=0;ipressbp) { printf("Your pressure value is not between Pdew and Pbuble!\n"); return -1; } vi=(pressbp-pressorg)/(pressbp-pressdp); est=(pressorg-pressdp)/(pressbp-pressdp); for(i=0;i-0.001) break; df=0.0; for(i=0;i-0.001) j++; if(yo[i]-y[i]<0.001&&yo[i]-y[i]>-0.001) j++; } if(vio-vi<0.001&&vio-vi>-0.001) j++; if(j>comp+comp) break; } printf("Vi = %f\n",vi); for(i=0;i-0.1) j++; } if(j==comp) break; } pjsat=psat[0]; sum1=0.0; for(i=0;i-0.1) break; } tempd=tempc; //DEW T //buble t for(i=0;i-0.1) break; } tempb=tempc; printf("Tdew is %f C\n",tempd); printf("Tbubble is %f C\n",tempb); tempc=(tempb+tempd)/2.0; printf("Temperature value is %f C\n",tempc); tempk=tempc+273.15; //bubble t frac=0.0; for(i=0;i-0.1) j++; } if(j==comp) break; } presso=press; press=0.0; for(i=0;i-1.0) break; } pressdp=press; phid=(double*)malloc(comp*sizeof(double)); gammad=(double*)malloc(comp*sizeof(double)); for(i=0;i-0.1) break; } pressbp=press; phib=(double*)malloc(comp*sizeof(double)); gammab=(double*)malloc(comp*sizeof(double)); for(i=0;ipressbp) { printf("Your pressure value is not between Pdew and Pbuble!\n"); return -1; } vi=(pressbp-pressorg)/(pressbp-pressdp); est=(pressorg-pressdp)/(pressbp-pressdp); for(i=0;i-0.001) break; df=0.0; for(i=0;i-0.001) j++; if(yo[i]-y[i]<0.001&&yo[i]-y[i]>-0.001) j++; } if(vio-vi<0.001&&vio-vi>-0.001) j++; if(j>comp+comp) break; } printf("Vi = %f\n",vi); for(i=0;i-0.1) j++; } if(j==comp) break; } pjsat=psat[0]; sum1=0.0; for(i=0;i-0.1) break; } tempd=tempc; //DEW T //buble t for(i=0;i-0.1) break; } tempb=tempc; printf("Tdew is %f C\n",tempd); printf("Tbubble is %f C\n",tempb); tempc=(tempb+tempd)/2.0; printf("Temperature value is %f C\n",tempc); tempk=tempc+273.15; //bubble t frac=0.0; for(i=0;i-0.1) j++; } if(j==comp) break; } presso=press; press=0.0; for(i=0;i-1.0) break; } pressdp=press; phid=(double*)malloc(comp*sizeof(double)); gammad=(double*)malloc(comp*sizeof(double)); for(i=0;i-0.1) break; } pressbp=press; phib=(double*)malloc(comp*sizeof(double)); gammab=(double*)malloc(comp*sizeof(double)); for(i=0;ipressbp) { printf("Your pressure value is not between Pdew and Pbuble!\n"); return -1; } vi=(pressbp-pressorg)/(pressbp-pressdp); est=(pressorg-pressdp)/(pressbp-pressdp); for(i=0;i-0.001) break; df=0.0; for(i=0;i-0.001) j++; if(yo[i]-y[i]<0.001&&yo[i]-y[i]>-0.001) j++; } if(vio-vi<0.001&&vio-vi>-0.001) j++; if(j>comp+comp) break; } printf("Vi = %f\n",vi); for(i=0;i