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.



