QMCPACK
DMCRefEnergy.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) 2023 QMCPACK developers.
6 //
7 // File developed by: Ye Luo, yeluo@anl.gov, Argonne National Laboratory
8 //
9 // File created by: Ye Luo, yeluo@anl.gov, Argonne National Laboratory
10 //////////////////////////////////////////////////////////////////////////////////////
11 // -*- C++ -*-
12 #ifndef QMCPLUSPLUS_DMCREFENERGY_H
13 #define QMCPLUSPLUS_DMCREFENERGY_H
14 
15 #include <tuple>
16 #include <Configuration.h>
19 #include "DMCRefEnergyScheme.h"
20 
21 namespace qmcplusplus
22 {
23 /** Handle updating Eref used for calculating the trial energy.
24  */
26 {
27 public:
29 
31  {
32  ENERGY = 0,
35  };
36 
37 private:
38  /// scheme
40 
41  // legacy scheme data
42  ///a simple accumulator for energy
44  ///a simple accumulator for variance
46 
47  // limited memory scheme data
49 
50 public:
51  DMCRefEnergy(DMCRefEnergyScheme scheme, size_t history_limit);
52 
53  /// return energy and variance
54  std::tuple<FullPrecReal, FullPrecReal> getEnergyVariance() const;
55 
56  /// record weight, energy and variance.
58 
59  /// return record count.
60  size_t count() const;
61 };
62 
63 } // namespace qmcplusplus
64 #endif
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
std::tuple< FullPrecReal, FullPrecReal > getEnergyVariance() const
return energy and variance
DMCRefEnergy(DMCRefEnergyScheme scheme, size_t history_limit)
Handle updating Eref used for calculating the trial energy.
Definition: DMCRefEnergy.h:25
SizeLimitedDataQueue< FullPrecReal, DataLayout::DATA_SIZE > energy_and_variance_
Definition: DMCRefEnergy.h:48
QMCTraits::FullPrecRealType FullPrecReal
Definition: DMCRefEnergy.h:28
accumulator_set< FullPrecReal > variance_hist_
a simple accumulator for variance
Definition: DMCRefEnergy.h:45
DMCRefEnergyScheme scheme_
scheme
Definition: DMCRefEnergy.h:39
accumulator_set< FullPrecReal > energy_hist_
a simple accumulator for energy
Definition: DMCRefEnergy.h:43
DMCRefEnergyScheme
DMCRefEnergy schemes.
QTFull::RealType FullPrecRealType
Definition: Configuration.h:66
Define and declare accumulator_set.
void pushWeightEnergyVariance(FullPrecReal weight, FullPrecReal ene, FullPrecReal var)
record weight, energy and variance.
size_t count() const
return record count.