unifac

9
Program UNIFAC real ::T,N1,N,H12,GP,SUMA1,SUMA2, mm1,JJ2, rr2, Qa2, LL2, DB, pisss1, pisss2, SS1, H1 real:: J1,L integer:: m,kkk,mmm,hp,aa,bb CHARACTER*6 NOMBRE(100) CHARACTER*12 Compuesto(100) Dimension :: K1(20), R1(20),Q1(20),GP(20),X(9999),V(100,100),Z(100,100),A(100,100), R(100),J1(100) Dimension :: GP1(100),qq(100),L(100), e(100,100),tao(100,100),B(100,100),pis(100),S(100),gamac(100) Dimension :: GAMA(100),gamar(100),m(100) open(unit=10,file='base.txt',status='new') !TABLA H.1 Parametros de subgrupos de ELV-UNIFAC NOMBRE(1) = 'CH3' K1(1) = 1 R1(1) = 0.9011 Q1(1) = 0.848 GP(1) = 1 NOMBRE(2) = 'CH2' K1(2) = 2 R1(2) = 0.6744 Q1(2) = 0.540 GP(2) = 1 NOMBRE(3) = 'CH' K1(3) = 3 R1(3) = 0.4469 Q1(3) = 0.228 GP(3) = 1 NOMBRE(4) = 'C' K1(4) = 4 R1(4) = 0.2195 Q1(4) = 0.000 GP(4) = 1 NOMBRE(5) = 'ACH' K1(5) = 10 R1(5) = 0.5313 Q1(5) = 0.400 GP(5) = 3 NOMBRE(6) = 'ACCH3' K1(6) = 12 R1(6) = 1.2663 Q1(6) = 0.968 GP(6) = 4

Upload: sergio-villalobos

Post on 24-Oct-2015

12 views

Category:

Documents


1 download

DESCRIPTION

metodo unifac

TRANSCRIPT

Page 1: unifac

Program UNIFACreal ::T,N1,N,H12,GP,SUMA1,SUMA2, mm1,JJ2, rr2, Qa2, LL2, DB, pisss1, pisss2, SS1, H1real:: J1,Linteger:: m,kkk,mmm,hp,aa,bbCHARACTER*6 NOMBRE(100)CHARACTER*12 Compuesto(100)Dimension :: K1(20), R1(20),Q1(20),GP(20),X(9999),V(100,100),Z(100,100),A(100,100), R(100),J1(100)Dimension :: GP1(100),qq(100),L(100), e(100,100),tao(100,100),B(100,100),pis(100),S(100),gamac(100)Dimension :: GAMA(100),gamar(100),m(100)

open(unit=10,file='base.txt',status='new')

!TABLA H.1 Parametros de subgrupos de ELV-UNIFAC

NOMBRE(1) = 'CH3'K1(1) = 1R1(1) = 0.9011Q1(1) = 0.848GP(1) = 1NOMBRE(2) = 'CH2'K1(2) = 2R1(2) = 0.6744Q1(2) = 0.540GP(2) = 1NOMBRE(3) = 'CH'K1(3) = 3R1(3) = 0.4469Q1(3) = 0.228GP(3) = 1NOMBRE(4) = 'C'K1(4) = 4R1(4) = 0.2195Q1(4) = 0.000GP(4) = 1NOMBRE(5) = 'ACH'K1(5) = 10R1(5) = 0.5313Q1(5) = 0.400GP(5) = 3NOMBRE(6) = 'ACCH3'K1(6) = 12R1(6) = 1.2663Q1(6) = 0.968GP(6) = 4NOMBRE(7) = 'ACCH2'K1(7) = 13R1(7) = 1.0396Q1(7) = 0.660GP(7) = 4NOMBRE(8) = 'OH'K1(8) = 15R1(8) = 1Q1(8) = 1.200GP(8) = 5

Page 2: unifac

