14 #ifndef QMCPLUSPLUS_PARTICLE_BCONDS_H 15 #define QMCPLUSPLUS_PARTICLE_BCONDS_H 23 template<
int N,
unsigned D>
68 template<
class T,
unsigned D,
int SC>
89 const int n = dr.size();
90 for (
int i = 0; i <
n; ++i)
91 rinv[i] =
dot(dr[i], dr[i]);
98 for (
int i = 0; i < dr.size(); ++i)
104 for (
int i = 0; i <
n; ++i)
105 rr[i] =
dot(dr[i], dr[i]);
117 #endif // OHMMS_PARTICLE_BCONDS_H a class that defines a supercell in D-dimensional Euclean space.
DTD_BConds(const CrystalLattice< T, D > &lat)
constructor: doing nothing
helper functions for EinsplineSetBuilder
void apply_bc(std::vector< TinyVector< T, D >> &dr, std::vector< T > &r) const
void apply_bc(std::vector< TinyVector< T, D >> &dr, std::vector< T > &r, std::vector< T > &rinv) const
apply BC on dr and evaluate r and rinv
Declaration of CrystalLattice<T,D>
T apply_bc(TinyVector< T, D > &displ) const
apply BC on displ and return |displ|^2
void evaluate_rsquared(TinyVector< T, D > *restrict dr, T *restrict rr, int n)
void inv(const T *restrict in, T *restrict out, int n)
MakeReturn< UnaryNode< FnSqrt, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t sqrt(const Vector< T1, C1 > &l)
Tensor< typename BinaryReturn< T1, T2, OpMultiply >::Type_t, D > dot(const AntiSymTensor< T1, D > &lhs, const AntiSymTensor< T2, D > &rhs)
void sqrt(T *restrict inout, SIZET n)