QMCPACK
DTD_BConds< T, 3, PPNX+SOA_OFFSET > Struct Template Reference

specialization for a slab, general cell More...

+ Collaboration diagram for DTD_BConds< T, 3, PPNX+SOA_OFFSET >:

Public Member Functions

 DTD_BConds (const CrystalLattice< T, 3 > &lat)
 
template<typename PT , typename RSOA , typename DISPLSOA >
void computeDistances (const PT &pos, const RSOA &R0, T *restrict temp_r, DISPLSOA &temp_dr, int first, int last, int flip_ind=0) const
 
void computeDistancesOffload (const T pos[3], const T *restrict R0, int r0_stride, T *restrict temp_r, T *restrict temp_dr, int padded_size, int iat, int flip_ind=0) const
 
computeDist (T dx, T dy, T dz) const
 

Public Attributes

r00
 
r10
 
r01
 
r11
 
g00
 
g10
 
g01
 
g11
 
r2max
 
TinyVector< TinyVector< T, 8 >, 3 > nextcells
 

Detailed Description

template<class T>
struct qmcplusplus::DTD_BConds< T, 3, PPNX+SOA_OFFSET >

specialization for a slab, general cell

Definition at line 1074 of file ParticleBConds3DSoa.h.

Constructor & Destructor Documentation

◆ DTD_BConds()

DTD_BConds ( const CrystalLattice< T, 3 > &  lat)
inline

Definition at line 1081 of file ParticleBConds3DSoa.h.

1082  : r00(lat.R(0)),
1083  r10(lat.R(3)),
1084  r01(lat.R(1)),
1085  r11(lat.R(4)),
1086  g00(lat.G(0)),
1087  g10(lat.G(3)),
1088  g01(lat.G(1)),
1089  g11(lat.G(4)),
1090  r2max(lat.CellRadiusSq)
1091  {
1092  const auto& cellx = nextcells[0];
1093  const auto& celly = nextcells[1];
1094  const auto& cellz = nextcells[2];
1095 
1096  int ic = 0;
1097  for (int i = -1; i <= 1; ++i)
1098  for (int j = -1; j <= 1; ++j)
1099  {
1100  if (i == 0 && j == 0)
1101  continue; //exclude zero
1102  cellx[ic] = i * r00 + j * r10;
1103  celly[ic] = i * r01 + j * r11;
1104  cellz[ic] = T();
1105  ++ic;
1106  }
1107  }
TinyVector< TinyVector< T, 8 >, 3 > nextcells

Member Function Documentation

◆ computeDist()

T computeDist ( dx,
dy,
dz 
) const
inline

Definition at line 1133 of file ParticleBConds3DSoa.h.

1134  {
1135  //APP_ABORT("DTD_BConds<T, 3, PPNX + SOA_OFFSET>::computeDist not implemented");
1136  }

◆ computeDistances()

void computeDistances ( const PT &  pos,
const RSOA &  R0,
T *restrict  temp_r,
DISPLSOA &  temp_dr,
int  first,
int  last,
int  flip_ind = 0 
) const
inline

Definition at line 1110 of file ParticleBConds3DSoa.h.

References APP_ABORT.

1117  {
1118  APP_ABORT("DTD_BConds<T,3,PPNX> not implemented");
1119  }
#define APP_ABORT(msg)
Widely used but deprecated fatal error macros from legacy code.
Definition: AppAbort.h:27

◆ computeDistancesOffload()

void computeDistancesOffload ( const T  pos[3],
const T *restrict  R0,
int  r0_stride,
T *restrict  temp_r,
T *restrict  temp_dr,
int  padded_size,
int  iat,
int  flip_ind = 0 
) const
inline

Definition at line 1121 of file ParticleBConds3DSoa.h.

1129  {
1130  //APP_ABORT("DTD_BConds<T, 3, PPNX + SOA_OFFSET>::computeDistancesOffload not implemented");
1131  }

Member Data Documentation

◆ g00

T g00

Definition at line 1077 of file ParticleBConds3DSoa.h.

◆ g01

T g01

Definition at line 1077 of file ParticleBConds3DSoa.h.

◆ g10

T g10

Definition at line 1077 of file ParticleBConds3DSoa.h.

◆ g11

T g11

Definition at line 1077 of file ParticleBConds3DSoa.h.

◆ nextcells

TinyVector<TinyVector<T, 8>, 3> nextcells

Definition at line 1079 of file ParticleBConds3DSoa.h.

◆ r00

T r00

Definition at line 1076 of file ParticleBConds3DSoa.h.

◆ r01

T r01

Definition at line 1076 of file ParticleBConds3DSoa.h.

◆ r10

T r10

Definition at line 1076 of file ParticleBConds3DSoa.h.

◆ r11

T r11

Definition at line 1076 of file ParticleBConds3DSoa.h.

◆ r2max

T r2max

Definition at line 1078 of file ParticleBConds3DSoa.h.


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