[petsc-users] Handling singular matrix in KSP and ASM

Barry Smith bsmith at mcs.anl.gov
Wed May 27 22:52:11 CDT 2015


  The built in PETSc LU factorizations have special options to attempt to "shift" a singular matrix (by adding something to a zero pivot). These methods are ad hoc but sometimes perform satisfactory inside a preconditioner. See the manual page for PCLU in particular -pc_factor_shift_type <shifttype> - Sets shift type or PETSC_DECIDE for the default; use '-help' for a list of available types  See also http://www.mcs.anl.gov/petsc/documentation/faq.html#zeropivot

  Barry


> On May 27, 2015, at 10:40 PM, Amneet Bhalla <mail2amneet at gmail.com> wrote:
> 
> Hi Folks,
> 
> We are dealing with a singular matrix that arises from Stokes' equation with Dirichlet velocity BCs. The way we are handling it is to pass nullspace info to KSP, i.e, vector of {u,p} = {0,1}, and letting the matrix to be singular. However, we are using ASM as the preconditioner and when the subpc covers the entire domain (which can be the case in the preconditioning step of our MG algorithm), LU decomposition fails. We are thinking of pinning one of the pressure DOFs to zero explicitly, so that we can avoid singular matrix for the LU decomposition. Is there another method of doing it, which avoids explicit pinning down of an arbitrary pressure DOF?
> 
> Thanks,
> --Amneet
> 
> -- 
> --Amneet 
> 
> 
> 



More information about the petsc-users mailing list