DFT-EFE
 
Loading...
Searching...
No Matches
MatrixFreeWrapper.h File Reference
#include <variant>
#include <memory>
#include "MatrixFree.h"
#include "MatrixFreeWrapper.def"
Include dependency graph for MatrixFreeWrapper.h:

Go to the source code of this file.

Classes

class  dftefe::MatrixFreeWrapperClass< T, operatorID, memorySpace, isComplex >
 MatrixFreeWrapper class. More...
 

Namespaces

namespace  dftefe
 dealii includes
 

Macros

#define MatrixFreeWrapperTemplates(NDOFSPERDIM)
 
#define MatrixFreeWrapperTemplatesL(NDOFSPERDIM)
 
#define MatrixFreeWrapperTemplates(NDOFSPERDIM)
 
#define MatrixFreeWrapperTemplatesL(NDOFSPERDIM)
 

Typedefs

using dftefe::MatrixFreeObject = std::variant< #define MatrixFreeWrapperTemplates(NDOFSPERDIM) #define MatrixFreeWrapperTemplatesL(NDOFSPERDIM) # 97 "/github/workspace/src/electrostatics/MatrixFreeWrapper.h" 2 >
 Datastructure to hold different MatrixFree class objects. More...
 

Functions

template<typename T , dftefe::operatorList operatorID, dftefe::utils::MemorySpace memorySpace, bool isComplex, class... Args>
MatrixFreeObject dftefe::createMatrixFreeObject (std::uint32_t nDofsPerDim, Args &&...args)
 Factory function to create MatrixFree object. More...
 

Macro Definition Documentation

◆ MatrixFreeWrapperTemplates [1/2]

#define MatrixFreeWrapperTemplates (   NDOFSPERDIM)
Value:
std::shared_ptr<dftefe::MatrixFree<double, \
false, \
NDOFSPERDIM, \
NDOFSPERDIM, \
1, \
1>>, \
std::shared_ptr<dftefe::MatrixFree<double, \
false, \
NDOFSPERDIM, \
NDOFSPERDIM, \
1, \
1>>,
MatrixFree class template. template parameter nDofsPerDim is the finite element polynomial order....
Definition: MatrixFree.h:61
@ Helmholtz
Definition: MatrixFreeDevice.h:35
@ Laplace
Definition: MatrixFreeDevice.h:34

◆ MatrixFreeWrapperTemplates [2/2]

#define MatrixFreeWrapperTemplates (   NDOFSPERDIM)
Value:
case NDOFSPERDIM: \
return MatrixFreeObject( \
std::make_shared<dftefe::MatrixFree<T, \
operatorID, \
memorySpace, \
isComplex, \
NDOFSPERDIM, \
NDOFSPERDIM, \
1, \
1>>(std::forward<Args>(args)...));

◆ MatrixFreeWrapperTemplatesL [1/2]

#define MatrixFreeWrapperTemplatesL (   NDOFSPERDIM)
Value:
std::shared_ptr<dftefe::MatrixFree<double, \
false, \
NDOFSPERDIM, \
NDOFSPERDIM, \
1, \
1>>, \
std::shared_ptr<dftefe::MatrixFree<double, \
false, \
NDOFSPERDIM, \
NDOFSPERDIM, \
1, \
1>>

◆ MatrixFreeWrapperTemplatesL [2/2]

#define MatrixFreeWrapperTemplatesL (   NDOFSPERDIM)
Value:
case NDOFSPERDIM: \
return MatrixFreeObject( \
std::make_shared<dftefe::MatrixFree<T, \
operatorID, \
memorySpace, \
isComplex, \
NDOFSPERDIM, \
NDOFSPERDIM, \
1, \
1>>(std::forward<Args>(args)...));