petsc-3.7.1 2016-05-15
Report Typos and Errors

DMDASetBlockFills

Sets the fill pattern in each block for a multi-component problem of the matrix returned by DMCreateMatrix().

Synopsis

#include "petscdmda.h"     
PetscErrorCode  DMDASetBlockFills(DM da,const PetscInt *dfill,const PetscInt *ofill)
Logically Collective on DMDA Many br

Input Parameter

da - the distributed array Many br
dfill - the fill pattern in the diagonal block (may be NULL, means use dense block) Many br
ofill - the fill pattern in the off-diagonal blocks Many br

Many br

Notes: This only makes sense when you are doing multicomponent problems but using the Many brMPIAIJ matrix format Many br

The format for dfill and ofill is a 2 dimensional dof by dof matrix with 1 entries Many brrepresenting coupling and 0 entries for missing coupling. For example Many br

            dfill[9] = {1, 0, 0,
                        1, 1, 0,
                        0, 1, 1}
means that row 0 is coupled with only itself in the diagonal block, row 1 is coupled with Many britself and row 0 (in the diagonal block) and row 2 is coupled with itself and row 1 (in the Many brdiagonal block). Many br

DMDASetGetMatrix() allows you to provide general code for those more complicated nonzero patterns then Many brcan be represented in the dfill, ofill format Many br

Contributed by Glenn Hammond Many br

See Also

DMCreateMatrix(), DMDASetGetMatrix(), DMSetMatrixPreallocateOnly()

Level:developer
Location:
src/dm/impls/da/fdda.c
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages