QMCPACK
ForwardWalking.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) 2016 Jeongnim Kim and QMCPACK developers.
6 //
7 // File developed by: Jeongnim Kim, jeongnim.kim@gmail.com, University of Illinois at Urbana-Champaign
8 // Jeremy McMinnis, jmcminis@gmail.com, University of Illinois at Urbana-Champaign
9 // Mark A. Berrill, berrillma@ornl.gov, Oak Ridge National Laboratory
10 //
11 // File created by: Jeongnim Kim, jeongnim.kim@gmail.com, University of Illinois at Urbana-Champaign
12 //////////////////////////////////////////////////////////////////////////////////////
13 
14 
15 /** @file ForwardWalking.h
16  * @brief Declarations of ForwardWalking
17  */
18 #ifndef QMCPLUSPLUS_FORWARDWALKING_H
19 #define QMCPLUSPLUS_FORWARDWALKING_H
21 
22 namespace qmcplusplus
23 {
24 class QMCHamiltonian;
25 
27 {
28 public:
29  /** constructor
30  */
32 
33  ///destructor
34  ~ForwardWalking() override;
35 
36  std::string getClassName() const override { return "ForwardWalking"; }
37 
38  void resetTargetParticleSet(ParticleSet& P) override {}
39 
40  Return_t rejectedMove(ParticleSet& P) override;
41 
43 
44  Return_t evaluate(ParticleSet& P) override;
45 
46  bool put(xmlNodePtr cur) override;
47 
48  ///rename it to avoid conflicts with put
49  bool putSpecial(xmlNodePtr cur, QMCHamiltonian& h, ParticleSet& P);
50 
51  bool get(std::ostream& os) const override;
52 
53  std::unique_ptr<OperatorBase> makeClone(ParticleSet& qp, TrialWaveFunction& psi) final;
54 
55  void addObservables(PropertySetType& plist);
56 
57  void addObservables(PropertySetType& plist, BufferType& collectables) override;
58 
59  void setObservables(PropertySetType& plist) override;
60 
61  void setParticlePropertyList(PropertySetType& plist, int offset) override;
62 
63 private:
64  std::vector<int> h_ids_;
65  std::vector<int> p_ids_;
66  std::vector<std::vector<int>> walker_lengths_;
67  std::vector<RealType> values_;
68  std::vector<std::string> names_;
70  int nvalues_;
72 };
73 } // namespace qmcplusplus
74 #endif
std::vector< int > p_ids_
std::vector< RealType > values_
~ForwardWalking() override
destructor
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
bool putSpecial(xmlNodePtr cur, QMCHamiltonian &h, ParticleSet &P)
rename it to avoid conflicts with put
Declaration of OperatorBase.
Collection of Local Energy Operators.
void setParticlePropertyList(PropertySetType &plist, int offset) override
std::vector< int > h_ids_
Return_t evaluate(ParticleSet &P) override
Evaluate the local energy contribution of this component.
Specialized paritlce class for atomistic simulations.
Definition: ParticleSet.h:55
ParticleSet::Buffer_t BufferType
typedef for the serialized buffer
Definition: OperatorBase.h:75
std::string getClassName() const override
return class name
Return_t calculate(ParticleSet &P)
void resetTargetParticleSet(ParticleSet &P) override
Reset the data with the target ParticleSet.
std::unique_ptr< OperatorBase > makeClone(ParticleSet &qp, TrialWaveFunction &psi) final
void setObservables(PropertySetType &plist) override
Set the values evaluated by this object to plist Default implementation is to assign Value which is u...
std::vector< std::string > names_
An abstract class for Local Energy operators.
Definition: OperatorBase.h:59
bool put(xmlNodePtr cur) override
Read the input parameter.
Class to represent a many-body trial wave function.
Return_t rejectedMove(ParticleSet &P) override
TODO: add docs.
BareKineticEnergy::Return_t Return_t
std::vector< std::vector< int > > walker_lengths_
void addObservables(PropertySetType &plist)
RecordNamedProperty< FullPrecRealType > PropertySetType
define PropertyList_t
Definition: Configuration.h:69