![]() |
QMCPACK
|
Factory class to build a many-body wavefunction. More...
Inheritance diagram for WaveFunctionFactory:
Collaboration diagram for WaveFunctionFactory:Public Types | |
| using | PSetMap = std::map< std::string, const std::unique_ptr< ParticleSet > > |
Public Types inherited from MPIObjectBase | |
| 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... | |
Public Member Functions inherited from MPIObjectBase | |
| 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 | |
Protected Attributes inherited from MPIObjectBase | |
| 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().