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

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))));

| (1)

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

| (2)

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

| (3)

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

| (4)

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

> | sol(0);

| (5)

> | sol(1);

| (6)

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

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)]));

| (7)

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

| (8)

> | sol(0);

| (9)

> | sol(1);

| (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)]));

| (11)

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

| (12)

> | sol(0);

| (13)

> | sol(1);

| (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)});

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

> |