13 #ifndef QMCPLUSPLUS_DTDIMPL_AB_H 14 #define QMCPLUSPLUS_DTDIMPL_AB_H 25 template<
typename T,
unsigned D,
int SC>
47 const int num_sources_padded = getAlignedSize<T>(
num_sources_);
99 for (
int idim = 0; idim < D; ++idim)
105 RealType min_dist = std::numeric_limits<RealType>::max();
void resize(size_type n, Type_t val=Type_t())
Resize the container.
QMCTraits::RealType RealType
const size_t num_targets_
NewTimer & move_timer_
timer for move()
helper functions for EinsplineSetBuilder
virtual const PosVectorSoa & getAllParticlePos() const =0
all particle position accessor
void move(const ParticleSet &P, const PosType &rnew, const IndexType iat, bool prepare_old) override
evaluate the temporary pair relations
Timer accumulates time and call counts.
SoaDistanceTableAB(const ParticleSet &source, ParticleSet &target)
int get_first_neighbor(IndexType iat, RealType &r, PosType &dr, bool newpos) const override
find the first nearest neighbor
NewTimer & update_timer_
timer for update()
omp_int_t omp_get_thread_num()
Specialized paritlce class for atomistic simulations.
A collection of functions for dividing fairly.
void evaluate(ParticleSet &P) override
evaluate the full table
AB type of DistanceTable containing storage.
void FairDivideAligned(const int ntot, const int base, const int npart, const int me, int &first, int &last)
Partition ntot over npart and the size of each partition is a multiple of base size.
NewTimer & createGlobalTimer(const std::string &myname, timer_levels mylevel)
void update(IndexType iat) override
update the stripe for jat-th particle
A derived classe from DistacneTableData, specialized for AB using a transposed form.
const std::string & getName() const
return the name of table
omp_int_t omp_get_num_threads()
T * data()
return the base
const DynamicCoordinates & getCoordinates() const
whether full table needs to be ready at anytime or not during PbyP Optimization can be implemented du...
QMCTraits::IndexType IndexType
sycl::event copy_n(sycl::queue &aq, const T1 *restrict VA, size_t array_size, T2 *restrict VC, const std::vector< sycl::event > &events)
std::vector< DisplRow > displacements_
displacements_[num_targets_][3][num_sources_], [i][3][j] = r_A2[j] - r_A1[i] Note: Derived classes de...
SoaDistanceTableAB()=delete
void resize(size_type n)
resize myData
const ParticleSet & origin_
NewTimer & evaluate_timer_
timer for evaluate()
std::vector< DistRow > distances_
distances_[num_targets_][num_sources_], [i][3][j] = |r_A2[j] - r_A1[i]| Note: Derived classes decide ...
DTModes modes_
operation modes defined by DTModes
const size_t num_sources_