26#ifndef dftefeEFEBasisDofHandler_h
27#define dftefeEFEBasisDofHandler_h
50 template <
typename ValueTypeBasisCoeff,
51 typename ValueTypeBasisData,
62 virtual std::vector<double>
65 const size_type derivativeOrder = 1)
const = 0;
72 virtual std::shared_ptr<const TriangulationBase>
88 virtual std::vector<std::pair<global_size_type, global_size_type>>
91 virtual std::vector<std::pair<global_size_type, global_size_type>>
94 virtual std::map<BasisIdAttribute, size_type>
101 virtual std::vector<size_type>
103 virtual std::vector<size_type>
108 std::vector<global_size_type> &vecGlobalNodeId)
const = 0;
109 virtual const std::vector<global_size_type> &
153 std::map<global_size_type, utils::Point> &dofCoords)
const = 0;
164 virtual std::vector<double>
169 virtual std::vector<double>
174 virtual std::vector<global_size_type>
180 virtual std::shared_ptr<const EnrichmentIdsPartition<dim>>
183 virtual std::shared_ptr<
199 virtual std::shared_ptr<
204 virtual std::shared_ptr<
212 constraintsLocal)
const = 0;
214 virtual std::shared_ptr<const utils::mpi::MPIPatternP2P<memorySpace>>
Definition: ConstraintsLocal.h:43
Definition: EFEBasisDofHandler.h:57
virtual std::vector< global_size_type > getGhostEnrichmentGlobalIds() const =0
virtual global_size_type nGlobalEnrichmentNodes() const =0
virtual bool isVariableDofsPerCell() const =0
virtual FEBasisDofHandler< ValueTypeBasisCoeff, memorySpace, dim >::const_FECellIterator endLocalCells() const =0
virtual std::shared_ptr< const EnrichmentIdsPartition< dim > > getEnrichmentIdsPartition() const =0
virtual std::map< BasisIdAttribute, size_type > getBasisAttributeToRangeIdMap() const =0
virtual std::shared_ptr< const TriangulationBase > getTriangulation() const =0
virtual double getEnrichmentValue(const size_type cellId, const size_type cellLocalEnrichmentId, const dftefe::utils::Point &point) const =0
virtual size_type nCellDofs(size_type cellId) const =0
virtual global_size_type nGlobalNodes() const =0
virtual FEBasisDofHandler< ValueTypeBasisCoeff, memorySpace, dim >::FECellIterator endLocallyOwnedCells()=0
virtual size_type nCumulativeLocallyOwnedCellDofs() const =0
virtual FEBasisDofHandler< ValueTypeBasisCoeff, memorySpace, dim >::const_FECellIterator beginLocalCells() const =0
virtual std::vector< double > getEnrichmentHessian(const size_type cellId, const size_type cellLocalEnrichmentId, const dftefe::utils::Point &point) const =0
virtual bool isDistributed() const =0
virtual FEBasisDofHandler< ValueTypeBasisCoeff, memorySpace, dim >::FECellIterator beginLocallyOwnedCells()=0
virtual FEBasisDofHandler< ValueTypeBasisCoeff, memorySpace, dim >::const_FECellIterator beginLocallyOwnedCells() const =0
virtual FEBasisDofHandler< ValueTypeBasisCoeff, memorySpace, dim >::FECellIterator endLocalCells()=0
virtual std::vector< double > getEnrichmentDerivative(const size_type cellId, const size_type cellLocalEnrichmentId, const dftefe::utils::Point &point) const =0
virtual size_type nLocalCells() const =0
virtual std::shared_ptr< const ConstraintsLocal< ValueTypeBasisCoeff, memorySpace > > getIntrinsicConstraints() const =0
virtual void getCellDofsGlobalIds(size_type cellId, std::vector< global_size_type > &vecGlobalNodeId) const =0
virtual double getBasisFunctionValue(const size_type basisId, const utils::Point &point) const =0
virtual std::vector< size_type > getGlobalNodeIds() const =0
virtual void createConstraintsEnd(std::shared_ptr< ConstraintsLocal< ValueTypeBasisCoeff, memorySpace > > constraintsLocal) const =0
virtual bool isOrthogonalized() const =0
virtual size_type getFEOrder(size_type cellId) const =0
virtual const std::vector< global_size_type > & getBoundaryIds() const =0
virtual std::vector< std::pair< global_size_type, global_size_type > > getLocallyOwnedRanges() const =0
virtual std::vector< double > getBasisFunctionDerivative(const size_type basisId, const utils::Point &point, const size_type derivativeOrder=1) const =0
virtual size_type nLocalNodes() const =0
virtual void getBasisCenters(std::map< global_size_type, utils::Point > &dofCoords) const =0
virtual size_type nCumulativeLocalCellDofs() const =0
virtual std::shared_ptr< ConstraintsLocal< ValueTypeBasisCoeff, memorySpace > > createConstraintsStart() const =0
virtual size_type totalRanges() const =0
virtual std::shared_ptr< const EnrichmentClassicalInterfaceSpherical< ValueTypeBasisData, memorySpace, dim > > getEnrichmentClassicalInterface() const =0
virtual std::shared_ptr< const utils::mpi::MPIPatternP2P< memorySpace > > getMPIPatternP2P() const =0
virtual FEBasisDofHandler< ValueTypeBasisCoeff, memorySpace, dim >::FECellIterator beginLocalCells()=0
virtual size_type nGlobalCells() const =0
virtual unsigned int getDim() const =0
virtual std::vector< std::pair< global_size_type, global_size_type > > getGlobalRanges() const =0
virtual size_type nLocallyOwnedCells() const =0
virtual std::vector< size_type > getLocalNodeIds(size_type cellId) const =0
virtual FEBasisDofHandler< ValueTypeBasisCoeff, memorySpace, dim >::const_FECellIterator endLocallyOwnedCells() const =0
Class to get the interface between Classical and Enrichment basis. It takes as the classical basis as...
Definition: EnrichmentClassicalInterfaceSpherical.h:72
Definition: FEBasisDofHandler.h:57
std::vector< std::shared_ptr< FECellBase > >::iterator FECellIterator
Definition: FEBasisDofHandler.h:62
std::vector< std::shared_ptr< FECellBase > >::const_iterator const_FECellIterator
Definition: FEBasisDofHandler.h:64
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