26#ifndef dftefeEnrichmentIdsPartition_h
27#define dftefeEnrichmentIdsPartition_h
58 template <
size_type dim>
79 std::shared_ptr<const atoms::AtomSphericalDataContainer>
80 atomSphericalDataContainer,
82 const std::vector<std::string> & atomSymbol,
83 const std::vector<utils::Point> & atomCoordinates,
84 const std::string fieldName,
85 const std::vector<double> & minbound,
86 const std::vector<double> & maxbound,
87 double additionalCutoff,
88 const std::vector<utils::Point> & globalDomainBoundVec,
89 const std::vector<bool> & isPeriodicFlags,
90 const std::vector<std::vector<utils::Point>> &cellVerticesVector,
98 std::vector<global_size_type>
101 std::vector<std::vector<global_size_type>>
104 std::pair<global_size_type, global_size_type>
107 std::vector<global_size_type>
115 std::vector<size_type>
118 std::vector<std::string>
133 std::shared_ptr<const AtomIdsPartition<dim>>
138 const std::vector<std::vector<global_size_type>>
144 std::vector<size_type>
147 std::vector<size_type>
150 std::vector<global_size_type>
153 std::vector<size_type>
158 std::vector<std::vector<global_size_type>>
162 std::unordered_map<global_size_type, size_type>
164 std::unordered_map<global_size_type, size_type>
168 const std::shared_ptr<const atoms::AtomSphericalDataContainer>
Class to get the renumbered Ids of the locally owned Atom ids returns the vector of no of atoms in ea...
Definition: AtomIdsPartition.h:50
Class to get the gost and locally owned enrichment ids from the renumbered atom ids in Atom Partition...
Definition: EnrichmentIdsPartition.h:60
std::vector< size_type > cellsInLocalEIdVec() const
Definition: EnrichmentIdsPartition.t.cpp:816
std::vector< size_type > d_cellsInLocalEIdVec
Definition: EnrichmentIdsPartition.h:179
void modifyNumCellsOverlapWithEnrichments(const std::vector< std::vector< global_size_type > > &overlappingEnrichmentIdsInCells)
Definition: EnrichmentIdsPartition.t.cpp:617
std::vector< size_type > d_overlappingCellsWithLocalEnrichmentIds
Definition: EnrichmentIdsPartition.h:176
std::vector< std::string > getAtomSymbolsForLocalEnrichments() const
Definition: EnrichmentIdsPartition.t.cpp:779
std::shared_ptr< const AtomIdsPartition< dim > > getAtomIdsPartition() const
Definition: EnrichmentIdsPartition.t.cpp:757
std::vector< size_type > localToCellLocalEIdsVec() const
Definition: EnrichmentIdsPartition.t.cpp:802
std::unordered_map< global_size_type, size_type > d_enrichmentIdToOldAtomIdMap
Definition: EnrichmentIdsPartition.h:163
std::vector< size_type > d_localToCellLocalEIdsVec
Definition: EnrichmentIdsPartition.h:177
size_type getAtomId(const global_size_type enrichmentId) const
Definition: EnrichmentIdsPartition.t.cpp:680
global_size_type nTotalEnrichmentIds() const
Definition: EnrichmentIdsPartition.t.cpp:750
std::pair< global_size_type, global_size_type > locallyOwnedEnrichmentIds() const
Definition: EnrichmentIdsPartition.t.cpp:666
std::vector< size_type > d_atomIdsForLocalEnrichments
Definition: EnrichmentIdsPartition.h:173
size_type nLocallyOwnedEnrichmentIds() const
Definition: EnrichmentIdsPartition.t.cpp:742
std::vector< size_type > getAtomIdsForLocalEnrichments() const
Definition: EnrichmentIdsPartition.t.cpp:772
const std::shared_ptr< const AtomIdsPartition< dim > > d_atomIdsPartition
Definition: EnrichmentIdsPartition.h:167
std::vector< size_type > d_oldAtomIdsVec
Definition: EnrichmentIdsPartition.h:166
std::vector< std::vector< global_size_type > > d_overlappingEnrichmentIdsInCells
Definition: EnrichmentIdsPartition.h:159
std::vector< global_size_type > ghostEnrichmentIds() const
Definition: EnrichmentIdsPartition.t.cpp:673
EnrichmentIdAttribute getEnrichmentIdAttribute(const global_size_type enrichmentId) const
Definition: EnrichmentIdsPartition.t.cpp:702
const std::shared_ptr< const atoms::AtomSphericalDataContainer > d_atomSphericalDataContainer
Definition: EnrichmentIdsPartition.h:169
std::vector< global_size_type > d_localToGlobalEnrichmentIds
Definition: EnrichmentIdsPartition.h:178
std::unordered_map< global_size_type, size_type > d_enrichmentIdToQuantumIdMap
Definition: EnrichmentIdsPartition.h:165
std::vector< global_size_type > newAtomIdToEnrichmentIdOffset() const
Definition: EnrichmentIdsPartition.t.cpp:652
std::vector< std::vector< global_size_type > > overlappingEnrichmentIdsInCells() const
Definition: EnrichmentIdsPartition.t.cpp:659
const std::vector< std::string > & d_atomSymbol
Definition: EnrichmentIdsPartition.h:171
size_type nLocalEnrichmentIds() const
Definition: EnrichmentIdsPartition.t.cpp:786
std::string d_fieldName
Definition: EnrichmentIdsPartition.h:170
~EnrichmentIdsPartition()=default
Destructor.
std::vector< std::string > d_atomSymbolsForLocalEnrichments
Definition: EnrichmentIdsPartition.h:174
std::vector< size_type > overlappingCellsWithLocalEnrichmentIds() const
Definition: EnrichmentIdsPartition.t.cpp:795
std::vector< global_size_type > localToGlobalEnrichmentIds() const
Definition: EnrichmentIdsPartition.t.cpp:809
std::vector< global_size_type > d_ghostEnrichmentIds
Definition: EnrichmentIdsPartition.h:161
std::vector< global_size_type > d_newAtomIdToEnrichmentIdOffset
Definition: EnrichmentIdsPartition.h:157
size_type nEnrichmentIds(const size_type atomId) const
Definition: EnrichmentIdsPartition.t.cpp:764
std::pair< global_size_type, global_size_type > d_locallyOwnedEnrichmentIds
Definition: EnrichmentIdsPartition.h:160
int MPIComm
Definition: MPITypes.h:84
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
std::uint64_t size_type
Definition: TypeConfig.h:9
std::uint64_t global_size_type
Definition: TypeConfig.h:10
Definition: EnrichmentIdsPartition.h:47
size_type atomId
Definition: EnrichmentIdsPartition.h:48
size_type localIdInAtom
Definition: EnrichmentIdsPartition.h:49