MATIS#

MATIS = “is” - A matrix type to be used for using the non-overlapping domain decomposition methods (e.g. PCBDDC or KSPFETIDP). This stores the matrices in globally unassembled form. Each processor assembles only its local Neumann problem and the parallel matrix vector product is handled “implicitly”.

Options Database Keys#

• -mat_type is - sets the matrix type to MATIS.

• -matis_fixempty - Fixes local matrices in case of empty local rows/columns.

• -matis_storel2l - stores the local-to-local operators generated by the Galerkin process of MatPtAP().

Notes#

Options prefix for the inner matrix are given by -is_mat_xxx

You must call MatSetLocalToGlobalMapping() before using this matrix type.

You can do matrix preallocation on the local matrix after you obtain it with MatISGetLocalMat(); otherwise, you could use MatISSetPreallocation()

Matrices, Mat, MATIS, Mat, MatISGetLocalMat(), MatSetLocalToGlobalMapping(), MatISSetPreallocation(), MatCreateIS(), PCBDDC, KSPFETIDP

Location#

src/mat/impls/is/matis.c