Print out the matrix for a small grid then check in Matlab that it is 
symmetric and has no negative eigenvalues.

   Barry


On Nov 23, 2011, at 9:50 AM, Shiyuan wrote:

> Hi, 
>     I want to solve a singular system with a known nullspace. However, I the 
> KSP solve diverges with KSP_INDEFINTE_PC even if I disable the 
> preconditioning by PCNONE. 
> this is how I setup the system. What did I do wrong? Any possible causes? 
> Thanks. 
> 
>    
> ierr=MatNullSpaceCreate(PETSC_COMM_SELF,PETSC_FALSE,1,&phi,&nsp);CHKERRV(ierr);
>   ierr=KSPCreate(PETSC_COMM_SELF,&ksp);CHKERRV(ierr);
>   ierr=KSPSetOperators(ksp,A,A,DIFFERENT_NONZERO_PATTERN);CHKERRV(ierr);
>   ierr=KSPSetNullSpace(ksp,nsp);CHKERRV(ierr);
>   ierr=KSPSetType(ksp,KSPCG);CHKERRV(ierr);
>   ierr=KSPGetPC(ksp,&prec);CHKERRV(ierr);
>   ierr=PCSetType(prec,PCNONE);CHKERRV(ierr);
>   ierr=KSPSetTolerances(ksp,1e-5,1e-20,1e5,10000);CHKERRV(ierr);
>   ierr=KSPSetFromOptions(ksp);CHKERRV(ierr);
>   ierr=KSPSetUp(ksp);CHKERRV(ierr);
> 
> Shiyuan 

Reply via email to