26#ifndef dftefeEFEBasisDofHandler_h
27#define dftefeEFEBasisDofHandler_h
50 template <
typename ValueTypeBasisCoeff,
51 typename ValueTypeBasisData,
63 virtual std::vector<double>
66 const size_type derivativeOrder = 1)
const = 0;
73 virtual std::shared_ptr<const TriangulationBase>
89 virtual std::vector<std::pair<global_size_type, global_size_type>>
92 virtual std::vector<std::pair<global_size_type, global_size_type>>
95 virtual std::map<BasisIdAttribute, size_type>
102 virtual std::vector<size_type>
104 virtual std::vector<size_type>
109 std::vector<global_size_type> &vecGlobalNodeId)
const = 0;
110 virtual const std::vector<global_size_type> &
154 std::map<global_size_type, utils::Point> &dofCoords)
const = 0;
165 virtual std::vector<double>
170 virtual std::vector<double>
176 virtual std::vector<double>
179 const std::vector<dftefe::utils::Point> &points)
const = 0;
181 virtual std::vector<double>
184 const std::vector<dftefe::utils::Point> &points)
const = 0;
186 virtual std::vector<double>
189 const std::vector<dftefe::utils::Point> &points)
const = 0;
191 virtual std::vector<global_size_type>
197 virtual std::shared_ptr<const EnrichmentIdsPartition<dim>>
200 virtual std::shared_ptr<
216 virtual std::shared_ptr<
221 virtual std::shared_ptr<
229 constraintsLocal)
const = 0;
231 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 std::vector< double > getEnrichmentValue(const size_type cellId, const std::vector< dftefe::utils::Point > &points) 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 std::vector< double > getEnrichmentHessian(const size_type cellId, const std::vector< dftefe::utils::Point > &points) 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 ~EFEBasisDofHandler()=default
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 std::vector< double > getEnrichmentDerivative(const size_type cellId, const std::vector< dftefe::utils::Point > &points) 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