DFT-EFE
 
Loading...
Searching...
No Matches
dftefe Namespace Reference

dealii includes More...

Namespaces

namespace  atoms
 
namespace  basis
 
namespace  electrostatics
 
namespace  ksdft
 
namespace  linearAlgebra
 
namespace  quadrature
 
namespace  utils
 

Classes

class  MatrixFree
 MatrixFree class template. template parameter nDofsPerDim is the finite element polynomial order. nQuadPointsPerDim is the order of the Gauss quadrature rule. batchSize is the size of batch tuned to hardware. More...
 
struct  MatrixFreeDevice
 MatrixFreeDevice class template. template parameter nDofsPerDim is the finite element polynomial order. nQuadPointsPerDim is the order of the Gauss quadrature rule. batchSize is the size of batch tuned to hardware. More...
 
class  MatrixFreeWrapperClass
 MatrixFreeWrapper class. More...
 
struct  RealType
 
struct  RealType< double >
 
struct  RealType< float >
 
struct  RealType< int >
 
struct  RealType< std::complex< double > >
 
struct  RealType< std::complex< float > >
 

Typedefs

using 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...
 
using size_type = std::uint64_t
 
using global_size_type = std::uint64_t
 
using uInt = std::uint64_t
 

Enumerations

enum  operatorList {
  Laplace = 0 , Helmholtz = 1 , LDA = 2 , GGA = 3 ,
  Count = 4
}
 

Functions

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

Variables

static constexpr utils::MemorySpace memorySpaceHost
 

Detailed Description

dealii includes

Author
Gourab Panigrahi
Gourab Panigrahi ❯ Difference between matrix free .cc files in dftfe/src/matrixfree and dftefe/electrostics except the namespace difference

⏺ The key substantive differences (beyond namespace) are:

  1. BLASWrapper completely removed from MatrixFree
  1. Include restructuring
  1. Type change (dftfe::uInt → dftefe::uInt) — which you already did

Everything else is just namespace renaming.

Typedef Documentation

◆ global_size_type

using dftefe::global_size_type = typedef std::uint64_t

◆ MatrixFreeObject

using dftefe::MatrixFreeObject = typedef std::variant< #define MatrixFreeWrapperTemplates(NDOFSPERDIM) #define MatrixFreeWrapperTemplatesL(NDOFSPERDIM) # 97 "/github/workspace/src/electrostatics/MatrixFreeWrapper.h" 2 >

Datastructure to hold different MatrixFree class objects.

Author
Gourab Panigrahi

◆ size_type

using dftefe::size_type = typedef std::uint64_t

◆ uInt

using dftefe::uInt = typedef std::uint64_t

Enumeration Type Documentation

◆ operatorList

Enumerator
Laplace 
Helmholtz 
LDA 
GGA 
Count 

Function Documentation

◆ createMatrixFreeObject()

template<typename T , dftefe::operatorList operatorID, dftefe::utils::MemorySpace memorySpace, bool isComplex, class... Args>
MatrixFreeObject dftefe::createMatrixFreeObject ( std::uint32_t  nDofsPerDim,
Args &&...  args 
)
inline

Factory function to create MatrixFree object.

Variable Documentation

◆ memorySpaceHost

constexpr utils::MemorySpace dftefe::memorySpaceHost
staticconstexpr
Initial value:
=
utils::MemorySpace::HOST