Skip to main content
`Ctrl`+`K`

# DMPlexPointLocalRead

return read access to a point in local array

## Synopsis

    #include "petscdmplex.h"
    PetscErrorCode DMPlexPointLocalRead(DM dm, PetscInt point, const PetscScalar *array, void *ptr)

Not Collective

## Input Parameters

- dm - `DM` defining topological space

- point - topological point

- array - array to index into

## Output Parameter

- ptr - address of read reference to point data, type generic so user can place in structure

## Note

A common usage when data sizes are known statically:

      const struct { PetscScalar foo,bar,baz; } *ptr;
      DMPlexPointLocalRead(dm,point,array,&ptr);
      x = 2*ptr->foo + 3*ptr->bar + 5*ptr->baz;

## See Also

DMPlex: Unstructured Grids, `DM`, `DMPLEX`, `DMGetLocalSection()`, `PetscSectionGetOffset()`, `PetscSectionGetDof()`, `DMPlexGetPointLocal()`, `DMPlexPointGlobalRead()`

## Level

intermediate

## Location

src/dm/impls/plex/plexpoint.c

## Examples

src/dm/impls/plex/tutorials/ex6.c
src/ts/tutorials/ex18.c
src/ts/tutorials/ex11.c
src/ts/tutorials/ex52.c

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