petsc-3.14.6 2021-03-30
Report Typos and Errors

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

src/dm/impls/sliced/sliced.c
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages