QMCPACK
BareForce.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: John R. Gergely, University of Illinois at Urbana-Champaign
8 // Ken Esler, kpesler@gmail.com, University of Illinois at Urbana-Champaign
9 // Jeongnim Kim, jeongnim.kim@gmail.com, University of Illinois at Urbana-Champaign
10 // Jeremy McMinnis, jmcminis@gmail.com, University of Illinois at Urbana-Champaign
11 // Raymond Clay III, j.k.rofling@gmail.com, Lawrence Livermore National Laboratory
12 // Mark A. Berrill, berrillma@ornl.gov, Oak Ridge National Laboratory
13 //
14 // File created by: John R. Gergely, University of Illinois at Urbana-Champaign
15 //////////////////////////////////////////////////////////////////////////////////////
16 
17 
18 #ifndef QMCPLUSPLUS_BARE_FORCE_HAMILTONIAN_H
19 #define QMCPLUSPLUS_BARE_FORCE_HAMILTONIAN_H
22 
23 namespace qmcplusplus
24 {
25 struct BareForce : public OperatorBase, public ForceBase
26 {
27 public:
28  BareForce(ParticleSet& ions, ParticleSet& elns);
29  std::string getClassName() const override;
30  void resetTargetParticleSet(ParticleSet& P) override;
31 
32  Return_t evaluate(ParticleSet& P) override;
33 
34  void registerObservables(std::vector<ObservableHelper>& h5list, hdf_archive& file) const override;
35 
36  /** default implementation to add named values to the property list
37  * @param plist RecordNameProperty
38  * @param collectables Observables that are accumulated by evaluate
39  */
40  void addObservables(PropertySetType& plist, BufferType& collectables) override;
41 
42  void setObservables(PropertySetType& plist) override;
43 
44  void setParticlePropertyList(PropertySetType& plist, int offset) override;
45 
46  /** Do nothing */
47  bool put(xmlNodePtr cur) override;
48 
49  bool get(std::ostream& os) const override;
50 
51  std::unique_ptr<OperatorBase> makeClone(ParticleSet& qp, TrialWaveFunction& psi) final;
52 
53 private:
54  const int d_ei_id_;
55 };
56 
57 } // namespace qmcplusplus
58 #endif
std::string getClassName() const override
return class name
Definition: BareForce.cpp:30
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
std::unique_ptr< OperatorBase > makeClone(ParticleSet &qp, TrialWaveFunction &psi) final
Definition: BareForce.cpp:34
Declaration of OperatorBase.
class to handle hdf file
Definition: hdf_archive.h:51
Vectorized record engine for scalar properties.
void resetTargetParticleSet(ParticleSet &P) override
Reset the data with the target ParticleSet.
Definition: BareForce.cpp:32
Specialized paritlce class for atomistic simulations.
Definition: ParticleSet.h:55
void setObservables(PropertySetType &plist) override
Set the values evaluated by this object to plist Default implementation is to assign Value which is u...
Definition: BareForce.cpp:50
bool put(xmlNodePtr cur) override
Do nothing.
Definition: BareForce.cpp:76
void registerObservables(std::vector< ObservableHelper > &h5list, hdf_archive &file) const override
add to observable descriptor for hdf5 The default implementation is to register a scalar for this->va...
Definition: BareForce.cpp:39
An abstract class for Local Energy operators.
Definition: OperatorBase.h:59
FullPrecRealType Return_t
type of return value of evaluate
Definition: OperatorBase.h:64
void addObservables(PropertySetType &plist, BufferType &collectables) override
default implementation to add named values to the property list
Definition: BareForce.cpp:44
Class to represent a many-body trial wave function.
Return_t evaluate(ParticleSet &P) override
Evaluate the local energy contribution of this component.
Definition: BareForce.cpp:54
void setParticlePropertyList(PropertySetType &plist, int offset) override
Definition: BareForce.cpp:52
BareForce(ParticleSet &ions, ParticleSet &elns)
Definition: BareForce.cpp:24