Está en la página 1de 9

program gas

!declaracion de variables

real::Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8,Y9,Y10,Y11,Y12,Y13,Y14,Y15,X1,X2,X3,X4,X5,X6,X7,X8,X9
,X10,X11
real::X12,X13,X14,X15,Ma,Yg
real::MC1H4,MC2H6,MC3H8,MC4H10,MC5H12,MC6H14,MC7H16,MC8H18,MC9H20,MC10H22,MCO2,MN2,
MH2S,Maire
real:: z,P,T,Bg,Bl
real:: deng
!factoe de compresibilidad
real::a,b
real::Ppc,Tpc,Ppr,Tpr
real::yjCH4,yjC2H6,yjC3H8,yjnC4H10,yjiC4H10,yjnC5H12,yjiC5H12,yjnC6H14,yjnC7H16
real::yjnC8H18,yjnC9H18,yjnC10H22,yjaire,yjH2O,yjCO2,yjHe,yjH2S,yjN2,yjO2
real::PcCH4,PcC2H6,PcC3H8,PcnC4H10,PciC4H10,PcnC5H12,PciC5H12,PcnC6H14,PcnC7H16
real::PcnC8H18,PcnC9H18,PcnC10H22,Pcaire,PcH2O,PcCO2,PcHe,PcH2S,PcN2,PcO2
real::TcCH4,TcC2H6,TcC3H8,TcnC4H10,TciC4H10,TcnC5H12,TciC5H12,TcnC6H14,TcnC7H16
real::TcnC8H18,TcnC9H18,TcnC10H22,Tcaire,TcH2O,TcCO2,TcHe,TcH2S,TcN2,TcO2
real::x16,x17,x18,x19
real::y16,y17,y18,y19
!propiedades de gases con n2,h2s,co2
real::YH2S,YCO2,E,Tpcc,Ppcc
!viscocodad
real::dg,tg,pmg,X,y,k,wa=2.7182,vg

integer:: cond

write(*,*)'********************************'
write(*,*)'* PROPIEDADES DEL GAS NATURAL *'
write(*,*)'********************************'
write(*,*)
500 write(*,*)'Elija la propiedad que desea calcular'
write(*,*)
write(*,*)'(1) Densidad relativa';print*,''
write(*,*)'(2) Factor de volumen de gas';print*,''
write(*,*)'(3) Densidad del gas';print*,''
write(*,*)'(4) Factor de compresibilidad';print*,''
write(*,*)'(5) Propiedades de gases que contienen N2, H2S,CO2';print*,''
write(*,*)'(6) Viscosidad del gas';print*,''
read(*,*)cond

!bloque de condicionales

if (cond==1) then
write(*,*)'***********************'
write(*,*)' Densidad relativa'
write(*,*)'***********************'
write(*,*)
write(*,*)'Ingrese a continuacion las fracciones mol de cada componente'
write(*,*)
write(*,*)'Metano'
read(*,*)Y1
write(*,*)
write(*,*)'Etano'
read(*,*)Y2
write(*,*)
write(*,*)'Propano'
read(*,*)Y3
write(*,*)
write(*,*)'i-Butano'
read(*,*)Y4
write(*,*)
write(*,*)'n-Butano'
read(*,*)Y5
write(*,*)
write(*,*)'i-Pentano'
read(*,*)Y6
write(*,*)
write(*,*)'n-Pentano'
read(*,*)Y7
write(*,*)
write(*,*)'n-Hexano'
read(*,*)Y8
write(*,*)
write(*,*)'n-Heptano'
read(*,*)Y9
write(*,*)
write(*,*)'n-Octano'
read(*,*)Y10
write(*,*)
write(*,*)'n-Nonano'
read(*,*)Y11
write(*,*)
write(*,*)'n-Decano'
read(*,*)Y12
write(*,*)
write(*,*)'CO2'
read(*,*)Y13
write(*,*)
write(*,*)'N2'
read(*,*)Y14
write(*,*)
write(*,*)'H2S'
read(*,*)Y15

