Skip to main content
`Ctrl`+`K`

# DMPlexSetTree

set the tree that describes the hierarchy of non-conforming mesh points. This routine also creates the point-to-point constraints determined by the tree: a point is constrained to the points in the closure of its tree root.

## Synopsis

    #include "petscdmplex.h"
    PetscErrorCode DMPlexSetTree(DM dm, PetscSection parentSection, PetscInt parents[], PetscInt childIDs[])

Collective

## Input Parameters

- dm - the `DMPLEX` object

- parentSection - a section describing the tree: a point has a parent if it has 1 dof in the section; the section offset indexes the parent and childID list; the reference count of parentSection is incremented

- parents - a list of the point parents; copied, can be destroyed

- childIDs - identifies the relationship of the child point to the parent point; if there is a reference tree, then the child corresponds to the point in the reference tree with index childIDs; copied, can be destroyed

## See Also

DMPlex: Unstructured Grids, `DM`, `DMPLEX`, `DMPlexGetTree()`, `DMPlexSetReferenceTree()`, `DMPlexSetAnchors()`, `DMPlexGetTreeParent()`, `DMPlexGetTreeChildren()`

## Level

intermediate

## Location

src/dm/impls/plex/plextree.c

## Implementations

DMPlexSetTree_Internal() in src/dm/impls/plex/plextree.c

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