I am using Intel MKL to solve a Poisson equation for surface smoothing purposes, and I have tried both Neumann and Dirichlet Boundary Conditions. The 2D surface is composed of a grid with small -ve values as default when the grid is empty, and 0, or +ve values when the grid is full.
I have noticed that when I used Dirichlet Boundary Conditions, e.g. a zero or small -ve numeric value, the reported Poisson outcome (smoothed surface) contains large negative values near the four corners of the surface, despite that the original surface is mostly positive (only contains small -ve grid values, where ).
I am attaching the surface before smoothing (1st image), after smoothing with the Poisson solver (2nd image), as well as on its side (3rd image).
As you can see on the side image, the -ve values go all the way to -6.6 something. My question is why, as in the original surface the most negative value is -0.69...
Why are Dirichlet conditions smoothing the curve down and then up creating troughs? When I use Neumann boundaries of 0 gradient, the troughs disappear, i.e. the surface always slopes down...
Thank you, any help is appreciated.
It's quite hard to understand the issue based on picture in your post. Can i ask you to send example of your program to check correctness of your boundary condition? And if you solve Poisson equation can i ask the values of rhs?