MatSetVariableBlockSizes#

Sets diagonal point-blocks of the matrix that need not be of the same size

Synopsis#

#include "petscmat.h" 
PetscErrorCode MatSetVariableBlockSizes(Mat mat, PetscInt nblocks, const PetscInt bsizes[])

Not Collective

Input Parameters#

  • mat - the matrix

  • nblocks - the number of blocks on this process, each block can only exist on a single process

  • bsizes - the block sizes

Notes#

Currently used by PCVPBJACOBI for MATAIJ matrices

Each variable point-block set of degrees of freedom must live on a single MPI process. That is a point block cannot straddle two MPI processes.

See Also#

Matrices, Mat, MatCreateSeqBAIJ(), MatCreateBAIJ(), MatGetBlockSize(), MatSetBlockSizes(), MatGetBlockSizes(), MatGetVariableBlockSizes(), MatComputeVariableBlockEnvelope(), PCVPBJACOBI

Level#

intermediate

Location#

src/mat/interface/matrix.c

Examples#

src/ksp/ksp/tutorials/ex71.c


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