!peso molecular de cada componente

MC1H4=16.04
MC2H6=30.07
MC3H8=44.10
MC4H10=58.12
MC5H12=72.15
MC6H14=86.18
MC7H16=100.21
MC8H18=114.23
MC9H20=128.2
MC10H22=142.29
MCO2=44.01
MN2=28.01
MH2S=34.06
Maire=28.96

!Calculo de YjMj

X1=Y1*MC1H4
X2=Y2*MC2H6
X3=Y3*MC3H8
X4=Y4*MC4H10
X5=Y5*MC4H10
X6=Y6*MC5H12
X7=Y7*MC5H12
X8=Y8*MC6H14
X9=Y9*MC7H16
X10=Y10*MC8H18
X11=Y11*MC9H20
X12=Y12*MC10H22
X13=Y13*MCO2
X14=Y14*MN2
X15=Y15*MH2S

!calculo de la densidad relativa

Ma=X1+X2+X3+X4+X5+X6+X7+X8+X9+X10+X11+X12+X13+X14+X15

write(*,*)
write(*,*)'Ma es=',Ma
write(*,*)
Yg=Ma/Maire

write(*,108)'La densidad relativa del gas es=',Yg


108 format(/,A,F8.4,/)

else if(cond==2) then


print*,'**********************************'
print*,' Factor volumetrico de gas'
print*,'**********************************'
print*,''
print*, "Ingrese los siguientes datos:"
print*,''
print*, "El valor de la compresibilidad del gas (adim)"
read(*,*)z
print*,''
print*, "El valor de la presion (lpca)"
read(*,*)P
print*,''
print*,"El valos de la temperatura (R)"
read(*,*)T

!calculo de factor volumetrico

Bg=0.02827*(z*T)/P
Bl=Bg/5.615

!impresion de resultados
write(*,103)'El factor volumetrico del gas en PCY/PCN es =',Bg
103 format(/,A,F11.6,/)
write(*,104)'El factor volumetrico del gasen BY/PCN es =',Bl
104 format(/,A,F11.6,/)

else if (cond==3) then


write(*,*)'*************************'
write(*,*)' Densidad del gas'
write(*,*)'*************************'
write(*,*)
write (*,*)'Ingrese los siguientes datos';print*,''
write(*,*)'Presion en lpca'
read(*,*)P
write(*,*)
write(*,*)'Yg del gas'
read (*,*)Yg
write(*,*)
write(*,*)'Factor de compresibilidad del gas'
read(*,*)z
write(*,*)
write(*,*)'Temperatura en R'
read(*,*)T

!calculos

deng=2.70*((P*Yg)/(z*T))

write(*,110) 'La densidad del gas es =', deng, 'lbs/pie^3'


110 format(/,A,F8.4,2X,A,/)

else if (cond==4) then

write(*,*)'************************************************************************
**'
write(*,*)'Este programa calcula el factor de compresibilidad mediante Metodo
Papay'
write(*,*)'************************************************************************
**'
write(*,*)
write(*,*)
write(*,*)'A continuacion ingrese las fracciones mol de acuerdo a cada componente'
write(*,*)
write(*,*)

!solicitud de datos

