You are on page 1of 22

:

2010-2011

.


Fortran
Range-Kutta. O 1

Visual Fortran.

. .


1.
.

(ppm) .


Fortran
.

2,2S


75 bar.

1.
2 2S
. .

1 (1 bed) 2 (2 bed)
2 3
(3 bed).
2.
( ).
.

1
2

2 3 bed.

1. 1-2 2-3
.
.


.

1. .

.

70% .

2.
250 ppm.


250 ppm.
.
1. .- S .

T (Kelvin)

C_S (ppm)

623

4910

633

2985

643

1542

653

457

656

292

657

234

H
656-657 383-384 .
1.
S
.

1.

.

- HDS
Program HDS
implicit none

real c_S, F_H2S, F_H2, HCON, T,


K1_S,K2_S,G1(100),B1(100),D1(100),cpF(12)
real K3_S,K4_S,K1_H2S,K2_H2S,K3_H2S,K4_H2S,L(100),W,Ftot,CP
real
Mcat,Mcat_1,Mcat_2,Mcat_3,dens,Moil,F_IN,F2,F3,P,T2,A1,K1,K2,E1,A
2,K3,E2,R,DHR,CHT,h
real K1_H2,K2_H2,K3_H2,K4_H2,K1_T,K2_T,K3_T,K4_T,Fol

integer I,N

!Di=

4.

!Mcat=102600.
dens=0.9
T=623.15
Moil=148000

!m
!kg
!kg/lt BED
!K
!kg/hr

c_S=18800.

!ppm

F_IN=2150357.143

!mol/h

F2=535714.2857

!mol/h

!F3=357142.8571

!mol/h

!T2=346

!K

A1=1.88*1E+6

! k1

K1=0.15
K2=0.005
E1=146000.

!J/mol

W=2.1

! TAXI ANTIDRASIS

A2=1.5*1E+5

!k2

K3=0.265
E2=93000.

!J/mol

R=8.314

!J/K*mol

DHR=53760.

!J/molH2

CHT=3.92857
P=75

!molH2/kgoil
!bar

Mcat_1=22800

!kg

Mcat_2=34200

!kg

Mcat_3=45600

!kg

Fol=510589.2857

!mol/hr

N=100

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1o bed!!!!!!!!!!!!!!!!!!!!!!!!!!
Mcat=Mcat_1
h=Mcat/N
HCON=0
F_H2S=17410.71429
F_H2=F_IN

Open (1,FILE='bed1.txt')

do i=1,N

Ftot=Fol+F_H2+F_H2S
HCON=(F_IN-F_H2)/Moil
call cpF_sum(CP,T)

