QMCPACK
StaticStructureFactor.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: Jaron T. Krogel, krogeljt@ornl.gov, Oak Ridge National Laboratory
8 // Mark A. Berrill, berrillma@ornl.gov, Oak Ridge National Laboratory
9 //
10 // File created by: Jaron T. Krogel, krogeljt@ornl.gov, Oak Ridge National Laboratory
11 //////////////////////////////////////////////////////////////////////////////////////
12 
13 
14 #ifndef QMCPLUSPLUS_STATIC_STRUCTURE_FACTOR_H
15 #define QMCPLUSPLUS_STATIC_STRUCTURE_FACTOR_H
16 
18 
19 namespace qmcplusplus
20 {
22 {
23 public:
24  using k2_t = std::vector<RealType>;
25  using dens_t = std::vector<RealType>;
26  using pts_t = std::vector<PosType>;
27 
28  //data members
29  int nspecies;
30  std::vector<std::string> species_name;
32  int nkpoints;
34 
35  //constructor/destructor
37  ~StaticStructureFactor() override {}
38 
39  //standard interface
40  std::string getClassName() const override { return "StaticStructureFactor"; }
41  std::unique_ptr<OperatorBase> makeClone(ParticleSet& P, TrialWaveFunction& psi) final;
42  bool put(xmlNodePtr cur) override;
43  Return_t evaluate(ParticleSet& P) override;
44 
45  //required for Collectables interface
46  void addObservables(PropertySetType& plist, BufferType& olist) override;
47  void registerCollectables(std::vector<ObservableHelper>& h5desc, hdf_archive& file) const override;
48 
49  //should be empty for Collectables interface
50  void resetTargetParticleSet(ParticleSet& P) override {}
51  void setObservables(PropertySetType& plist) override {}
52  void setParticlePropertyList(PropertySetType& plist, int offset) override {}
53 
54 #if !defined(REMOVE_TRACEMANAGER)
58 #endif
59 
60  //obsolete?
61  bool get(std::ostream& os) const override { return false; }
62 
63  //local functions
64  void reset();
65  void report(const std::string& pad);
66 };
67 
68 } // namespace qmcplusplus
69 
70 #endif
bool put(xmlNodePtr cur) override
Read the input parameter.
void checkout_scalar_arrays(TraceManager &tm)
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
QTBase::RealType RealType
Definition: Configuration.h:58
void setObservables(PropertySetType &plist) override
Set the values evaluated by this object to plist Default implementation is to assign Value which is u...
std::string getClassName() const override
return class name
Declaration of OperatorBase.
class to handle hdf file
Definition: hdf_archive.h:51
void addObservables(PropertySetType &plist, BufferType &olist) override
named values to the property list Default implementaton uses addValue(plist_)
Vectorized record engine for scalar properties.
std::unique_ptr< OperatorBase > makeClone(ParticleSet &P, TrialWaveFunction &psi) final
Specialized paritlce class for atomistic simulations.
Definition: ParticleSet.h:55
ParticleSet::Buffer_t BufferType
typedef for the serialized buffer
Definition: OperatorBase.h:75
void registerCollectables(std::vector< ObservableHelper > &h5desc, hdf_archive &file) const override
An abstract class for Local Energy operators.
Definition: OperatorBase.h:59
Class to represent a many-body trial wave function.
Return_t evaluate(ParticleSet &P) override
Evaluate the local energy contribution of this component.
std::vector< std::string > species_name
void setParticlePropertyList(PropertySetType &plist, int offset) override
void report(const std::string &pad)
void resetTargetParticleSet(ParticleSet &P) override
Reset the data with the target ParticleSet.
BareKineticEnergy::Return_t Return_t
RecordNamedProperty< FullPrecRealType > PropertySetType
define PropertyList_t
Definition: Configuration.h:69