petsc-3.7.1 2016-05-15
Report Typos and Errors

DMLocatePoints

Locate the points in v in the mesh and return a PetscSF of the containing cells

Synopsis

#include "petscdm.h"          
#include "petscdmlabel.h"     
PetscErrorCode DMLocatePoints(DM dm, Vec v, PetscSF *cellSF)
Collective on Vec v (see explanation below) Many br

Input Parameters

dm - The DM Many br
v - The Vec of points Many br
cells - Points to either NULL, or a PetscSF with guesses for which cells contain each point. Many br

Output Parameter

cells -The PetscSF containing the ranks and local indices of the containing points. Many br

Many br

To do a search of the local cells of the mesh, v should have PETSC_COMM_SELF as its communicator. Many br

To do a search of all the cells in the distributed mesh, v should have the same communicator as Many brdm. Many br

If *cellSF is NULL on input, a PetscSF will be created. Many br

If *cellSF is not NULL on input, it should point to an existing PetscSF, whose graph will be used as initial Many brguesses. Many br

An array that maps each point to its containing cell can be obtained with Many br

const PetscSFNode *cells; Many brPetscInt nFound; Many brconst PetscSFNode *found; Many br

PetscSFGetGraph(cells,NULL,&nFound,&found,&cells); Many br

Where cells[i].rank is the rank of the cell containing point found[i] (or i if found == NULL), and cells[i].index is Many brthe index of the cell in its rank's local numbering. Many br

Keywords

point location, mesh

See Also

DMSetCoordinates(), DMSetCoordinatesLocal(), DMGetCoordinates(), DMGetCoordinatesLocal()

Level:developer
Location:
src/dm/interface/dm.c
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages