DFT-EFE
 
Loading...
Searching...
No Matches
dftefe::basis::BasisDataStorage< 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 <BasisDataStorage.h>

Inheritance diagram for dftefe::basis::BasisDataStorage< ValueTypeBasisData, memorySpace >:

Public Types

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 ~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::BasisDataStorage< 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

◆ const_iterator

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

◆ const_reference

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

◆ iterator

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

◆ pointer

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

◆ QuadraturePointAttributes

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

◆ QuadratureRuleAttributes

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

◆ reference

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

◆ Storage

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

Constructor & Destructor Documentation

◆ ~BasisDataStorage()

template<typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual dftefe::basis::BasisDataStorage< ValueTypeBasisData, memorySpace >::~BasisDataStorage ( )
virtualdefault

Member Function Documentation

◆ deleteBasisData()

◆ evaluateBasisData() [1/4]

◆ evaluateBasisData() [2/4]

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

◆ evaluateBasisData() [4/4]

◆ getBasisData()

◆ getBasisDataInAllCells()

◆ getBasisDataInCell() [1/2]

◆ getBasisDataInCell() [2/2]

◆ getBasisDofHandler()

◆ getBasisGradientData()

◆ getBasisGradientDataInAllCells()

◆ getBasisGradientDataInCell() [1/2]

◆ getBasisGradientDataInCell() [2/2]

◆ getBasisGradNiGradNjInAllCells()

◆ getBasisGradNiGradNjInCell()

◆ getBasisHessianData()

◆ getBasisHessianDataInAllCells()

◆ getBasisHessianDataInCell() [1/2]

◆ getBasisHessianDataInCell() [2/2]

◆ getBasisOverlap()

◆ getBasisOverlapInAllCells()

◆ getBasisOverlapInCell()

◆ getJxWInAllCells()

◆ getJxWInCell()

◆ getQuadratureRuleContainer()


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