A derived class of linearAlgebra::OperatorContext to encapsulate the action of a discrete operator on vectors, matrices, etc. More...
#include <LaplaceOperatorContextFE.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... | |
Public Member Functions | |
LaplaceOperatorContextFE (const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > &feBasisManagerX, const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > &feBasisManagerY, std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeOperator, memorySpace > > feBasisDataStorage, std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > linAlgOpContext, const size_type maxCellBlock, const size_type maxFieldBlock) | |
Constructor. More... | |
LaplaceOperatorContextFE (const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > &feBasisManagerX, const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > &feBasisManagerY, std::shared_ptr< utils::MemoryStorage< ValueTypeOperator, memorySpace > > gradNiGradNjInAllCells, const size_type maxCellBlock, const size_type maxFieldBlock) | |
void | reinit (const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > &feBasisManagerX, const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > &feBasisManagerY) |
~LaplaceOperatorContextFE ()=default | |
void | apply (linearAlgebra::MultiVector< ValueTypeOperand, memorySpace > &X, linearAlgebra::MultiVector< ValueType, memorySpace > &Y, bool updateGhostX=false, bool updateGhostY=false) const override |
std::shared_ptr< utils::MemoryStorage< ValueTypeOperator, memorySpace > > | getBasisGradNiGradNjInAllCells () const |
Private Attributes | |
const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > * | d_feBasisManagerX |
const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > * | d_feBasisManagerY |
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeOperator, memorySpace > > | d_feBasisDataStorage |
std::shared_ptr< utils::MemoryStorage< ValueTypeOperator, memorySpace > > | d_gradNiGradNjInAllCells |
size_type | d_maxFieldBlock |
size_type | d_maxCellBlock |
bool | d_isGradNiNjPreCalculated |
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 |
ValueTypeOperand | The datatype (float, double, complex<double>, etc.) of the vector, matrices, etc. on which the operator will act |
memorySpace | The meory sapce (HOST, DEVICE, HOST_PINNED, etc.) in which the data of the operator and its operands reside |
using dftefe::electrostatics::LaplaceOperatorContextFE< 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::electrostatics::LaplaceOperatorContextFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::LaplaceOperatorContextFE | ( | const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > & | feBasisManagerX, |
const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > & | feBasisManagerY, | ||
std::shared_ptr< const basis::FEBasisDataStorage< ValueTypeOperator, memorySpace > > | feBasisDataStorage, | ||
std::shared_ptr< linearAlgebra::LinAlgOpContext< memorySpace > > | linAlgOpContext, | ||
const size_type | maxCellBlock, | ||
const size_type | maxFieldBlock | ||
) |
Constructor.
dftefe::electrostatics::LaplaceOperatorContextFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::LaplaceOperatorContextFE | ( | const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > & | feBasisManagerX, |
const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > & | feBasisManagerY, | ||
std::shared_ptr< utils::MemoryStorage< ValueTypeOperator, memorySpace > > | gradNiGradNjInAllCells, | ||
const size_type | maxCellBlock, | ||
const size_type | maxFieldBlock | ||
) |
|
default |
|
override |
std::shared_ptr< utils::MemoryStorage< ValueTypeOperator, memorySpace > > dftefe::electrostatics::LaplaceOperatorContextFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::getBasisGradNiGradNjInAllCells |
void dftefe::electrostatics::LaplaceOperatorContextFE< ValueTypeOperator, ValueTypeOperand, memorySpace, dim >::reinit | ( | const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > & | feBasisManagerX, |
const basis::FEBasisManager< ValueTypeOperand, ValueTypeOperator, memorySpace, dim > & | feBasisManagerY | ||
) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |