21 std::string reconfig_str;
22 std::string refE_update_scheme_str;
23 parameter_set_.
add(reconfig_str,
"reconfiguration", {
"no",
"yes",
"runwhileincorrect"});
24 parameter_set_.
add(
NonLocalMove,
"nonlocalmove", {
"no",
"yes",
"v0",
"v1",
"v3"});
25 parameter_set_.
add(
NonLocalMove,
"nonlocalmoves", {
"no",
"yes",
"v0",
"v1",
"v3"});
28 parameter_set_.
add(refE_update_scheme_str,
"refenergy_update_scheme", {
"unlimited_history",
"limited_history"});
45 if (reconfig_str ==
"yes")
46 throw std::runtime_error(
"Reconfiguration is currently broken and gives incorrect results. Use dynamic " 47 "population control by setting reconfiguration=\"no\" or removing the reconfiguration " 48 "option from the DMC input section. If accessing the broken reconfiguration code path " 49 "is still desired, set reconfiguration to \"runwhileincorrect\" instead of \"yes\".");
53 app_summary() <<
" Using Non-local T-moves v0, M. Casula, PRB 74, 161102(R) (2006)";
55 app_summary() <<
" Using Non-local T-moves v1, M. Casula et al., JCP 132, 154113 (2010)";
57 app_summary() <<
" Using Non-local T-moves v3, an approximation to v1";
64 throw std::runtime_error(
"Illegal input for MaxAge in DMC input section");
66 throw std::runtime_error(
"Illegal input for branchInterval or substeps in DMC input section");
69 throw std::runtime_error(
"You can only reserve walkers above the target walker count");
71 if (refE_update_scheme_str ==
"unlimited_history")
RealType reserve_
reserved walkers for population growth
double feedback_
feed back parameter for population control
helper functions for EinsplineSetBuilder
if(!okay) throw std xmlNodePtr node
std::ostream & app_summary()
IndexType branch_interval_
Do not write out blocks of gets for variables like this there is are code_generation tools in QMCPA...
DMCRefEnergyScheme refenergy_update_scheme_
input std::string to determine reference energy update scheme
bool reconfiguration_
reconfiguration flag
IndexType max_age_
input to control maximum age allowed for walkers.
bool put(std::istream &is) override
read from std::istream
Input representation for DMC driver class runtime parameters.
class to handle a set of parameters
std::ostream & operator<<(std::ostream &out, const AntiSymTensor< T, D > &rhs)
std::string NonLocalMove
input std::string to determine to use nonlocal move
void add(PDT &aparam, const std::string &aname_in, std::vector< PDT > candidate_values={}, TagStatus status=TagStatus::OPTIONAL)
add a new parameter corresponding to an xmlNode <parameter>
void readXML(xmlNodePtr xml_input)