# Incorrect solution of 2D unsteady heat equation with Neumann condition

I want to resolve a PDE model, which is 2D heat diffusion equation with Neumann boundary conditions. The key problem is that I have some trouble in solving the equation numerically. Consider the following PDE:

Consider the following code:

 equation =
Laplacian[T[r, z, t], {r, z}] + (1/r)*
D[T[r, z, t], r] - (1/20)*D[T[r, z, t], t];

(*Boundary Conditions*)

H=100
bc1 = NeumannValue[H*(T[r, z, t] +243), {0.011 <= z && r == 0.05}];
bc2 = NeumannValue[H*(-243 - T[r, z, t]), {0.011 <= z && r == 0.085}];
bc3 = NeumannValue[0, z == 0];
bc4 = NeumannValue[H*(-243 - T[r, z, t]), {z == 0.011 && 0.05 <= r <= 0.06}];
bc5 = NeumannValue[345*(1 - t/3), {0.06 <= r <= 0.085 && z == 0.011}];

(*Initial Condition*)

ic = T[r, z, 0] == -253;

solution =
NDSolveValue[{equation == bc1 + bc2 + bc3 + bc4 + bc5, ic},
T, {r, 0.06, 0.085}, {z, 0, 0.022}, {t, 0, 10},
Method -> {"PDEDiscretization" -> {"MethodOfLines",
"SpatialDiscretization" -> {"FiniteElement",
"MeshOptions" -> {"MaxCellMeasure" -> {"Length" ->
0.001}}}}}];
Plot[{solution[0.085, 0.022, t], solution[0.05, 0.022, t]}, {t, 0, 10},
PlotTheme -> "Detailed", PlotStyle -> Thickness[0.01],
ColorFunction -> "TemperatureMap", PlotRange -> All]


I got this result:

But this is not the true result, because the following errors occurred:

NDSolveValue::bcnop: No places were found on the boundary where {z==0.0075&&0.025<=r<=0.06} was True, so NeumannValue[60/47 (-238-T),{z==0.0075&&0.025<=r<=0.06}] will effectively be ignored.

NDSolveValue::bcnop: No places were found on the boundary where {0.06<=r<=0.085&&z==0.0075} was True, so NeumannValue[105.837 (1-t/3),{0.06<=r<=0.085&&z==0.0075}] will effectively be ignored.

NDSolveValue::bcnop: No places were found on the boundary where {0.06<=r<=0.085&&z==0.0075} was True, so NeumannValue[105.837 (1-t/3),{0.06<=r<=0.085&&z==0.0075}] will effectively be ignored.

General::stop: Further output of NDSolveValue::bcnop will be suppressed during this calculation.

NDSolve::bcnop: No places were found on the boundary where {0.06<=r<=0.085&&z==0.0075} was True, so NeumannValue[105.837 (1-t/3),{0.06<=r<=0.085&&z==0.0075}] will effectively be ignored.

NDSolve::bcnop: No places were found on the boundary where {0.06<=r<=0.085&&z==0.0075} was True, so NeumannValue[105.837 (1-t/3),{0.06<=r<=0.085&&z==0.0075}] will effectively be ignored.

NDSolve::bcnop: No places were found on the boundary where {0.06<=r<=0.085&&z==0.0075} was True, so NeumannValue[105.837 (1-t/3),{0.06<=r<=0.085&&z==0.0075}] will effectively be ignored.

General::stop: Further output of NDSolve::bcnop will be suppressed during this calculation.

• Boundary conditions do not appear to be consistent with the specified range of integration, {r, 0.06, 0.085}, {z, 0, 0.022}. – bbgodfrey Oct 1 '17 at 1:49
• Do you know of any method I can use to resolve this inconsistency? Thank you anyway!! – Gabriel Nunes Oct 1 '17 at 2:52
• Typically, boundary conditions would be applied at r == 0.06, r == 0.085, z == 0, and z == 0.022. – bbgodfrey Oct 1 '17 at 3:36