DFT-EFE
 
Loading...
Searching...
No Matches
dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace > Class Template Referenceabstract

An abstract class to store and access data for a given basis, such as the basis function values on a quadrature grid, the overlap matrix of the basis, etc. More...

#include <EFEBasisDataStorage.h>

Inheritance diagram for dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >:
Collaboration diagram for dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >:

Public Types

using QuadraturePointAttributes = quadrature::QuadraturePointAttributes
 
using QuadratureRuleAttributes = quadrature::QuadratureRuleAttributes
 
using Storage = typename BasisDataStorage< ValueTypeBasisData, memorySpace >::Storage
 
- Public Types inherited from dftefe::basis::FEBasisDataStorage< ValueTypeBasisData, memorySpace >
using QuadraturePointAttributes = quadrature::QuadraturePointAttributes
 
using QuadratureRuleAttributes = quadrature::QuadratureRuleAttributes
 
using Storage = typename BasisDataStorage< ValueTypeBasisData, memorySpace >::Storage
 
- Public Types inherited from dftefe::basis::BasisDataStorage< ValueTypeBasisData, memorySpace >
using Storage = dftefe::utils::MemoryStorage< ValueTypeBasisData, memorySpace >
 
using pointer = typename Storage::pointer
 
using reference = typename Storage::reference
 
using const_reference = typename Storage::const_reference
 
using iterator = typename Storage::iterator
 
using const_iterator = typename Storage::const_iterator
 
using QuadraturePointAttributes = quadrature::QuadraturePointAttributes
 
using QuadratureRuleAttributes = quadrature::QuadratureRuleAttributes
 

Public Member Functions

virtual std::shared_ptr< const BasisDofHandlergetBasisDofHandler () const =0
 
virtual void evaluateBasisData (const quadrature::QuadratureRuleAttributes &quadratureRuleAttributes, const BasisStorageAttributesBoolMap basisStorageAttributesBoolMap)=0
 
virtual void evaluateBasisData (const quadrature::QuadratureRuleAttributes &quadratureRuleAttributes, std::shared_ptr< const quadrature::QuadratureRuleContainer > quadratureRuleContainer, const BasisStorageAttributesBoolMap basisStorageAttributesBoolMap)=0
 
virtual void evaluateBasisData (const quadrature::QuadratureRuleAttributes &quadratureRuleAttributes, std::vector< std::shared_ptr< const quadrature::QuadratureRule > > quadratureRuleVec, const BasisStorageAttributesBoolMap basisStorageAttributesBoolMap)=0
 
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 void deleteBasisData ()=0
 
virtual Storage getBasisData (const QuadraturePointAttributes &attributes, const size_type basisId) const =0
 
virtual Storage getBasisGradientData (const QuadraturePointAttributes &attributes, const size_type basisId) const =0
 
virtual Storage getBasisHessianData (const QuadraturePointAttributes &attributes, const size_type basisId) const =0
 
virtual Storage getBasisDataInCell (const size_type cellId, const size_type basisId) const =0
 
virtual Storage getBasisGradientDataInCell (const size_type cellId, const size_type basisId) const =0
 
virtual Storage getBasisHessianDataInCell (const size_type cellId, const size_type basisId) const =0
 
virtual Storage getBasisDataInCell (const size_type cellId) const =0
 
virtual Storage getBasisGradientDataInCell (const size_type cellId) const =0
 
virtual Storage getBasisHessianDataInCell (const size_type cellId) const =0
 
virtual Storage getJxWInCell (const size_type cellId) const =0
 
virtual const StoragegetBasisDataInAllCells () const =0
 
virtual const StoragegetBasisGradientDataInAllCells () const =0
 
virtual const StoragegetBasisHessianDataInAllCells () const =0
 
virtual const StoragegetJxWInAllCells () const =0
 
virtual Storage getBasisOverlap (const size_type cellId, const size_type basisId1, const size_type basisId2) const =0
 
virtual Storage getBasisOverlapInCell (const size_type cellId) const =0
 
virtual Storage getBasisGradNiGradNjInCell (const size_type cellId) const =0
 
virtual const StoragegetBasisGradNiGradNjInAllCells () const =0
 
virtual const StoragegetBasisOverlapInAllCells () const =0
 
virtual std::shared_ptr< const quadrature::QuadratureRuleContainergetQuadratureRuleContainer () const =0
 
virtual std::shared_ptr< const BasisDofHandlergetBasisDofHandler () const =0
 
virtual void evaluateBasisData (const quadrature::QuadratureRuleAttributes &quadratureRuleAttributes, const BasisStorageAttributesBoolMap basisStorageAttributesBoolMap)=0
 
virtual void evaluateBasisData (const quadrature::QuadratureRuleAttributes &quadratureRuleAttributes, std::shared_ptr< const quadrature::QuadratureRuleContainer > quadratureRuleContainer, const BasisStorageAttributesBoolMap basisStorageAttributesBoolMap)=0
 
