I am considering the following advection-diffusion problem, characterised by three positive real parameters Pe
, α
and ω
:
sol[Pe_, α_, ω_] :=
NDSolve
[{D[r D[c[r, z], r], r] - 2 r Pe /α (1 - r^2) D[c[r, z], z] == 0,
c[r, 0] == -1, (* inlet condition *)
0 == D[c[r, z], r] /. r -> 0, (* no flux at cylinder axis *)
c[1, z] == -ω D[c[r, z], r] /. r -> 1 (* 'uptake' *)},
c, {r, 0, 1}, {z, 0, 1},
SolveDelayed -> True,
AccuracyGoal -> 15][[1]]
Now I add an axial diffusion term to the PDE, which I match with an outlet condition, i.e. a condition at the z=1 boundary:
sol[Pe_, α_, ω_] :=
NDSolve[
{r D[c[r, z], {z, 2}] + D[r D[c[r, z], r], r] -
2 r Pe /α (1 - r^2) D[c[r, z], z] == 0,
c[r, 0] == -1, (* inlet condition *)
0 == D[c[r, z], r] /. r -> 0, (* no flux at cylinder
c[1, z] == -ω D[c[r, z], r] /. r -> 1 (* 'uptake' *),
c[r, 1] == 0 (* outlet condition *)},
c, {r, 0, 1}, {z, 0, 1},
SolveDelayed -> True,
AccuracyGoal -> 15][[1]]
The output is:
The output is very similar for an outlet condition of 0 == D[c[r, z], z] /. z -> 1.
I am not sure what is going on here. I believe the last problem is well-posed since I have an outlet condition. Please let me know what your thoughts are, and how to interpret Mathematica's error messages here.