Está en la página 1de 4

josue.

f90 1/4
16/11/2018 15:01:55

1: !
2: PROGRAM GH
3: IMPLICIT NONE
4: REAL*4:: P,T,H,R
5: INTEGER :: n,i,J,k
6: real*4, allocatable ::wm1(:,:),Tc1(:,:),Zc1(:,:),Vcm1(:,:),Pcm1(:,:)
7: real*4, allocatable ::Tr(:,:),Pr(:,:),Bo(:,:),B1(:,:),S(:,:),Sm(:,:),B(:,:)
8: REAL*4,ALLOCATABLE::W(:),Tc(:),Zc(:),Pcm(:),Vcm(:),G(:),suma1(:),Q(:),V1(:),
V2(:)
9: REAL*4,ALLOCATABLE::suma2(:)
10: ! W=FACTOR ACENTRICO,
11: R=83.14
12: ! PRESENTACION
13: PRINT*,'
**************************************************************************** '
14: PRINT *,' ----------------------------------------------------------------------
------'
15: PRINT*, ' SIGA LAS INTRUCIONES '
16: PRINT*,' INGRESE LOS DATOS QUE SE SOLICITEN
'
17: PRINT*,' -----------------------------------------------------------------------
------ '
18: PRINT*,'
**************************************************************************** '
19: PRINT*,''
20: PRINT*,' INGRESE LA TEMPERATURA DE TRABAJO EN GRADO CELCIUS :'
21: READ*,H
22: T=H+273.15
23: PRINT*,' INGRESE LA PRESION DE TRABAJO : '
24: READ*,P
25: ! DEFINIENDO EL TAMAÑO DE MI VECTOR
26: PRINT *, ' TAMAÑO DEL VECTOR DEPENDE DE EL NUMERO DE COMPUESTOS :'
27: READ*,n
28: ALLOCATE(W(n),V1(n),V2(n),Tc(n),Zc(n),Q(n),Pcm(n),Vcm(n),Wm1(n,n),G(n),Tc1(n,n),
Zc1(n,n),suma2(n))
29: ! definiendo matriz
30: ALLOCATE(Vcm1(n,n),Pcm1(n,n),Tr(n,n),Pr(n,n),Bo(n,n),B1(n,n),B(n,n),S(n,n),Sm(n,
n),suma1(n))
31: CALL SYSTEM ("CLS")
32: ! LEYENDO VECTORES
33: PRINT*, ' INGRESAR DATOS DE FACTOR ACENTRICO:
'
34: DO i=1,n
35: PRINT*,'COMPONENTE',i
36: READ*,W(i)
37: END DO
38: PRINT*, ' INGRESAR DATOS DE Z CRITICA:'
39: DO i=1,n
40: PRINT*,'COMPONENTE',i
41: READ*,Zc(i)
42: END DO
43: PRINT*, ' INGRESAR DATOS DE TC CRITICA:'
44: DO i=1,n
45: PRINT*,'COMPONENTE',i
46: READ*,Tc(i)
47: END DO
48: PRINT*, ' INGRESAR DATOS DE PC CRITICA:'
49: DO i=1,n
50: PRINT*,'COMPONENTE',i
51: READ*,Pcm(i)
52: END DO
53: PRINT*, ' INGRESAR DATOS DE VC CRITICA:'
54: DO i=1,n
55: PRINT*,'COMPONENTE',i
56: READ*,Vcm(i)
57: END DO
58: PRINT*, ' INGRESAR DATOS DE FRACION MOL CRITICA:'
59: DO i=1,n
60: PRINT*,'COMPONENTE',i
61: READ*,G(i)
62: END DO
63: CALL SYSTEM ("CLS")

1/4
josue.f90 2/4
16/11/2018 15:01:55

64: ! FINALIZA LECTURA DE VECTORES DATOS OBTENIDOS EMPEZARE A TRABAR CON ELLOS
65: ! VERIFICA TUS DATOS
66: ! DATOS DE W
67: PRINT*, ' ***************************************************************:'
68: PRINT*, ' AS DEFINIDO LOS SIGUIENTE VECTORES VERIFICA *:'
69: PRINT*, ' ***************************************************************:'
70: PRINT*,'LA PRESION EN BARES ES :',P
71: PRINT*, ' ***************************************************************:'
72: PRINT*,'LA T EN K ES :',T
73: PRINT*, ' ***************************************************************:'
74: PRINT*, 'vector de W: ',W(n-1)
75: PRINT*, ' ',W(n)
76: PRINT*, ' ***************************************************************:'
77: PRINT*, 'vector de Z critica : ',Zc(n-1)
78: PRINT*, ' ',Zc(n)
79: PRINT*, ' ***************************************************************:'
80: PRINT*, 'vector de Tc critica : ',Tc(n-1)
81: PRINT*, ' ',Tc(n)
82: PRINT*, ' ***************************************************************:'
83: PRINT*, 'vector de Pc critica : ',Pcm(n-1)
84: PRINT*, ' ',Pcm(n)
85: PRINT*, ' ***************************************************************:'
86: PRINT*, 'vector de Vc critica : ',Vcm(n-1)
87: PRINT*, ' ',Vcm(n)
88: PRINT*, ' ***************************************************************:'
89: PRINT*, 'vector de fraccion mol :',G(n-1)
90: PRINT*, ' ', G(n)
91: PRINT*, ' ***************************************************************:'
92:
93: !factor acentrico
94: DO i=1,n
95: DO j=1,n
96: Wm1(i,j)=(W(i)+W(j))/2
97: END DO
98: END DO
99: PRINT *,' la matriz Wm1 :'
100: PRINT*,Wm1(1,1),Wm1(1,2)
101: PRINT*,Wm1(2,1),Wm1(2,2)
102: PRINT*, ' ***************************************************************:'
103: ! temperatura critica
104: DO i=1,n
105: DO j=1,n
106: Tc1(i,j)=sqrt(Tc(i)*Tc(j))
107: END DO
108: END DO
109: PRINT *,' la matriz Tc1 :'
110: PRINT*,Tc1(1,1),Tc1(1,2)
111: PRINT*,Tc1(2,1),Tc1(2,2)
112: PRINT*, ' ***************************************************************:'
113: !zc critica
114: DO i=1,n
115: DO j=1,n
116: Zc1(i,j)=(Zc(i)+Zc(j))/2
117: END DO
118: END DO
119: PRINT *,' la matriz Zc1 :'
120: PRINT*,Zc1(1,1),Zc1(1,2)
121: PRINT*,Zc1(2,1),Zc1(2,2)
122: PRINT*, ' ***************************************************************:'
123: ! volumen critico
124: DO i=1,n
125: DO j=1,n
126: V1=Vcm(i)**(1/3)
127: V2=Vcm(j)**(1/3)
128: Vcm1(i,j)=((Vcm(i)**(0.333)+Vcm(j)**(0.333))/(2))**3
129: END DO
130: END DO
131: PRINT *,' la matriz Vcm1 :'
132: PRINT*,Vcm1(1,1),Vcm1(1,2)
133: PRINT*,Vcm1(2,1),Vcm1(2,2)
134: PRINT*, ' ***************************************************************:'
135: ! presion critica

