26#ifndef dftefeFEBasisManager_h
27#define dftefeFEBasisManager_h
39 template <
typename ValueTypeBasisCoeff,
40 typename ValueTypeBasisData,
58 typename GlobalSizeTypeVector::const_iterator;
61 FEBasisManager(std::shared_ptr<const BasisDofHandler> basisDofHandler,
62 std::shared_ptr<const utils::ScalarSpatialFunctionReal>
63 dirichletBoundaryCondition =
nullptr);
66 reinit(std::shared_ptr<const BasisDofHandler> basisDofHandler,
67 std::shared_ptr<const utils::ScalarSpatialFunctionReal>
68 dirichletBoundaryCondition);
78 std::shared_ptr<const utils::mpi::MPIPatternP2P<memorySpace>>
81 std::vector<std::pair<global_size_type, global_size_type>>
96 std::pair<bool, size_type>
99 std::pair<bool, size_type>
145 std::vector<size_type> &vecLocalNodeId)
const;
151 std::shared_ptr<const ConstraintsLocal<ValueTypeBasisCoeff, memorySpace>>
153 std::vector<std::pair<global_size_type, global_size_type>>
161 std::shared_ptr<const utils::mpi::MPIPatternP2P<memorySpace>>
Definition: BasisDofHandler.h:41
An abstract class to encapsulate the partitioning of a basis across multiple processors.
Definition: BasisManager.h:54
Definition: ConstraintsLocal.h:43
Definition: FEBasisDofHandler.h:57
An abstract class to encapsulate the partitioning of a finite element basis across multiple processor...
Definition: FEBasisManager.h:44
GlobalSizeTypeVector d_locallyOwnedCellGlobalIndices
Definition: FEBasisManager.h:156
const GlobalSizeTypeVector & getGhostIndices() const override
Definition: FEBasisManager.t.cpp:440
typename GlobalSizeTypeVector::const_iterator const_GlobalIndexIter
Definition: FEBasisManager.h:58
const_LocalIndexIter locallyOwnedCellLocalDofIdsEnd(const size_type cellId) const
Definition: FEBasisManager.t.cpp:588
size_type globalToLocalIndex(const global_size_type globalId) const override
Definition: FEBasisManager.t.cpp:473
size_type nCumulativeLocallyOwnedCellDofs() const
Definition: FEBasisManager.t.cpp:410
std::vector< size_type > d_locallyOwnedCellStartIds
Definition: FEBasisManager.h:155
std::shared_ptr< const FEBasisDofHandler< ValueTypeBasisCoeff, memorySpace, dim > > d_feBDH
Definition: FEBasisManager.h:150
std::shared_ptr< const ConstraintsLocal< ValueTypeBasisCoeff, memorySpace > > d_constraintsLocal
Definition: FEBasisManager.h:152
size_type nLocallyOwnedCellDofs(const size_type cellId) const
Definition: FEBasisManager.t.cpp:421
std::vector< std::pair< global_size_type, global_size_type > > d_locallyOwnedRanges
Definition: FEBasisManager.h:154
size_type nGhost() const override
Definition: FEBasisManager.t.cpp:365
typename SizeTypeVector::iterator LocalIndexIter
Definition: FEBasisManager.h:54
std::shared_ptr< SizeTypeVector > d_locallyOwnedCellLocalIndices
Definition: FEBasisManager.h:163
global_size_type localToGlobalIndex(const size_type localId) const override
Definition: FEBasisManager.t.cpp:484
void getCellDofsLocalIds(const size_type cellId, std::vector< size_type > &vecLocalNodeId) const
Definition: FEBasisManager.t.cpp:617
void reinit(std::shared_ptr< const BasisDofHandler > basisDofHandler, std::shared_ptr< const utils::ScalarSpatialFunctionReal > dirichletBoundaryCondition)
Definition: FEBasisManager.t.cpp:169
std::pair< bool, size_type > inLocallyOwnedRanges(const global_size_type globalId) const override
Definition: FEBasisManager.t.cpp:451
size_type nLocal() const override
Definition: FEBasisManager.t.cpp:331
typename BasisManager< ValueTypeBasisCoeff, memorySpace >::SizeTypeVector SizeTypeVector
Definition: FEBasisManager.h:50
std::shared_ptr< const utils::mpi::MPIPatternP2P< memorySpace > > getMPIPatternP2P() const override
Definition: FEBasisManager.t.cpp:309
typename BasisManager< ValueTypeBasisCoeff, memorySpace >::GlobalSizeTypeVector GlobalSizeTypeVector
Definition: FEBasisManager.h:53
std::shared_ptr< GlobalSizeTypeVector > d_ghostIndices
Definition: FEBasisManager.h:160
const BasisDofHandler & getBasisDofHandler() const override
Definition: FEBasisManager.t.cpp:606
size_type nLocallyOwned() const override
Definition: FEBasisManager.t.cpp:349
const_LocalIndexIter locallyOwnedCellLocalDofIdsBegin() const
Definition: FEBasisManager.t.cpp:554
typename SizeTypeVector::const_iterator const_LocalIndexIter
Definition: FEBasisManager.h:55
std::shared_ptr< const utils::mpi::MPIPatternP2P< memorySpace > > d_mpiPatternP2P
Definition: FEBasisManager.h:162
std::map< global_size_type, utils::Point > d_supportPoints
Definition: FEBasisManager.h:164
~FEBasisManager()=default
std::pair< bool, size_type > isGhostEntry(const global_size_type ghostId) const override
Definition: FEBasisManager.t.cpp:462
std::vector< std::pair< global_size_type, global_size_type > > getLocallyOwnedRanges() const override
Definition: FEBasisManager.t.cpp:320
std::vector< size_type > d_numLocallyOwnedCellDofs
Definition: FEBasisManager.h:157
size_type nLocallyOwnedCells() const
Definition: FEBasisManager.t.cpp:399
typename GlobalSizeTypeVector::iterator GlobalIndexIter
Definition: FEBasisManager.h:56
const_GlobalIndexIter locallyOwnedCellGlobalDofIdsEnd(const size_type cellId) const
Definition: FEBasisManager.t.cpp:534
const ConstraintsLocal< ValueTypeBasisCoeff, memorySpace > & getConstraints() const override
Definition: FEBasisManager.t.cpp:298
const_GlobalIndexIter locallyOwnedCellGlobalDofIdsBegin() const
Definition: FEBasisManager.t.cpp:501
void getBasisCenters(const size_type localId, dftefe::utils::Point &basisCenter) const override
Definition: FEBasisManager.t.cpp:377
Definition: PointImpl.h:13
MemorySpace
Definition: MemorySpaceType.h:37
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
unsigned int size_type
Definition: TypeConfig.h:8
unsigned long int global_size_type
Definition: TypeConfig.h:9