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 <[email protected]> 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 
> 
> 
> 

Reply via email to