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_type > | nAtomIdsInProcessor () const |
Function to return the vector of number of atoms in each processor. More... | |
std::vector< size_type > | nAtomIdsInProcessorCumulative () const |
Function to return the vector of cumulative number of atoms in each processor. More... | |
std::vector< size_type > | oldAtomIds () const |
Function to return the vector of old atom ids i.e. oldAtomIds[newatomid] = oldatomid. More... | |
std::vector< size_type > | newAtomIds () const |
Function to return the vector of new atom ids i.e. newAtomIds[oldatomid] = newatomid. More... | |
std::vector< size_type > | locallyOwnedAtomIds () const |
Function to return the vector of locally owned atom is in each processor. More... | |
Private Attributes | |
std::vector< size_type > | d_nAtomIdsInProcessor |
std::vector< size_type > | d_nAtomIdsInProcessorCumulative |
std::vector< size_type > | d_oldAtomIds |
std::vector< size_type > | d_newAtomIds |
std::vector< size_type > | d_atomIdsInProcessor |
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.
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.
[in] | atomCoordinates | Vector of Coordinates of the atoms |
[in] | minbound | Minimum boundary of the processor |
[in] | maxbound | Maximum boundary of the processor |
[in] | cellVerticesVector | vector of vectors of all the coordinates of the locally owned cells in the processor |
[in] | tolerance | set the tolerance for partitioning the atomids |
[in] | comm | MPI_Comm object if defined with MPI |
[in] | nProcs | Number of processors if defined with MPI |
|
default |
Destructor for the class.
std::vector< size_type > dftefe::basis::AtomIdsPartition< dim >::locallyOwnedAtomIds |
Function to return the vector of locally owned atom is in each processor.
std::vector< size_type > dftefe::basis::AtomIdsPartition< dim >::nAtomIdsInProcessor |
Function to return the vector of number of atoms in each processor.
std::vector< size_type > dftefe::basis::AtomIdsPartition< dim >::nAtomIdsInProcessorCumulative |
Function to return the vector of cumulative number of atoms in each processor.
std::vector< size_type > dftefe::basis::AtomIdsPartition< dim >::newAtomIds |
Function to return the vector of new atom ids i.e. newAtomIds[oldatomid] = newatomid.
std::vector< size_type > dftefe::basis::AtomIdsPartition< dim >::oldAtomIds |
Function to return the vector of old atom ids i.e. oldAtomIds[newatomid] = oldatomid.
|
private |
|
private |
|
private |
|
private |
|
private |