Sei sulla pagina 1di 9

program unifac

implicit none

REAL::coeficiente1,coeficiente2,coeficientefinal1,coeficientefinal2,residualtotal
1,residual1,residual2,residual3,residual4,residual5,residual6,residualtotal2,lnyjc
,lnyic,j1,j2,l1,l2,s1,s2,s3,teta1,teta2,teta3,b11,b12,b133,b21,b22,b233,t1,t2,T,a
1,a2,K1,K2,K3,x1,x2,r1,vk1,vk2,vk3,rk1,rk2,rk3,vk21,vk22,vk23,r2,qk1,qk2,qk3
,q1,q2,ek1,ek2,ek3,ek4,ek5,ek6

character(len=20)nombre1,nombre2

write(*,*)"proporciona el nombre del primer compuesto"


read(*,*)nombre1
write(*,*)"proporciona el nombre delsegundo"
read(*,*)nombre2
write(*,*)"proporciona los valores de x1 y sucesivamente
x2"
read(*,*)x1

read(*,*)x2
write(*,*)"proporciona la temperatura"
read(*,*)T

write(*,*)"para calcular r1 y r2 proporcinaras los numeors


de identificacion k los valores de los parametros Rk Qk y los numeros de cada
subgrupo en cada molecula"
write(*,*)"proporciona los valores de K"
read(*,*)K1
read(*,*)K2
read(*,*)k3

write(*,*)"proporciona los valores de Vk1"


read(*,*)vk1
read(*,*)vk2
read(*,*)vk3
write(*,*)"proporciona los valores de Rk"
read(*,*)rk1
read(*,*)rk2
read(*,*)rk3
r1=(vk1*rk1)+(vk2*rk2)+(vk3*rk3)
write(*,*)"el valor de r1 es:",r1

write(*,*)"proporciona los valores de Vk2"


read(*,*)vk21
read(*,*)vk22
read(*,*)vk23

r2=(vk21*rk1)+(vk22*rk2)+(vk23*rk3)
write(*,*)"el calor de r2 es:",r2

write(*,*)"acontinuacion se calcularan q1 y q2"


write(*,*)"proporciona los valores de Qk"
read(*,*)qk1
read(*,*)qk2
read(*,*)qk3
q1=(qk1*vk1)+(qk2*vk2)+(qk3*vk3)
q2=(qk1*vk21)+(qk2*vk22)+(qk3*vk23)
write(*,*)"el valor de q1 es:",q1
write(*,*)"el valor de q2 es:",q2

write(*,*)"datos de eki"
write(*,*)"i=1"
ek1=(vk1*qk1)/q1
ek2=(vk2*qk2)/q1
ek3=(vk3*qk3)/q1
write(*,*)":",ek1
write(*,*)":",ek2
write(*,*)":",ek3

write(*,*)"i=2"
ek4=(vk21*qk1)/q2
ek5=(vk22*qk2)/q2
ek6=(vk23*qk3)/q2

write(*,*)":",ek4
write(*,*)":",ek5
write(*,*)":",ek6

a1=255.7
a2=65.33
write(*,*)"a1,33=a2,33:",a1
write(*,*)"a33,1=a33,2:",a2
t1=exp(-a1/T)
t2=exp(-a2/T)

write(*,*)"t1,33=t2,33=:",t1
write(*,*)"t33,1=t33,2=:",t2

write(*,*)"acontinuacion se mostraran los parametros de


Bik"

b11=(ek1*1)+(ek2*1)+(ek3*t2)
b12=(ek1*1)+(ek2*1)+(ek3*t2)
b133=(ek1*t1)+(ek2*t1)+(ek3*1)
b21=(ek4*1)+(ek5*1)+(ek6*t2)
b22=(ek4*1)+(ek5*1)+(ek6*t2)
b233=(ek4*t1)+(ek5*t1)+(ek6*1)

write(*,*)".................Bik................."

write(*,*)"i

k=1

k=2

write(*,*)"1:",b11, b12,

b133

write(*,*)"2:",b21, b22,

b233

k=33

"

write(*,*)"calcular la fraccion teta"

teta1=((x1*q1*ek1)+(x2*q2*ek4))/((x1*q1)+(x2*q2))
teta2=((x1*q1*ek2)+(x2*q2*ek5))/((x1*q1)+(x2*q2))
teta3=((x1*q1*ek3)+(x2*q2*ek6))/((x1*q1)+(x2*q2))

write(*,*)"el valor de teta1 es:",teta1


write(*,*)"el valor de teta2 es:",teta2
write(*,*)"el valor de teta3 es:",teta3

write(*,*)"..........valores de s.........."

s1=(teta1*1)+(teta2*1)+(teta3*t2)
s2=(teta1*1)+(teta2*1)+(teta3*t2)
s3=(teta1*t1)+(teta2*t1)+(teta3*1)
write(*,*)"s1:",s1
write(*,*)"s2:",s2
write(*,*)"s3:",s3
write(*,*)"..........................."
write(*,*)"..........................."

write(*,*)"Un ltimo paso antes de que est listo para el


clculo de las partes combinatorias y residuales del coe actividad coe es
calcular el volumen y la superficie de la zona contribuciones"

j1=r1/((x1*r1)+(x2*r2))
j2=r2/((x1*r1)+(x2*r2))
write(*,*)"j1:",j1
write(*,*)"j2:",j2

l1=q1/((x1*q1)+(x2*q2))
l2=q2/((x1*q1)+(x2*q2))
write(*,*)"L1:",l1
write(*,*)"L2:",l2

write(*,*)"...................................."

lnyic=1-j1+log(j1)-5*q1*(1-(j1/l1)+log(j1/l1))

lnyjc=1-j2+log(j2)-5*q2*(1-(j2/l2)+log(j2/l2))

write(*,*)"lny1c:",lnyic
write(*,*)"lny2c:",lnyjc

write(*,*)"...................................."
write(*,*)"datos de la parde residual del coeficiente de
actividad"

residual1=(teta1*(b11/s1)-(ek1*log(b11/s1)))

residual2=(teta2*(b12/s2)-(ek2*log(b12/s2)))
residual3=(teta3*(b133/s3)-(ek3*log(b133/s3)))

residualtotal1=q1*(1-(residual1+residual2+residual3))

residual4=(teta1*(b21/s1)-(ek4*log(b21/s1)))
residual5=(teta2*(b22/s2)-(ek5*log(b22/s2)))
residual6=(teta3*(b233/s3)-(ek6*log(b233/s3)))
residualtotal2=q2*(1-(residual4+residual5+residual6))

write(*,*)"residual:",residualtotal1
write(*,*)"residual:",residualtotal2

coeficiente1=residualtotal1+lnyic
coeficiente2=residualtotal2+lnyjc
coeficientefinal1=exp(coeficiente1)
coeficientefinal2=exp(coeficiente2)

write(*,*)"..........................................................."
write(*,*)":",nombre1

write(*,*)",",nombre2
write(*,*)"coeficiente de actividad1 es:",coeficientefinal1
write(*,*)"coeficiente de actividad2 es:",coeficientefinal2

end program

Potrebbero piacerti anche