Skip to main content
`Ctrl`+`K`

# DMPlexDistributeData

Distribute field data to match a given `PetscSF`, usually the `PetscSF` from mesh distribution

## Synopsis

    #include "petscdmplex.h"
    #include "petscdmlabel.h"
    PetscErrorCode DMPlexDistributeData(DM dm, PetscSF pointSF, PetscSection originalSection, MPI_Datatype datatype, void *originalData, PetscSection newSection, void **newData)

Collective

## Input Parameters

- dm - The `DMPLEX` object

- pointSF - The `PetscSF` describing the communication pattern

- originalSection - The `PetscSection` for existing data layout

- datatype - The type of data

- originalData - The existing data

## Output Parameters

- newSection - The `PetscSection` describing the new data layout

- newData - The new data

## Note

This is simply a wrapper around `PetscSectionMigrateData()`, but includes DM-specific logging.

## See Also

`DMPLEX`, `DMPlexDistribute()`, `DMPlexDistributeField()`, `PetscSectionMigrateData()`

## Level

developer

## Location

src/dm/impls/plex/plexdistribute.c

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