DFT-EFE
 
Loading...
Searching...
No Matches
dftefe::MatrixFreeWrapperClass< T, operatorID, memorySpace, isComplex > Class Template Reference

MatrixFreeWrapper class. More...

#include <MatrixFreeWrapper.h>

Public Member Functions

 MatrixFreeWrapperClass (std::uint32_t nDofsPerDim, const MPI_Comm &mpi_comm, const dealii::MatrixFree< 3, double > *matrixFreeDataPtr, const dealii::AffineConstraints< double > &constraintMatrix, const std::uint32_t dofHandlerID, const std::uint32_t quadratureID, const dftefe::uInt nVectors)
 Constructor. More...
 
void init ()
 Initialize data structures for MatrixFree class. More...
 
void initOperatorCoeffs (T coeffHelmholtz)
 Initialize Helmholtz operator coefficient. More...
 
void computeAX (T *dst, T *src)
 Compute Laplace operator multipled by X. More...
 
void constraintsDistribute (T *src)
 Distribute constraints on vector src. More...
 
void constraintsDistributeTranspose (T *dst, T *src)
 Distribute transpose constraints on vector src. More...
 

Private Attributes

MatrixFreeObject d_MatrixFreeObject
 

Detailed Description

template<typename T, dftefe::operatorList operatorID, dftefe::utils::MemorySpace memorySpace, bool isComplex>
class dftefe::MatrixFreeWrapperClass< T, operatorID, memorySpace, isComplex >

MatrixFreeWrapper class.

Constructor & Destructor Documentation

◆ MatrixFreeWrapperClass()

template<typename T , dftefe::operatorList operatorID, dftefe::utils::MemorySpace memorySpace, bool isComplex>
dftefe::MatrixFreeWrapperClass< T, operatorID, memorySpace, isComplex >::MatrixFreeWrapperClass ( std::uint32_t  nDofsPerDim,
const MPI_Comm &  mpi_comm,
const dealii::MatrixFree< 3, double > *  matrixFreeDataPtr,
const dealii::AffineConstraints< double > &  constraintMatrix,
const std::uint32_t  dofHandlerID,
const std::uint32_t  quadratureID,
const dftefe::uInt  nVectors 
)
inline

Constructor.

Member Function Documentation

◆ computeAX()

template<typename T , dftefe::operatorList operatorID, dftefe::utils::MemorySpace memorySpace, bool isComplex>
void dftefe::MatrixFreeWrapperClass< T, operatorID, memorySpace, isComplex >::computeAX ( T *  dst,
T *  src 
)
inline

Compute Laplace operator multipled by X.

◆ constraintsDistribute()

template<typename T , dftefe::operatorList operatorID, dftefe::utils::MemorySpace memorySpace, bool isComplex>
void dftefe::MatrixFreeWrapperClass< T, operatorID, memorySpace, isComplex >::constraintsDistribute ( T *  src)
inline

Distribute constraints on vector src.

◆ constraintsDistributeTranspose()

template<typename T , dftefe::operatorList operatorID, dftefe::utils::MemorySpace memorySpace, bool isComplex>
void dftefe::MatrixFreeWrapperClass< T, operatorID, memorySpace, isComplex >::constraintsDistributeTranspose ( T *  dst,
T *  src 
)
inline

Distribute transpose constraints on vector src.

◆ init()

template<typename T , dftefe::operatorList operatorID, dftefe::utils::MemorySpace memorySpace, bool isComplex>
void dftefe::MatrixFreeWrapperClass< T, operatorID, memorySpace, isComplex >::init ( )
inline

Initialize data structures for MatrixFree class.

◆ initOperatorCoeffs()

template<typename T , dftefe::operatorList operatorID, dftefe::utils::MemorySpace memorySpace, bool isComplex>
void dftefe::MatrixFreeWrapperClass< T, operatorID, memorySpace, isComplex >::initOperatorCoeffs ( coeffHelmholtz)
inline

Initialize Helmholtz operator coefficient.

Member Data Documentation

◆ d_MatrixFreeObject

template<typename T , dftefe::operatorList operatorID, dftefe::utils::MemorySpace memorySpace, bool isComplex>
MatrixFreeObject dftefe::MatrixFreeWrapperClass< T, operatorID, memorySpace, isComplex >::d_MatrixFreeObject
private

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