![]() |
QMCPACK
|
Factory class to build a many-body wavefunction. More...
Public Types | |
using | PSetMap = std::map< std::string, const std::unique_ptr< ParticleSet > > |
![]() | |
using | mpi_comm_type = Communicate::mpi_comm_type |
Public Member Functions | |
WaveFunctionFactory (ParticleSet &qp, const PSetMap &pset, Communicate *c) | |
constructor More... | |
~WaveFunctionFactory () | |
destructor More... | |
std::unique_ptr< TrialWaveFunction > | buildTWF (xmlNodePtr cur, const RuntimeOptions &runtime_options) |
read from xmlNode More... | |
![]() | |
MPIObjectBase (Communicate *c) | |
constructor with communicator More... | |
int | rank () const |
return the rank of the communicator More... | |
int | getGroupID () const |
return the group id of the communicator More... | |
Communicate * | getCommunicator () const |
return myComm More... | |
Communicate & | getCommRef () const |
return a TEMPORARY reference to Communicate More... | |
mpi_comm_type | getMPI () const |
return MPI communicator if one wants to use MPI directly More... | |
bool | is_manager () const |
return true if the rank == 0 More... | |
const std::string & | getName () const |
return the name More... | |
void | setName (const std::string &aname) |
Static Public Member Functions | |
static std::unique_ptr< TrialWaveFunction > | buildEmptyTWFForTesting (const RuntimeOptions &runtime_options, const std::string_view name) |
create an empty TrialWaveFunction for testing use. More... | |
Private Member Functions | |
bool | addFermionTerm (TrialWaveFunction &psi, SPOSetBuilderFactory &spo_factory, xmlNodePtr cur) |
add Fermion wavefunction term More... | |
Private Attributes | |
ParticleSet & | targetPtcl |
many-body wavefunction object target ParticleSet More... | |
const PSetMap & | ptclPool |
reference to the PSetMap More... | |
Additional Inherited Members | |
![]() | |
Communicate * | myComm |
pointer to Communicate More... | |
std::string | ClassName |
class Name More... | |
std::string | myName |
name of the object More... | |
Factory class to build a many-body wavefunction.
Definition at line 31 of file WaveFunctionFactory.h.
using PSetMap = std::map<std::string, const std::unique_ptr<ParticleSet> > |
Definition at line 34 of file WaveFunctionFactory.h.
WaveFunctionFactory | ( | ParticleSet & | qp, |
const PSetMap & | pset, | ||
Communicate * | c | ||
) |
constructor
psiName | name for both the factory and psi |
qp | quantum particleset (aka target) |
pset | pool of particlesets |
c | communicator |
c | using tasking inside TWF |
Definition at line 36 of file WaveFunctionFactory.cpp.
References MPIObjectBase::ClassName.
|
default |
destructor
|
private |
add Fermion wavefunction term
Definition at line 172 of file WaveFunctionFactory.cpp.
References OhmmsAttributeSet::add(), MPIObjectBase::ClassName, MPIObjectBase::myComm, WaveFunctionFactory::ptclPool, OhmmsAttributeSet::put(), and WaveFunctionFactory::targetPtcl.
Referenced by WaveFunctionFactory::buildTWF().
|
inlinestatic |
create an empty TrialWaveFunction for testing use.
Definition at line 52 of file WaveFunctionFactory.h.
Referenced by qmcplusplus::TEST_CASE().
std::unique_ptr< TrialWaveFunction > buildTWF | ( | xmlNodePtr | cur, |
const RuntimeOptions & | runtime_options | ||
) |
read from xmlNode
Definition at line 44 of file WaveFunctionFactory.cpp.
References OhmmsAttributeSet::add(), WaveFunctionFactory::addFermionTerm(), APP_ABORT, qmcplusplus::app_log(), qmcplusplus::app_summary(), SPOSetBuilderFactory::buildSPOSetCollection(), MPIObjectBase::ClassName, WaveFunctionComponentBuilder::detset_tag, SPOSetBuilderFactory::exportSPOSets(), WaveFunctionComponentBuilder::ionorb_tag, WaveFunctionComponentBuilder::jastrow_tag, MPIObjectBase::myComm, WaveFunctionFactory::ptclPool, OhmmsAttributeSet::put(), putContent(), VariableSet::readFromHDF(), VariableSet::resetIndex(), and WaveFunctionFactory::targetPtcl.
Referenced by WaveFunctionPool::put(), qmcplusplus::setup_He_wavefunction(), and qmcplusplus::TEST_CASE().
|
private |
reference to the PSetMap
Definition at line 66 of file WaveFunctionFactory.h.
Referenced by WaveFunctionFactory::addFermionTerm(), and WaveFunctionFactory::buildTWF().
|
private |
many-body wavefunction object target ParticleSet
Definition at line 64 of file WaveFunctionFactory.h.
Referenced by WaveFunctionFactory::addFermionTerm(), and WaveFunctionFactory::buildTWF().