Absolute Stability of an Integration Method
Author's Data: Housam BINOUS
Department of Chemical Engineering
National Institute of Applied Sciences and Technology
Tunis, TUNISIA
Email: binoushousam@yahoo.com

Reference :

Kenneth J. Beers, Numerical Methods for Chemical Engineering, Applications in Matlab, Cambridge University Press, 2007.

f[x_,y_]:=Norm[(1-(x+I y)(1-θ))/(1+(x+I y)θ)]

Explicit Euler (θ=0) is not absolutely stable

θ=0;

c1=ContourPlot[f[x,y],{x,0,5},{y,-5,5},Contours-> {0.5,0.75,1,1.5,2,2.5,3,3.5,4,4.5,5},ColorFunction->"Pastel",ContourLabels->Automatic ,PlotLabel-> "θ=0"];

r1=RegionPlot[f[x,y]<1,{x,0,5},{y,-5,5},PlotLabel-> "θ=0"];

When θ=0.4, the integration method is not absolutely stable

θ=0.4;

c2=ContourPlot[f[x,y],{x,0,5},{y,-5,5},Contours-> {0.5,0.75,1,1.1,1.2,1.3,1.5,2,2.5,3,3.5,4,4.5,5},ColorFunction->"Pastel",ContourLabels->Automatic,PlotLabel-> "θ=0.4"];

r2=RegionPlot[f[x,y]<1,{x,0,5},{y,-5,5},PlotLabel-> "θ=0.4"];

Crank-Nicholson method (θ=0.5) is absolutely stable

θ=0.5;

c3=ContourPlot[f[x,y],{x,0,5},{y,-5,5},Contours-> {0.2,0.3,0.4,0.5,0.6,0.75,0.8,0.9,1,1.5,2,2.5,3,3.5,4,4.5,5},ColorFunction->"Pastel",ContourLabels->Automatic,PlotLabel-> "θ=0.5"];

r3=RegionPlot[f[x,y]<1,{x,0,5},{y,-5,5},PlotLabel-> "θ=0.5"];

Implicit Euler (θ=1) is absolutely stable

θ=1;

c4=ContourPlot[f[x,y],{x,0,5},{y,-5,5},Contours-> {0.01,0.05,0.075,0.1,0.2,0.25,0.3,0.35,0.4,0.5,0.55,0.575,0.56,0.7,0.75,0.8,0.9,1,1.2},ColorFunction->"Pastel",ContourLabels->Automatic,PlotLabel-> "θ=1"];

r4=RegionPlot[f[x,y]<1,{x,0,5},{y,-5,5},PlotLabel-> "θ=1"];

Figure 4.11 page 189 of Numerical Methods for Chemical Engineering, Applications in Matlab, Cambridge University Press, 2007 written by Kenneth Beers.

Show[GraphicsArray[{{c1,c2},{c3,c4}},GraphicsSpacing->.5]]

Show[GraphicsArray[{{r1,r2},{r3,r4}},GraphicsSpacing->.5]]