DMCreateColoring#

Gets coloring of a graph associated with the DM. Often the graph represents the operator matrix associated with the discretization of a PDE on the DM.

Synopsis#

#include "petscdm.h"          
#include "petscdmlabel.h"     
#include "petscds.h"     
PetscErrorCode DMCreateColoring(DM dm, ISColoringType ctype, ISColoring *coloring)

Collective

Input Parameters#

Output Parameter#

  • coloring - the coloring

Notes#

Coloring of matrices can also be computed directly from the sparse matrix nonzero structure via the MatColoring object or from the mesh from which the matrix comes from (what this function provides). In general using the mesh produces a more optimal coloring (fewer colors).

This produces a coloring with the distance of 2, see MatSetColoringDistance() which can be used for efficiently computing Jacobians with MatFDColoringCreate() For DMDA in three dimensions with periodic boundary conditions the number of grid points in each dimension must be divisible by 2*stencil_width + 1, otherwise an error will be generated.

See Also#

DM Basics, DM, ISColoring, DMDestroy(), DMView(), DMCreateGlobalVector(), DMCreateInterpolation(), DMCreateMatrix(), DMCreateMassMatrix(), DMSetMatType(), MatColoring, MatFDColoringCreate()

Level#

developer

Location#

src/dm/interface/dm.c

Examples#

src/snes/tutorials/ex14.c
src/tao/unconstrained/tutorials/minsurf2.c

Implementations#

DMCreateColoring_Composite() in src/dm/impls/composite/pack.c
DMCreateColoring_DA() in src/dm/impls/da/fdda.c
DMCreateColoring_Redundant() in src/dm/impls/redundant/dmredundant.c


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