Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

This is likely very simple, but I often run into trouble with inconsistent boundary conditions for PDEs; While I know Mathematica sometimes produces "false" errors for spatial derivative conditions, this query is far more simple than that and mainly a syntax / specification query - For example, here's a simple reaction / diffusion equation ;

ro = 235*10^-6; qm = 10^-4; mic = 1*10^-6; De = 5.5*10^-11; eo = 100;  rn = 40*10^-6;

eqnDe = D[Ef1[r, t], t] - 
De*(D[Ef1[r, t], r, r] + (2/r)*(D[Ef1[r, t], r])) + 5*Ef1[r, t];

(*Solving attempt*)
x = NDSolve[{eqnDe == 0, Ef1[r, 0] == 0, 
Derivative[1, 0][Ef1][rn, t] == 0, Ef1[ro, t] == eo}, 
 Ef1, {r, rn, ro }, {t, 0, 14400}];

This gives a warning that the initial conditions and boundary conditions are inconsistent - I think I can see where this comes from; I tell it that initially, all of $r$ domain is zero while on the boundary I say that at $r_{o}$, it's a constant of $e_{o}$ - my question is how to I tell mathematica that the boundary at $r_{o}$ is a surface, and that it is maintained at a constant $e_{o}$ while initially, at $t = 0$, the $Ef1[r,0] = 0 $ on the domain $r_{n} \leq r \leq r_{o}$ ?

This is probably really simple but I would like to know how to fix this conflict and clean up my future code - thanks in advance!

share|improve this question

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.