![]() |
QMCPACK
|
Inheritance diagram for LCAOSpinorBuilder:
Collaboration diagram for LCAOSpinorBuilder:Public Member Functions | |
| LCAOSpinorBuilder (ParticleSet &els, ParticleSet &ions, Communicate *comm, xmlNodePtr cur) | |
| constructor More... | |
| std::unique_ptr< SPOSet > | createSPOSetFromXML (xmlNodePtr cur) override |
| creates and returns SpinorSet More... | |
Public Member Functions inherited from LCAOrbitalBuilder | |
| LCAOrbitalBuilder (ParticleSet &els, ParticleSet &ions, Communicate *comm, xmlNodePtr cur) | |
| constructor More... | |
| ~LCAOrbitalBuilder () override | |
| const BasissetMap & | getBasissetMap () const |
Public Member Functions inherited from SPOSetBuilder | |
| SPOSetBuilder (const std::string &type_name, Communicate *comm) | |
| virtual | ~SPOSetBuilder () |
| void | reserve_states (int nsets=1) |
| reserve space for states (usually only one set, multiple for e.g. spin dependent einspline) More... | |
| void | modify_states (int index=0) |
| allow modification of state information More... | |
| void | clear_states (int index=0) |
| clear state information More... | |
| std::unique_ptr< SPOSet > | createSPOSet (xmlNodePtr cur) |
| create an sposet from xml and save the resulting SPOSet More... | |
| std::unique_ptr< SPOSet > | createRotatedSPOSet (xmlNodePtr cur) |
| create orbital rotation transformation from xml and save the resulting SPOSet More... | |
| const std::string & | getTypeName () const |
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) |
Private Member Functions | |
| bool | loadMO (LCAOrbitalSet &up, LCAOrbitalSet &dn, xmlNodePtr cur) |
| load the up and down MO sets More... | |
| bool | putFromH5 (LCAOrbitalSet &up, LCAOrbitalSet &dn, xmlNodePtr) |
| parse h5 file for spinor info More... | |
Additional Inherited Members | |
Public Types inherited from LCAOrbitalBuilder | |
| using | BasisSet_t = LCAOrbitalSet::basis_type |
| using | BasissetMap = std::map< std::string, std::unique_ptr< BasisSet_t > > |
Public Types inherited from SPOSetBuilder | |
| using | indices_t = std::vector< int > |
| using | energies_t = std::vector< RealType > |
Public Types inherited from QMCTraits | |
| enum | { DIM = OHMMS_DIM, DIM_VGL = OHMMS_DIM + 2 } |
| using | QTBase = QMCTypes< OHMMS_PRECISION, DIM > |
| using | QTFull = QMCTypes< OHMMS_PRECISION_FULL, DIM > |
| using | RealType = QTBase::RealType |
| using | ComplexType = QTBase::ComplexType |
| using | ValueType = QTBase::ValueType |
| using | PosType = QTBase::PosType |
| using | GradType = QTBase::GradType |
| using | TensorType = QTBase::TensorType |
| using | IndexType = OHMMS_INDEXTYPE |
| define other types More... | |
| using | FullPrecRealType = QTFull::RealType |
| using | FullPrecValueType = QTFull::ValueType |
| using | PropertySetType = RecordNamedProperty< FullPrecRealType > |
| define PropertyList_t More... | |
| using | PtclGrpIndexes = std::vector< std::pair< int, int > > |
Public Types inherited from MPIObjectBase | |
| using | mpi_comm_type = Communicate::mpi_comm_type |
Public Attributes inherited from SPOSetBuilder | |
| bool | legacy |
| whether implementation conforms only to legacy standard More... | |
| std::vector< std::unique_ptr< SPOSetInfo > > | states |
| state info of all possible states available in the basis More... | |
Protected Member Functions inherited from LCAOrbitalBuilder | |
| template<int I, int J> | |
| BasisSet_t * | createBasisSet (xmlNodePtr cur) |
| create basis set More... | |
| template<int I, int J> | |
| BasisSet_t * | createBasisSetH5 () |
| bool | loadMO (LCAOrbitalSet &spo, xmlNodePtr cur) |
| Parse the xml file for information on the Dirac determinants. More... | |
| bool | putOccupation (LCAOrbitalSet &spo, xmlNodePtr occ_ptr) |
| bool | putFromXML (LCAOrbitalSet &spo, xmlNodePtr coeff_ptr) |
| bool | putFromH5 (LCAOrbitalSet &spo, xmlNodePtr coeff_ptr) |
| read data from a hdf5 file More... | |
| bool | putPBCFromH5 (LCAOrbitalSet &spo, xmlNodePtr coeff_ptr) |
| read data from a hdf5 file More... | |
| void | LoadFullCoefsFromH5 (hdf_archive &hin, int setVal, PosType &SuperTwist, Matrix< std::complex< RealType >> &Ctemp, bool MultiDet) |
| void | LoadFullCoefsFromH5 (hdf_archive &hin, int setVal, PosType &SuperTwist, Matrix< RealType > &Creal, bool Multidet) |
| void | EvalPeriodicImagePhaseFactors (PosType SuperTwist, Vector< RealType, OffloadPinnedAllocator< RealType >> &LocPeriodicImagePhaseFactors, Array< RealType, 2, OffloadPinnedAllocator< RealType >> &LocPeriodicImageDisplacements) |
| Periodic Image Phase Factors computation to be determined. More... | |
| void | EvalPeriodicImagePhaseFactors (PosType SuperTwist, Vector< std::complex< RealType >, OffloadPinnedAllocator< std::complex< RealType >>> &LocPeriodicImagePhaseFactors, Array< RealType, 2, OffloadPinnedAllocator< RealType >> &LocPeriodicImageDisplacements) |
| void | readRealMatrixFromH5 (hdf_archive &hin, const std::string &setname, Matrix< LCAOrbitalBuilder::RealType > &Creal) const |
| read matrix from h5 file More... | |
Protected Member Functions inherited from SPOSetBuilder | |
| virtual std::unique_ptr< SPOSet > | createSPOSet (xmlNodePtr cur, SPOSetInputInfo &input_info) |
| create an sposet from a general xml request More... | |
Protected Attributes inherited from LCAOrbitalBuilder | |
| ParticleSet & | targetPtcl |
| target ParticleSet More... | |
| ParticleSet & | sourcePtcl |
| source ParticleSet More... | |
| std::map< std::string, std::unique_ptr< BasisSet_t > > | basisset_map_ |
| localized basis set map More... | |
| bool | cuspCorr |
| if true, add cusp correction to orbitals More... | |
| std::string | h5_path |
| Path to HDF5 Wavefunction. More... | |
| TinyVector< int, 3 > | PBCImages |
| Number of periodic Images for Orbital evaluation. More... | |
| PosType | SuperTwist |
| Coordinates Super Twist. More... | |
| Vector< ValueType, OffloadPinnedAllocator< ValueType > > | PeriodicImagePhaseFactors |
| Periodic Image Phase Factors. Correspond to the phase from the PBCImages. Computed only once. More... | |
| Array< RealType, 2, OffloadPinnedAllocator< RealType > > | PeriodicImageDisplacements |
| Tensor< double, 3 > | Lattice |
| Store Lattice parameters from HDF5 to use in PeriodicImagePhaseFactors. More... | |
| bool | doCuspCorrection |
| Enable cusp correction. More... | |
| std::string | useGPU |
| Captured gpu input string. More... | |
| Vector< RealType > | Occ |
| occupation number More... | |
Protected Attributes inherited from SPOSetBuilder | |
| const std::string | type_name_ |
| type name of the SPO objects built by this builder. More... | |
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... | |
Definition at line 26 of file LCAOSpinorBuilder.h.
| LCAOSpinorBuilder | ( | ParticleSet & | els, |
| ParticleSet & | ions, | ||
| Communicate * | comm, | ||
| xmlNodePtr | cur | ||
| ) |
constructor
| els | reference to the electrons |
| ions | reference to the ions |
Derives from LCAOrbitalBuilder, but will require an h5_path to be set
Definition at line 21 of file LCAOSpinorBuilder.cpp.
References Communicate::barrier_and_abort(), MPIObjectBase::ClassName, LCAOrbitalBuilder::h5_path, and MPIObjectBase::myComm.
|
overridevirtual |
creates and returns SpinorSet
Creates an up and down LCAOrbitalSet calls LCAOSpinorBuilder::loadMO to build up and down from the H5 file registers up and down into a SpinorSet and returns
Reimplemented from LCAOrbitalBuilder.
Definition at line 30 of file LCAOSpinorBuilder.cpp.
References OhmmsAttributeSet::add(), qmcplusplus::app_log(), Communicate::barrier_and_abort(), LCAOrbitalBuilder::basisset_map_, MPIObjectBase::ClassName, LCAOSpinorBuilder::loadMO(), SoaBasisSetBase< T >::makeClone(), MPIObjectBase::myComm, and OhmmsAttributeSet::put().
|
private |
load the up and down MO sets
checks to make sure not PBC and initialize the Occ vector. call putFromH5 to parse the up and down MO coefficients
Definition at line 66 of file LCAOSpinorBuilder.cpp.
References OhmmsAttributeSet::add(), qmcplusplus::app_log(), Communicate::barrier_and_abort(), Communicate::bcast(), LCAOrbitalSet::C, hdf_archive::close(), LCAOrbitalBuilder::h5_path, MPIObjectBase::myComm, hdf_archive::open(), hdf_archive::push(), OhmmsAttributeSet::put(), LCAOSpinorBuilder::putFromH5(), Communicate::rank(), and hdf_archive::read().
Referenced by LCAOSpinorBuilder::createSPOSetFromXML().
|
private |
parse h5 file for spinor info
assumes the h5 file has KPTS_0/eigenset_0(_imag) for the real/imag part of up component of spinor assumes the h5 file as KPTS_0/eigenset_1(_imag) for the real/imag part of dn component of spinor reads the various coefficient matricies and broadcast after this, we have up/dn LCAOrbitalSet that can be registered to the SpinorSet
Definition at line 115 of file LCAOSpinorBuilder.cpp.
References Communicate::barrier_and_abort(), LCAOrbitalSet::C, hdf_archive::close(), Matrix< T, Alloc >::cols(), copy(), LCAOrbitalSet::getBasisSetSize(), SPOSet::getOrbitalSetSize(), LCAOrbitalBuilder::h5_path, MPIObjectBase::myComm, qmcplusplus::n, LCAOrbitalBuilder::Occ, hdf_archive::open(), LCAOrbitalBuilder::putOccupation(), Communicate::rank(), LCAOrbitalBuilder::readRealMatrixFromH5(), Vector< T, Alloc >::resize(), and Matrix< T, Alloc >::rows().
Referenced by LCAOSpinorBuilder::loadMO().