12 #ifndef QMCPLUSPLUS_QMCDRIVERINTERFACE_H 13 #define QMCPLUSPLUS_QMCDRIVERINTERFACE_H 17 #include <libxml/parser.h> 26 class TrialWaveFunction;
38 virtual bool run() = 0;
39 virtual bool put(xmlNodePtr cur) = 0;
45 virtual void setStatus(
const std::string& aname,
const std::string& h5name,
bool append) = 0;
49 virtual void putWalkers(std::vector<xmlNodePtr>& wset) = 0;
50 virtual void putTraces(xmlNodePtr txml) = 0;
54 virtual void process(xmlNodePtr cur) = 0;
virtual unsigned long getDriverMode()=0
helper functions for EinsplineSetBuilder
QMCTraits::FullPrecRealType FullPrecRealType
virtual void setStatus(const std::string &aname, const std::string &h5name, bool append)=0
Collection of Local Energy Operators.
virtual void setUpdateMode(bool pbyp)=0
virtual const std::string & get_root_name() const =0
virtual bool put(xmlNodePtr cur)=0
virtual void process(xmlNodePtr cur)=0
Creates a common base class pointer for QMCDriver and QMCDriverNew to share.
virtual void putTraces(xmlNodePtr txml)=0
Manages the state of QMC sections and handles population control for DMCs.
virtual void recordBlock(int block)=0
virtual void requestWalkerLogs(bool allow_walker_logs_)=0
virtual QMCRunType getRunType()=0
virtual ~QMCDriverInterface()
virtual void setBranchEngine(std::unique_ptr< BranchEngineType > &&be)
virtual RandomBase< FullPrecRealType > & getRng(int i)=0
return the i-th random generator
virtual std::string getEngineName()=0
virtual std::unique_ptr< BranchEngineType > getBranchEngine()
Class to represent a many-body trial wave function.
virtual void putWalkerLogs(xmlNodePtr wlxml)=0
virtual void putWalkers(std::vector< xmlNodePtr > &wset)=0
declare a handler of DMC branching
QTFull::RealType FullPrecRealType
virtual void add_H_and_Psi(QMCHamiltonian *h, TrialWaveFunction *psi)=0
Declare a global Random Number Generator.
virtual void requestTraces(bool allow_traces)=0