petsc-3.9.4 2018-09-11
Report Typos and Errors

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".

Operations Provided

MatMult()- . MatMultAdd()
MatMultTranspose()- . MatMultTransposeAdd()
MatZeroEntries()- . MatSetOption()
MatZeroRows()- . MatSetValues()
MatSetValuesBlocked()- . MatSetValuesLocal()
MatSetValuesBlockedLocal()- . MatScale()
MatGetDiagonal()- . MatMissingDiagonal()
MatDuplicate()- . MatCopy()
MatAXPY()- . MatCreateSubMatrix()
MatGetLocalSubMatrix()- . MatTranspose()
MatSetLocalToGlobalMapping()- Options Database Keys:
-mat_type is -sets the matrix type to "is" during a call to MatSetFromOptions()

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

See Also

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

Level

advanced

Location

src/mat/impls/is/matis.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages