14 #ifndef QMCPLUSPLUS_STRUCTFACT_H 15 #define QMCPLUSPLUS_STRUCTFACT_H 29 struct SKMultiWalkerMem;
97 void resize(
int nkpts,
int num_species,
int num_ptcls);
122 std::unique_ptr<Resource>
makeClone()
const override {
return std::make_unique<SKMultiWalkerMem>(*this); }
multi walker shared memory buffer
a class that defines a supercell in D-dimensional Euclean space.
Matrix< RealType > rhok_r
2-D container for the phase
helper functions for EinsplineSetBuilder
QTBase::RealType RealType
Matrix< RealType > eikr_i
const KContainer & k_lists_
K-Vector List.
Matrix< RealType > rhok_i
CrystalLattice< OHMMS_PRECISION, OHMMS_DIM > ParticleLayout
Timer accumulates time and call counts.
Calculates the structure-factor for a particle set.
static void mw_updateAllPart(const RefVectorWithLeader< StructFact > &sk_list, const RefVectorWithLeader< ParticleSet > &p_list, SKMultiWalkerMem &mw_mem)
Update RhoK for all particles for multiple walkers particles.
StructFact(const ParticleLayout &lattice, const KContainer &k_lists)
Constructor - copy ParticleSet and init.
CrystalLattice< OHMMS_PRECISION, OHMMS_DIM > lattice
Specialized paritlce class for atomistic simulations.
void computeRhok(const ParticleSet &P)
Compute all rhok elements from the start.
const KContainer & getKLists() const
accessor of k_lists_
bool isStorePerParticle() const
accessor of StorePerParticle
bool StorePerParticle
Whether intermediate data is stored per particle.
Declaraton of Vector<T,Alloc> Manage memory through Alloc directly and allow referencing an existing ...
SKMultiWalkerMem(const SKMultiWalkerMem &)
Matrix< RealType, OffloadPinnedAllocator< RealType > > nw_rhok
dist displ for temporary and old pairs
int SuperCellEnum
enumeration for the methods to handle mixed bconds
Matrix< RealType > eikr_r
void updateAllPart(const ParticleSet &P)
Update Rhok if all particles moved.
StructFact::RealType RealType
NewTimer & update_all_timer_
timer for updateAllPart
void turnOnStorePerParticle(const ParticleSet &P)
switch on the storage per particle if StorePerParticle was false, this function allocates memory and ...
NewTimer class various high-resolution timers.
void resize(int nkpts, int num_species, int num_ptcls)
resize the internal data
std::unique_ptr< Resource > makeClone() const override