DMSlicedSetPreallocation#
sets the matrix memory preallocation for matrices computed by DMSliced
Synopsis#
#include "petscdmsliced.h"
PetscErrorCode DMSlicedSetPreallocation(DM dm, PetscInt d_nz, const PetscInt d_nnz[], PetscInt o_nz, const PetscInt o_nnz[])
Not Collective
Input Parameters#
slice - the DM object
d_nz - number of block nonzeros per block row in diagonal portion of local submatrix (same for all local rows)
d_nnz - array containing the number of block nonzeros in the various block rows of the in diagonal portion of the local (possibly different for each block row) or NULL.
o_nz - number of block nonzeros per block row in the off-diagonal portion of local submatrix (same for all local rows).
o_nnz - array containing the number of nonzeros in the various block rows of the off-diagonal portion of the local submatrix (possibly different for each block row) or NULL.
Notes#
See MatMPIBAIJSetPreallocation() for more details on preallocation. If a scalar matrix (AIJ) is obtained with DMSlicedGetMatrix(), the correct preallocation will be set, respecting DMSlicedSetBlockFills().
See Also#
DMDestroy(), DMCreateGlobalVector(), MatMPIAIJSetPreallocation(),
MatMPIBAIJSetPreallocation(), DMSlicedGetMatrix(), DMSlicedSetBlockFills()
Level#
advanced
Location#
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages