White spots in the plot

To expand on @nate’s answer, there are two basic well-posedness issues that come up with pure Neumann BCs. The first is compatibility of the Neumann data with the volume source term. If you have the interior PDE

-\nabla\cdot(\nabla u) = f\text{ ,}

integrating both sides over \Omega and applying the divergence theorem on the left implies that

\int_{\partial\Omega}-\nabla u\cdot\mathbf{n} \,d\partial\Omega = \int_\Omega f\,d\Omega\text{ .}

If you also have the Neumann BC of \nabla u\cdot\mathbf{n} = g, then you need

\int_{\partial\Omega}-g\,d\partial\Omega = \int_\Omega f\,d\Omega\text{ ,}

i.e., you cannot choose g and f independently from each other. Physically, this is just saying that the flux through the boundary (g) must be balanced by the rate of production on the interior (f) to have a steady equilibrium solution. The second issue is that, even with compatible problem data, you can arbitrarily add a constant to u and get another solution, since only derivatives of u appear in both the PDE and the BC. This arbitrary constant corresponds physically to the initial distribution of u in \Omega, before the problem reached a steady state. These two issues correspond to the two classes of singular linear problems: in the first case, there are no solutions, and in the second, there are infinitely-many solutions. In either case, you’re not guaranteed to get meaningful output from the linear solver.

The demo that @nate linked eliminates the singularity at the linear algebraic level. You may find it easier to physically interpret the demo here, which introduces an auxiliary constraint to make u unique, enforced by a Lagrange multiplier that corrects f by a constant, to be compatible with g.

3 Likes