10#ifndef COLVARBIAS_HISTOGRAM_REWEIGHT_AMD
11#define COLVARBIAS_HISTOGRAM_REWEIGHT_AMD
13#include "colvarbias_histogram.h"
21 virtual int init(std::string
const &conf)
override;
22 virtual int update()
override;
50 const std::string& p_output_prefix,
bool keep_open =
false);
56 const std::string& p_output_prefix,
bool keep_open =
false);
62 const std::string& p_output_prefix,
bool keep_open =
false);
71 std::shared_ptr<colvar_grid_scalar> grid_count;
72 std::unique_ptr<colvar_grid_scalar> grid_dV;
73 std::unique_ptr<colvar_grid_scalar> grid_dV_square;
82 template <
typename OST> OST & write_state_data_template_(OST& os);
83 template <
typename IST> IST & read_state_data_template_(IST& is);
94 std::unique_ptr<colvar_grid_scalar> pmf_grid_cumulant;
95 std::unique_ptr<colvar_grid_gradient> grad_grid_exp_avg;
96 std::unique_ptr<colvar_grid_gradient> grad_grid_cumulant;
Class for accumulating a scalar function on a grid.
Definition: colvargrid.h:1283
Histogram "bias" (does as the name says)
Definition: colvarbias_histogram.h:22
Definition: colvarbias_histogram_reweight_amd.h:17
std::unique_ptr< colvar_grid_scalar > pmf_grid_exp_avg
temporary grids for evaluating PMFs
Definition: colvarbias_histogram_reweight_amd.h:93
virtual int write_count(const std::string &p_output_prefix, bool keep_open=false)
output the biased sampling
Definition: colvarbias_histogram_reweight_amd.cpp:228
std::vector< int > previous_bin
Current accelMD factor is the from previous frame.
Definition: colvarbias_histogram_reweight_amd.h:65
colvarmodule::step_number start_after_steps
Start collecting samples after N steps.
Definition: colvarbias_histogram_reweight_amd.h:67
bool b_use_cumulant_expansion
Use cumulant expansion to second order?
Definition: colvarbias_histogram_reweight_amd.h:70
virtual int write_cumulant_expansion_pmf(const std::string &p_output_prefix, bool keep_open=false)
output the PMF by the cumulant expansion estimator
Definition: colvarbias_histogram_reweight_amd.cpp:192
virtual int write_output_files() override
Write any output files that this bias may have (e.g. PMF files)
Definition: colvarbias_histogram_reweight_amd.cpp:114
void compute_cumulant_expansion_factor(const colvar_grid_scalar *hist_dV, const colvar_grid_scalar *hist_dV_square, const colvar_grid_scalar *hist_count, colvar_grid_scalar *cumulant_expansion_factor) const
calculate the cumulant expansion to second order
Definition: colvarbias_histogram_reweight_amd.cpp:293
virtual int init(std::string const &conf) override
Parse config string and (re)initialize.
Definition: colvarbias_histogram_reweight_amd.cpp:18
virtual int write_exponential_reweighted_pmf(const std::string &p_output_prefix, bool keep_open=false)
output the PMF by the exponential average estimator
Definition: colvarbias_histogram_reweight_amd.cpp:144
virtual std::ostream & write_state_data(std::ostream &os) override
Write all mutable data not already written by get_state_params() to a formatted stream.
Definition: colvarbias_histogram_reweight_amd.cpp:331
bool b_write_gradients
Write gradients of the PMF?
Definition: colvarbias_histogram_reweight_amd.h:80
void hist_to_pmf(colvar_grid_scalar *hist, const colvar_grid_scalar *hist_count) const
convert histogram to PMF by taking logarithm and multiplying it with -1/beta
Definition: colvarbias_histogram_reweight_amd.cpp:242
size_t history_freq
Number of timesteps between recording data in history files (if non-zero)
Definition: colvarbias_histogram_reweight_amd.h:76
virtual int update() override
Definition: colvarbias_histogram_reweight_amd.cpp:50
virtual std::istream & read_state_data(std::istream &is) override
save and restore
Definition: colvarbias_histogram_reweight_amd.cpp:373
long long step_number
Use a 64-bit integer to store the step number.
Definition: colvarmodule.h:97
Definition: colvars_memstream.h:30