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#
dm - the
DM
objectctype -
IS_COLORING_LOCAL
orIS_COLORING_GLOBAL
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#
Examples#
src/tao/unconstrained/tutorials/minsurf2.c
src/snes/tutorials/ex14.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