![]() |
QMCPACK
|
Inheritance diagram for MomentumEstimator:
Collaboration diagram for MomentumEstimator:Public Member Functions | |
| MomentumEstimator (ParticleSet &elns, TrialWaveFunction &psi) | |
| bool | dependsOnWaveFunction () const override |
| return true if this operator depends on a wavefunction More... | |
| std::string | getClassName () const override |
| return class name More... | |
| void | resetTargetParticleSet (ParticleSet &P) override |
| Reset the data with the target ParticleSet. More... | |
| Return_t | evaluate (ParticleSet &P) override |
| Evaluate the local energy contribution of this component. More... | |
| void | addObservables (PropertySetType &plist) |
| void | addObservables (PropertySetType &plist, BufferType &olist) override |
| named values to the property list Default implementaton uses addValue(plist_) More... | |
| void | registerCollectables (std::vector< ObservableHelper > &h5desc, hdf_archive &file) const override |
| void | setObservables (PropertySetType &plist) override |
| Set the values evaluated by this object to plist Default implementation is to assign Value which is updated by evaluate function using my_index_. More... | |
| void | setParticlePropertyList (PropertySetType &plist, int offset) override |
| bool | putSpecial (xmlNodePtr cur, ParticleSet &elns, bool rootNode) |
| bool | put (xmlNodePtr cur) override |
| Read the input parameter. More... | |
| bool | get (std::ostream &os) const override |
| write about the class More... | |
| std::unique_ptr< OperatorBase > | makeClone (ParticleSet &qp, TrialWaveFunction &psi) final |
| void | setRandomGenerator (RandomBase< FullPrecRealType > *rng) override |
| Set the Random Generator object TODO: add docs. More... | |
| void | resize (const std::vector< PosType > &kin, const int Min) |
Public Member Functions inherited from OperatorBase | |
| OperatorBase () | |
| Construct a new Operator Base object Default and unique empty constructor. More... | |
| virtual | ~OperatorBase ()=default |
| std::bitset< 8 > & | getUpdateMode () noexcept |
| get update_mode_ reference More... | |
| Return_t | getValue () const noexcept |
| get a copy of value_ More... | |
| std::string | getName () const noexcept |
| getter a copy of my_name_, rvalue small string optimization More... | |
| void | setName (const std::string name) noexcept |
| Set my_name member, uses small string optimization (pass by value) More... | |
| TraceRequest & | getRequest () noexcept |
| Get request_ member. More... | |
| virtual void | registerObservables (std::vector< ObservableHelper > &h5desc, hdf_archive &file) const |
| add to observable descriptor for hdf5 The default implementation is to register a scalar for this->value_ More... | |
| virtual void | setHistories (Walker_t &ThisWalker) |
| virtual Return_t | evaluateDeterministic (ParticleSet &P) |
| Evaluate the local energy contribution of this component, deterministically based on current state. More... | |
| virtual void | mw_evaluate (const RefVectorWithLeader< OperatorBase > &o_list, const RefVectorWithLeader< TrialWaveFunction > &wf_list, const RefVectorWithLeader< ParticleSet > &p_list) const |
| Evaluate the contribution of this component of multiple walkers. More... | |
| virtual void | mw_evaluatePerParticle (const RefVectorWithLeader< OperatorBase > &o_list, const RefVectorWithLeader< TrialWaveFunction > &wf_list, const RefVectorWithLeader< ParticleSet > &p_list, const std::vector< ListenerVector< RealType >> &listeners, const std::vector< ListenerVector< RealType >> &listeners_ions) const |
| Evaluate the contribution of this component of multiple walkers per particle and report to registerd listeners from objects in Estimators. More... | |
| virtual void | mw_evaluateWithParameterDerivatives (const RefVectorWithLeader< OperatorBase > &o_list, const RefVectorWithLeader< ParticleSet > &p_list, const opt_variables_type &optvars, const RecordArray< ValueType > &dlogpsi, RecordArray< ValueType > &dhpsioverpsi) const |
| TODO: add docs. More... | |
| virtual Return_t | rejectedMove (ParticleSet &P) |
| TODO: add docs. More... | |
| virtual Return_t | evaluateWithToperator (ParticleSet &P) |
| Evaluate the local energy contribution of this component with Toperators updated if requested. More... | |
| virtual void | mw_evaluateWithToperator (const RefVectorWithLeader< OperatorBase > &o_list, const RefVectorWithLeader< TrialWaveFunction > &wf_list, const RefVectorWithLeader< ParticleSet > &p_list) const |
| Evaluate the contribution of this component of multiple walkers. More... | |
| virtual void | mw_evaluatePerParticleWithToperator (const RefVectorWithLeader< OperatorBase > &o_list, const RefVectorWithLeader< TrialWaveFunction > &wf_list, const RefVectorWithLeader< ParticleSet > &p_list, const std::vector< ListenerVector< RealType >> &listeners, const std::vector< ListenerVector< RealType >> &listeners_ions) const |
| Evaluate the contribution of this component of multiple walkers per particle and report to registerd listeners from objects in Estimators. More... | |
| virtual Return_t | evaluateValueAndDerivatives (ParticleSet &P, const opt_variables_type &optvars, const Vector< ValueType > &dlogpsi, Vector< ValueType > &dhpsioverpsi) |
| Evaluate value and derivatives wrt the optimizables. More... | |
| virtual Return_t | evaluateWithIonDerivs (ParticleSet &P, ParticleSet &ions, TrialWaveFunction &psi, ParticleSet::ParticlePos &hf_term, ParticleSet::ParticlePos &pulay_term) |
| Evaluate contribution to local energy and derivatives w.r.t ionic coordinates from OperatorBase. More... | |
| virtual Return_t | evaluateWithIonDerivsDeterministic (ParticleSet &P, ParticleSet &ions, TrialWaveFunction &psi, ParticleSet::ParticlePos &hf_term, ParticleSet::ParticlePos &pulay_term) |
| Evaluate contribution to local energy and derivatives w.r.t ionic coordinates from OperatorBase. More... | |
| virtual void | evaluateOneBodyOpMatrix (ParticleSet &P, const TWFFastDerivWrapper &psi, std::vector< ValueMatrix > &B) |
| Evaluate "B" matrix for observable. More... | |
| virtual void | evaluateOneBodyOpMatrixForceDeriv (ParticleSet &P, ParticleSet &source, const TWFFastDerivWrapper &psi, const int iat, std::vector< std::vector< ValueMatrix >> &Bforce) |
| Evaluate "dB/dR" matrices for observable. More... | |
| virtual void | updateSource (ParticleSet &s) |
| Update data associated with a particleset. More... | |
| virtual Return_t | getEnsembleAverage () |
| Return an average value by collective operation. More... | |
| virtual void | createResource (ResourceCollection &collection) const |
| Initialize a shared resource and hand it to a collection. More... | |
| virtual void | acquireResource (ResourceCollection &collection, const RefVectorWithLeader< OperatorBase > &o_list) const |
| Acquire a shared resource from a collection. More... | |
| virtual void | releaseResource (ResourceCollection &collection, const RefVectorWithLeader< OperatorBase > &o_list) const |
| Return a shared resource to a collection. More... | |
| virtual void | add2Hamiltonian (ParticleSet &qp, TrialWaveFunction &psi, QMCHamiltonian &targetH) |
| TODO: add docs. More... | |
| virtual void | getRequiredTraces (TraceManager &tm) |
| TODO: add docs. More... | |
| virtual void | informOfPerParticleListener () |
| bool | isClassical () const noexcept |
| bool | isQuantum () const noexcept |
| bool | isClassicalClassical () const noexcept |
| bool | isQuantumClassical () const noexcept |
| bool | isQuantumQuantum () const noexcept |
| bool | getMode (const int i) const noexcept |
| Return the mode i. More... | |
| bool | isNonLocal () const noexcept |
| TODO: add docs. More... | |
| bool | hasListener () const noexcept |
| void | contributeTraceQuantities () |
| Make trace quantities available. More... | |
| void | checkoutTraceQuantities (TraceManager &tm) |
| Checkout trace arrays Derived classes must guard individual checkouts using request info. More... | |
| void | collectScalarTraces () |
| Collect scalar trace data. More... | |
| void | deleteTraceQuantities () |
| delete trace arrays More... | |
Public Attributes | |
| int | M |
| number of samples More... | |
| TrialWaveFunction & | refPsi |
| reference to the trial wavefunction for ratio evaluations More... | |
| const ParticleSet::ParticleLayout & | lattice_ |
| lattice vector More... | |
| RealType | norm_nofK |
| normalization factor for n(k) More... | |
| std::unique_ptr< RandomBase< FullPrecRealType > > | myRNG |
| random generator More... | |
| std::vector< PosType > | vPos |
| sample positions More... | |
| std::vector< ValueType > | psi_ratios |
| wavefunction ratios More... | |
| Matrix< ValueType > | psi_ratios_all |
| wavefunction ratios all samples More... | |
| Vector< RealType > | kdotp |
| nofK internal More... | |
| VectorSoaContainer< RealType, 2 > | phases |
| phases More... | |
| std::vector< VectorSoaContainer< RealType, 2 > > | phases_vPos |
| phases of vPos More... | |
| std::vector< PosType > | kPoints |
| list of k-points in Cartesian Coordinates More... | |
| std::vector< int > | kWeights |
| weight of k-points (make use of symmetry) More... | |
| aligned_vector< RealType > | nofK |
| nofK More... | |
| bool | hdf5_out |
| print to hdf5 or scalar.dat More... | |
| PosType | twist |
Additional Inherited Members | |
Public Types inherited from OperatorBase | |
| enum | EnergyDomains { KINETIC = 0, POTENTIAL, NO_ENERGY_DOMAIN } |
| enum to denote energy domain of operators More... | |
| enum | QuantumDomains { NO_QUANTUM_DOMAIN = 0, CLASSICAL, QUANTUM, CLASSICAL_CLASSICAL, QUANTUM_CLASSICAL, QUANTUM_QUANTUM } |
| enum | { PRIMARY = 0, OPTIMIZABLE = 1, RATIOUPDATE = 2, PHYSICAL = 3, COLLECTABLE = 4, NONLOCAL = 5 } |
| enum for update_mode More... | |
| using | Return_t = FullPrecRealType |
| type of return value of evaluate More... | |
| using | ValueMatrix = SPOSet::ValueMatrix |
| For fast derivative evaluation. More... | |
| using | GradMatrix = SPOSet::GradMatrix |
| using | BufferType = ParticleSet::Buffer_t |
| typedef for the serialized buffer More... | |
| using | Walker_t = ParticleSet::Walker_t |
| typedef for the walker More... | |
| using | ParticleScalar = ParticleSet::Scalar_t |
| typedef for the ParticleScalar More... | |
| using | SPOMap = SPOSet::SPOMap |
| typedef for SPOMap More... | |
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 > > |
Protected Member Functions inherited from OperatorBase | |
| virtual void | contributeScalarQuantities () |
| virtual void | checkoutScalarQuantities (TraceManager &tm) |
| virtual void | collectScalarQuantities () |
| virtual void | deleteScalarQuantities () |
| virtual void | contributeParticleQuantities () |
| virtual void | checkoutParticleQuantities (TraceManager &tm) |
| virtual void | deleteParticleQuantities () |
| virtual void | setComputeForces (bool compute) |
| void | setEnergyDomain (EnergyDomains edomain) |
| Set the Energy Domain. More... | |
| void | setQuantumDomain (QuantumDomains qdomain) |
| set quantum domain More... | |
| void | oneBodyQuantumDomain (const ParticleSet &P) |
| set quantum domain for one-body operator More... | |
| void | twoBodyQuantumDomain (const ParticleSet &P) |
| set quantum domain for two-body operator More... | |
| void | twoBodyQuantumDomain (const ParticleSet &P1, const ParticleSet &P2) |
| set quantum domain for two-body operator More... | |
| void | addValue (PropertySetType &plist) |
| named values to the property list More... | |
Protected Attributes inherited from OperatorBase | |
| std::bitset< 8 > | update_mode_ |
| set the current update mode More... | |
| Return_t | value_ |
| current value More... | |
| std::string | name_ |
| name of this object More... | |
| TraceRequest | request_ |
| whether traces are being collected More... | |
| int | my_index_ |
| starting index of this object More... | |
| Return_t | new_value_ |
| a new value for a proposed move More... | |
| Walker_t * | t_walker_ |
| reference to the current walker More... | |
| bool | streaming_particles_ |
| bool | have_required_traces_ |
Definition at line 20 of file MomentumEstimator.h.
| MomentumEstimator | ( | ParticleSet & | elns, |
| TrialWaveFunction & | psi | ||
| ) |
Definition at line 31 of file MomentumEstimator.cpp.
References OperatorBase::COLLECTABLE, ParticleSet::getTotalNum(), ParticleSet::getTwist(), MomentumEstimator::psi_ratios, MomentumEstimator::twist, and OperatorBase::update_mode_.
|
inline |
Definition at line 30 of file MomentumEstimator.h.
|
overridevirtual |
named values to the property list Default implementaton uses addValue(plist_)
| plist | RecordNameProperty |
| collectables | Observables that are accumulated by evaluate |
Reimplemented from OperatorBase.
Definition at line 117 of file MomentumEstimator.cpp.
References PooledData< T >::add(), RecordNamedProperty< T >::add(), MomentumEstimator::hdf5_out, OperatorBase::my_index_, MomentumEstimator::nofK, PooledData< T >::size(), and RecordNamedProperty< T >::size().
|
inlineoverridevirtual |
return true if this operator depends on a wavefunction
Reimplemented from OperatorBase.
Definition at line 24 of file MomentumEstimator.h.
|
overridevirtual |
Evaluate the local energy contribution of this component.
| P | input configuration containing N particles |
Implements OperatorBase.
Definition at line 41 of file MomentumEstimator.cpp.
References ParticleSet::Collectables, Vector< T, Alloc >::data(), VectorSoaContainer< T, D, Alloc >::data(), qmcplusplus::dot(), eval_e2iphi(), TrialWaveFunction::evaluateRatiosAlltoOne(), OMPstd::fill_n(), ParticleSet::getTotalNum(), MomentumEstimator::hdf5_out, MomentumEstimator::kdotp, MomentumEstimator::kPoints, MomentumEstimator::lattice_, MomentumEstimator::M, ParticleSet::makeVirtualMoves(), OperatorBase::my_index_, MomentumEstimator::myRNG, MomentumEstimator::nofK, MomentumEstimator::norm_nofK, OHMMS_DIM, MomentumEstimator::phases, MomentumEstimator::phases_vPos, MomentumEstimator::psi_ratios, MomentumEstimator::psi_ratios_all, ParticleSet::R, MomentumEstimator::refPsi, qmcplusplus::Units::time::s, OperatorBase::t_walker_, CrystalLattice< T, D >::toCart(), MomentumEstimator::vPos, and Walker< t_traits, p_traits >::Weight.
|
overridevirtual |
write about the class
Implements OperatorBase.
Definition at line 424 of file MomentumEstimator.cpp.
|
inlineoverridevirtual |
|
finalvirtual |
Implements OperatorBase.
Definition at line 426 of file MomentumEstimator.cpp.
References MomentumEstimator::hdf5_out, MomentumEstimator::kPoints, MomentumEstimator::M, OperatorBase::my_index_, and MomentumEstimator::norm_nofK.
|
inlineoverridevirtual |
Read the input parameter.
| cur | xml node for a OperatorBase object |
Implements OperatorBase.
Definition at line 36 of file MomentumEstimator.h.
| bool putSpecial | ( | xmlNodePtr | cur, |
| ParticleSet & | elns, | ||
| bool | rootNode | ||
| ) |
dims of a grid for generating k points (obtained below)
Definition at line 153 of file MomentumEstimator.cpp.
References OhmmsAttributeSet::add(), qmcplusplus::app_log(), qmcplusplus::dot(), ParticleSet::getLattice(), ParticleSet::getTotalNum(), MomentumEstimator::hdf5_out, CrystalLattice< T, D >::k_cart(), MomentumEstimator::kdotp, MomentumEstimator::kPoints, MomentumEstimator::lattice_, MomentumEstimator::M, MomentumEstimator::nofK, MomentumEstimator::norm_nofK, OHMMS_DIM, MomentumEstimator::phases, MomentumEstimator::phases_vPos, pi, qmcplusplus::pow(), MomentumEstimator::psi_ratios, MomentumEstimator::psi_ratios_all, OhmmsAttributeSet::put(), MomentumEstimator::resize(), Matrix< T, Alloc >::resize(), VectorSoaContainer< T, D, Alloc >::resize(), Vector< T, Alloc >::resize(), qmcplusplus::sqrt(), MomentumEstimator::twist, and MomentumEstimator::vPos.
|
overridevirtual |
Reimplemented from OperatorBase.
Definition at line 100 of file MomentumEstimator.cpp.
References MomentumEstimator::hdf5_out, MomentumEstimator::kPoints, MomentumEstimator::kWeights, OperatorBase::my_index_, and MomentumEstimator::nofK.
|
overridevirtual |
Reset the data with the target ParticleSet.
| P | new target ParticleSet |
Implements OperatorBase.
Definition at line 39 of file MomentumEstimator.cpp.
| void resize | ( | const std::vector< PosType > & | kin, |
| const int | Min | ||
| ) |
Definition at line 436 of file MomentumEstimator.cpp.
References MomentumEstimator::kdotp, MomentumEstimator::kPoints, MomentumEstimator::M, MomentumEstimator::nofK, MomentumEstimator::phases, MomentumEstimator::phases_vPos, MomentumEstimator::psi_ratios, MomentumEstimator::psi_ratios_all, Matrix< T, Alloc >::resize(), VectorSoaContainer< T, D, Alloc >::resize(), Vector< T, Alloc >::resize(), and MomentumEstimator::vPos.
Referenced by MomentumEstimator::putSpecial().
|
overridevirtual |
Set the values evaluated by this object to plist Default implementation is to assign Value which is updated by evaluate function using my_index_.
| plist | RecordNameProperty |
Reimplemented from OperatorBase.
Definition at line 137 of file MomentumEstimator.cpp.
References RecordNamedProperty< T >::begin(), copy(), MomentumEstimator::hdf5_out, OperatorBase::my_index_, and MomentumEstimator::nofK.
|
overridevirtual |
Reimplemented from OperatorBase.
Definition at line 145 of file MomentumEstimator.cpp.
References RecordNamedProperty< T >::begin(), copy(), MomentumEstimator::hdf5_out, OperatorBase::my_index_, and MomentumEstimator::nofK.
|
overridevirtual |
Set the Random Generator object TODO: add docs.
| rng |
Reimplemented from OperatorBase.
Definition at line 452 of file MomentumEstimator.cpp.
References RandomBase< T >::makeClone(), and MomentumEstimator::myRNG.
| bool hdf5_out |
print to hdf5 or scalar.dat
Definition at line 71 of file MomentumEstimator.h.
Referenced by MomentumEstimator::addObservables(), MomentumEstimator::evaluate(), MomentumEstimator::makeClone(), MomentumEstimator::putSpecial(), MomentumEstimator::registerCollectables(), MomentumEstimator::setObservables(), and MomentumEstimator::setParticlePropertyList().
nofK internal
Definition at line 59 of file MomentumEstimator.h.
Referenced by MomentumEstimator::evaluate(), MomentumEstimator::putSpecial(), and MomentumEstimator::resize().
| std::vector<PosType> kPoints |
list of k-points in Cartesian Coordinates
Definition at line 65 of file MomentumEstimator.h.
Referenced by MomentumEstimator::evaluate(), MomentumEstimator::makeClone(), MomentumEstimator::putSpecial(), MomentumEstimator::registerCollectables(), and MomentumEstimator::resize().
| std::vector<int> kWeights |
weight of k-points (make use of symmetry)
Definition at line 67 of file MomentumEstimator.h.
Referenced by MomentumEstimator::registerCollectables().
| const ParticleSet::ParticleLayout& lattice_ |
lattice vector
Definition at line 47 of file MomentumEstimator.h.
Referenced by MomentumEstimator::evaluate(), and MomentumEstimator::putSpecial().
| int M |
number of samples
Definition at line 43 of file MomentumEstimator.h.
Referenced by MomentumEstimator::evaluate(), MomentumEstimator::makeClone(), MomentumEstimator::putSpecial(), and MomentumEstimator::resize().
| std::unique_ptr<RandomBase<FullPrecRealType> > myRNG |
random generator
Definition at line 51 of file MomentumEstimator.h.
Referenced by MomentumEstimator::evaluate(), and MomentumEstimator::setRandomGenerator().
| aligned_vector<RealType> nofK |
nofK
Definition at line 69 of file MomentumEstimator.h.
Referenced by MomentumEstimator::addObservables(), MomentumEstimator::evaluate(), MomentumEstimator::putSpecial(), MomentumEstimator::registerCollectables(), MomentumEstimator::resize(), MomentumEstimator::setObservables(), and MomentumEstimator::setParticlePropertyList().
| RealType norm_nofK |
normalization factor for n(k)
Definition at line 49 of file MomentumEstimator.h.
Referenced by MomentumEstimator::evaluate(), MomentumEstimator::makeClone(), and MomentumEstimator::putSpecial().
| VectorSoaContainer<RealType, 2> phases |
phases
Definition at line 61 of file MomentumEstimator.h.
Referenced by MomentumEstimator::evaluate(), MomentumEstimator::putSpecial(), and MomentumEstimator::resize().
| std::vector<VectorSoaContainer<RealType, 2> > phases_vPos |
phases of vPos
Definition at line 63 of file MomentumEstimator.h.
Referenced by MomentumEstimator::evaluate(), MomentumEstimator::putSpecial(), and MomentumEstimator::resize().
| std::vector<ValueType> psi_ratios |
wavefunction ratios
Definition at line 55 of file MomentumEstimator.h.
Referenced by MomentumEstimator::evaluate(), MomentumEstimator::MomentumEstimator(), MomentumEstimator::putSpecial(), and MomentumEstimator::resize().
wavefunction ratios all samples
Definition at line 57 of file MomentumEstimator.h.
Referenced by MomentumEstimator::evaluate(), MomentumEstimator::putSpecial(), and MomentumEstimator::resize().
| TrialWaveFunction& refPsi |
reference to the trial wavefunction for ratio evaluations
Definition at line 45 of file MomentumEstimator.h.
Referenced by MomentumEstimator::evaluate().
| PosType twist |
Definition at line 72 of file MomentumEstimator.h.
Referenced by MomentumEstimator::MomentumEstimator(), and MomentumEstimator::putSpecial().
| std::vector<PosType> vPos |
sample positions
Definition at line 53 of file MomentumEstimator.h.
Referenced by MomentumEstimator::evaluate(), MomentumEstimator::putSpecial(), and MomentumEstimator::resize().