Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
9 Views

Poisson solver on a sphere

Hi~

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? 

Thank you!

0 Kudos
1 Reply
Highlighted
9 Views

Hi,

This warning mean that solution is not unique and any solution plus const is also a solution. 

Thanks,

Alex

0 Kudos