Residence Time Distribution Curve for the Tanks-in-Series Model
Author's Data: Housam BINOUS
Department of Chemical Engineering
National Institute of Applied Sciences and Technology
Tunis, TUNISIA
Email: binoushousam@yahoo.com

Expression of the Residence Time Distribution for the tanks_in_series model derived by MacMullin and Weber (1935). Plot represents the RTD for a number of tanks i=1, 2, 3, 5, 10, 20, 50 and 100 tanks. θ is a dimensionless time.

i=1;

For[j = 1, 
      j ≤ 
        101, {(Subscript[ERTD, i])[θ_] = 
          i (i θ)^(i - 1)/(i - 
                    1)! Exp[-i θ], 
        i = i + 1}; j++]

plt[i_] := 
      Plot[(Subscript[ERTD, i])[θ], {θ, 0, 4}, 
        PlotStyle -> If[i < 10, Hue[i/10], Hue[i/100]], 
        PlotRange -> All, DisplayFunction -> Identity]

Show[plt[1],plt[2],plt[3],plt[5],plt[10],plt[20],plt[50],plt[100],DisplayFunction->$DisplayFunction]

RTD computed form tracer pulse input. RTD is the outlet tracer concentration versus time curve. The number of tanks is set equal to 50.

Mean residence time in a tank is τ. V is the total volume of all tanks. F is the flow rate. Ntanks=50 tanks.

Ntanks=50;V=1;F=0.01;

τ = V/F/Ntanks

Tracer pulse input

(Subscript[CA, 0])[
        t_] := ϵ (UnitStep[t] - 
            UnitStep[t - 1/ϵ])

ϵ = 1000000;

Plot[(Subscript[CA, 0])[t], {t, 0, 10/ϵ}, 
      PlotStyle -> RGBColor[1, 0, 0]]

Governing Equations

i=2;

For[j = 2, 
      j < 51, {eq[i] = 
          D[(Subscript[CA, i])[t], {t, 
                1}] == ((Subscript[CA, i - 1])[t] - (Subscript[CA, i])[t])/τ, 
        i = i + 1}, j++]

eq[1] = 
        D[(Subscript[CA, 1])[t], {t, 
              1}] == ((Subscript[CA, 0])[t] - (Subscript[CA, 1])[t])/τ;

eqn=Table[eq[i],{i,2,50}];

Eq=Join[{eq[1]},eqn];

init = Table[(Subscript[CA, i])[0] == 0, {i, 1, 50}];

sys=Join[Eq,init];

Unknown = Table[(Subscript[CA, i]), {i, 1, 50}];

computing the exit concentration from each tank.

sol=NDSolve[sys,Unknown,{t,0,1000}];

Plot of the RTD using the concentration profile

plt1 = 
      Plot[(Subscript[CA, 50])[t] /. sol, {t, 0, 500}, 
        PlotStyle -> RGBColor[0, 1, 0], 
        PlotRange -> All]

RTD from MacMullin and Weber's derivation (1935). 50 tanks case.

tbar=50 τ

RTD[t_]:=1/tbar (t/tbar)^(49) 50^50/49! Exp[-50 t/tbar]

plt2 = 
      Plot[RTD[t], {t, 0, 500}, PlotStyle -> RGBColor[1, 0, 0], 
        PlotRange -> All]

Comparing the two methods of computation of the RTD

Show[plt1,plt2]