Skip to main content
`Ctrl`+`K`

# DMLabelPropagatePush

Tear down a cycle of label propagation

## Synopsis

    #include "petscdmlabel.h"
    #include "petscsection.h"
    PetscErrorCode DMLabelPropagatePush(DMLabel label, PetscSF pointSF, PetscErrorCode (*markPoint)(DMLabel label, PetscInt p, PetscInt val, PetscCtx ctx), PetscCtx ctx)

Collective

## Input Parameters

- label - The `DMLabel` to propagate across processes

- pointSF - The `PetscSF` describing parallel layout of the label points

- markPoint - An optional callback that is called when a point is marked, or `NULL`

- ctx - An optional user context for the callback, or `NULL`

## Calling sequence of `markPoint`

- label - The `DMLabel`

- p - The point being marked

- val - The label value for `p`

- ctx - An optional user context

## See Also

`DMLabel`, `DM`, `DMLabelPropagateBegin()`, `DMLabelPropagateEnd()`

## Level

intermediate

## Location

src/dm/label/dmlabel.c

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