26#ifndef dftefeBasisDataStorage_h
27#define dftefeBasisDataStorage_h
49 typedef std::map<BasisStorageAttributes, bool>
57 template <
typename ValueTypeBasisData, utils::MemorySpace memorySpace>
77 virtual std::shared_ptr<const BasisDofHandler>
88 std::shared_ptr<const quadrature::QuadratureRuleContainer>
89 quadratureRuleContainer,
95 std::vector<std::shared_ptr<const quadrature::QuadratureRule>>
102 std::shared_ptr<const quadrature::QuadratureRule>
103 baseQuadratureRuleAdaptive,
104 std::vector<std::shared_ptr<const utils::ScalarSpatialFunctionReal>>
106 const std::vector<double> & absoluteTolerances,
107 const std::vector<double> & relativeTolerances,
108 const std::vector<double> & integralThresholds,
109 const double smallestCellVolume,
110 const unsigned int maxRecursion,
191 virtual std::shared_ptr<const quadrature::QuadratureRuleContainer>
An abstract class to store and access data for a given basis, such as the basis function values on a ...
Definition: BasisDataStorage.h:59
virtual Storage getBasisDataInCell(const size_type cellId) const =0
typename Storage::reference reference
Definition: BasisDataStorage.h:67
virtual void evaluateBasisData(const quadrature::QuadratureRuleAttributes &quadratureRuleAttributes, std::shared_ptr< const quadrature::QuadratureRule > baseQuadratureRuleAdaptive, std::vector< std::shared_ptr< const utils::ScalarSpatialFunctionReal > > &functions, const std::vector< double > &absoluteTolerances, const std::vector< double > &relativeTolerances, const std::vector< double > &integralThresholds, const double smallestCellVolume, const unsigned int maxRecursion, const BasisStorageAttributesBoolMap basisStorageAttributesBoolMap)=0
virtual Storage getBasisData(const QuadraturePointAttributes &attributes, const size_type basisId) const =0
virtual Storage getBasisHessianDataInCell(const size_type cellId) const =0
virtual Storage getBasisGradientData(const QuadraturePointAttributes &attributes, const size_type basisId) const =0
virtual const Storage & getBasisDataInAllCells() const =0
virtual Storage getJxWInCell(const size_type cellId) const =0
virtual Storage getBasisHessianDataInCell(const size_type cellId, const size_type basisId) const =0
virtual Storage getBasisGradientDataInCell(const size_type cellId) const =0
typename Storage::const_iterator const_iterator
Definition: BasisDataStorage.h:70
virtual void evaluateBasisData(const quadrature::QuadratureRuleAttributes &quadratureRuleAttributes, std::shared_ptr< const quadrature::QuadratureRuleContainer > quadratureRuleContainer, const BasisStorageAttributesBoolMap basisStorageAttributesBoolMap)=0
virtual Storage getBasisHessianData(const QuadraturePointAttributes &attributes, const size_type basisId) const =0
virtual const Storage & getBasisOverlapInAllCells() const =0
virtual void evaluateBasisData(const quadrature::QuadratureRuleAttributes &quadratureRuleAttributes, const BasisStorageAttributesBoolMap basisStorageAttributesBoolMap)=0
virtual void deleteBasisData()=0
virtual void evaluateBasisData(const quadrature::QuadratureRuleAttributes &quadratureRuleAttributes, std::vector< std::shared_ptr< const quadrature::QuadratureRule > > quadratureRuleVec, const BasisStorageAttributesBoolMap basisStorageAttributesBoolMap)=0
typename Storage::pointer pointer
Definition: BasisDataStorage.h:66
virtual const Storage & getBasisGradNiGradNjInAllCells() const =0
virtual std::shared_ptr< const BasisDofHandler > getBasisDofHandler() const =0
virtual const Storage & getBasisGradientDataInAllCells() const =0
virtual ~BasisDataStorage()=default
virtual Storage getBasisDataInCell(const size_type cellId, const size_type basisId) const =0
virtual Storage getBasisGradNiGradNjInCell(const size_type cellId) const =0
virtual Storage getBasisOverlapInCell(const size_type cellId) const =0
virtual Storage getBasisGradientDataInCell(const size_type cellId, const size_type basisId) const =0
virtual Storage getBasisOverlap(const size_type cellId, const size_type basisId1, const size_type basisId2) const =0
virtual const Storage & getBasisHessianDataInAllCells() const =0
typename Storage::const_reference const_reference
Definition: BasisDataStorage.h:68
virtual const Storage & getJxWInAllCells() const =0
typename Storage::iterator iterator
Definition: BasisDataStorage.h:69
virtual std::shared_ptr< const quadrature::QuadratureRuleContainer > getQuadratureRuleContainer() const =0
Class to store the attributes of a quad point, such as the cell Id it belongs, the quadPointId within...
Definition: QuadratureAttributes.h:171
Definition: QuadratureAttributes.h:135
Definition: MemoryStorage.h:38
const ValueType & const_reference
Definition: MemoryStorage.h:58
const ValueType * const_iterator
Definition: MemoryStorage.h:60
ValueType * iterator
Definition: MemoryStorage.h:59
ValueType * pointer
Definition: MemoryStorage.h:56
ValueType & reference
Definition: MemoryStorage.h:57
BasisStorageAttributes
Definition: BasisDataStorage.h:40
std::map< BasisStorageAttributes, bool > BasisStorageAttributesBoolMap
Definition: BasisDataStorage.h:50
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
unsigned int size_type
Definition: TypeConfig.h:8