Movies for 
  Introduction to Partial Differential Equations
      by Peter J. Olver

Movies can be viewed at    
         http : // www.math.umn.edu/~olver/mov.html

Linear Transport Movies:
     Figures 2.1, 2.3, 2.5, 2.8, 2.10

General plotting routine

pl[t_] := Print[Plot[u[t,x],{x,x0,x1},PlotRange ->{y0,y1},AspectRatio -> asp,Ticks -> None,PlotStyle -> {Thickness[th],Hue[hu]}]]

th = .004; hu = .6;

Figure 2.1.  Stationary wave

Set initial wave profile

e[x_,a_] := (E^(-(x/a)^2))

u0[x_] := e[x-.3,.05] + .3  e[x-.43,.07];

Determine corresponding solution

u//ClearAll;

u[t_,x_] := u0[x - .23 ]

Set plotting parameters

x0 = -.1;x1=1.5;y0 = -.2; y1 = 1.2; asp = .5;

Set time range

ti = 0; tf = .8;δt = .02;ts = Range[ti,tf,δt];

Plot movie  — evaluate Notebook to generate output

pl /@ ts;

Figure 2.3.  Traveling wave with c > 0

Set initial wave profile

e[x_,a_] := (E^(-(x/a)^2))

u0[x_] := e[x-.3,.05] + .3  e[x-.43,.07];

Determine corresponding solution

u//ClearAll;

u[t_,x_] := u0[x - t ]

Set plotting parameters

x0 = -.1;x1=1.5;y0 = -.2; y1 = 1.2; asp = .5;

Set time range

ti = 0; tf = .8;δt = .02;ts = Range[ti,tf,δt];

Plot movie  — evaluate Notebook to generate output

pl /@ ts;

Figure 2.5.  Decaying traveling wave

Set initial wave profile

e[x_,a_] := (E^(-(x/a)^2))

u0[x_] := e[x-.3,.05] + .3  e[x-.43,.07];

Determine corresponding solution

u//ClearAll;

u[t_,x_] := u0[x - t ] Exp[-1.3 t]

Set plotting parameters

x0 = -.1;x1=1.5;y0 = -.2; y1 = 1.2; asp = .5;

Set time range

ti = 0; tf = .8;δt = .02;ts = Range[ti,tf,δt];

Plot movie  — evaluate Notebook to generate output

pl /@ ts;

Figure 2.8.  Solution to   (Subscript[u, t]) + (Subscript[u, x]) / ((x^2) + 1) = 0

Set initial wave profile

p=.;x=.;t=.;u//ClearAll;

p[ξ_] := (1/(1 + (ξ^2)));
u0[x_] = p[x + 2.75];

Determine corresponding solution

g[x_] = (x^3)/3 + x ;
y[t_,x_] := g[x] - t;

** h[x] is the inverse of g[x], which is obtained by sampling g[x], switching the axes, and then interpolating the resulting data points to generate h[x]

hs = Table[{g[x],x},{x,-12.,12,.1}];
h= Interpolation[hs];

u[t_,x_] :=u0[h[y[t,x]]]

Set plotting parameters

x0 = -10;x1=10;y0 = -.2; y1 = 1.2; asp = .3;

Set time range

ti = 0; tf = 70;δt = 1.;ts = Range[ti,tf,δt];

Plot movie  — evaluate Notebook to generate output

pl /@ ts;

Figure 2.10.  Solution to   (Subscript[u, t]) + ((x^2) - 1) (Subscript[u, x]) = 0

Set initial wave profile

u0[x_] = Exp[- (x^2)];

Determine corresponding solution

k=.;x=.;h//ClearAll;u//ClearAll;

y = ((1+k (E^(2t)))/(1-k (E^(2t))));s=Solve[y==x,k][[1]];ξ = s[[1,2]];

z=ξ/. t-> 0;sz=Solve[z==p,x][[1]];η = sz[[1,2]] /. p -> ξ //Simplify;

d = η //Denominator; sd = Solve[d==0,x][[1]];h[t_] = sd[[1,2]];

u[0.,x_] = u[0,x_] = u0[x];u[t_,x_] =Which[x <= h[t],0,True,u0[ (η^2)]//Evaluate];

Set plotting parameters

x0 = -4;x1=4;y0 = -.2; y1 = 1.2; asp = .3;

Set time range

ti = 0; tf = 4;δt = .05;ts = Range[ti,tf,δt];

Plot movie  — evaluate Notebook to generate output

pl /@ ts;