# 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 “is” during a call to MatSetFromOptions()

-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()

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

## Location#

src/mat/impls/is/matis.c

Edit on GitLab