QMCPACK
MCSample.h
Go to the documentation of this file.
1 //////////////////////////////////////////////////////////////////////////////////////
2 // This file is distributed under the University of Illinois/NCSA Open Source License.
3 // See LICENSE file in top directory for details.
4 //
5 // Copyright (c) 2020 QMCPACK developers.
6 //
7 // File developed by: Mark Dewing, mdewing@anl.gov, Argonne National Laboratory
8 //
9 // File created by: Mark Dewing, mdewing@anl.gov, Argonne National Laboratory
10 //////////////////////////////////////////////////////////////////////////////////////
11 
12 /** @file MCSample.h
13  * @brief Stores particle configurations for later use in DMC and wavefunction optimization
14  *
15  * Stores less temporary data than the buffer object.
16  */
17 
18 #ifndef QMCPLUSPLUS_MCSAMPLE_H
19 #define QMCPLUSPLUS_MCSAMPLE_H
20 
21 #include "Particle/ParticleSet.h"
22 #include "Particle/Walker.h"
23 
24 namespace qmcplusplus
25 {
26 /** store minimum Walker data
27  */
28 struct MCSample
29 {
32 
39 
40  inline MCSample(const ParticleSet& pset) : R(pset.R), spins(pset.spins) {}
41 
42  /// deprecated. Beyond w.R and w.spins, others are used perhaps somewhere but intended not to.
43  inline MCSample(const Walker_t& w) : R(w.R), Weight(w.Weight), spins(w.spins), G(w.G), L(w.L)
44  {
45  LogPsi = w.Properties(WP::LOGPSI);
46  Sign = w.Properties(WP::SIGN);
47  PE = w.Properties(WP::LOCALPOTENTIAL);
48  KE = w.Properties(WP::LOCALENERGY) - PE;
49  }
50 
51  inline size_t getNumPtcls() const { return R.size(); }
52 
53  inline MCSample(int n)
54  {
55  R.resize(n);
56  spins.resize(n);
57  G.resize(n);
58  L.resize(n);
59  }
60 
61  inline void convertToWalker(Walker_t& w) const
62  {
63  w.R = R;
64  w.Weight = Weight;
65  w.spins = spins;
66  w.G = G;
67  w.L = L;
68  w.Properties(WP::LOGPSI) = LogPsi;
69  w.Properties(WP::SIGN) = Sign;
70  w.Properties(WP::LOCALPOTENTIAL) = PE;
71  w.Properties(WP::LOCALENERGY) = PE + KE;
72  }
73 };
74 
75 } // namespace qmcplusplus
76 #endif
ParticleSet::RealType KE
Definition: MCSample.h:38
Walker< QMCTraits, PtclOnLatticeTraits > Walker_t
walker type
Definition: ParticleSet.h:59
PropertyContainer_t Properties
scalar properties of a walker
Definition: Walker.h:125
ParticleSet::RealType PE
Definition: MCSample.h:38
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
size_t getNumPtcls() const
Definition: MCSample.h:51
QTBase::RealType RealType
Definition: Configuration.h:58
ParticleSet::RealType Sign
Definition: MCSample.h:38
ParticleAttrib< QTFull::ValueType > ParticleLaplacian
Definition: Configuration.h:96
ParticleSet::ParticleGradient G
Definition: MCSample.h:36
store minimum Walker data
Definition: MCSample.h:28
ParticleScalar spins
Definition: Walker.h:117
Specialized paritlce class for atomistic simulations.
Definition: ParticleSet.h:55
ParticleSet::ParticleScalar spins
Definition: MCSample.h:35
ParticleSet::ParticleLaplacian L
Definition: MCSample.h:37
ParticleSet::ParticlePos R
Definition: MCSample.h:33
void convertToWalker(Walker_t &w) const
Definition: MCSample.h:61
ParticleSet::FullPrecRealType Weight
Definition: MCSample.h:34
Indexes
an enum denoting index of physical properties
ParticleAttrib< SingleParticlePos > ParticlePos
Definition: Configuration.h:92
FullPrecRealType Weight
Weight of the walker.
Definition: Walker.h:102
ParticleSet::RealType LogPsi
Definition: MCSample.h:38
ParticleAttrib< QTFull::GradType > ParticleGradient
Definition: Configuration.h:95
MCSample(const ParticleSet &pset)
Definition: MCSample.h:40
QTFull::RealType FullPrecRealType
Definition: Configuration.h:66
ParticleAttrib< Scalar_t > ParticleScalar
Definition: Configuration.h:91
A container class to represent a walker.
Definition: Walker.h:49
MCSample(const Walker_t &w)
deprecated. Beyond w.R and w.spins, others are used perhaps somewhere but intended not to...
Definition: MCSample.h:43
ParticleLaplacian L
^2_i d for the i-th particle
Definition: Walker.h:122
ParticlePos R
The configuration vector (3N-dimensional vector to store the positions of all the particles for a sin...
Definition: Walker.h:114