DFT-EFE
 
Loading...
Searching...
No Matches
dftefe::basis::AtomIdsPartition< dim > Class Template Reference

Class to get the renumbered Ids of the locally owned Atom ids returns the vector of no of atoms in each processor and the vector of old atom ids. so oldatomid(0) = 2 and so on. So also newatomid(2) = 0; but you do not need to store as oldatomid vector is same as newatomid i.e. memory layout should be 'locally owned enriched ids' should be consecutive integers. More...

#include <AtomIdsPartition.h>

Public Member Functions

 AtomIdsPartition (const std::vector< utils::Point > &atomCoordinates, const std::vector< double > &minbound, const std::vector< double > &maxbound, const std::vector< std::vector< utils::Point > > &cellVerticesVector, const double tolerance, const utils::mpi::MPIComm &comm)
 Constructor takes as coordinates of the atomids from the input file with the processor maximum and minimum bounds. It also takes the cell vertices vector. More...
 
 ~AtomIdsPartition ()=default
 Destructor for the class. More...
 
std::vector< size_typenAtomIdsInProcessor () const
 Function to return the vector of number of atoms in each processor. More...
 
std::vector< size_typenAtomIdsInProcessorCumulative () const
 Function to return the vector of cumulative number of atoms in each processor. More...
 
std::vector< size_typeoldAtomIds () const
 Function to return the vector of old atom ids i.e. oldAtomIds[newatomid] = oldatomid. More...
 
std::vector< size_typenewAtomIds () const
 Function to return the vector of new atom ids i.e. newAtomIds[oldatomid] = newatomid. More...
 
std::vector< size_typelocallyOwnedAtomIds () const
 Function to return the vector of locally owned atom is in each processor. More...
 

Private Attributes

std::vector< size_typed_nAtomIdsInProcessor
 
std::vector< size_typed_nAtomIdsInProcessorCumulative
 
std::vector< size_typed_oldAtomIds
 
std::vector< size_typed_newAtomIds
 
std::vector< size_typed_atomIdsInProcessor
 

Detailed Description

template<unsigned int dim>
class dftefe::basis::AtomIdsPartition< dim >

Class to get the renumbered Ids of the locally owned Atom ids returns the vector of no of atoms in each processor and the vector of old atom ids. so oldatomid(0) = 2 and so on. So also newatomid(2) = 0; but you do not need to store as oldatomid vector is same as newatomid i.e. memory layout should be 'locally owned enriched ids' should be consecutive integers.

Constructor & Destructor Documentation

◆ AtomIdsPartition()

template<unsigned int dim>
dftefe::basis::AtomIdsPartition< dim >::AtomIdsPartition ( const std::vector< utils::Point > &  atomCoordinates,
const std::vector< double > &  minbound,
const std::vector< double > &  maxbound,
const std::vector< std::vector< utils::Point > > &  cellVerticesVector,
const double  tolerance,
const utils::mpi::MPIComm comm 
)

Constructor takes as coordinates of the atomids from the input file with the processor maximum and minimum bounds. It also takes the cell vertices vector.

Parameters
[in]atomCoordinatesVector of Coordinates of the atoms
[in]minboundMinimum boundary of the processor
[in]maxboundMaximum boundary of the processor
[in]cellVerticesVectorvector of vectors of all the coordinates of the locally owned cells in the processor
[in]toleranceset the tolerance for partitioning the atomids
[in]commMPI_Comm object if defined with MPI
[in]nProcsNumber of processors if defined with MPI
Here is the call graph for this function:

◆ ~AtomIdsPartition()

template<unsigned int dim>
dftefe::basis::AtomIdsPartition< dim >::~AtomIdsPartition ( )
default

Destructor for the class.

Member Function Documentation

◆ locallyOwnedAtomIds()

template<unsigned int dim>
std::vector< size_type > dftefe::basis::AtomIdsPartition< dim >::locallyOwnedAtomIds

Function to return the vector of locally owned atom is in each processor.

◆ nAtomIdsInProcessor()

template<unsigned int dim>
std::vector< size_type > dftefe::basis::AtomIdsPartition< dim >::nAtomIdsInProcessor

Function to return the vector of number of atoms in each processor.

◆ nAtomIdsInProcessorCumulative()

template<unsigned int dim>
std::vector< size_type > dftefe::basis::AtomIdsPartition< dim >::nAtomIdsInProcessorCumulative

Function to return the vector of cumulative number of atoms in each processor.

◆ newAtomIds()

template<unsigned int dim>
std::vector< size_type > dftefe::basis::AtomIdsPartition< dim >::newAtomIds

Function to return the vector of new atom ids i.e. newAtomIds[oldatomid] = newatomid.

◆ oldAtomIds()

template<unsigned int dim>
std::vector< size_type > dftefe::basis::AtomIdsPartition< dim >::oldAtomIds

Function to return the vector of old atom ids i.e. oldAtomIds[newatomid] = oldatomid.

Member Data Documentation

◆ d_atomIdsInProcessor

template<unsigned int dim>
std::vector<size_type> dftefe::basis::AtomIdsPartition< dim >::d_atomIdsInProcessor
private

◆ d_nAtomIdsInProcessor

template<unsigned int dim>
std::vector<size_type> dftefe::basis::AtomIdsPartition< dim >::d_nAtomIdsInProcessor
private

◆ d_nAtomIdsInProcessorCumulative

template<unsigned int dim>
std::vector<size_type> dftefe::basis::AtomIdsPartition< dim >::d_nAtomIdsInProcessorCumulative
private

◆ d_newAtomIds

template<unsigned int dim>
std::vector<size_type> dftefe::basis::AtomIdsPartition< dim >::d_newAtomIds
private

◆ d_oldAtomIds

template<unsigned int dim>
std::vector<size_type> dftefe::basis::AtomIdsPartition< dim >::d_oldAtomIds
private

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