Hi,

I got a wrong result by using Poisson solver with Neumann boundary conditions.

This can be easily justified by checking the symmetry of the solution.

As I did in the attachment, the left and rightboundaries are homogeneous Neumann condtions,

while the uppor and bottom employ the same nonhomogeneous Neumann conditions specified by data in the file 'bc'.

So the solution should symmetric vertically. But the subroutine d_Helmholtz_2D do not keep this symmetry.

I add all files, and please check this result for me.

Thanks!

Another thing is, if changing the BC type from 'NNNN' to 'DNNN' in test.f90, it will report some error:

forrtl: severe (174): SIGSEGV, segmentation fault occurred

If change the size of dpar from5*(nx-1)/2+7 to 13*(nx-1)/2+7, this error disappear.

So my question is what is the size of dpar? The mannual refer to the former5*(nx-1)/2+7

while the example used the latter 13*(nx-1)/2+7.

I am confused about this.

Coulee

Sorry for forgetting the attachment.

I do it now.

The files is listed as:

bc input nonhomogeneous Neumann boundary data for upper and bottom, i.e. G(x_j)

bc.eps profile of bc data

input parameters for domain and size

Makefile

*.mod compiled mod files

run excutable file

sol.eps profile of the output solution, it is wrong

test.f90 the source code