Reduce header entanglement.

This commit is contained in:
Ye Luo 2020-01-05 16:44:35 +08:00
parent 8e04b2fdd0
commit 6bd40e2e83
2 changed files with 34 additions and 22 deletions

View File

@ -19,7 +19,8 @@
#include "QMCHamiltonians/QMCHamiltonian.h"
#include "Particle/WalkerSetRef.h"
#include "Particle/DistanceTableData.h"
#include "QMCHamiltonians/NonLocalECPComponent.h"
#include "QMCWaveFunctions/TrialWaveFunction.h"
#include "QMCHamiltonians/NonLocalECPotential.h"
#include "Utilities/NewTimer.h"
#ifdef QMC_CUDA
#include "Particle/MCWalkerConfiguration.h"
@ -782,6 +783,33 @@ void QMCHamiltonian::setRandomGenerator(RandomGenerator_t* rng)
nlpp_ptr->setRandomGenerator(rng);
}
void QMCHamiltonian::setNonLocalMoves(xmlNodePtr cur)
{
if (nlpp_ptr != nullptr)
nlpp_ptr->setNonLocalMoves(cur);
}
void QMCHamiltonian::setNonLocalMoves(const std::string& non_local_move_option,
const double tau,
const double alpha,
const double gamma)
{
if (nlpp_ptr != nullptr)
nlpp_ptr->setNonLocalMoves(non_local_move_option,
tau,
alpha,
gamma);
}
int QMCHamiltonian::makeNonLocalMoves(ParticleSet& P)
{
if (nlpp_ptr == nullptr)
return 0;
else
return nlpp_ptr->makeNonLocalMovesPbyP(P);
}
std::vector<int> QMCHamiltonian::flex_makeNonLocalMoves(RefVector<QMCHamiltonian>& h_list,
RefVector<ParticleSet>& p_list)
{

View File

@ -21,7 +21,6 @@
#define QMCPLUSPLUS_HAMILTONIAN_H
#include "Configuration.h"
#include <QMCHamiltonians/OperatorBase.h>
#include "QMCHamiltonians/NonLocalECPotential.h"
#if !defined(REMOVE_TRACEMANAGER)
#include <Estimators/TraceManager.h>
#endif
@ -31,6 +30,7 @@ namespace qmcplusplus
class MCWalkerConfiguration;
class NewTimer;
class HamiltonianFactory;
class NonLocalECPotential;
/** Collection of Local Energy Operators
*
@ -270,34 +270,18 @@ public:
/** set non local moves options
* @param cur the xml input
*/
void setNonLocalMoves(xmlNodePtr cur)
{
if (nlpp_ptr != nullptr)
nlpp_ptr->setNonLocalMoves(cur);
}
void setNonLocalMoves(xmlNodePtr cur);
void setNonLocalMoves(const std::string& non_local_move_option,
const double tau,
const double alpha,
const double gamma)
{
if (nlpp_ptr != nullptr)
nlpp_ptr->setNonLocalMoves(non_local_move_option,
tau,
alpha,
gamma);
}
const double gamma);
/** make non local moves
* @param P particle set
* @return the number of accepted moves
*/
int makeNonLocalMoves(ParticleSet& P)
{
if (nlpp_ptr == nullptr)
return 0;
else
return nlpp_ptr->makeNonLocalMovesPbyP(P);
}
int makeNonLocalMoves(ParticleSet& P);
static std::vector<int> flex_makeNonLocalMoves(RefVector<QMCHamiltonian>& h_list, RefVector<ParticleSet>& p_list);
/** evaluate energy