DMPlexCoordinatesToReference#

Pull coordinates back from the mesh to the reference element using a single element map.

Synopsis#

#include "petscdmplex.h"   
#include "petscfe.h"       
PetscErrorCode DMPlexCoordinatesToReference(DM dm, PetscInt cell, PetscInt numPoints, const PetscReal realCoords[], PetscReal refCoords[])

Not Collective

Input Parameters#

  • dm - The mesh, with coordinate maps defined either by a PetscDS for the coordinate DM (see DMGetCoordinateDM()) or implicitly by the coordinates of the corner vertices of the cell: as an affine map for simplicial elements, or as a multilinear map for tensor-product elements

  • cell - the cell whose map is used.

  • numPoints - the number of points to locate

  • realCoords - (numPoints x coordinate dimension) array of coordinates (see DMGetCoordinateDim())

Output Parameter#

  • refCoords - (numPoints x dimension) array of reference coordinates (see DMGetDimension())

Notes#

This inversion will be accurate inside the reference element, but may be inaccurate for mappings that do not extend uniquely outside the reference cell (e.g, most non-affine maps)

See Also#

DMPLEX, DMPlexReferenceToCoordinates()

Level#

intermediate

Location#

src/dm/impls/plex/plexgeometry.c

Implementations#

DMPlexCoordinatesToReference_NewtonUpdate() in src/dm/impls/plex/plexgeometry.c
DMPlexCoordinatesToReference_Tensor() in src/dm/impls/plex/plexgeometry.c
DMPlexCoordinatesToReference_FE() in src/dm/impls/plex/plexgeometry.c


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