30 app_log() <<
" Creating WalkerController: target number of walkers = " << nwtot << std::endl;
33 std::string reconfigopt(
"no");
35 m_param.
add(nwtot,
"targetWalkers");
36 m_param.
add(nwtot,
"targetwalkers");
37 m_param.
add(nmax,
"max_walkers");
38 m_param.
add(reconfigopt,
"reconfiguration");
44 if (reconfigopt !=
"no" && reconfigopt !=
"runwhileincorrect")
45 throw std::runtime_error(
"Reconfiguration is currently broken and gives incorrect results. Use dynamic " 46 "population control by setting reconfiguration=\"no\" or removing the reconfiguration " 47 "option from the DMC input section. If accessing the broken reconfiguration code path " 48 "is still desired, set reconfiguration to \"runwhileincorrect\" instead of \"yes\".");
50 bool fixw = (reconfig || reconfigopt ==
"runwhileincorrect");
54 nwtot = nwloc * ncontexts;
61 app_log() <<
" Using WalkerReconfigurationMPI for population control." << std::endl;
66 app_log() <<
" Using WalkerControlMPI for dynamic population control." << std::endl;
75 app_log() <<
" Using WalkerReconfiguration for population control." << std::endl;
80 app_log() <<
" Using WalkerControlBase for dynamic population control." << std::endl;
helper functions for EinsplineSetBuilder
Class to handle walker controls with simple global sum.
int size() const
return the number of tasks
bool put(std::istream &is) override
read from std::istream
Wrapping information on parallelism.
Class to handle walker controls with simple global sum.
class to handle a set of parameters
omp_int_t omp_get_max_threads()
Class to handle walker controls with simple global sum.
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 setMinMax(int nw_in, int nmax_in)
Base class to control the walkers for DMC simulations.
WalkerControlBase * createWalkerController(int nwtot, Communicate *comm, xmlNodePtr cur, bool reconfig)
function to create WalkerControlBase or its derived class
void set_method(IndexType method)
Declaration of QMCHamiltonian.