![]()  | 
  
    QMCPACK
    
   | 
 
 Inheritance diagram for InitMolecularSystem:
 Collaboration diagram for InitMolecularSystem: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... | |
  Public Member Functions inherited from OhmmsElementBase | |
| 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 | |
  Public Types inherited from OhmmsElementBase | |
| enum | { useLIBXML = 0, useLIBXMLPP, usePLAIN } | 
| enumeration to choose the xml parser  More... | |
  Protected Attributes inherited from OhmmsElementBase | |
| 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().