virtual void evaluateBasisData (const quadrature::QuadratureRuleAttributes &quadratureRuleAttributes, std::vector< std::shared_ptr< const quadrature::QuadratureRule > > quadratureRuleVec, const BasisStorageAttributesBoolMap basisStorageAttributesBoolMap)=0
 
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 void deleteBasisData ()=0
 
virtual Storage getBasisData (const QuadraturePointAttributes &attributes, const size_type basisId) const =0
 
virtual Storage getBasisGradientData (const QuadraturePointAttributes &attributes, const size_type basisId) const =0
 
virtual Storage getBasisHessianData (const QuadraturePointAttributes &attributes, const size_type basisId) const =0
 
virtual Storage getBasisDataInCell (const size_type cellId, const size_type basisId) const =0
 
virtual Storage getBasisGradientDataInCell (const size_type cellId, const size_type basisId) const =0
 
virtual Storage getBasisHessianDataInCell (const size_type cellId, const size_type basisId) const =0
 
virtual Storage getBasisDataInCell (const size_type cellId) const =0
 
virtual Storage getBasisGradientDataInCell (const size_type cellId) const =0
 
virtual Storage getBasisHessianDataInCell (const size_type cellId) const =0
 
virtual Storage getJxWInCell (const size_type cellId) const =0
 
virtual const StoragegetBasisDataInAllCells () const =0
 
virtual const StoragegetBasisGradientDataInAllCells () const =0
 
virtual const StoragegetBasisHessianDataInAllCells () const =0
 
virtual const StoragegetJxWInAllCells () const =0
 
virtual Storage getBasisOverlap (const size_type cellId, const size_type basisId1, const size_type basisId2) const =0
 
virtual Storage getBasisOverlapInCell (const size_type cellId) const =0
 
virtual Storage getBasisGradNiGradNjInCell (const size_type cellId) const =0
 
virtual const StoragegetBasisGradNiGradNjInAllCells () const =0
 
virtual const StoragegetBasisOverlapInAllCells () const =0
 
virtual std::shared_ptr< const quadrature::QuadratureRuleContainergetQuadratureRuleContainer () const =0
 
- Public Member Functions inherited from dftefe::basis::BasisDataStorage< ValueTypeBasisData, memorySpace >
virtual ~BasisDataStorage ()=default
 
virtual std::shared_ptr< const BasisDofHandlergetBasisDofHandler () const =0
 
virtual void evaluateBasisData (const quadrature::QuadratureRuleAttributes &quadratureRuleAttributes, const BasisStorageAttributesBoolMap basisStorageAttributesBoolMap)=0
 
virtual void evaluateBasisData (const quadrature::QuadratureRuleAttributes &quadratureRuleAttributes, std::shared_ptr< const quadrature::QuadratureRuleContainer > quadratureRuleContainer, const BasisStorageAttributesBoolMap basisStorageAttributesBoolMap)=0
 
virtual void evaluateBasisData (const quadrature::QuadratureRuleAttributes &quadratureRuleAttributes, std::vector< std::shared_ptr< const quadrature::QuadratureRule > > quadratureRuleVec, const BasisStorageAttributesBoolMap basisStorageAttributesBoolMap)=0
 
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 void deleteBasisData ()=0
 
virtual Storage getBasisData (const QuadraturePointAttributes &attributes, const size_type basisId) const =0
 
virtual Storage getBasisGradientData (const QuadraturePointAttributes &attributes, const size_type basisId) const =0
 
virtual Storage getBasisHessianData (const QuadraturePointAttributes &attributes, const size_type basisId) const =0
 
virtual Storage getBasisDataInCell (const size_type cellId, const size_type basisId) const =0
 
virtual Storage getBasisGradientDataInCell (const size_type cellId, const size_type basisId) const =0
 
virtual Storage getBasisHessianDataInCell (const size_type cellId, const size_type basisId) const =0
 
virtual Storage getBasisDataInCell (const size_type cellId) const =0
 
virtual Storage getBasisGradientDataInCell (const size_type cellId) const =0
 
virtual Storage getBasisHessianDataInCell (const size_type cellId) const =0
 
virtual Storage getJxWInCell (const size_type cellId) const =0
 
virtual const StoragegetBasisDataInAllCells () const =0
 
virtual const StoragegetBasisGradientDataInAllCells () const =0
 
virtual const StoragegetBasisHessianDataInAllCells () const =0
 
virtual const StoragegetJxWInAllCells () const =0
 
virtual Storage getBasisOverlap (const size_type cellId, const size_type basisId1, const size_type basisId2) const =0
 
virtual Storage getBasisOverlapInCell (const size_type cellId) const =0
 
virtual Storage getBasisGradNiGradNjInCell (const size_type cellId) const =0
 
virtual const StoragegetBasisGradNiGradNjInAllCells () const =0
 
virtual const StoragegetBasisOverlapInAllCells () const =0
 
virtual std::shared_ptr< const quadrature::QuadratureRuleContainergetQuadratureRuleContainer () const =0
 

Detailed Description

