Breakthrough curves for adsorption with longitudinal diffusion
​Authors: Housam Binous and Ahmed Bellagi

Acknowledgement: ​The expression for the analytical solution and the governing equations, for adsorption with longitudinal diffusion under equilibrium assumption, were obtained from Refs. 1 and 2.​​
​​​
​​​References:​​1- Harrison at al., Bioseparations Science and Engineering, Oxford University Press, 2003.​2- Leon Lapidus and Neal R. Amundson, "Mathematics of Adsorption in Beds. VI. The Effect of Longitudinal Diffusion in Ion Exchange and Chromatographic Columns", J. Phys. Chem., vol. 56, p. 984, 1952.
In[]:=
​
Numerical solution for the breakthrough curves for De=1.
​
​Results obtained using NDSolve are identical to their counterparts using analytical derivation given in Harrison et. al. (2003) and Lapidus and Amundson (1952).
In[]:=
Keq=10;Ka=1;V=1;De=1;α=0.6;
In[]:=
n[z_,t_]:=Keqc[z,t]
In[]:=
sol=NDSolve[{DeD[c[z,t],{z,2}]V/αD[c[z,t],{z,1}]+D[c[z,t],{t,1}]+(1-α)/αD[n[z,t],{t,1}],​​c[0,t]1,c[z,0]Exp[-1000z]},{c[z,t]},{z,0,50},{t,0,1000},Method{"MethodOfLines","SpatialDiscretization"{"TensorProductGrid"}},PrecisionGoal5]
NDSolve
:Using maximum number of grid points 10000 allowed by the MaxPoints or MinStepSize options for independent variable z.
NDSolve
:Warning: an insufficient number of boundary conditions have been specified for the direction of independent variable z. Artificial boundary effects may be present in the solution.
Out[]=
c[z,t]InterpolatingFunction
Domain: {0.,50.},0.,1.00×
3
10

Output: scalar
Data not saved. Save now
[z,t]
In[]:=
p1=Show[Table[Plot[Evaluate[c[z,t]/.sol],{t,0,300},PlotRangeAll,PlotLegendsTable[Style[
c
z
,Black],{i,3,20,2}],PlotStyleHue[z/50],AspectRatio1,ImageSize450{1,1},GridLinesAutomatic,FrameTrue,FrameLabel{Style["dimensionless time",14],Style["dimensionless concentration",14]}],{z,5,40,5}]]
Out[]=
c
5
c
10
c
15
c
20
c
25
c
30
c
35
c
40
An analytical solution is available (see Ref. 1) :​​
In[]:=
γ=1+Keq(1-α)/α;Z=.;
In[]:=
u=V/α;
In[]:=
H1[t_]:=1/21+Erf
u^2t/(4γDe)
-Z
γ/(4tDe)
+Exp[uZ/De]Erfc
u^2t/(4γDe)
+Z
γ/(4tDe)

In[]:=
p2=Show[Table[Plot[H1[t],{t,0,300},PlotRangeAll,PlotStyle{Darker@Gray,Dashed},AspectRatio1,ImageSize450{1,1},GridLinesAutomatic,FrameTrue,FrameLabel{Style["dimensionless time",14],Style["dimensionless concentration",14]}],{Z,5,40,5}]]
Out[]=
In[]:=
Show[p1,p2,PlotRange{{0,300},{0,1}},FrameTrue]
Out[]=
c
5
c
10
c
15
c
20
c
25
c
30
c
35
c
40
Numerical solution for the breakthrough curves for De=10.
​
​Results obtained using NDSolve are identical to their counterparts using analytical derivation given in Harrison et. al. (2003) and Lapidus and Amundson (1952).
In[]:=
De=10;
In[]:=
sol=NDSolve[{DeD[c[z,t],{z,2}]V/αD[c[z,t],{z,1}]+D[c[z,t],{t,1}]+(1-α)/αD[n[z,t],{t,1}],​​c[0,t]1,c[z,0]Exp[-10000z]},{c[z,t]},{z,0,100},{t,0,1000},Method{"MethodOfLines","SpatialDiscretization"{"TensorProductGrid","MinPoints"->10000}},PrecisionGoal5]
NDSolve
:Warning: an insufficient number of boundary conditions have been specified for the direction of independent variable z. Artificial boundary effects may be present in the solution.
NDSolve
:Warning: estimated initial error on the specified spatial grid in the direction of independent variable z exceeds prescribed error tolerance.
Out[]=
c[z,t]InterpolatingFunction
Domain: {0.,100.},0.,1.00×
3
10

Output: scalar
Data not saved. Save now
[z,t]
Effect of longitudinal diffusion on breakthrough curves.
Notice the curve shape change when ones goes from De=1 to De=10.