NOMBRE(9) = 'H2O'K1(9) = 17R1(9) = 0.9200Q1(9) = 1.400GP(9) = 7NOMBRE(10) = 'CH3CO'K1(10) = 19R1(10) = 1.6724Q1(10) = 1.488GP(10) = 9NOMBRE(11) = 'CH2CO'K1(11) = 20R1(11) = 1.4457Q1(11) = 1.180GP(10) = 9NOMBRE(12) = 'CH3O'K1(12) = 25R1(12) = 1.1450Q1(12) = 1.088GP(12) = 13NOMBRE(13) = 'CH2O'K1(13) = 26R1(13) = 0.9183Q1(13) = 0.780GP(13) = 13NOMBRE(14) = 'CH-O'K1(14) = 27R1(14) = 0.6908Q1(14) = 0.468GP(14) = 13NOMBRE(15) = 'CH3NH'K1(15) = 32R1(15) = 1.4337Q1(15) = 1.244GP(15) = 15NOMBRE(16) = 'CH2NH'K1(16) = 33R1(16) = 1.207Q1(16) = 0.936GP(16) = 15NOMBRE(17) = 'CHNH'K1(17) = 34R1(17) = 0.9795Q1(17) = 0.624GP(17) = 15NOMBRE(18) = 'CH3CN'K1(18) = 41R1(18) = 1.8701Q1(18) = 1.724GP(18) = 19NOMBRE(19) = 'CH2CN'K1(19) = 42R1(19) = 1.6434Q1(19) = 1.416GP(19) = 19

!Tabla H.2 Parametros de interaccion de ELV-UNIFAC, amk en kelvinsZ(1,1) = 0

Page 3: unifac

Z(1,3) = 61.13Z(1,4) = 76.50Z(1,5) = 986.50Z(1,7) = 1318.00Z(1,9) = 476.40Z(1,13) = 251.50Z(1,15) = 255.70Z(1,19) = 597.00Z(3,1) = -11.12Z(3,3) = 0Z(3,4) = 167.00Z(3,5) = 636.10Z(3,7) = 903.80Z(3,9) = 25.77Z(3,13) = 32.14Z(3,15) = 122.80Z(3,19) = 212.50Z(4,1) = -69.70Z(4,3) = -146.80Z(4,4) = 0Z(4,5) = 803.20Z(4,7) = 5695.00Z(4,9) = -52.10Z(4,13) = 213.10Z(4,15) = -49.29Z(4,19) = 6096.00Z(5,1) = 156.40Z(5,3) = 89.60Z(5,4) = 25.82Z(5,5) = 0Z(5,7) = 353.50Z(5,9) = 84.0Z(5,13) = 28.06Z(5,15) = 42.70Z(5,19) = 6.712Z(7,1) = 300Z(7,3) = 362.3Z(7,4) = 377.60Z(7,5) = -229.10Z(7,7) = 0Z(7,9) = -195.4Z(7,13) = 540.5Z(7,15) = 168.0Z(7,19) = 112.6Z(9,1) = 26.76Z(9,3) = 140.1Z(9,4) = 365.80Z(9,5) = 164.5Z(9,7) = 472.50Z(9,9) = 0Z(9,13) = -103.6Z(9,15) = -174.2Z(9,19) = 481.70Z(13,1) = 83.36Z(13,3) = 52.13Z(13,4) = 65.69Z(13,5) = 237.70Z(13,7) = -314.70

Page 4: unifac

Z(13,9) = 191.10Z(13,13) = 0Z(13,15) = 251.50Z(13,19) = -18.51Z(15,1) = 65.33Z(15,3) = -22.31Z(15,4) = 223.0Z(15,5) = -150.0Z(15,7) = -448.2Z(15,9) = 394.6Z(15,13) = -56.08Z(15,15) = 0Z(15,19) = 147.10Z(19,1) = 24.82Z(19,3) = -22.97Z(19,4) = -138.4Z(19,5) = 185.4Z(19,7) = 242.8Z(19,9) = -287.5Z(19,13) = 38.81Z(19,15) = -108.5Z(19,19) = 0

Write(*,*) ' Cual es la temperatura (KELVIN) en que esta la mezcla de las sutancias.'read(*,*) T

Write(*,*)'#', ' ','Subgrupo',' ', 'k',' ', 'Rk',' ', 'Qk'DO i = 1,19,1Write(*,*) i,NOMBRE(i),K1(i), R1(i), Q1(i)end do

Write(*,*) 'Cuantas compuestos actuan en la mezcla'Read(*,*) N1

do i = 1,N1,1Write(*,*) 'Escribe aqui el nomnre del compuesto'Read(*,*) COMPUESTO(i)end do

do i = 1,N1,1Write(*,*) 'Cual es la fraccion del compuesto ', COMPUESTO(i)Read(*,*) X(i)end do

Write(*,*) 'Cuantos subgrupos actuan en todos los compuestos'Read(*,*) N