template<typename ValueTypeBasisData, utils::MemorySpace memorySpace>
class dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >

An abstract class to store and access data for a given basis, such as the basis function values on a quadrature grid, the overlap matrix of the basis, etc.

Member Typedef Documentation

◆ QuadraturePointAttributes

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
using dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::QuadraturePointAttributes = quadrature::QuadraturePointAttributes

◆ QuadratureRuleAttributes

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
using dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::QuadratureRuleAttributes = quadrature::QuadratureRuleAttributes

◆ Storage

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
using dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::Storage = typename BasisDataStorage<ValueTypeBasisData, memorySpace>::Storage

Member Function Documentation

◆ deleteBasisData()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual void dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::deleteBasisData ( )
pure virtual

◆ evaluateBasisData() [1/4]

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual void dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::evaluateBasisData ( const quadrature::QuadratureRuleAttributes quadratureRuleAttributes,
const BasisStorageAttributesBoolMap  basisStorageAttributesBoolMap 
)
pure virtual

◆ evaluateBasisData() [2/4]

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual void dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::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 
)
pure virtual

◆ evaluateBasisData() [3/4]

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual void dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::evaluateBasisData ( const quadrature::QuadratureRuleAttributes quadratureRuleAttributes,
std::shared_ptr< const quadrature::QuadratureRuleContainer quadratureRuleContainer,
const BasisStorageAttributesBoolMap  basisStorageAttributesBoolMap 
)
pure virtual

◆ evaluateBasisData() [4/4]

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual void dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::evaluateBasisData ( const quadrature::QuadratureRuleAttributes quadratureRuleAttributes,
std::vector< std::shared_ptr< const quadrature::QuadratureRule > >  quadratureRuleVec,
const BasisStorageAttributesBoolMap  basisStorageAttributesBoolMap 
)
pure virtual

◆ getBasisData()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual Storage dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisData ( const QuadraturePointAttributes attributes,
const size_type  basisId 
) const
pure virtual

◆ getBasisDataInAllCells()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual const Storage & dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisDataInAllCells ( ) const
pure virtual

◆ getBasisDataInCell() [1/2]

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual Storage dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisDataInCell ( const size_type  cellId) const
pure virtual

◆ getBasisDataInCell() [2/2]

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual Storage dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisDataInCell ( const size_type  cellId,
const size_type  basisId 
) const
pure virtual

◆ getBasisDofHandler()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual std::shared_ptr< const BasisDofHandler > dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisDofHandler ( ) const
pure virtual

◆ getBasisGradientData()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual Storage dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisGradientData ( const QuadraturePointAttributes attributes,
const size_type  basisId 
) const
pure virtual

◆ getBasisGradientDataInAllCells()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual const Storage & dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisGradientDataInAllCells ( ) const
pure virtual

◆ getBasisGradientDataInCell() [1/2]

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual Storage dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisGradientDataInCell ( const size_type  cellId) const
pure virtual

◆ getBasisGradientDataInCell() [2/2]

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual Storage dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisGradientDataInCell ( const size_type  cellId,
const size_type  basisId 
) const
pure virtual

◆ getBasisGradNiGradNjInAllCells()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual const Storage & dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisGradNiGradNjInAllCells ( ) const
pure virtual

◆ getBasisGradNiGradNjInCell()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual Storage dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisGradNiGradNjInCell ( const size_type  cellId) const
pure virtual

◆ getBasisHessianData()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual Storage dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisHessianData ( const QuadraturePointAttributes attributes,
const size_type  basisId 
) const
pure virtual

◆ getBasisHessianDataInAllCells()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual const Storage & dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisHessianDataInAllCells ( ) const
pure virtual

◆ getBasisHessianDataInCell() [1/2]

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual Storage dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisHessianDataInCell ( const size_type  cellId) const
pure virtual

◆ getBasisHessianDataInCell() [2/2]

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual Storage dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisHessianDataInCell ( const size_type  cellId,
const size_type  basisId 
) const
pure virtual

◆ getBasisOverlap()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual Storage dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisOverlap ( const size_type  cellId,
const size_type  basisId1,
const size_type  basisId2 
) const
pure virtual

◆ getBasisOverlapInAllCells()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual const Storage & dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisOverlapInAllCells ( ) const
pure virtual

◆ getBasisOverlapInCell()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual Storage dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getBasisOverlapInCell ( const size_type  cellId) const
pure virtual

◆ getJxWInAllCells()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual const Storage & dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getJxWInAllCells ( ) const
pure virtual

◆ getJxWInCell()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual Storage dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getJxWInCell ( const size_type  cellId) const
pure virtual

◆ getQuadratureRuleContainer()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual std::shared_ptr< const quadrature::QuadratureRuleContainer > dftefe::basis::EFEBasisDataStorage< ValueTypeBasisData, memorySpace >::getQuadratureRuleContainer ( ) const
pure virtual

The documentation for this class was generated from the following file: