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

Class to get the gost and locally owned enrichment ids from the renumbered atom ids in Atom Partition i.e. memory layout should be 'locally owned enrichment ids which would be contiguous' -> 'ghost enrichment ids' The class gives us the vector of cell enrichment Ids, locallyowned enrichment ids range, ghost enrichment ids. More...

#include <EnrichmentIdsPartition.h>

Public Member Functions

 EnrichmentIdsPartition (std::shared_ptr< const atoms::AtomSphericalDataContainer > atomSphericalDataContainer, std::shared_ptr< const AtomIdsPartition< dim > > atomIdsPartition, const std::vector< std::string > &atomSymbol, const std::vector< utils::Point > &atomCoordinates, const std::string fieldName, const std::vector< double > &minbound, const std::vector< double > &maxbound, double additionalCutoff, const std::vector< utils::Point > &globalDomainBoundVec, const std::vector< bool > &isPeriodicFlags, const std::vector< std::vector< utils::Point > > &cellVerticesVector, const utils::mpi::MPIComm &comm)
 Constructor takes as coordinates of the atomids , vector of aomsymbol from the input file with the processor maximum and minimum bounds. It also takes the cell vertices vector and the fieldname. More...
 
 ~EnrichmentIdsPartition ()=default
 Destructor. More...
 
std::vector< global_size_typenewAtomIdToEnrichmentIdOffset () const
 
std::vector< std::vector< global_size_type > > overlappingEnrichmentIdsInCells () const
 
std::pair< global_size_type, global_size_typelocallyOwnedEnrichmentIds () const
 
std::vector< global_size_typeghostEnrichmentIds () const
 
size_type getAtomId (const global_size_type enrichmentId) const
 
EnrichmentIdAttribute getEnrichmentIdAttribute (const global_size_type enrichmentId) const
 
size_type nLocallyOwnedEnrichmentIds () const
 
size_type nLocalEnrichmentIds () const
 
global_size_type nTotalEnrichmentIds () const
 

Private Attributes

std::vector< global_size_typed_newAtomIdToEnrichmentIdOffset
 
std::vector< std::vector< global_size_type > > d_overlappingEnrichmentIdsInCells
 
std::vector< global_size_typed_enrichmentIdsInProcessor
 
std::pair< global_size_type, global_size_typed_locallyOwnedEnrichmentIds
 
std::vector< global_size_typed_ghostEnrichmentIds
 
std::map< global_size_type, size_typed_enrichmentIdToOldAtomIdMap
 
std::map< global_size_type, size_typed_enrichmentIdToQuantumIdMap
 

Detailed Description

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

Class to get the gost and locally owned enrichment ids from the renumbered atom ids in Atom Partition i.e. memory layout should be 'locally owned enrichment ids which would be contiguous' -> 'ghost enrichment ids' The class gives us the vector of cell enrichment Ids, locallyowned enrichment ids range, ghost enrichment ids.

Constructor & Destructor Documentation

◆ EnrichmentIdsPartition()

template<unsigned int dim>
dftefe::basis::EnrichmentIdsPartition< dim >::EnrichmentIdsPartition ( std::shared_ptr< const atoms::AtomSphericalDataContainer >  atomSphericalDataContainer,
std::shared_ptr< const AtomIdsPartition< dim > >  atomIdsPartition,
const std::vector< std::string > &  atomSymbol,
const std::vector< utils::Point > &  atomCoordinates,
const std::string  fieldName,
const std::vector< double > &  minbound,
const std::vector< double > &  maxbound,
double  additionalCutoff,
const std::vector< utils::Point > &  globalDomainBoundVec,
const std::vector< bool > &  isPeriodicFlags,
const std::vector< std::vector< utils::Point > > &  cellVerticesVector,
const utils::mpi::MPIComm comm 
)

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

Parameters
[in]atomIdsPartitionObject of class AtomIdsPartition
[in]atomSphericalDataContainerObject of class AtomSphericalDataContainer
[in]atomCoordinatesVector of Coordinates of the atoms
[in]fieldNameFieldname wanted
[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]commMPI_Comm object if defined with MPI
Returns

◆ ~EnrichmentIdsPartition()

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

Destructor.

Member Function Documentation

◆ getAtomId()

template<unsigned int dim>
size_type dftefe::basis::EnrichmentIdsPartition< dim >::getAtomId ( const global_size_type  enrichmentId) const

◆ getEnrichmentIdAttribute()

template<unsigned int dim>
EnrichmentIdAttribute dftefe::basis::EnrichmentIdsPartition< dim >::getEnrichmentIdAttribute ( const global_size_type  enrichmentId) const

◆ ghostEnrichmentIds()

template<unsigned int dim>
std::vector< global_size_type > dftefe::basis::EnrichmentIdsPartition< dim >::ghostEnrichmentIds

◆ locallyOwnedEnrichmentIds()

template<unsigned int dim>
std::pair< global_size_type, global_size_type > dftefe::basis::EnrichmentIdsPartition< dim >::locallyOwnedEnrichmentIds

◆ newAtomIdToEnrichmentIdOffset()

template<unsigned int dim>
std::vector< global_size_type > dftefe::basis::EnrichmentIdsPartition< dim >::newAtomIdToEnrichmentIdOffset

◆ nLocalEnrichmentIds()

template<unsigned int dim>
size_type dftefe::basis::EnrichmentIdsPartition< dim >::nLocalEnrichmentIds

◆ nLocallyOwnedEnrichmentIds()

template<unsigned int dim>
size_type dftefe::basis::EnrichmentIdsPartition< dim >::nLocallyOwnedEnrichmentIds

◆ nTotalEnrichmentIds()

template<unsigned int dim>
global_size_type dftefe::basis::EnrichmentIdsPartition< dim >::nTotalEnrichmentIds

◆ overlappingEnrichmentIdsInCells()

template<unsigned int dim>
std::vector< std::vector< global_size_type > > dftefe::basis::EnrichmentIdsPartition< dim >::overlappingEnrichmentIdsInCells

Member Data Documentation

◆ d_enrichmentIdsInProcessor

template<unsigned int dim>
std::vector<global_size_type> dftefe::basis::EnrichmentIdsPartition< dim >::d_enrichmentIdsInProcessor
private

◆ d_enrichmentIdToOldAtomIdMap

template<unsigned int dim>
std::map<global_size_type, size_type> dftefe::basis::EnrichmentIdsPartition< dim >::d_enrichmentIdToOldAtomIdMap
private

◆ d_enrichmentIdToQuantumIdMap

template<unsigned int dim>
std::map<global_size_type, size_type> dftefe::basis::EnrichmentIdsPartition< dim >::d_enrichmentIdToQuantumIdMap
private

◆ d_ghostEnrichmentIds

template<unsigned int dim>
std::vector<global_size_type> dftefe::basis::EnrichmentIdsPartition< dim >::d_ghostEnrichmentIds
private

◆ d_locallyOwnedEnrichmentIds

template<unsigned int dim>
std::pair<global_size_type, global_size_type> dftefe::basis::EnrichmentIdsPartition< dim >::d_locallyOwnedEnrichmentIds
private

◆ d_newAtomIdToEnrichmentIdOffset

template<unsigned int dim>
std::vector<global_size_type> dftefe::basis::EnrichmentIdsPartition< dim >::d_newAtomIdToEnrichmentIdOffset
private

The data members are as follows.

◆ d_overlappingEnrichmentIdsInCells

template<unsigned int dim>
std::vector<std::vector<global_size_type> > dftefe::basis::EnrichmentIdsPartition< dim >::d_overlappingEnrichmentIdsInCells
private

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