K1_S=-h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/Moil
K1_H2S=h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/32.07*1E-3
K1_H2=-h*A2*(exp(-E2/(R*T))*F_H2*P*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/22.4
K1_T=h*A2*(exp(-E2/(R*T))*P*F_H2*DHR*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/CP
!
T=T+K1_T/2.
c_S= c_S+K1_S/2.
F_H2S=F_H2S+K1_H2S/2.
F_H2=F_H2+K1_H2/2.

Ftot=Fol+F_H2+F_H2S
HCON=(F_IN-F_H2)/Moil

call cpF_sum(CP,T)

K2_S=-h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/Moil
K2_H2S=h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/32.07*1E-3

K2_H2=-h*A2*(exp(-E2/(R*T))*F_H2*P*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/22.4
K2_T=h*A2*(exp(-E2/(R*T))*P*F_H2*DHR*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/CP
!
T=T+K2_T/2.
c_S= c_S+K2_S/2.
F_H2S=F_H2S+K2_H2S/2.
F_H2=F_H2+K2_H2/2.

Ftot=Fol+F_H2+F_H2S
HCON=(F_IN-F_H2)/Moil

call cpF_sum(CP,T)

K3_S=-h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/Moil
K3_H2S=h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/32.07*1E-3
K3_H2=-h*A2*(exp(-E2/(R*T))*F_H2*P*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/22.4
K3_T=h*A2*(exp(-E2/(R*T))*P*F_H2*DHR*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/CP
!
T=T+K3_T/2.
c_S= c_S+K3_S/2
F_H2S=F_H2S+K3_H2S/2.
F_H2=F_H2+K3_H2/2.

Ftot=Fol+F_H2+F_H2S
HCON=(F_IN-F_H2)/Moil

call cpF_sum(CP,T)

K4_S=-h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/Moil
K4_H2S=h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/32.07*1E-3
K4_H2=-h*A2*(exp(-E2/(R*T))*F_H2*P*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/22.4
K4_T=h*A2*(exp(-E2/(R*T))*P*F_H2*DHR*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/CP
!
c_S=c_S+1/6*(K1_S+2*K2_S+2*K3_S+K4_S)
F_H2S=F_H2S+1/6*(K1_H2S+2*K2_H2S+2*K3_H2S+K4_H2S)
F_H2=F_H2+1/6*(K1_H2+2*K2_H2+2*K3_H2+K4_H2)
T= T+1/6*(K1_T+2*K2_T+2*K3_T+K4_T)

B1(i)=c_S
D1(i)=F_H2S
L(i)=F_H2
G1(i)=T

print *, B1(i), D1(i) ,L(i) ,G1(i)

Write(1,*)B1(i), D1(i) ,L(i) ,G1(i)

end do
Close (1)

!!!!!!!!!!!!!!!!!!!!!!!!!!
Mcat=Mcat_2
h=Mcat/N

HCON=0.01989083
F_H2S=53852.93114
F_H2=2571699.014
c_S=11773.99
T=622.4767518
Fol=618000.

Open (2,FILE='bed2.txt')

do i=1,N

Ftot=Fol+F_H2+F_H2S

call cpF_sum(CP,T)

2o BED

!!!!!!!!!!!!!!!!!!!!!!!!!!

K1_S=-h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/Moil
K1_H2S=h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/32.07*1E-3
K1_H2=-h*A2*(exp(-E2/(R*T))*F_H2*P*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/22.4
K1_T=h*A2*(exp(-E2/(R*T))*P*F_H2*DHR*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/CP
!
T=T+K1_T/2.
c_S= c_S+K1_S/2.
F_H2S=F_H2S+K1_H2S/2.
F_H2=F_H2+K1_H2/2.

Ftot=Fol+F_H2+F_H2S
HCON=(F_IN+424285.7143-F_H2)/Moil

call cpF_sum(CP,T)

K2_S=-h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/Moil
K2_H2S=h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/32.07*1E-3
K2_H2=-h*A2*(exp(-E2/(R*T))*F_H2*P*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/22.4
K2_T=h*A2*(exp(-E2/(R*T))*P*F_H2*DHR*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/CP
!

T=T+K2_T/2.
c_S= c_S+K2_S/2.
F_H2S=F_H2S+K2_H2S/2.
F_H2=F_H2+K2_H2/2.

Ftot=Fol+F_H2+F_H2S
HCON=(F_IN+424285.7143-F_H2)/Moil

call cpF_sum(CP,T)

K3_S=-h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/Moil
K3_H2S=h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/32.07*1E-3
K3_H2=-h*A2*(exp(-E2/(R*T))*F_H2*P*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/22.4
K3_T=h*A2*(exp(-E2/(R*T))*P*F_H2*DHR*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/CP
!
T=T+K3_T/2.
c_S= c_S+K3_S/2
F_H2S=F_H2S+K3_H2S/2.
F_H2=F_H2+K3_H2/2.

Ftot=Fol+F_H2+F_H2S
HCON=(F_IN+424285.7143-F_H2)/Moil

call cpF_sum(CP,T)

K4_S=-h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/Moil
K4_H2S=h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/32.07*1E-3
K4_H2=-h*A2*(exp(-E2/(R*T))*F_H2*P*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/22.4
K4_T=h*A2*(exp(-E2/(R*T))*P*F_H2*DHR*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/CP

c_S=c_S+1/6*(K1_S+2*K2_S+2*K3_S+K4_S)
F_H2S=F_H2S+1/6*(K1_H2S+2*K2_H2S+2*K3_H2S+K4_H2S)
F_H2=F_H2+1/6*(K1_H2+2*K2_H2+2*K3_H2+K4_H2)
T= T+1/6*(K1_T+2*K2_T+2*K3_T+K4_T)

B1(i)=c_S
D1(i)=F_H2S
L(i)=F_H2
G1(i)=T

print *, B1(i), D1(i) ,L(i) ,G1(i)

Write(2,*)B1(i), D1(i) ,L(i) ,G1(i)

end do

Close(2)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3o bed!!!!!!!!!!!!!!!!!!!!!!!!
Mcat=Mcat_3
h=Mcat/N
HCON=0.046789575
F_H2S=75077.99143
F_H2=2850575.143
c_S=7755.173
T=627.1988747
Fol=689607.1429

Open (3,FILE='bed3.txt')
do i=1,N
Ftot=Fol+F_H2+F_H2S

call cpF_sum(CP,T)

K1_S=-h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/Moil
K1_H2S=h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/32.07*1E-3

K1_H2=-h*A2*(exp(-E2/(R*T))*F_H2*P*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/22.4
K1_T=h*A2*(exp(-E2/(R*T))*P*F_H2*DHR*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/CP
!
T=T+K1_T/2.
c_S= c_S+K1_S/2.
F_H2S=F_H2S+K1_H2S/2.
F_H2=F_H2+K1_H2/2.

Ftot=Fol+F_H2+F_H2S
HCON=(F_IN+707142.8571-F_H2)/Moil

call cpF_sum(CP,T)

K2_S=-h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/Moil
K2_H2S=h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/32.07*1E-3
K2_H2=-h*A2*(exp(-E2/(R*T))*F_H2*P*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/22.4
K2_T=h*A2*(exp(-E2/(R*T))*P*F_H2*DHR*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/CP
!

T=T+K2_T/2.
c_S= c_S+K2_S/2.
F_H2S=F_H2S+K2_H2S/2.

F_H2=F_H2+K2_H2/2.
Ftot=Fol+F_H2+F_H2S
HCON=(F_IN+707142.8571-F_H2)/Moil

call cpF_sum(CP,T)

K3_S=-h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/Moil
K3_H2S=h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/32.07*1E-3
K3_H2=-h*A2*(exp(-E2/(R*T))*F_H2*P*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/22.4
K3_T=h*A2*(exp(-E2/(R*T))*P*F_H2*DHR*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/CP

!
T=T+K3_T/2.
c_S= c_S+K3_S/2
F_H2S=F_H2S+K3_H2S/2.
F_H2=F_H2+K3_H2/2.

Ftot=Fol+F_H2+F_H2S
HCON=(F_IN+707142.8571-F_H2)/Moil

call cpF_sum(CP,T)

K4_S=-h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/Moil
K4_H2S=h*A1*(exp(-E1/(R*T))*F_H2*P*c_S**W)/
(Ftot+K1*F_H2S*P+K2*F_H2*P)/32.07*1E-3
K4_H2=-h*A2*(exp(-E2/(R*T))*F_H2*P*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/22.4
K4_T=h*A2*(exp(-E2/(R*T))*P*F_H2*DHR*(CHT-HCON)**2)/
(Ftot+K3*F_H2S*P)/CP
!
c_S=c_S+1/6*(K1_S+2*K2_S+2*K3_S+K4_S)
F_H2S=F_H2S+1/6*(K1_H2S+2*K2_H2S+2*K3_H2S+K4_H2S)
F_H2=F_H2+1/6*(K1_H2+2*K2_H2+2*K3_H2+K4_H2)
T= T+1/6*(K1_T+2*K2_T+2*K3_T+K4_T)

B1(i)=c_S
D1(i)=F_H2S
L(i)=F_H2
G1(i)=T

print *, B1(i), D1(i) ,L(i) ,G1(i)

Write(3,*)B1(i), D1(i) ,L(i) ,G1(i)

end do

Close(3)

Contains
subroutine cpF_sum(CP,T1)
IMPLICIT NONE
real cpF(12),CP,T1
cpF(1)=(27.144+0.9274*1E-2*T1-1.38*1E-5*T1**2+7.685*1E-9*T1**3)
cpF(2)=(31.943+0.1437*1E-2*T1+2.432*1E-5*T1**2-11.77*1E9*T1**3)*F_H2S
cpF(4)=(19.252+5.213*1E-2*T1-1.197*1E-5*T1**2-11.32*1E9*T1**3)*167946.4286
cpF(5)=(5.41+17.81*1E-2*T1-6.938*1E-5*T1**2+8.713*1E9*T1**3)*159107.1429
cpF(6)=(-4.225+30.63*1E-2*T1-15.86*1E-5*T1**2+32.15*1E9*T1**3)*137410.7143
cpF(7)=(-1.39+38.47*1E-2*T1-18.46*1E-5*T1**2+28.95*1E9*T1**3)*18750.
cpF(8)=(9.488+33.13*1E-2*T1-11.08*1E-5*T1**2-28.22*1E9*T1**3)*14196.42857
cpF(9)=(-9.525+50.66*1E-2*T1-27.29*1E-5*T1**2+57.23*1E9*T1**3)*6830.357143
cpF(10)=(-3.626+48.74*1E-2*T1-25.8*1E-5*T1**2+53.05*1E9*T1**3)*4875.
cpF(11)=(-4.413+58.2*1E-2*T1-31.19*1E-5*T1**2+64.94*1E9*T1**3)*1473.214286
cpF(12)=(0.7276+0.003765*T1)*Moil*1000.
CP=sum(CpF)

end subroutine
end

You might also like