Consider a feed containing a binary mixture of compounds A and B with 45 mole % of the lighter component. This stream is a saturated liquid, which will be fed to a stripping column in order to obtain a bottom with 15 mole % purity. Stripping columns are used when a pure distillate is not needed. Here, we display the McCabe–Thiele graphical construction for these particular values of the reboil ratio (S=2.25) and relative volatility (α=2.5). The actual number of stages is easily obtained by inspection of the diagram. In addition, the composition of the vapor stream that exits at the top of the stripping column is computed and given in the set-up figure.
There is also a Wolfram demonstration for this: https://demonstrations.wolfram.com/OperationOfAStrippingColumn/
Reboil ratio
S=2.25;
Relative volatility
α=2.5;
Equilibrium equation for a constant relative volatility mixture
eq[x_]:=
αx
x(α-1)+1
;
Plot of the equilibrium curve
plt1=Plot[eq[x],{x,0,1},PlotStyle{RGBColor[1,0,0],Thickness[0.005]},Epilog{Black,Line[{{0,0},{1,1}}]},FrameTrue,FrameLabel{x,y},GridLinesStyleDirective[Orange],ImageSize{500,400},GridLines{Table[i,{i,0,1.0,0.04}],Table[i,{i,0,1.0,0.04}]},PlotRange->{{0,1},{0,1}}]
Out[]=
Bottom stream composition
xB=0.15;
Operating line
strp[x_]:=
S+1
S
x-
1
S
xB;
Feed line
feed[x_]:=
q
q-1
x-
zf
q-1
;
Feed is saturated liquid
q=0.9999;
Feed stream composition
zf=0.55;
Intersection of feed and stripping line
sol1=Solve[strp[x]feed[x],x];
In[]:=
xu[1]=0.15;yu[1]=0.15;
Stepping off stages
i=1;While[xu[i]≤First[x/.sol1],{yu[i+1]=eq[xu[i]],sol=FindRoot[strp[t]yu[i+1],{t,0.5}],xu[i+1]=t/.sol,i++}];
Plot of operating line
plt2=Plot[strp[x],{x,xB,First[x/.sol1]},PlotStyle{RGBColor[0,1,0],Thickness[0.005]}];
Plot of the feed line
plt3=Plot[feed[x],{x,zf,First[x/.sol1]},PlotStyle{RGBColor[0,1,1],Thickness[0.005]}];
A total of six stages is required to achieve the desired separation
iu=i-1
Out[]=
6
Final graph - the McCabe and Thiele construction
Show[plt1,plt2,plt3,Graphics[{Table[Line[{{xu[i],yu[i]},{xu[i],yu[i+1]}}],{i,1,iu}],Table[Line[{{xu[i],yu[i+1]},{xu[i+1],yu[i+1]}}],{i,1,iu-1}]}],ImageSize{500,400}]
Out[]=
Graphical set up
Graphics[{LightBlue,Rectangle[{0,0},{4,10}],Thick,Red,Arrow[{{-2,12},{0.5,12},{0.5,10}}],Blue,Arrow[{{3.5,10},{3.5,12},{6,12}}],Arrow[{{3.25,-1.25},{3.25,0.0}}],Magenta,Arrow[{{4.0,-2.0},{7.0,-2.0}}],Thick,Black,Rotate[Style[Text["stripping column",{2,5},{0,0}],Black,Bold,14],Pi/2],Thick,Red,Arrow[{{0.5,0},{0.5,-2},{2.5,-2}}],Green,Disk[{3.25,-2},0.75],Black,Thin,Arrow[{{2.5,-3.0},{4.0,-1.0}}],Style[Text["partial reboiler",{3.25,-3.5},{0,0}],Black,Bold,13],Text[Style["bottom 15 mole %",Black,Bold,13],{7.75,-1.25},{0,0}],Text[Style["feed 45 mole %",Black,Bold,13],{-2.5,12.75},{0,0}],Text[Style[ToString[SetPrecision[100strp[First[x/.sol1]],4]]<>" mole %",Black,Bold,15],{6.25,12.75},{0,0}]},ImageSize{400,400}]​​
Out[]=
A similar graphical construction, obtained with Python, is shown below (Python code is available upon request)

References

◼
  • [1] P. C. Wankat, Equilibrium Staged Separations, Englewood Cliffs: Prentice Hall, 1988.
  • CITE THIS NOTEBOOK

    Operation of a stripping column: McCabe-Thiele graphical construction​
    by Housam Binous and Ahmed Bellagi
    Wolfram Community, STAFF PICKS, December 28, 2025
    https://community.wolfram.com/groups/-/m/t/3598139