Oscillating Pressure Driven Flow in a Tube
Author's Data: Housam BINOUS
Department of Chemical Engineering
National Institute of Applied Sciences and Technology
Tunis, TUNISIA
Email: binoushousam@yahoo.com

Solving the PDE for different values of Rw.

ϵ = 1;

sol[Rw_] := 
      NDSolve[{D[u[t, r], {t, 1}] ==  
            1 +  ϵ Sin[Rw t] + 
              1/r D[r D[u[t, r], {r, 1}], {r, 1}], 
u[t, 
              1] ==  0, 
          u[0, r] ==  
            0, (D[u[t, r], {r, 1}] /. r -> 10^-20) ==  0}, {u[
            t, r]}, {r, 10^-20, 1}, {t, 0, 100}]

plt1 = 
      Plot[Evaluate[u[t, r] - 1/4 /. sol[0.1] /. 
              r ->  10^-20 /. t -> x 10], {x, 0, 10}, 
        PlotStyle -> RGBColor[1, 0, 0]]

plt2 = 
      Plot[Evaluate[u[t, r] - 1/4 /. sol[1] /. 
              r ->  10^-20 /. t -> x 1], {x, 0, 10}, 
        PlotStyle -> RGBColor[0, 1, 0]]

plt3 = 
      Plot[Evaluate[u[t, r] - 1/4 /. sol[10] /. 
              r ->  10^-20 /. t -> x 0.1], {x, 0, 10}, 
        PlotStyle -> RGBColor[0, 0, 1]]

Show[plt1, plt2, plt3]

For small Rw (Rw=0.1) : ν, the kinematic viscosity is large and diffusion is fast; the velocity can instantaneously adjust to changing pressure.

Show[plt1, 
      Plot[1 + ϵ Sin[Rw t] /. Rw -> 0.1 /. 
          t -> x 10, {x, 0, 10}, PlotStyle -> RGBColor[1, 0, 0], 
        DisplayFunction -> Identity], 
      DisplayFunction -> $DisplayFunction]

For Large Rw (Rw=10) : ν, the kinematic viscosity is small and diffusion is slow; the velocity lags behind pressure.

Show[plt3, 
      Plot[1 + ϵ Sin[Rw t] /. Rw -> 10 /. 
          t -> x 0.1, {x, 0, 10}, PlotStyle -> RGBColor[0, 0, 1], 
        DisplayFunction -> Identity], 
      DisplayFunction -> $DisplayFunction]

Long time analytical solution matches very well the numerical solution after a short transient phase.

Uanalyt[Rw_] := 
      1/4 (1 - r^2) - ϵ Re[
            Exp[I Rw t]/
                Rw (1 - 
                  BesselJ[0, (Sqrt[Rw/I]) r]/BesselJ[0, (Sqrt[Rw/I])])]

plt4 = 
      Plot[Uanalyt[0.1] - 1/4 /. r -> 10^-20 /. 
          t -> x 10, {x, 0, 10}, 
        PlotStyle -> RGBColor[1, 1, 0]]

Show[plt1, plt4]

Show[plt1, plt4, 
      PlotRange -> {{0, 0.25}, {-0.5, 0.5}}]

plt5 = 
      Plot[Uanalyt[1] - 1/4 /. r -> 10^-20 /. 
          t -> x 1, {x, 0, 10}, 
        PlotStyle -> RGBColor[0, 1, 1]]

Show[plt2, plt5]

Show[plt2, plt5, 
      PlotRange -> {{0, 0.5}, {-0.5, 0.5}}]

plt6 = 
      Plot[Uanalyt[10] - 1/4 /. r -> 10^-20 /. 
          t -> x 0.1, {x, 0, 20}, 
        PlotStyle -> RGBColor[1, 0, 1]]

plt3bis = 
      Plot[Evaluate[u[t, r] - 1/4 /. sol[10] /. 
              r ->  10^-20 /. t -> x 0.1], {x, 0, 20}, 
        PlotStyle -> RGBColor[0, 0, 1]]

Show[plt3bis, plt6]