Write(*,*) '1 = 0 - 2 - 0 2 = 6 - 5- 0 5 = 0-0-5 6 = 0 - 0 -1 '

Do i = 1,N,1Write(*,*) 'Cual subgrupo esta presente en los componentes, elige un numero del 1 al 19'Read(*,*) m(i)

Page 5: unifac

end do

Do i=1,N-1,1Do j=1+i,N,1

If (m(j) .gt. m(i)) Then

elseaa= m(j)bb= m(i)m(j) = bbm(i) = aaEnd ifEnd doend do

Do k = 1,N1,1Do i = 1,n,1NOMBRE(i) = NOMBRE(m(i))K1(i) = K1(m(i))R1(i) = R1(m(i))Q1(i) = Q1(m(i))GP1(i) = GP(m(i))

Write(*,*) 'Cual es la cantidad que actua de este subgrupo ',NOMBRE(i),'en el componente del ',COMPUESTO(k)Read(*,*) H12V(i,k) = H12end doend do

Do i = 1,n,1kkk = GP1(i)do j = 1,n,1mmm = GP1(j)A(i,j) = Z(kkk,mmm)Write (10,*) 'A ', i,j,' ',A(i,j)end doend do

Do i = 1,N1,1 rr2 = 0 Do j = 1,N,1 rr2 = V(j,i)*R1(j) + rr2 End do R(i) = rr2 Write(10,*) 'R',i,' ',R(i) End do Write(*,*) R(i) Do i=1,N1,1 JJ2 = 0 Do j = 1,N1,1 JJ2 = R(j)*X(j)+ JJ2 End do J1(i) = R(i)/JJ2 Write(10,*) 'J',i,' ',J1(i) end do

Page 6: unifac

Do i = 1,N1,1 Qa2 = 0 Do j = 1,N,1 Qa2 = V(j,i)*Q1(j) + Qa2 end do qq(i) = Qa2 Write(10,*) 'q',i,' ',qq(i) End do Do i =1,N1,1 LL2 =0 Do j = 1, N1, 1 LL2 = qq(j)*X(j) +LL2 End do L(i) = qq(i)/LL2 Write(10,*) 'L',i,' ',L(i) end do Do i = 1,N1,1 Do j = 1,N,1 e(j,i) = (V(j,i)*Q1(j))/qq(i) Write(10,*) 'e',j,i,' ',e(j,i) end do end do do i =1,n,1 Do j = 1, n,1 tao(i,j) = exp(-a(i,j)/T) Write(10,*) 'tao',i,j,' ',tao(i,j) end do end do do io = 1,N1,1 do i = 1,N,1 DB =0 do j=1,n,1 DB = (e(j,io))*(tao(j,i)) + DB B(io,i) = DB end do Write(10,*) 'b',io,i,' ',b(io,i) end doend do Do i = 1,N,1 pisss1 =0 pisss2 =0 do j = 1,N1,1 pisss1 = x(j)*qq(j)*e(i,j) + pisss1 pisss2 = x(j)*qq(j) +pisss2 end do pis(i) = pisss1/pisss2 Write(10,*) 'teta',i,' ',pis(i) end do do i= 1,N,1 SS1=0

Page 7: unifac

do j=1,N,1 SS1= pis(j)*tao(j,i) + SS1 End Do S(i)=SS1 Write(10,*) 's',i,' ',S(i) end do

Do hp = 1,N1,1 HH1 = (J1(hp))/(L(hp))SUMA1= 1-((J1(hp))/(L(hp))) + log(HH1)

HH2 = J1(hp)gamac(hp) = 1 - J1(hp) + log(HH2) - 5*(qq(hp))*(SUMA1) Write(10,*) 'gama C',hp,' ',gamac(hp)

H1 =0do i = 1,N,1H1 = pis(i)*(B(hp,i)/S(i)) - e(i,hp)*log(B(hp,i)/S(i)) + H1end doSUMA2 = H1gamar(hp) = (qq(hp)*(1-SUMA2))Write(10,*) 'gama R',hp,' ',R(hp) GAMA(hp) = exp(gamac(hp) + gamar(hp))

end do

Write(10,*) 'Compuesto Fraccion Gama'Write(10,*) '_______________________________________'do i = 1,N1,1Write(10,*) Compuesto(i), X(i) , GAMA(i)end dopauseEnd program