New Process For Producing Methanol From Coke Oven Gas Using CO Reforming. Comparison With Conventional Process
New Process For Producing Methanol From Coke Oven Gas Using CO Reforming. Comparison With Conventional Process
New Process For Producing Methanol From Coke Oven Gas Using CO Reforming. Comparison With Conventional Process
Supplementary material
Glossary
Symbol Description Units
A Membrane area m2
Atot Overall membrane area m2
F Feed molar flowrate mol/s
i Stage i dimensionless
J Permeate flux mol(m-2·s-1)
k Component k dimensionless
l Membrane thickness m
Pk Permeability of k component (mol·m)/(m2·s·Pa)
PF Feed pressure Pa
PP Permeate pressure Pa
Pr Reduced pressure dimensionless
R Retentate molar flow rate mol/s
X H2 recovery in each stage dimensionless
Xtot Total H2 recovery dimensionless
yFk Mole fraction of the k component in the feed dimensionless
yRk Mole fraction of the k component in the retentate dimensionless
yPk Mole fraction of the k component in the permeate dimensionless
αH2/k Membrane selectivity of k component- respect to H2 dimensionless
Θ Stage-cut dimensionless
The Aspen Plus® software does not contain a simulation block for membrane
separation. To include a membrane separation unit in the simulation, it is necessary to
program it with Fortran. Here it is shown how the modelling of the unit was done and
the Fortran program that was used in the simulation of the DR-COG process.
Fig. 1 shows a scheme of the membrane gas separation unit. The feed is the stream
RECOVERI which comes from the condenser at 30 ºC and 30 bar. The products are the
retentate (the stream PURGE), under the same conditions of temperature and pressure
as the feed, and the permeate (the stream H2RECOVE) which leaves the unit at 30 ºC
and 1 bar. The objective of the unit was to achieve a H2 recovery of 40%, which would
make it possible to obtain an optimum value for the R parameter in the synthesis gas.
FIGURE 1
For modelling purposes, the unit was split into several stages and it was assumed that
the exiting streams were always perfectly mixed. Each stage was computed so that it
would result in a H2 recovery of 5% (based on the H2 fed into each stage). The overall
calculation involved an iterative loop in which the number of stages was increased until
the targeted overall recovery of the unit was 40 %. This model is shown in Fig. 2.
FIGURE 2
In order to solve each of the perfectly mixed stages (Fig. 3), another iterative procedure
(an inner loop) was set up, starting with the transport equation and the mass balances for
each stage (Equations 1, 2 and 3)
y R H 2 Pr y P H 2
PF y R k PP y P k
Pk yP H2
J yP k H2 / k (Equation 1)
l yP k y R k Pr y P k
F J A R (Equation 2)
F yF k J A yP k R yR k (Equation 3)
FIGURE 3
The permeated fraction of the feed is then defined, the so-called stage-cut (θ, Equation
4), and the mass balance for the component j is rewritten as follows (Equation 5).
JA
(Equation 4)
F
y F k y P k 1 y R k (Equation 5)
Next, the recovery of the reference component, H2 (represented by X), is defined and
related to the stage-cut. This allows the mass balances of the rest of the compounds to
be rewritten on the basis of the reference substance. By rearranging the balances
Equation 8 is obtained. This equation is used in the iterative calculation to relate the
mole fraction of the i component in the retentate to its molar fraction, those of H2 in the
feed and in the permeate and the H2 recovery.
J A yP H2 yP H2
X (Equation 6)
F yF H2 yF H2
yP H2 yP H2
yF k X y P k 1 X yR k (Equation 7)
yF H2 yF H2
yF k yP H2 X yF H2 yP k
yR k (Equation 8)
yP H2 X yF H2
By substituting Equation 8 into Equation 1 and rearranging, the second equation needed
for the iterative procedure (Equation 9) is obtained.
y F k y P2 H 2
yP k
H 2 /k
y P H 2 X y F H 2 y R H 2 Pr y P H 2 y P H 2 Pr y P H 2 X y F H 2 1 Pr
(Equation 9)
checked by y 1 and y R k 1 .
n n
i i
5. Convergence is Pk
k 1 k 1
y 1 y
n
i 1
yP H2
i i
P H2 Pk (Equation 10)
k 1
b. If the condition is achieved, then the stage cut (θ) is calculated by means
of Equation 6, the molar flow rates of each component in the permeate
and retentate are computed from Equations 11 and 12, and the membrane
area from Equation 13.
R k F y F k J A k (Equation 12)
A
J A
(Equation 13)
J
This procedure is repeated for as many stages as are needed in order to achieve the H2
recovery initially set as a target.
The Fortran programme was then embedded in a custom block within the Aspen Plus
simulation package.
TABLE 1
2. Fortran programme
C Program GS multicomponent
C Model of series of stages with perfect mix
C Calculation based on intervals of 5 per 100 of recovery
C Perm(7) are the permeabilities of the seven different components
C fy(7) are the mole fractions in the feed of each of the components
C X is the H2 recovery at each stage
C suma_J is the total permeate flux
C yf(7,100) are the molar fractions of each of the components in the feed at each
stage
C PJ(7,100) are the permeate flux per unit of membrane area at each stage
C yp(7,100) are the molar fractions of each of the components in the permeate at
each stage
Integer i, k, b, c
Perm(1)=2*10**(-7.0)
Perm(2)=2.3*10**(-8.0)
Perm(3)=7*10**(-9.0)
Perm(4)=6.2*10**(-9.0)
Perm(5)=4*10**(-10.0)
Perm(6)=6*10**(-7.0)
Perm(7)=1.7*10**(-6.0)
XTOT=0.4
C Reduced pressure
Pr=PP/PF
fy(1)=YFH2
fy(2)=YFCO
fy(3)=YFCH4
fy(4)=YFCO2
fy(5)=YFN2
fy(6)=YFMET
fy(7)=YFH2O
X=0.05
C First stage
i=1
suma_J=0
do k=1,7,1
yf(k,i)=fy(k)
PJ(k,i)=Perm(k)*100*3600*PF*yf(k,i)
suma_J= suma_J + PJ(k,i)
end do
yp(1,i)=PJ(1,i)/suma_J
1 sum_yp=yp(1,i)
yr(1,i)=(yf(1,i)*yp(1,i)-X*yf(1,i)*yp(1,i))/(yp(1,i)-X*yf(1,i))
d(i)=(yp(1,i)-X*yf(1,i))*(yr(1,i)-Pr*yp(1,i))
e(i)=yp(1,i)*(Pr*yp(1,i)+X*(1-Pr)*yf(1,i))
do k=2,7,1
alfa(k,i)=e(i)+d(i)*(Perm(1)/Perm(k))
yp(k,i)=yf(k,i)*yp(1,i)*yp(1,i)/alfa(k,i)
yr(k,i)=(yf(k,i)*yp(1,i)-X*yf(1,i)*yp(k,i))/(yp(1,i)-X*yf(1,i))
sum_yp= sum_yp + yp(k,i)
end do
Error=abs(1-sum_yp)
C Calculation of stage-cut
k=1
theta(i)=X*(yf(1,i)/yp(1,i))
do k=1,7,1
PJ(k,i)=Perm(k)*100*3600*(PF*yr(k,i)-PP*yp(k,i))
PJA(k,i)=theta(i)*F(i)*yp(k,i)
R(k,i)=F(i)*yf(k,i)-PJA(k,i)
end do
A(i)=PJA(1,i)/PJ(1,i)
Rec(i)=1-(R(1,i)/(Feed*fy(1)))
do k=1,7,1
yf(k,c)=yr(k,i)
yp(1,c)=yp(1,i)
F(c)=F(c)+R(k,i)
end do
i=i+1
go to 1
end if
XTOT=Rec(i)
b=1
k=1
AREA=0
do k=1,7,1
PJA_ac(k)=0
end do
k=1
do while (b .LE. i)
A_tot=A_tot+A(b)
do k=1,7,1
PJA_ac(k)=PJA_ac(k)+PJA(k,b)
end do
b=b+1
end do
PJA_tot=0
do k=1,7,1
PJA_tot=PJA_tot+PJA_ac(k)
end do
k=1
do k=1,7,1
yp_tot(k)=PJA_ac(k)/PJA_tot
end do