Effect of pressure ratio on CO2 depletion in a counter-current gas permeator​
​Authors: Housam Binous and Ahmed Bellagi

Various flow patterns for gas permeation of a multicomponent system are studied in Ref. 1. The feed is composed of CO2, O2, and N2, with an initial CO2 content of 4 mole % (see Table 1 of Ref. 1). ​
​​The CO2 removal from closed or semi-closed life sustaining environments is considered. The objective is to achieve a lean stream content of CO2 of about 0.5 mole % in the breathing gas. Figure 6 of Ref. 1 depicts the effect of pressure ratio on CO2 depletion for the counter-current flow pattern.​​
​​Here, we successfully reproduce Fig. 6 of Ref. 1 using the methodology described in detail in Ref. 2.​​References:​[1] K. Li, D.R. Acharya, R. Hughes, Mathematical modelling of multicomponent membrane permeators, Journal of Membrane Science, Volume 52, Issue 2, 1990, Pages 205-219, https://doi.org/10.1016/S0376-7388(00)80486-X .[2] H . Binous, U . Zahid and A . Bellagi, Modeling for Multi - component Gas Permeation with Orthogonal Collocation and Arc - Length Continuation, Chemistry Africa (2024) . https://doi.org/10.1007/s42250-024-01167-y

r=5

