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 unsigned int 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< size_type > > &mapCellLocalToProcLocal, std::pair< global_size_type, global_size_type > &locallyOwnedRange, std::vector< global_size_type > &ghostGlobalIds, const double paramCoordsTol)
 The init().
 

Private Attributes

const MPI_Comm d_mpiComm
 
int d_numMPIRank
 
int d_thisRank
 
unsigned int d_verbosity
 

Detailed Description

template<size_type dim, size_type 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<size_type dim, size_type M>
dftfe::utils::MapPointsToCells< dim, M >::MapPointsToCells ( const unsigned int verbosity,
const MPI_Comm & mpiComm )

Member Function Documentation

◆ init()

template<size_type dim, size_type 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< size_type > > & mapCellLocalToProcLocal,
std::pair< global_size_type, global_size_type > & locallyOwnedRange,
std::vector< global_size_type > & 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<size_type dim, size_type M>
const MPI_Comm dftfe::utils::MapPointsToCells< dim, M >::d_mpiComm
private

◆ d_numMPIRank

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

◆ d_thisRank

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

◆ d_verbosity

template<size_type dim, size_type M>
unsigned int dftfe::utils::MapPointsToCells< dim, M >::d_verbosity
private

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