15 #ifndef QMCPLUSPLUS_COSTFUNCTION_BATCHED_H 16 #define QMCPLUSPLUS_COSTFUNCTION_BATCHED_H 31 class CostFunctionCrowdData;
35 class LinearMethodTestSupport;
47 const std::vector<int>& walkers_per_crowd,
55 #ifdef HAVE_LMY_ENGINE 56 void engine_checkConfigurations(cqmc::engine::LMYEngine<Return_t>* EngineObj,
58 const std::string& MinMethod)
override;
62 void resetPsi(
bool final_reset =
false)
override;
63 void GradCost(std::vector<Return_rt>& PGradient,
const std::vector<Return_rt>& PM, Return_rt FiniteDiff = 0)
override;
92 #ifdef HAVE_LMY_ENGINE 93 size_t total_samples();
94 Return_rt LMYEngineCost_detail(cqmc::engine::LMYEngine<Return_t>* EngineObj)
override;
int rank_local_num_samples_
helper functions for EinsplineSetBuilder
~QMCCostFunctionBatched() override
Destructor.
void checkConfigurations(EngineHandle &handle) override
evaluate everything before optimization
Collection of Local Energy Operators.
QMCTraits::QTFull::RealType EffectiveWeight
Timer accumulates time and call counts.
void GradCost(std::vector< Return_rt > &PGradient, const std::vector< Return_rt > &PM, Return_rt FiniteDiff=0) override
Wrapping information on parallelism.
Specialized paritlce class for atomistic simulations.
std::vector< std::string > H_KE_node_names_
H components used in correlated sampling. It can be KE or KE+NLPP.
Implements wave-function optimization.
void resetPsi(bool final_reset=false) override
reset the wavefunction
EffectiveWeight correlatedSampling(bool needGrad=true) override
run correlated sampling return effective walkers ( w_i)^2/(Nw * w^2_i)
Matrix< Return_rt > HDerivRecords_
Class to represent a many-body trial wave function.
NewTimer & corr_sampling_timer_
Matrix< Return_rt > RecordsOnNode_
Manager class to handle multiple threads.
std::vector< int > walkers_per_crowd_
QMCCostFunctionBatched(ParticleSet &w, TrialWaveFunction &psi, QMCHamiltonian &h, SampleStack &samples, const std::vector< int > &walkers_per_crowd, Communicate *comm)
Constructor.
Matrix< Return_t > DerivRecords_
Temp derivative properties and Hderivative properties of all the walkers.
Return_rt fillOverlapHamiltonianMatrices(Matrix< Return_rt > &Left, Matrix< Return_rt > &Right) override
void getConfigurations(const std::string &aroot) override
NewTimer & check_config_timer_