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.

Note#

See MatMPIBAIJSetPreallocation() for more details on preallocation. If a scalar matrix (MATAIJ) is obtained with DMSlicedGetMatrix(), the correct preallocation will be set, respecting DMSlicedSetBlockFills().

See Also#

DM, DMSLICED, DMDestroy(), DMCreateGlobalVector(), MatMPIAIJSetPreallocation(), MatMPIBAIJSetPreallocation(), DMSlicedGetMatrix(), DMSlicedSetBlockFills()

Level#

advanced

Location#

src/dm/impls/sliced/sliced.c


Edit on GitLab

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