I'm trying to use Poisson Solver Routines to solver Poisson equation on a whole sphere. After reading the manual, I compile and execute the example code 'd_sph_with_poles_f.f90' with command 'make libintel64 function=d_sph_with_poles_f threading=sequential'. The solution of Helmholtz problem seems to be OK, but when I set q = 0.0D0 to solve the Poisson problem, I got the following error message:
"The problem is degenerate due to rounding errors. The approximate solution that provides the minimal Euclidean norm of the solution will be computed"
Disable 'if (stat.ne.0) goto 999' would allow me to get the solution. I change the parameter to 'np=360,nt=180' and plot the result. It seems to be OK.
I also test another Poisson problem:
u(ip,it) = cos(theta_i)*((sin(theta_i))**2.0)*cos(2.0*(phi_i-1.5))
f(ip,it) = -cos(2.0*(phi_i-1.5))*cos(theta_i)*(-4.0+4.0*(cos(theta_i))**2.0-8.0*(sin(theta_i))**2.0)
the result is also satisfying.
I found a previous topic about this problem ( https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/300036 ), which solve the problem in a similar way.
My question is : why did this warning occur? May the solution of Poisson problem solved by those routines still be trusted?