DFT-FE 1.3.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
dftfe::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::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > BLASWrapperPtr, const std::uint32_t dofHandlerID, const std::uint32_t quadratureID, const dftfe::uInt nVectors)
 Constructor.
void init ()
 Initialize data structures for MatrixFree class.
void initOperatorCoeffs (T coeffHelmholtz)
 Initialize Helmholtz operator coefficient.
void computeAX (T *dst, T *src)
 Compute Laplace operator multipled by X.
void constraintsDistribute (T *src)
 Distribute constraints on vector src.
void constraintsDistributeTranspose (T *dst, T *src)
 Distribute transpose constraints on vector src.

Private Attributes

MatrixFreeObject d_MatrixFreeObject

Detailed Description

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

MatrixFreeWrapper class.

Constructor & Destructor Documentation

◆ MatrixFreeWrapperClass()

template<typename T, dftfe::operatorList operatorID, dftfe::utils::MemorySpace memorySpace, bool isComplex>
dftfe::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::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > BLASWrapperPtr,
const std::uint32_t dofHandlerID,
const std::uint32_t quadratureID,
const dftfe::uInt nVectors )
inline

Constructor.

Member Function Documentation

◆ computeAX()

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

Compute Laplace operator multipled by X.

◆ constraintsDistribute()

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

Distribute constraints on vector src.

◆ constraintsDistributeTranspose()

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

Distribute transpose constraints on vector src.

◆ init()

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

Initialize data structures for MatrixFree class.

◆ initOperatorCoeffs()

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

Initialize Helmholtz operator coefficient.

Member Data Documentation

◆ d_MatrixFreeObject

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

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