In[]:=
functions={xA[1]xA[1][s],xB[1]xB[1][s],xA[2]xA[2][s],yA[2]yA[2][s],xB[2]xB[2][s],yB[2]yB[2][s],q[2]q[2][s],xA[3]xA[3][s],yA[3]yA[3][s],xB[3]xB[3][s],yB[3]yB[3][s],q[3]q[3][s],xA[4]xA[4][s],yA[4]yA[4][s],xB[4]xB[4][s],yB[4]yB[4][s],q[4]q[4][s],xA[5]xA[5][s],yA[5]yA[5][s],xB[5]xB[5][s],yB[5]yB[5][s],q[5]q[5][s],xA[6]xA[6][s],yA[6]yA[6][s],xB[6]xB[6][s],yB[6]yB[6][s],q[6]q[6][s],xA[7]xA[7][s],yA[7]yA[7][s],xB[7]xB[7][s],yB[7]yB[7][s],q[7]q[7][s],xA[8]xA[8][s],yA[8]yA[8][s],xB[8]xB[8][s],yB[8]yB[8][s],q[8]q[8][s],xA[9]xA[9][s],yA[9]yA[9][s],xB[9]xB[9][s],yB[9]yB[9][s],q[9]q[9][s],xA[10]xA[10][s],yA[10]yA[10][s],xB[10]xB[10][s],yB[10]yB[10][s],q[10]q[10][s],xA[11]xA[11][s],yA[11]yA[11][s],xB[11]xB[11][s],yB[11]yB[11][s],q[11]q[11][s],xA[12]xA[12][s],yA[12]yA[12][s],xB[12]xB[12][s],yB[12]yB[12][s],q[12]q[12][s],xA[13]xA[13][s],yA[13]yA[13][s],xB[13]xB[13][s],yB[13]yB[13][s],q[13]q[13][s],xA[14]xA[14][s],yA[14]yA[14][s],xB[14]xB[14][s],yB[14]yB[14][s],q[14]q[14][s],xA[15]xA[15][s],yA[15]yA[15][s],xB[15]xB[15][s],yB[15]yB[15][s],q[15]q[15][s],xA[16]xA[16][s],yA[16]yA[16][s],xB[16]xB[16][s],yB[16]yB[16][s],q[16]q[16][s],xA[17]xA[17][s],yA[17]yA[17][s],xB[17]xB[17][s],yB[17]yB[17][s],q[17]q[17][s],xA[18]xA[18][s],yA[18]yA[18][s],xB[18]xB[18][s],yB[18]yB[18][s],q[18]q[18][s],xA[19]xA[19][s],yA[19]yA[19][s],xB[19]xB[19][s],yB[19]yB[19][s],q[19]q[19][s],xA[20]xA[20][s],xB[20]xB[20][s],yB[20]yB[20][s],yA[20]yA[20][s],q[20]q[20][s],thetatheta[s],yA[21]yA[21][s],yB[21]yB[21][s],stst[s]};
In[]:=
Out[]=
{xA[1]0.0296427,xB[1]0.549201,xA[2]0.0296959,xB[2]0.549281,xA[3]0.0298551,xB[3]0.549519,xA[4]0.0301183,xB[4]0.549904,xA[5]0.0304823,xB[5]0.550424,xA[6]0.0309422,xB[6]0.551061,xA[7]0.0314913,xB[7]0.551791,xA[8]0.0321211,xB[8]0.552592,xA[9]0.0328204,xB[9]0.553437,xA[10]0.033576,xB[10]0.554302,xA[11]0.0343718,xB[11]0.555161,xA[12]0.0351897,xB[12]0.555993,xA[13]0.0360091,xB[13]0.556778,xA[14]0.0368078,xB[14]0.5575,xA[15]0.0375628,xB[15]0.558144,xA[16]0.0382509,xB[16]0.558702,xA[17]0.0388497,xB[17]0.559165,xA[18]0.039339,xB[18]0.559528,xA[19]0.0397017,xB[19]0.55979,xA[20]0.0399247,xB[20]0.559947,yA[2]0.0925967,yB[2]0.643796,yA[3]0.0929342,yB[3]0.643702,yA[4]0.0934909,yB[4]0.643544,yA[5]0.0942578,yB[5]0.643323,yA[6]0.0952222,yB[6]0.643036,yA[7]0.0963673,yB[7]0.642686,yA[8]0.0976717,yB[8]0.642275,yA[9]0.0991099,yB[9]0.641805,yA[10]0.100652,yB[10]0.641285,yA[11]0.102263,yB[11]0.640724,yA[12]0.103905,yB[12]0.640133,yA[13]0.105538,yB[13]0.639529,yA[14]0.107117,yB[14]0.638929,yA[15]0.108599,yB[15]0.638353,yA[16]0.109941,yB[16]0.637821,yA[17]0.111102,yB[17]0.637352,yA[18]0.112046,yB[18]0.636966,yA[19]0.112744,yB[19]0.636678,yA[20]0.113172,yB[20]0.6365,yA[21]0.113316,yB[21]0.63644,q[2]0.876959,q[3]0.879168,q[4]0.882794,q[5]0.887753,q[6]0.893931,q[7]0.901185,q[8]0.909346,q[9]0.91822,q[10]0.927598,q[11]0.937253,q[12]0.946949,q[13]0.956448,q[14]0.965512,q[15]0.973911,q[16]0.981429,q[17]0.987872,q[18]0.99307,q[19]0.996885,q[20]0.999216,theta0.123783,
y
PAi
0.0924836,
y
PBi
0.643828,
y
PCi
0.263689}
In[]:=
xA[Np+1]=.;xB[Np+1]=.;yA[1]=.;yB[1]=.;q[Np+1]=.;q[1]=.;​​xA[Np+1][s_]:=
x
fA
;xB[Np+1][s_]:=
x
fB
;yA[1][s_]:=
y
PAi
;yB[1][s_]:=
y
PBi
;q[Np+1][s_]:=
q
f
;q[1][s_]:=
q
f
(1-theta[s]);​​init=Join[Flatten[Table[{xA[i][0](xA[i]/.sol),yA[i][0](yA[i]/.sol),xB[i][0](xB[i]/.sol),yB[i][0](yB[i]/.sol)},{i,2,Np}],1],Flatten[Table[q[i][0](q[i]/.sol),{i,2,Np}],1],{xA[1][0](xA[1]/.sol),xB[1][0](xB[1]/.sol),yA[Np+1][0](yA[Np+1]/.sol),yB[Np+1][0](yB[Np+1]/.sol),
y
PAi
[0](
y
PAi
/.sol),
y
PBi
[0](
y
PBi
/.sol),
y
PCi
[0](
y
PCi
/.sol),theta[0](theta/.sol),st[0]1}];​​initdev=Join[Flatten[Table[{xA[i]'[0]-0.1,yA[i]'[0]-0.1,xB[i]'[0]0.1,yB[i]'[0]0.1},{i,2,Np}],1],Flatten[Table[{q[i]'[0]-0.1},{i,2,Np}],1],{theta'[0]-0.1,st'[0]-1,
y
PAi
'[0]-0.1,
y
PBi
'[0]-0.1,
y
PCi
'[0]-0.1,xA[1]'[0]-0.1,xB[1]'[0]0.1,yA[Np+1]'[0]-0.1,yB[Np+1]'[0]0.1}];​​aux=Sum[xA[i]'[s]^2+yA[i]'[s]^2+xB[i]'[s]^2+yB[i]'[s]^2,{i,2,Np}]+xA[1]'[s]^2+xB[1]'[s]^2+Sum[q[i]'[s]^2,{i,2,Np}]+theta'[s]^2+st'[s]^2+
y
PAi
'[s]^2+
y
PBi
'[s]^2+
y
PCi
'[s]^21;​​unknown1=Join[Flatten[Table[{xA[i],yA[i],xB[i],yB[i]},{i,2,Np}],1],Flatten[Table[q[i],{i,2,Np}],1],{theta,st,xA[1],xB[1],
y
PAi
,
y
PBi
,
y
PCi
,yA[Np+1],yB[Np+1]}];​​SYS=Join[sys/.functions/.
y
PAi

y
PAi
[s]/.
y
PBi

y
PBi
[s]/.
y
PCi

y
PCi
[s],{aux},init,initdev];​​SOL=Quiet@NDSolve[SYS,unknown1,{s,-10,10^5},AccuracyGoal5];​​p1=ParametricPlot[Evaluate[{theta[s],10^3xA[1][s]}/.SOL[[1]]],{s,-8.12,1000},PlotRange{{0,1.0},{0.0,40.0}},FrameTrue,GridLinesAutomatic,AspectRatio1,PlotStyle{Green,Thick,Dashed},FrameTrue,FrameLabel{Style["stage cut",16],Style["CO2 reject",16]},PlotLegends->LineLegend[{Green,Red,Blue,Magenta},{"r=5","r=10","r=15","r=20"}]];

r=10

In[]:=
p
l
=
p
h
100/1000;​​g=100/1000;​​eq1i=
y
PAi
/(
y
PBi
)qA(xA[1]-
p
l
/
p
h
y
PAi
)/(qB(xB[1]-
p
l
/
p
h
y
PBi
));​​eq2i=
y
PAi
/(
y
PCi
)qA(xA[1]-
p
l
/
p
h
y
PAi
)/(qC(xC[1]-
p
l
/
p
h
y
PCi
));​​eq3i=
y
PAi
+
y
PBi
+
y
PCi
1;​​
q
P
=theta
q
f
;​​
q
f
=1.0;​​Clear[eq1,eq2,eq3,eq4,eq5,yC,xC];​​eq1[i_]:=-xAp[i]q[i]qA(xA[i]-
p
l
/
p
h
yA[i])-xA[i](qA(xA[i]-
p
l
/
p
h
yA[i])+qB(xB[i]-
p
l
/
p
h
yB[i])+qC(xC[i]-
p
l
/
p
h
yC[i]));​​eq2[i_]:=-xBp[i]q[i]qB(xB[i]-
p
l
/
p
h
yB[i])-xB[i](qA(xA[i]-
p
l
/
p
h
yA[i])+qB(xB[i]-
p
l
/
p
h
yB[i])+qC(xC[i]-
p
l
/
p
h
yC[i]));​​eq3[i_]:=qp[i]-(qA(xA[i]-
p
l
/
p
h
yA[i])+qB(xB[i]-
p
l
/
p
h
yB[i])+qC(xC[i]-
p
l
/
p
h
yC[i]));​​eq4[i_]:=(q[i]-(1-theta))yA[i]-(1-theta)xA[1]+q[i]xA[i];​​eq5[i_]:=(q[i]-(1-theta))yB[i]-(1-theta)xB[1]+q[i]xB[i];​​yC[i_]:=1-yA[i]-yB[i];​​xC[i_]:=1-xA[i]-xB[i];​​xA[Np+1]=
x
fA
;xB[Np+1]=
x
fB
;yA[1]=
y
PAi
;yB[1]=
y
PBi
;q[Np+1]=
q
f
;q[1]=
q
f
(1-theta);​​unknown=Join[Flatten[Join[Table[{{xA[i],0.04},{xB[i],0.5}},{i,1,Np}],Table[{{yA[i],0.1},{yB[i],0.3}},{i,2,Np+1}],Table[{{q[i],0.6
q
f
}},{i,2,Np}]],1],{{theta,0.36},{
y
PAi
,0.7},{
y
PBi
,0.2},{
y
PCi
,0.1}}];​​sys=Flatten@Join[Table[{eq1[i],eq2[i],eq3[i],eq4[i],eq5[i]},{i,2,Np}],{eq1i,eq2i,eq3i,eq1[1],eq2[1],eq3[1],eq4[Np+1],eq5[Np+1]}];​​sol=FindRoot[sys/.st1,unknown,MaxIterations100]
Out[]=
{xA[1]0.0238891,xB[1]0.548211,xA[2]0.023965,xB[2]0.548309,xA[3]0.0241926,xB[3]0.5486,xA[4]0.0245705,xB[4]0.54907,xA[5]0.0250964,xB[5]0.5497,xA[6]0.0257662,xB[6]0.550465,xA[7]0.0265737,xB[7]0.551333,xA[8]0.0275097,xB[8]0.552272,xA[9]0.0285613,xB[9]0.553247,xA[10]0.0297113,xB[10]0.554226,xA[11]0.0309376,xB[11]0.555179,xA[12]0.0322132,xB[12]0.556079,xA[13]0.0335062,xB[13]0.556906,xA[14]0.0347806,xB[14]0.557644,xA[15]0.0359973,xB[15]0.558284,xA[16]0.0371159,xB[16]0.558821,xA[17]0.0380969,xB[17]0.559253,xA[18]0.0389035,xB[18]0.559584,xA[19]0.0395041,xB[19]0.559817,xA[20]0.0398747,xB[20]0.559954,yA[2]0.100642,yB[2]0.6474,yA[3]0.101196,yB[3]0.647169,yA[4]0.102111,yB[4]0.646785,yA[5]0.103376,yB[5]0.646246,yA[6]0.104973,yB[6]0.645556,yA[7]0.106877,yB[7]0.644716,yA[8]0.109057,yB[8]0.643734,yA[9]0.111474,yB[9]0.642621,yA[10]0.114081,yB[10]0.641396,yA[11]0.116819,yB[11]0.640081,yA[12]0.119626,yB[12]0.638705,yA[13]0.122431,yB[13]0.637305,yA[14]0.125158,yB[14]0.63592,yA[15]0.127727,yB[15]0.634595,yA[16]0.130063,yB[16]0.633376,yA[17]0.132091,yB[17]0.632305,yA[18]0.133744,yB[18]0.631424,yA[19]0.134968,yB[19]0.630768,yA[20]0.135719,yB[20]0.630364,yA[21]0.135973,yB[21]0.630227,q[2]0.857108,q[3]0.859635,q[4]0.863785,q[5]0.869466,q[6]0.876553,q[7]0.884886,q[8]0.894277,q[9]0.904511,q[10]0.915349,q[11]0.926536,q[12]0.9378,q[13]0.948864,q[14]0.959449,q[15]0.969284,q[16]0.97811,q[17]0.985689,q[18]0.991816,q[19]0.996319,q[20]0.999073,theta0.14374,
y
PAi
0.100457,
y
PBi
0.647476,
y
PCi
0.252067}

r=15

r=20

Comparison with Figure 6 of Li et al .