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

specialization for a periodic 3D general cell More...

+ Collaboration diagram for DTD_BConds< T, 3, PPPX+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
 
r20
 
r01
 
r11
 
r21
 
r02
 
r12
 
r22
 
g00
 
g10
 
g20
 
g01
 
g11
 
g21
 
g02
 
g12
 
g22
 
r2max
 
TinyVector< TinyVector< T, 26 >, 3 > nextcells
 

Detailed Description

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

specialization for a periodic 3D general cell

Slow method and not used unless one needs to check if faster methods fail

Definition at line 995 of file ParticleBConds3DSoa.h.

Constructor & Destructor Documentation

◆ DTD_BConds()

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

Definition at line 1002 of file ParticleBConds3DSoa.h.

1003  : r00(lat.R(0)),
1004  r10(lat.R(3)),
1005  r20(lat.R(6)),
1006  r01(lat.R(1)),
1007  r11(lat.R(4)),
1008  r21(lat.R(7)),
1009  r02(lat.R(2)),
1010  r12(lat.R(5)),
1011  r22(lat.R(8)),
1012  g00(lat.G(0)),
1013  g10(lat.G(3)),
1014  g20(lat.G(6)),
1015  g01(lat.G(1)),
1016  g11(lat.G(4)),
1017  g21(lat.G(7)),
1018  g02(lat.G(2)),
1019  g12(lat.G(5)),
1020  g22(lat.G(8)),
1021  r2max(lat.CellRadiusSq)
1022  {
1023  const auto& cellx = nextcells[0];
1024  const auto& celly = nextcells[1];
1025  const auto& cellz = nextcells[2];
1026 
1027  int ic = 0;
1028  for (int i = -1; i <= 1; ++i)
1029  for (int j = -1; j <= 1; ++j)
1030  for (int k = -1; k <= 1; ++k)
1031  {
1032  if (i == 0 && j == 0 && j == 0)
1033  continue; //exclude zero
1034  cellx[ic] = i * r00 + j * r10 + k * r20;
1035  celly[ic] = i * r01 + j * r11 + k * r21;
1036  cellz[ic] = i * r02 + j * r12 + k * r22;
1037  ++ic;
1038  }
1039  }
TinyVector< TinyVector< T, 26 >, 3 > nextcells

Member Function Documentation

◆ computeDist()

T computeDist ( dx,
dy,
dz 
) const
inline

Definition at line 1065 of file ParticleBConds3DSoa.h.

1066  {
1067  //APP_ABORT("DTD_BConds<T, 3, PPPX + SOA_OFFSET>::computeDist not implemented");
1068  }

◆ 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 1042 of file ParticleBConds3DSoa.h.

References APP_ABORT.

1049  {
1050  APP_ABORT("DTD_BConds<T,3,PPPX> not implemented");
1051  }
#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 1053 of file ParticleBConds3DSoa.h.

1061  {
1062  //APP_ABORT("DTD_BConds<T, 3, PPPX + SOA_OFFSET>::computeDistancesOffload not implemented");
1063  }

Member Data Documentation

◆ g00

T g00

Definition at line 998 of file ParticleBConds3DSoa.h.

◆ g01

T g01

Definition at line 998 of file ParticleBConds3DSoa.h.

◆ g02

T g02

Definition at line 998 of file ParticleBConds3DSoa.h.

◆ g10

T g10

Definition at line 998 of file ParticleBConds3DSoa.h.

◆ g11

T g11

Definition at line 998 of file ParticleBConds3DSoa.h.

◆ g12

T g12

Definition at line 998 of file ParticleBConds3DSoa.h.

◆ g20

T g20

Definition at line 998 of file ParticleBConds3DSoa.h.

◆ g21

T g21

Definition at line 998 of file ParticleBConds3DSoa.h.

◆ g22

T g22

Definition at line 998 of file ParticleBConds3DSoa.h.

◆ nextcells

TinyVector<TinyVector<T, 26>, 3> nextcells

Definition at line 1000 of file ParticleBConds3DSoa.h.

◆ r00

T r00

Definition at line 997 of file ParticleBConds3DSoa.h.

◆ r01

T r01

Definition at line 997 of file ParticleBConds3DSoa.h.

◆ r02

T r02

Definition at line 997 of file ParticleBConds3DSoa.h.

◆ r10

T r10

Definition at line 997 of file ParticleBConds3DSoa.h.

◆ r11

T r11

Definition at line 997 of file ParticleBConds3DSoa.h.

◆ r12

T r12

Definition at line 997 of file ParticleBConds3DSoa.h.

◆ r20

T r20

Definition at line 997 of file ParticleBConds3DSoa.h.

◆ r21

T r21

Definition at line 997 of file ParticleBConds3DSoa.h.

◆ r22

T r22

Definition at line 997 of file ParticleBConds3DSoa.h.

◆ r2max

T r2max

Definition at line 999 of file ParticleBConds3DSoa.h.


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