DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
dftfe::utils::MapPointsToCells< dim, M > Class Template Reference

This class takes in a bunch of points and finds the cell (provided as input) it lies in. In case the points dont lie in any of the cells, it sends the points to other processors. Similarly it receives points from other processors and then checks if any of them lies within its cell. It provides the real coordinates of points in each cell. More...

#include <MapPointsToCells.h>

Public Member Functions

 MapPointsToCells (const dftfe::uInt verbosity, const MPI_Comm &mpiComm)
 
void init (std::vector< std::shared_ptr< const Cell< dim > > > srcCells, const std::vector< std::vector< double > > &targetPts, std::vector< std::vector< double > > &mapCellsToRealCoordinates, std::vector< std::vector< dftfe::uInt > > &mapCellLocalToProcLocal, std::pair< dftfe::uInt, dftfe::uInt > &locallyOwnedRange, std::vector< dftfe::uInt > &ghostGlobalIds, const double paramCoordsTol)
 The init().
 

Private Attributes

const MPI_Comm d_mpiComm
 
int d_numMPIRank
 
int d_thisRank
 
dftfe::uInt d_verbosity
 

Detailed Description

template<dftfe::uInt dim, dftfe::uInt M>
class dftfe::utils::MapPointsToCells< dim, M >

This class takes in a bunch of points and finds the cell (provided as input) it lies in. In case the points dont lie in any of the cells, it sends the points to other processors. Similarly it receives points from other processors and then checks if any of them lies within its cell. It provides the real coordinates of points in each cell.

Author
Vishal Subramanian, Bikash Kanungo

Constructor & Destructor Documentation

◆ MapPointsToCells()

template<dftfe::uInt dim, dftfe::uInt M>
dftfe::utils::MapPointsToCells< dim, M >::MapPointsToCells ( const dftfe::uInt verbosity,
const MPI_Comm & mpiComm )

Member Function Documentation

◆ init()

template<dftfe::uInt dim, dftfe::uInt M>
void dftfe::utils::MapPointsToCells< dim, M >::init ( std::vector< std::shared_ptr< const Cell< dim > > > srcCells,
const std::vector< std::vector< double > > & targetPts,
std::vector< std::vector< double > > & mapCellsToRealCoordinates,
std::vector< std::vector< dftfe::uInt > > & mapCellLocalToProcLocal,
std::pair< dftfe::uInt, dftfe::uInt > & locallyOwnedRange,
std::vector< dftfe::uInt > & ghostGlobalIds,
const double paramCoordsTol )

The init().

Parameters
[in]srcCellsThe cells assigned to this processor
[in]targetPtsThe points assigned to this processor
[out]mapCellsToRealCoordinatesThe Real coordinates of the points found in each cell.
[in]locallyOwnedRangeThe locally owned range for the target points
[out]ghostGlobalIdsThe global Ids of the points assigned to other processors but found within the cells assigned to this processor.
[in]paramCoordsTolTol used to determine if the point is inside a cell
Author
Vishal Subramanian, Bikash Kanungo

Member Data Documentation

◆ d_mpiComm

template<dftfe::uInt dim, dftfe::uInt M>
const MPI_Comm dftfe::utils::MapPointsToCells< dim, M >::d_mpiComm
private

◆ d_numMPIRank

template<dftfe::uInt dim, dftfe::uInt M>
int dftfe::utils::MapPointsToCells< dim, M >::d_numMPIRank
private

◆ d_thisRank

template<dftfe::uInt dim, dftfe::uInt M>
int dftfe::utils::MapPointsToCells< dim, M >::d_thisRank
private

◆ d_verbosity

template<dftfe::uInt dim, dftfe::uInt M>
dftfe::uInt dftfe::utils::MapPointsToCells< dim, M >::d_verbosity
private

The documentation for this class was generated from the following file: