Vous êtes sur la page 1sur 2

program PR_Mezclas_diox_Ethanol

implicit none
real::tol,z0,z,z1,fz,dfz,amay,bmay,F,G,H,MW,mwi,mw1,mw2,sumA,sumB,sumMW
real::T,R,Tc,Tc1,Tr,Tr1,Tc2,Tr2,Pc,Pc1,Pc2,Pr,Pr1,Pr2,x1,x2,xi,xj,w,facen,w1,w2
real::a,b,m,alpha,ai,aj,rho,Vm,ere
integer::P,i,j,s

tol=epsilon(0.01)
z0=0
z=1
!-------------------------------------------------------------------
!Datos del sistema: CO2-Ethanol con la ecuación de P-R
!-------------------------------------------------------------------
write(*,*)'Ingrese el valor de presion en MPa'
Read (*,*),P !MPa
T=313.16 !K
R=0.008314472 !(m3*MPa)/(K*kmol)
!=============================================================
!!Datos del CO2(x1)
!=============================================================
Tc1=536.78 !(K)
Pc1=7.383 !(MPa)
mw1=44.01 !kg/kmol
w1=0.2236
Tr1=T/Tc1
Pr1=P/Pc1
x1=0.4072

!=============================================================
!!Datos del C2H5OH(x2)
!=============================================================
Tc2=514 !(K)
Pc2=6.137 !(MPa)
mw2=46.069 !kg/kmol
w2=0.6435
Tr2=T/Tc2
Pr2=P/Pc2
x2=1-x1

sumA=0
sumB=0
sumMW=0
do i=1,2
if (i==1) then
Tc=Tc1
Pc=Pc1
facen=w1
mwi=mw1
xi=x1
else
Tc=Tc2
Pc=Pc2
facen=w2
mwi=mw2
end if
end do
m=(0.37464+1.54226*facen-0.26922*(facen**2))
alpha=(1+m*(1-(T/Tc)**0.5))**2
ai=0.4572*alpha*((P/Pc)/((T/Tc)**2))
b= 0.0778*((P/Pc)/(T/Tc))
sumB=sumB+xi*b
sumMW=sumMW+xi*mwi
do j=1,2
if (i==2) then
w=w1
Tc=Tc1
Pc=Pc1
xj=x1
else
w=w2
Tc=Tc2
Pc=Pc2
xj=x2
m=(0.37464+1.54226*facen-0.26922*(facen**2))
alpha=(1+m*(1-((T/Tc)**0.5)))**2
aj=(0.4572*alpha*(P/Pc))/(T/Tc)**2

sumA=sumA+xi*xj*(ai*aj)**0.5
end if
end do

amay=sumA
bmay=sumB
MW=sumMW

F=(1-bmay)
G=(amay-3*bmay**2-2*bmay)
H=(amay*bmay-bmay**2-bmay**3)
!---------------------------------------------------------------------
!Busqueda de raices por Newton-Rhapson
!---------------------------------------------------------------------
ere=1
do while (abs(ere)>tol)
z0=z1
fz=(z0**3)-(F*(z0**2))+(G*z0)-H
dfz=(3*(z0**2))-(2*F*z0)+G
z1=z0-(fz/dfz)
ere=abs(z1-z0)/z
z0=z1
end do
z=z1
print *,'El valor del factor de compresibilidad es:',z
!--------------------------------------------------------------------
!Obtención de Densidades por medio del molumen molar; Z=PVm/RT
!--------------------------------------------------------------------
Vm=(z*R*T)/P !m3/kmol}
print *,'El volumen molar es:',Vm
rho=(MW/Vm) !kg/m3
print *,'La densidad en Kg/m3 es:',rho
end program

Vous aimerez peut-être aussi