26#ifndef dftefeLaplaceOperatorContextFE_h
27#define dftefeLaplaceOperatorContextFE_h
43 namespace electrostatics
56 template <
typename ValueTypeOperator,
57 typename ValueTypeOperand,
61 :
public linearAlgebra::
62 OperatorContext<ValueTypeOperator, ValueTypeOperand, memorySpace>
81 FEBasisManager<ValueTypeOperand, ValueTypeOperator, memorySpace, dim>
84 FEBasisManager<ValueTypeOperand, ValueTypeOperator, memorySpace, dim>
96 FEBasisManager<ValueTypeOperand, ValueTypeOperator, memorySpace, dim>
99 FEBasisManager<ValueTypeOperand, ValueTypeOperator, memorySpace, dim>
102 gradNiGradNjInAllCells,
109 FEBasisManager<ValueTypeOperand, ValueTypeOperator, memorySpace, dim>
112 FEBasisManager<ValueTypeOperand, ValueTypeOperator, memorySpace, dim>
125 bool updateGhostX =
false,
126 bool updateGhostY =
false)
const override;
129 std::shared_ptr<utils::MemoryStorage<ValueTypeOperator, memorySpace>>
134 FEBasisManager<ValueTypeOperand, ValueTypeOperator, memorySpace, dim>
137 FEBasisManager<ValueTypeOperand, ValueTypeOperator, memorySpace, dim>
142 std::shared_ptr<utils::MemoryStorage<ValueTypeOperator, memorySpace>>
An abstract class to store and access data for a given basis, such as the basis function values on a ...
Definition: FEBasisDataStorage.h:54
A derived class of linearAlgebra::OperatorContext to encapsulate the action of a discrete operator on...
Definition: LaplaceOperatorContextFE.h:63
size_type d_maxFieldBlock
Definition: LaplaceOperatorContextFE.h:144
const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > * d_feBasisManagerX
Definition: LaplaceOperatorContextFE.h:135
void reinit(const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > &feBasisManagerX, const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > &feBasisManagerY)
Definition: LaplaceOperatorContextFE.t.cpp:371
bool d_isGradNiNjPreCalculated
Definition: LaplaceOperatorContextFE.h:145
std::shared_ptr< utils::MemoryStorage< ValueTypeOperator, memorySpace > > d_gradNiGradNjInAllCells
Definition: LaplaceOperatorContextFE.h:143
size_type d_maxCellBlock
Definition: LaplaceOperatorContextFE.h:144
std::shared_ptr< utils::MemoryStorage< ValueTypeOperator, memorySpace > > getBasisGradNiGradNjInAllCells() const
Definition: LaplaceOperatorContextFE.t.cpp:483
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeOperator, memorySpace > > d_feBasisDataStorage
Definition: LaplaceOperatorContextFE.h:141
void apply(linearAlgebra::MultiVector< ValueTypeOperand, memorySpace > &X, linearAlgebra::MultiVector< ValueType, memorySpace > &Y, bool updateGhostX=false, bool updateGhostY=false) const override
Definition: LaplaceOperatorContextFE.t.cpp:403
~LaplaceOperatorContextFE()=default
const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > * d_feBasisManagerY
Definition: LaplaceOperatorContextFE.h:138
linearAlgebra::blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand > ValueType
define ValueType as the superior (bigger set) of the ValueTypeOperator and ValueTypeOperand (e....
Definition: LaplaceOperatorContextFE.h:73
Definition: LinAlgOpContext.h:38
An class template to encapsulate a MultiVector. A MultiVector is a collection of vectors belonging t...
Definition: MultiVector.h:134
Definition: MemoryStorage.h:38
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