2/4
josue.f90 3/4
16/11/2018 15:01:55

136: DO i=1,n
137: DO j=1,n
138: Pcm1(i,j)=(Zc1(i,j)*R*Tc1(i,j))/(Vcm1(i,j))
139: END DO
140: END DO
141: PRINT *,' la matriz Pc1 :'
142: PRINT*,Pcm1(1,1),Pcm1(1,2)
143: PRINT*,Pcm1(2,1),Pcm1(2,2)
144: PRINT*, ' ***************************************************************:'
145: !temperatura critica
146: DO i=1,n
147: DO j=1,n
148: Tr(i,j)=(T)/(Tc1(i,j))
149: END DO
150: END DO
151: PRINT *,' la matriz Tr :'
152: PRINT*,Tr(1,1),Tr(1,2)
153: PRINT*,Tr(2,1),Tr(2,2)
154: PRINT*, ' ***************************************************************:'
155: ! PRESION CRITICA
156: DO i=1,n
157: DO j=1,n
158: Pr(i,j)=(P)/(Pcm1(i,j))
159: END DO
160: END DO
161: PRINT *,' la matriz Pr :'
162: PRINT*,Pr(1,1),Pr(1,2)
163: PRINT*,Pr(2,1),Pr(2,2)
164: PRINT*, ' ***************************************************************:'
165:
166: !obtener B
167: DO i=1,n
168: DO j=1,n
169: Bo(i,j)=0.083-((0.422)/(Tr(i,j))**1.6)
170: END DO
171: END DO
172: PRINT *,' la matriz Bo :'
173: PRINT*,Bo(1,1),Bo(1,2)
174: PRINT*,Bo(2,1),Bo(2,2)
175: PRINT*, ' ***************************************************************:'
176: ! obtener b1
177: DO i=1,n
178: DO j=1,n
179: B1(i,j)=0.139-((0.172)/(Tr(i,j))**4.2)
180: END DO
181: END DO
182: PRINT *,' la matriz B1 :'
183: PRINT*,B1(1,1),B1(1,2)
184: PRINT*,B1(2,1),B1(2,2)
185: PRINT*, ' ***************************************************************:'
186: ! obtener b
187: DO i=1,n
188: DO j=1,n
189: B(i,j)=((R*Tc1(i,j))/(Pcm1(i,j)))*((Bo(i,j))+(Wm1(i,j)*B1(i,j)))
190: END DO
191: END DO
192: PRINT *,' la matriz B :'
193: PRINT*,B(1,1),B(1,2)
194: PRINT*,B(2,1),B(2,2)
195: PRINT*, ' ***************************************************************:'
196: DO i=1,n
197: DO j=1,n
198: DO k=1,n
199: S(i,j)=2*B(i,j)-B(i,i)-B(j,j)
200: Sm(i,k)=2*B(i,k)-B(i,i)-B(k,k)
201: END DO
202: END DO
203: END DO
204: PRINT *,' la matriz S :'
205: PRINT*,S(1,1),S(1,2)
206: PRINT*,S(2,1),S(2,2)
207: PRINT*, ' ***************************************************************:'

3/4
josue.f90 4/4
16/11/2018 15:01:55

208: PRINT *,' la matriz Sm:'


209: PRINT*,Sm(1,1),Sm(1,2)
210: PRINT*,Sm(2,1),Sm(2,2)
211: PRINT*, ' ***************************************************************:'
212: suma1=0
213: DO i=1,n
214: suma1=G(i)*G(j)*(2*Sm(i,k)-S(i,j))
215: END DO
216: suma2=0
217: DO j=1,n
218: suma2=G(i)*G(j)*(2*Sm(i,k)-S(i,j))
219: END DO
220: Q=exp((P/R*T)*((B(k,k))+(0.5*suma1*suma2)))
221: PRINT*,Q
222: PAUSE
223: END PROGRAM

4/4

También podría gustarte