QMCPACK
FastParticleOperators.h File Reference

template functions to support conversion and handling of boundary conditions. More...

+ Include dependency graph for FastParticleOperators.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ConvertPosUnit< T1, T2, D >
 Dummy template class to be specialized. More...
 
struct  ConvertPosUnit< ParticleAttrib< TinyVector< T, 3 > >, Tensor< T, 3 >, 3 >
 Specialized ConvertPosUnit for ParticleAttrib<T,3>, Tensor<T,3> More...
 
struct  ConvertPosUnit< ParticleAttrib< TinyVector< T, 2 > >, Tensor< T, 2 >, 2 >
 Specialized ConvertPosUnit for ParticleAttrib<T,2>, Tensor<T,2> More...
 
struct  ApplyBConds< T1, T2, D >
 Dummy template class to apply boundary conditions. More...
 
struct  ApplyBConds< ParticleAttrib< TinyVector< T, 3 > >, Tensor< T, 3 >, 3 >
 

Namespaces

 qmcplusplus
 helper functions for EinsplineSetBuilder
 

Macros

#define SUPERCELL_BOUNDARY_LIMITS(T)
 
#define THREE_DIM_BOUNDARY_BLOCK(X, Y, Z, EPS, PLUSONE)
 
#define TWO_DIM_BOUNDARY_BLOCK(X, Y, EPS, PLUSONE)
 

Functions

template<typename T , unsigned D>
void put2box (ParticleAttrib< TinyVector< T, D >> &inout)
 inout[i]=inout[i]-floor(inout[i]) More...
 
template<typename T , unsigned D>
void put2box (const ParticleAttrib< TinyVector< T, D >> &in, ParticleAttrib< TinyVector< T, D >> &out)
 out[i]=in[i]-floor(in[i]) More...
 

Detailed Description

template functions to support conversion and handling of boundary conditions.

Definition in file FastParticleOperators.h.


Class Documentation

◆ qmcplusplus::ConvertPosUnit

struct qmcplusplus::ConvertPosUnit

template<class T1, class T2, unsigned D>
struct qmcplusplus::ConvertPosUnit< T1, T2, D >

Dummy template class to be specialized.

  • T1 the datatype to be transformed
  • T2 the transformation matrix

Definition at line 31 of file FastParticleOperators.h.

+ Collaboration diagram for ConvertPosUnit< T1, T2, D >:

◆ qmcplusplus::ApplyBConds

struct qmcplusplus::ApplyBConds

template<class T1, class T2, unsigned D>
struct qmcplusplus::ApplyBConds< T1, T2, D >

Dummy template class to apply boundary conditions.

Definition at line 181 of file FastParticleOperators.h.

+ Collaboration diagram for ApplyBConds< T1, T2, D >:

Macro Definition Documentation

◆ SUPERCELL_BOUNDARY_LIMITS

◆ THREE_DIM_BOUNDARY_BLOCK

#define THREE_DIM_BOUNDARY_BLOCK (   X,
  Y,
  Z,
  EPS,
  PLUSONE 
)
Value:
if (X < EPS) \
X += PLUSONE; \
else if (X >= PLUSONE) \
X -= PLUSONE; \
if (Y < EPS) \
Y += PLUSONE; \
else if (Y >= PLUSONE) \
Y -= PLUSONE; \
if (Z < EPS) \
Z += PLUSONE; \
else if (Z >= PLUSONE) \
Z -= PLUSONE

Definition at line 154 of file FastParticleOperators.h.

Referenced by ApplyBConds< ParticleAttrib< TinyVector< T, 3 > >, Tensor< T, 3 >, 3 >::Cart2Cart(), ApplyBConds< ParticleAttrib< TinyVector< T, 3 > >, Tensor< T, 3 >, 3 >::Cart2Unit(), ApplyBConds< ParticleAttrib< TinyVector< T, 3 > >, Tensor< T, 3 >, 3 >::Unit2Cart(), and ApplyBConds< ParticleAttrib< TinyVector< T, 3 > >, Tensor< T, 3 >, 3 >::Unit2Unit().

◆ TWO_DIM_BOUNDARY_BLOCK

#define TWO_DIM_BOUNDARY_BLOCK (   X,
  Y,
  EPS,
  PLUSONE 
)
Value:
if (X < EPS) \
X += PLUSONE; \
else if (X >= PLUSONE) \
X -= PLUSONE; \
if (Y < EPS) \
Y += PLUSONE; \
else if (Y >= PLUSONE) \
Y -= PLUSONE

Definition at line 168 of file FastParticleOperators.h.