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

#include <BasisOperations.h>

Inheritance diagram for dftefe::basis::BasisOperations< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace >:

Public Types

using ValueTypeUnion = linearAlgebra::blasLapack::scalar_type< ValueTypeBasisCoeff, ValueTypeBasisData >
 
using StorageBasis = dftefe::utils::MemoryStorage< ValueTypeBasisData, memorySpace >
 
using StorageUnion = dftefe::utils::MemoryStorage< ValueTypeUnion, memorySpace >
 

Public Member Functions

virtual ~BasisOperations ()=default
 
virtual void interpolate (const Field< ValueTypeBasisCoeff, memorySpace > &field, quadrature::QuadratureValuesContainer< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisCoeff, ValueTypeBasisData >, memorySpace > &quadValuesContainer) const =0
 
virtual void interpolate (const linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > &vectorData, const BasisManager< ValueTypeBasisCoeff, memorySpace > &basisManager, quadrature::QuadratureValuesContainer< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisCoeff, ValueTypeBasisData >, memorySpace > &quadValuesContainer) const =0
 
virtual void interpolateWithBasisGradient (const linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > &vectorData, const BasisManager< ValueTypeBasisCoeff, memorySpace > &basisManager, quadrature::QuadratureValuesContainer< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisCoeff, ValueTypeBasisData >, memorySpace > &quadValuesContainer) const =0
 
virtual void integrateWithBasisValues (const quadrature::QuadratureValuesContainer< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisCoeff, ValueTypeBasisData >, memorySpace > &inp, Field< ValueTypeBasisCoeff, memorySpace > &f) const =0
 
virtual void integrateWithBasisValues (const quadrature::QuadratureValuesContainer< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisCoeff, ValueTypeBasisData >, memorySpace > &inp, const BasisManager< ValueTypeBasisCoeff, memorySpace > &basisManager, linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > &vectorData) const =0
 

Detailed Description

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

An abstract class to handle interactions between a basis and a field (e.g., integration of field with basis).

Member Typedef Documentation

◆ StorageBasis

template<typename ValueTypeBasisCoeff , typename ValueTypeBasisData , utils::MemorySpace memorySpace>
using dftefe::basis::BasisOperations< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace >::StorageBasis = dftefe::utils::MemoryStorage<ValueTypeBasisData, memorySpace>

◆ StorageUnion

template<typename ValueTypeBasisCoeff , typename ValueTypeBasisData , utils::MemorySpace memorySpace>
using dftefe::basis::BasisOperations< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace >::StorageUnion = dftefe::utils::MemoryStorage<ValueTypeUnion, memorySpace>

◆ ValueTypeUnion

template<typename ValueTypeBasisCoeff , typename ValueTypeBasisData , utils::MemorySpace memorySpace>
using dftefe::basis::BasisOperations< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace >::ValueTypeUnion = linearAlgebra::blasLapack::scalar_type<ValueTypeBasisCoeff, ValueTypeBasisData>

Constructor & Destructor Documentation

◆ ~BasisOperations()

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

Member Function Documentation

◆ integrateWithBasisValues() [1/2]

template<typename ValueTypeBasisCoeff , typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual void dftefe::basis::BasisOperations< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace >::integrateWithBasisValues ( const quadrature::QuadratureValuesContainer< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisCoeff, ValueTypeBasisData >, memorySpace > &  inp,
const BasisManager< ValueTypeBasisCoeff, memorySpace > &  basisManager,
linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > &  vectorData 
) const
pure virtual

◆ integrateWithBasisValues() [2/2]

template<typename ValueTypeBasisCoeff , typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual void dftefe::basis::BasisOperations< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace >::integrateWithBasisValues ( const quadrature::QuadratureValuesContainer< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisCoeff, ValueTypeBasisData >, memorySpace > &  inp,
Field< ValueTypeBasisCoeff, memorySpace > &  f 
) const
pure virtual

◆ interpolate() [1/2]

template<typename ValueTypeBasisCoeff , typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual void dftefe::basis::BasisOperations< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace >::interpolate ( const Field< ValueTypeBasisCoeff, memorySpace > &  field,
quadrature::QuadratureValuesContainer< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisCoeff, ValueTypeBasisData >, memorySpace > &  quadValuesContainer 
) const
pure virtual

◆ interpolate() [2/2]

template<typename ValueTypeBasisCoeff , typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual void dftefe::basis::BasisOperations< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace >::interpolate ( const linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > &  vectorData,
const BasisManager< ValueTypeBasisCoeff, memorySpace > &  basisManager,
quadrature::QuadratureValuesContainer< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisCoeff, ValueTypeBasisData >, memorySpace > &  quadValuesContainer 
) const
pure virtual

◆ interpolateWithBasisGradient()

template<typename ValueTypeBasisCoeff , typename ValueTypeBasisData , utils::MemorySpace memorySpace>
virtual void dftefe::basis::BasisOperations< ValueTypeBasisCoeff, ValueTypeBasisData, memorySpace >::interpolateWithBasisGradient ( const linearAlgebra::MultiVector< ValueTypeBasisCoeff, memorySpace > &  vectorData,
const BasisManager< ValueTypeBasisCoeff, memorySpace > &  basisManager,
quadrature::QuadratureValuesContainer< linearAlgebra::blasLapack::scalar_type< ValueTypeBasisCoeff, ValueTypeBasisData >, memorySpace > &  quadValuesContainer 
) const
pure virtual

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