write(*,*)'Metano'
read(*,*)yjCH4
write(*,*)
write(*,*)'Etano'
read(*,*)yjC2H6
write(*,*)
write(*,*)'Propano'
read(*,*)yjC3H8
write(*,*)
write(*,*)'n-Butano'
read(*,*)yjnC4H10
write(*,*)
write(*,*)'i-Butano'
read(*,*)yjiC4H10
write(*,*)
write(*,*)'n-Pentano'
read(*,*)yjnC5H12
write(*,*)
write(*,*)'i-Pentano'
read(*,*)yjiC5H12
write(*,*)
write(*,*)'n-Hexano'
read(*,*)yjnC6H14
write(*,*)
write(*,*)'n-Heptano'
read(*,*)yjnC7H16
write(*,*)
write(*,*)'n-Octano'
read(*,*)yjnC8H18
write(*,*)
write(*,*)'n-Nonano'
read(*,*)yjnC9H18
write(*,*)
write(*,*)'n-Decano'
read(*,*)yjnC10H22
write(*,*)
write(*,*)'Aire'
read(*,*)yjaire
write(*,*)
write(*,*)'H2O'
read(*,*)yjH2O
write(*,*)
write(*,*)'CO2'
read(*,*)yjCO2
write(*,*)
write(*,*)'Helio'
read(*,*)yjHe
write(*,*)
write(*,*)'H2S'
read(*,*)yjH2S
write(*,*)
write(*,*)'N2'
read(*,*)yjN2
write(*,*)
write(*,*)'O2'
read(*,*)yjO2
write(*,*)
write(*,*)
write(*,*)

!presiones y temperaturas criticas

PcCH4=667.8
PcC2H6=707.8
PcC3H8=616.3
PcnC4H10=550.7
PciC4H10=529.1
PcnC5H12=488.6
PciC5H12=490.4
PcnC6H14=436.9
PcnC7H16=396.8
PcnC8H18=360.6
PcnC9H18=332
PcnC10H22=304
Pcaire=546.9
PcH2O=3198.8
PcCO2=1071
PcHe=32.99
PcH2S=1306
PcN2=493
PcO2=731.4

TcCH4=343.37
TcC2H6=550.09
TcC3H8=666
TcnC4H10=765.65
TciC4H10=734.98
TcnC5H12=845.70
TciC5H12=829.10
TcnC6H14=913.70
TcnC7H16=972.80
TcnC8H18=1024.22
TcnC9H18=1070.68
TcnC10H22=1112.10
Tcaire=238.69
TcH2O=1165.16
TcCO2=547.90
TcHe=9.69
TcH2S=672.70
TcN2=227.60
TcO2=278.57

!calculo de presiones y temperaturas pseudocriticas

x1=yjCH4*PcCH4
x2=yjC2H6*PcC2H6
x3=yjC3H8*PcC3H8
x4=yjnC4H10*PcnC4H10
x5=yjiC4H10*PciC4H10
x6=yjnC5H12*PcnC5H12
x7=yjiC5H12*PciC5H12
x8=yjnC6H14*PcnC6H14
x9=yjnC7H16*PcnC7H16
x10=yjnC8H18*PcnC8H18
x11=yjnC9H18*PcnC9H18
x12=yjnC10H22*PcnC10H22
x13=yjaire*Pcaire
x14=yjH2O*PcH2O
x15=yjCO2*PcCO2
x16=yjHe*PcHe
x17=yjH2S*PcH2S
x18=yjN2*PcN2
x19=yjO2*PcO2

Ppc=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12+x13+x14+x15+x16+x17+x18+x19

y1=yjCH4*TcCH4
y2=yjC2H6*TcC2H6
y3=yjC3H8*TcC3H8
y4=yjnC4H10*TcnC4H10
y5=yjiC4H10*TciC4H10
y6=yjnC5H12*TcnC5H12
y7=yjiC5H12*TciC5H12
y8=yjnC6H14*TcnC6H14
y9=yjnC7H16*TcnC7H16
y10=yjnC8H18*TcnC8H18
y11=yjnC9H18*TcnC9H18
y12=yjnC10H22*TcnC10H22
y13=yjaire*Tcaire
y14=yjH2O*TcH2O
y15=yjCO2*TcCO2
y16=yjHe*TcHe
y17=yjH2S*TcH2S
y18=yjN2*TcN2
y19=yjO2*TcO2

Tpc=y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18+y19

write(*,*)'La presion pseudocritica es=',Ppc


write(*,*)
write(*,*)'La temperatura pseudocritica es=',Tpc
write(*,*)
write(*,*)

!solicitud de presion y temperatura

