NDSolve::bcnorm NDSolveValue::bcnorm ParametricNDSolve::bcnorm ParametricNDSolveValue::bcnorm
Details
-
- This message is generated when a boundary condition for a partial differential equation involves derivatives that are not normal to the boundary.
- This problem can usually be resolved by checking that derivative boundary conditions are specified using the correct variable.
- Off[message] switches off the message; On[message] switches it on. For example: Off[NDSolve::bcnorm].
Examples
Basic Examples (1)
The boundary condition indicated in the message involves a derivative in a direction that is not perpendicular to the boundary:
NDSolve[{D[u[x, y, t], t] == D[u[x, y, t], x, x] + D[u[x, y, t], y, y], u[x, y, 0] == Exp[-10 x ^ 2], Derivative[0, 1, 0][u][1, y, t] == Exp[-10], u[-1, y, t] == Exp[-10], u[x, 1, t] == Exp[-10 x ^ 2], u[x, -1, t] == Exp[-10 x ^ 2]}, u, {x, -1, 1}, {y, -1, 1}, {t, 2}]The problem is with the condition
. Making the change
resolves this error message. It introduces a different one about the boundary conditions being inconsistent:
NDSolve[{D[u[x, y, t], t] == D[u[x, y, t], x, x] + D[u[x, y, t], y, y], u[x, y, 0] == Exp[-10 x ^ 2], Derivative[1, 0, 0][u][1, y, t] == Exp[-10], u[-1, y, t] == Exp[-10], u[x, 1, t] == Exp[-10 x ^ 2], u[x, -1, t] == Exp[-10 x ^ 2]}, u, {x, -1, 1}, {y, -1, 1}, {t, 0, 2}];