![]() |
QMCPACK
|
Public Member Functions | |
InitMolecularSystem (ParticleSetPool &pset, const char *aname="mosystem") | |
bool | get (std::ostream &os) const override |
write to a std::ostream More... | |
bool | put (std::istream &is) override |
read from std::istream More... | |
bool | put (xmlNodePtr cur) override |
read from an xmlNode More... | |
void | reset () override |
reset member data More... | |
void | initAtom (ParticleSet *ions, ParticleSet *els) |
initialize els for an atom More... | |
void | initMolecule (ParticleSet *ions, ParticleSet *els) |
initialize els position for a molecule More... | |
void | initWithVolume (ParticleSet *ions, ParticleSet *els) |
initialize els for the systems with a mixed boundary More... | |
![]() | |
OhmmsElementBase (const char *aname="none") | |
constructor with a name More... | |
virtual | ~OhmmsElementBase () |
destructor More... | |
const std::string & | getName () const |
return the name More... | |
void | setName (const std::string &aname) |
set name More... | |
void | setIOMode (int imode) |
set iomode More... | |
virtual bool | add (xmlNodePtr parent) |
add a xmlNode to the children list of parent More... | |
void | put (const std::string &s) |
read from string More... | |
virtual void | begin_node (std::ostream &os) const |
write the start of a node More... | |
virtual void | end_node (std::ostream &os) const |
write the end of a node More... | |
Private Attributes | |
ParticleSetPool & | ptclPool |
pointer to ParticleSetPool More... | |
Additional Inherited Members | |
![]() | |
enum | { useLIBXML = 0, useLIBXMLPP, usePLAIN } |
enumeration to choose the xml parser More... | |
![]() | |
int | myIOMode |
the type of IO mode: default is useLIBXML More... | |
std::string | myName |
the name of the node, corresponds to the xml tag More... | |
Definition at line 30 of file InitMolecularSystem.h.
InitMolecularSystem | ( | ParticleSetPool & | pset, |
const char * | aname = "mosystem" |
||
) |
Definition at line 32 of file InitMolecularSystem.cpp.
|
overridevirtual |
write to a std::ostream
Implements OhmmsElementBase.
Definition at line 272 of file InitMolecularSystem.cpp.
void initAtom | ( | ParticleSet * | ions, |
ParticleSet * | els | ||
) |
initialize els for an atom
Definition at line 73 of file InitMolecularSystem.cpp.
References ParticleSet::getTotalNum(), qmcplusplus::makeGaussRandom(), ParticleSet::R, and qmcplusplus::sqrt().
Referenced by InitMolecularSystem::initMolecule().
void initMolecule | ( | ParticleSet * | ions, |
ParticleSet * | els | ||
) |
initialize els position for a molecule
Use the valence of each ionic species on a sphere
Definition at line 95 of file InitMolecularSystem.cpp.
References ParticleSet::addTable(), ParticleSet::applyBC(), qmcplusplus::Cartesian, ParticleSet::first(), DistanceTableAA::getDistances(), ParticleSet::getDistTableAA(), ParticleSet::getLattice(), ParticleSet::getSpeciesSet(), ParticleSet::getTotalNum(), ParticleSet::GroupID, ParticleSet::groups(), InitMolecularSystem::initAtom(), ParticleSet::last(), qmcplusplus::makeSphereRandom(), omptarget::min(), ParticleSet::R, qmcplusplus::SUPERCELL_OPEN, and ParticleSet::update().
Referenced by InitMolecularSystem::put().
void initWithVolume | ( | ParticleSet * | ions, |
ParticleSet * | els | ||
) |
initialize els for the systems with a mixed boundary
Use the bound of the ionic systems and uniform random positions within a reduced box
Definition at line 213 of file InitMolecularSystem.cpp.
References qmcplusplus::abs(), qmcplusplus::app_log(), ParticleSet::applyBC(), qmcplusplus::Cartesian, ParticleSet::getLattice(), ParticleSet::getTotalNum(), qmcplusplus::Lattice, qmcplusplus::lower_bound(), qmcplusplus::makeUniformRandom(), omptarget::min(), OHMMS_DIM, ParticleSet::R, CrystalLattice< T, D >::set(), ParticleAttrib< T, Alloc >::setUnit(), and qmcplusplus::upper_bound().
Referenced by InitMolecularSystem::put().
|
overridevirtual |
read from std::istream
Implements OhmmsElementBase.
Definition at line 270 of file InitMolecularSystem.cpp.
Referenced by ParticleSetPool::randomize(), and QMCMain::validateXML().
|
overridevirtual |
read from an xmlNode
Implements OhmmsElementBase.
Definition at line 36 of file InitMolecularSystem.cpp.
References OhmmsAttributeSet::add(), qmcplusplus::app_log(), ERRORMSG, ParticleSetPool::getParticleSet(), InitMolecularSystem::initMolecule(), InitMolecularSystem::initWithVolume(), qmcplusplus::makeUniformRandom(), InitMolecularSystem::ptclPool, OhmmsAttributeSet::put(), and ParticleSet::spins.
|
overridevirtual |
reset member data
Implements OhmmsElementBase.
Definition at line 274 of file InitMolecularSystem.cpp.
|
private |
pointer to ParticleSetPool
QMCHamiltonian needs to know which ParticleSet object is used as an input object for the evaluations. Any number of ParticleSet can be used to describe a QMCHamiltonian.
Definition at line 62 of file InitMolecularSystem.h.
Referenced by InitMolecularSystem::put().