Example 3.2.9  Multiple Steady States in a Catalyst Pellet 

The catalyst pellet (example 3.2.2) is solved below using Maple's 'dsolve' command.  The reaction order is taken to be second order.  The governing equation becomes 

 

Typesetting:-mrow(Typesetting:-mo( 

 

The boundary conditions are the same as that of example 3.2.2.  This problem is solved in Maple below: 

> restart:
 

> with(plots):
 

> Eq:=diff(y(x),x$2)=Phi^2*y(x)^2*exp(gamma*beta*(1-y(x))/(1+beta*(1-y(x))));
 

Typesetting:-mrow(Typesetting:-mi( (1)
 

> eq:=subs(Phi=0.2,gamma=20,beta=0.8,Eq);
 

Typesetting:-mrow(Typesetting:-mi( (2)
 

> BCs:=(D(y)(0),y(1)-1);
 

Typesetting:-mrow(Typesetting:-mi( (3)
 

> sol:=dsolve({eq,BCs},{y(x)},type=numeric);
 

Typesetting:-mrow(Typesetting:-mi( (4)
 

The solution at x = 0 and 1 are found as: 

> sol(0);
 

Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mrow(Typesetting:-mi( (5)
 

> sol(1);
 

Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mrow(Typesetting:-mi( (6)
 

> odeplot(sol,[x,y(x)],0..1,thickness=4,title="Figure Exp. 3.2.17.",axes=boxed);
 

Plot_2d
 

By default Maple picks up the higher solution.  The other two solutions are found by giving an initial guess.  For this problem, the approximation values for y(0) are provided. 

> p[1]:=odeplot(sol,[x,y(x)],0..1,thickness=4,color=red,axes=boxed):
 

> sola:=dsolve({eq,y(0)-0.7,y(1)-1},{y(x)},type=numeric,output=array([seq(i/7.,i=0..7)]));
 

Typesetting:-mrow(Typesetting:-mi( (7)
 

> sol:=dsolve({eq,BCs},{y(x)},type=numeric,approxsoln=sola);
 

Typesetting:-mrow(Typesetting:-mi( (8)
 

> sol(0);
 

Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mrow(Typesetting:-mi( (9)
 

> sol(1);
 

Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mrow(Typesetting:-mi( (10)
 

> p[2]:=odeplot(sol,[x,y(x)],0..1,thickness=4,color=blue,axes=boxed):
 

> sola:=dsolve({eq,y(0)-0.1,y(1)-1},{y(x)},type=numeric,output=array([seq(i/7.,i=0..7)]));
 

Typesetting:-mrow(Typesetting:-mi( (11)
 

> sol:=dsolve({eq,BCs},{y(x)},type=numeric,approxsoln=sola);
 

Typesetting:-mrow(Typesetting:-mi( (12)
 

> sol(0);
 

Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mrow(Typesetting:-mi( (13)
 

> sol(1);
 

Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mrow(Typesetting:-mi( (14)
 

> p[3]:=odeplot(sol,[x,y(x)],0..1,thickness=4,color=brown,title="Figure Exp. 3.2.18.",axes=boxed):
 

>
 

> display({seq(p[i],i=1..3)});
 

Plot_2d
 

Hence, all of the multiple states can be predicted using Maple.  The solution differs slightly from the first order reaction discussed earlier 

>