A derived class of linearAlgebra::OperatorContext to encapsulate the action of a discrete operator on vectors, matrices, etc. More...
#include <CFEOverlapOperatorContext.h>


Public Types | |
| using | ValueType = linearAlgebra::blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand > | 
| define ValueType as the superior (bigger set) of the ValueTypeOperator and ValueTypeOperand (e.g., between double and complex<double>, complex<double> is the bigger set)  More... | |
| using | Storage = dftefe::utils::MemoryStorage< ValueTypeOperator, memorySpace > | 
Public Member Functions | |
| CFEOverlapOperatorContext (const FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > &feBasisManager, const FEBasisDataStorage< ValueTypeOperator, memorySpace > &feBasisDataStorage, const size_type maxCellBlock, const size_type maxFieldBlock, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext) | |
| Constructor.  More... | |
| CFEOverlapOperatorContext (const FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > &feBasisManager, const FEBasisDataStorage< ValueTypeOperator, memorySpace > &feBasisDataStorage, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext) | |
| ~CFEOverlapOperatorContext ()=default | |
| void | apply (linearAlgebra::MultiVector< ValueTypeOperand, memorySpace > &X, linearAlgebra::MultiVector< ValueType, memorySpace > &Y, bool updateGhostX=false, bool updateGhostY=false) const override | 
| Storage | getBasisOverlap (const size_type cellId, const size_type basisId1, const size_type basisId2) const | 
| Storage | getBasisOverlapInCell (const size_type cellId) const | 
| const Storage & | getBasisOverlapInAllCells () const | 
Private Attributes | |
| const FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > * | d_feBasisManager | 
| std::shared_ptr< Storage > | d_basisOverlap | 
| std::vector< size_type > | d_cellStartIdsBasisOverlap | 
| std::vector< size_type > | d_dofsInCell | 
| const size_type | d_maxCellBlock | 
| const size_type | d_maxFieldBlock | 
| bool | d_isMassLumping | 
| std::shared_ptr< linearAlgebra::Vector< ValueTypeOperator, memorySpace > > | d_diagonal | 
A derived class of linearAlgebra::OperatorContext to encapsulate the action of a discrete operator on vectors, matrices, etc.
| ValueTypeOperator | The datatype (float, double, complex<double>, etc.) for the underlying operator. Ususlly ValueTypeBasisData in FE basis | 
| ValueTypeOperand | The datatype (float, double, complex<double>, etc.) of the vector, matrices, etc. on which the operator will act. Ususlly ValueTypeBasisCoeff in FE basis | 
| memorySpace | The memory space (HOST, DEVICE, HOST_PINNED, etc.) in which the data of the operator and its operands reside | 
| using dftefe::basis::CFEOverlapOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::Storage = dftefe::utils::MemoryStorage<ValueTypeOperator, memorySpace> | 
| using dftefe::basis::CFEOverlapOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::ValueType = linearAlgebra::blasLapack::scalar_type<ValueTypeOperator, ValueTypeOperand> | 
define ValueType as the superior (bigger set) of the ValueTypeOperator and ValueTypeOperand (e.g., between double and complex<double>, complex<double> is the bigger set)
| dftefe::basis::CFEOverlapOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::CFEOverlapOperatorContext | ( | const FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > & | feBasisManager, | 
| const FEBasisDataStorage< ValueTypeOperator, memorySpace > & | feBasisDataStorage, | ||
| const size_type | maxCellBlock, | ||
| const size_type | maxFieldBlock, | ||
| std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > | linAlgOpContext | ||
| ) | 
Constructor.

| dftefe::basis::CFEOverlapOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::CFEOverlapOperatorContext | ( | const FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > & | feBasisManager, | 
| const FEBasisDataStorage< ValueTypeOperator, memorySpace > & | feBasisDataStorage, | ||
| std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > | linAlgOpContext | ||
| ) | 

      
  | 
  default | 
      
  | 
  override | 

| utils::MemoryStorage< ValueTypeOperator, memorySpace > dftefe::basis::CFEOverlapOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::getBasisOverlap | ( | const size_type | cellId, | 
| const size_type | basisId1, | ||
| const size_type | basisId2 | ||
| ) | const | 

| const utils::MemoryStorage< ValueTypeOperator, memorySpace > & dftefe::basis::CFEOverlapOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::getBasisOverlapInAllCells | 
| utils::MemoryStorage< ValueTypeOperator, memorySpace > dftefe::basis::CFEOverlapOperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::getBasisOverlapInCell | ( | const size_type | cellId | ) | const | 

      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private |