Cross-Flow Model for Gas Separation by Membranes ​​Authors: Housam Binous and Ahmed Bellagi

reference : H . Binous, Gas Permeation Computations with Mathematica®, Chemical Engineering Education, 40 (2), pp . 140 - 144, 2006.
We compute the permeate and residue compositions obtained using a membrane separation module . Membrane area is also computed . Feed is air and is considered as a binary mixture . Cross-flow mixing model is used . This problem was proposed by C . J . Geankoplis in Transport Processes and Unit Operations, 3 rd edition, Prentice Hall, 1993 (examples 13.4 - 2 and 13.6 - 1 in pages 767 and 775) . We use a different approach to solve this air separation problem than the one used by Professor Geankoplis . Indeed, we use the shooting technique in order to determine the surface area of the separation module.
Reference:C. J. Geankoplis, Transport Processes and Unit Operations, 3rd edition, Prentice Hall, 1993.
The separation factor for this binary mixture (components A and B) that we want to separate by membrane permeation is
*
α
=
P'
A
P'
B
=
10.
In[]:=
*
α
=10;
The pressure of the feed side is
p
h
=190cmHg
while
p
l
=
19 cmHg is the pressure on the permeate side.
In[]:=
p
l
=19;
In[]:=
p
h
=190;
Feed mole fraction is
x
f
=0.209.
Permeate mole fraction is
y
pi
=0.654834
.They are related by the following equation:
In[]:=
x
f
=0.209;
In[]:=
Solve[y/(1-y)​​
*
α
((
x
f
-
p
l
/
p
h
y)/(1-
x
f
-
p
l
/
p
h
(1-y))),y]
Solve
:Solve was unable to solve the system with inexact coefficients. The answer was obtained by solving a corresponding exact system and numericizing the result.
Out[]=
{{y0.654834},{y3.54628}}
In[]:=
y
Pi
=0.654834;
Stage cut is equal to θ=0.2.
In[]:=
θ=0.2;
t= 2.54
-3
10
cm is membrane thickness.
q
O
=(1-θ)
q
f
is reject out flow rate.
q
f
=1
6
10
3
cm
(STP)/s
is feed flow rate.
P'
B
=50
-10
10
3
cm
(STP)cm(s
2
cm
cmHg)
is the permeability of component B. Governing equations for mole fraction x and y in the reject and permeate sides as well as q flow rate in the low pressure side are given by:
In[]:=
q
O
=810^5;
In[]:=
q
f
=110^6;
In[]:=
t=2.54 10^-3;
In[]:=
P'
B
=5010^-10;
In[]:=
P'
A
=50010^-10;
In[]:=
myODEsoln[Ω_]:=NDSolve[{y[
A
m
]D[q[
A
m
],{
A
m
,1}]D[q[
A
m
]x[
A
m
],{
A
m
,1}],-y[
A
m
]D[q[
A
m
],{
A
m
,1}]
P'
A
/t(
p
h
x[
A
m
]-
p
l
y[
A
m
]),-(1-y[
A
m
])D[q[
A
m
],{
A
m
,1}]
P'
B
/t(
p
h
(1-x[
A
m
])-
p
l
(1-y[
A
m
])),x[0]
x
f
,y[0]
y
Pi
,q[0]
q
f
},{x[
A
m
],y[
A
m
],q[
A
m
]},{
A
m
,0,Ω}]
Use FindRoot to compute surface area of the separation module. Surface area must verify
θ=0.2.
Surface area is
A
sol
.
In[]:=
Off[NDSolve::pdord]
In[]:=
Off[NDSolve::ivres]
In[]:=
qend[Ω_?NumericQ]:=Flatten[(q[
A
m
]/.myODEsoln[Ω])/.
A
m
Ω]​​
A
sol
=FindRoot[(
q
f
-qend[Ω])/
q
f
θ,{Ω,210^8,310^8},MaxIterations1000];
In[]:=
A
sol
Out[]=
{Ω2.89963×
8
10
}
Checking the values of the mole fractions x and y at the entrance and exit of the module.
In[]:=
x[
A
m
]/.myODEsoln[Ω/.
A
sol
]/.
A
m
Ω/.
A
sol
Out[]=
{0.119036}
In[]:=
x[
A
m
]/.myODEsoln[Ω/.
A
sol
]/.
A
m
0
Out[]=
{0.209}
In[]:=
y[
A
m
]/.myODEsoln[Ω/.
A
sol
]/.
A
m
Ω/.
A
sol
Out[]=
{0.466545}
In[]:=
y[
A
m
]/.myODEsoln[Ω/.
A
sol
]/.
A
m
0
Out[]=
{0.654834}
Stage cut is equal to θ=0.2. Knowing that reject mole fraction equal to
x
O
=0.119036,
a material balance gives a permeate mole fraction
y
P
=0.568856
.
In[]:=
x
O
=0.119036;
In[]:=
Solve[θy+(1-θ)
x
O

x
f
,y]
Out[]=
{{y0.568856}}
In[]:=
y
P
=0.568856;
Permeate mole fraction is also obtained using the following equation:
In[]:=
Integrate[First[y[
A
m
]/.myODEsoln[Ω/.
A
sol
]]/.
A
m
area,{area,0,Ω/.
A
sol
}]/Ω/.
A
sol
Out[]=
0.563389
Mole fraction at end of separation module is
y
i
=0.466545.
It is related to
x
0
by the following equation:
In[]:=
Solve[y/(1-y)​​(
*
α
((
x
O
-
p
l
/
p
h
y)/(1-
x
O
-
p
l
/
p
h
(1-y)))),y]
Solve
:Solve was unable to solve the system with inexact coefficients. The answer was obtained by solving a corresponding exact system and numericizing the result.
Out[]=
{{y0.466546},{y2.83493}}
Plotting x and y versus surface area of the separation module.
In[]:=
First[y[
A
m
]/.myODEsoln[Ω/.
A
sol
]]/.
A
m
area
Out[]=
InterpolatingFunction
Domain: 0.,2.9×
8
10

Output: scalar
[area]
In[]:=
Plot[%,{area,0.001,Ω/.
A
sol
},PlotStyleRGBColor[1,0,0],Frame->True,GridLines->Automatic,AspectRatio->1,FrameLabel->{Style["Area / cm2",14],Style["permeate composition",14]}]
Out[]=
In[]:=
First[x[
A
m
]/.myODEsoln[Ω/.
A
sol
]]/.
A
m
area
Out[]=
InterpolatingFunction
Domain: 0.,2.9×
8
10

Output: scalar
[area]