26#ifndef dftefeEFEOverlapOperatorContext_h
27#define dftefeEFEOverlapOperatorContext_h
60 template <
typename ValueTypeOperator,
61 typename ValueTypeOperand,
65 :
public linearAlgebra::
66 OperatorContext<ValueTypeOperator, ValueTypeOperand, memorySpace>
95 dim> &feBasisManagerX,
99 dim> &feBasisManagerY,
101 & feBasisDataStorage,
120 dim> &feBasisManagerX,
124 dim> &feBasisManagerY,
126 &cfeBasisDataStorage,
128 & efeBasisDataStorage,
An abstract class to store and access data for a given basis, such as the basis function values on a ...
Definition: FEBasisDataStorage.h:53
An abstract class to encapsulate the partitioning of a finite element basis across multiple processor...
Definition: FEBasisManager.h:44
A derived class of linearAlgebra::OperatorContext to encapsulate the action of a discrete operator on...
Definition: PristineEFEOverlapOperatorContext.h:67
const size_type d_maxCellTimesNumVecs
Definition: PristineEFEOverlapOperatorContext.h:166
Storage getBasisOverlap(const size_type cellId, const size_type basisId1, const size_type basisId2) const
Definition: PristineEFEOverlapOperatorContext.t.cpp:763
void apply(linearAlgebra::MultiVector< ValueTypeOperand, memorySpace > &X, linearAlgebra::MultiVector< ValueType, memorySpace > &Y) const override
Apply AX = B where A is the discretized matrix, X is the operand and B is the result.
Definition: PristineEFEOverlapOperatorContext.t.cpp:650
const FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > * d_feBasisManagerX
Definition: PristineEFEOverlapOperatorContext.h:158
linearAlgebra::blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand > ValueType
define ValueType as the superior (bigger set) of the ValueTypeOperator and ValueTypeOperand (e....
Definition: PristineEFEOverlapOperatorContext.h:77
std::vector< size_type > d_dofsInCell
Definition: PristineEFEOverlapOperatorContext.h:165
const FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > * d_feBasisManagerY
Definition: PristineEFEOverlapOperatorContext.h:162
std::vector< size_type > d_cellStartIdsBasisOverlap
Definition: PristineEFEOverlapOperatorContext.h:164
std::shared_ptr< Storage > d_basisOverlap
Definition: PristineEFEOverlapOperatorContext.h:163
Storage getBasisOverlapInCell(const size_type cellId) const
Definition: PristineEFEOverlapOperatorContext.t.cpp:740
const Storage & getBasisOverlapInAllCells() const
Definition: PristineEFEOverlapOperatorContext.t.cpp:726
An class template to encapsulate a MultiVector. A MultiVector is a collection of vectors belonging t...
Definition: MultiVector.h:134
blas::scalar_type< ValueType1, ValueType2 > scalar_type
Definition: BlasLapackTypedef.h:70
MemorySpace
Definition: MemorySpaceType.h:37
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
unsigned int size_type
Definition: TypeConfig.h:8