write(*,*)'Ingrese temperatura dada (°R)'


read(*,*)T
write(*,*)
write(*,*)'Ingrese presion dada (lb/in^2)'
read(*,*)P

write(*,*)
write(*,*)

!calculo de presiones pseudoreducidas

Ppr=P/Ppc
Tpr=T/Tpc

write(*,106)'La presion pseudoreducida es=',Ppr


106 format(/,A,F9.4,/)
write(*,107)'La temperatura pseudoreducida es=',Tpr
107 format(/,A,F9.4,/)
write(*,*)
write(*,*)

!calculo de factor de compresibilidad

a=10**(0.9813*Tpr)
b=10**(0.8157*Tpr)

z=1-((3.52*Ppr/a)+(0.274*Ppr**2/b))

write(*,105)'El factor de compresibilidad es z=',z


105 format(/,A,F8.4,/)
else if (cond==5) then
write(*,*)'****************************************'
write(*,*)'Mediante el metodo de wichert se corrige'
write(*,*)'la temperatura y presion pseudocritica'
write(*,*)'****************************************'

!solicitud de datos

write(*,*)
write(*,*)'Ingrese los valores de temperatura pseudocritica, R'
read(*,*)Tpc
write(*,*)
write(*,*)'Ingrese los valores de presion pseudocritica, lb/in^2'
read(*,*)Ppc
write(*,*)
write(*,*)'Ingrese las fracciones de H2S y CO2 respectivamente'
read(*,*)YH2S,YCO2

!calculos de parametros de la correlacion

A=YH2S+YCO2
B=YH2S

!calculo de factor de ajuste

E=120*(A**0.9-A**1.6)+15*(B**0.5-B**4)

!correcion de presion y temperatura

Tpcc=Tpc-E
Ppcc=(Ppc*Tpcc)/(Tpc+YH2S*(1-YH2S)*E)

!impresion de resultados

write(*,*)'--------------------------------------------------------'
write(*,101)'La temperatura pseudocritica corregida es =',Tpcc,'R'
101 format(/,A,2X,F10.4,2X,A,/)
write(*,102)'La presion pseudocritica corregida es =',Ppcc,'lb/in^2'
102 format(/,A,2X,F10.4,2X,A,/)

else if (cond==6) then


write(*,*)'***************************************************'
write(*,*)' Viscosidad del gas natural mediante la correlacion'
write(*,*)" de Lee-Gonzalez-Eakin"
write(*,*)'***************************************************'

write(*,*)
write(*,*)"** No se recomienda ser usado para"
write(*,*)"gases que contengan acido sulfhidrico **"
write(*,*)"_______________________________________"
write(*,*)
write(*,*)"Introduzca el valor de la densidad del gas en unidades de: (grs/cc)"
read(*,*)dg
write(*,*)
write(*,*)"Introduzca el valor del peso molecular del gas en unidades de: (lbs/lb-
mol)"
read(*,*)pmg
write(*,*)
write(*,*)"Introduzca el valor de la temperatura en unidades de: GRADOS RANKINE
(R)"
read(*,*)tg

x=3.5+(986/tg)+(0.01*pmg)
y=2.4-(0.2*X)
k=((9.4+0.02*pmg)*tg**1.5)/(209+19*pmg+tg)

vg=(k*EXP(x*(dg**y)))/(10**4)

write(*,*)"El valor de x es:",x


write(*,*)"El valor de y es:",y
write(*,*)"El valor de k es:",k
write(*,*)
write(*,*)"El valor de la viscosidad del gas es:",vg,' ',"cp"

else
write(*,*)
write(*,*)'** El comando es incorrecto **'
write(*,*)
end if

write(*,*)'¿Desea regresar al menu del gas natural?'


write(*,*)
write(*,*)'(1) SI';print*,''
write(*,*)'(2) NO'
read(*,*)cond
write(*,*)

if (cond==1) goto 500


if (cond==2) goto 600

600 pause
end PROGRAM

También podría gustarte