MATIS#

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

Options Database Keys#

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

  • -mat_is_allow_repeated - Allow repeated entries in the local part of the local to global maps.

  • -mat_is_fixempty - Fix local matrices in case of empty local rows/columns.

  • -mat_is_storel2l - Store 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() or MatXAIJSetPreallocation()

See Also#

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

Level#

intermediate

Location#

src/mat/impls/is/matis.c

Examples#

src/ksp/ksp/tutorials/ex72.c
src/ksp/ksp/tutorials/ex59.c
src/ksp/ksp/tutorials/ex34.c
src/snes/tutorials/ex12.c
src/ksp/ksp/tutorials/ex29.c
src/ksp/ksp/tutorials/ex71.c


Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages