![]() |
QMCPACK
|
Class that collects MSD coefficient values via the Self-Healing overlap. More...
Public Types | |
using | LatticeType = PtclOnLatticeTraits::ParticleLayout |
using | RealType = QMCTraits::RealType |
using | ComplexType = QMCTraits::ComplexType |
using | ValueType = QMCTraits::ValueType |
using | PosType = QMCTraits::PosType |
![]() | |
using | QMCT = QMCTraits |
using | FullPrecRealType = QMCT::FullPrecRealType |
using | MCPWalker = Walker< QMCTraits, PtclOnLatticeTraits > |
using | Data = std::vector< QMCT::RealType > |
Public Member Functions | |
SelfHealingOverlap (SelfHealingOverlapInput &&inp, const TrialWaveFunction &wfn, DataLocality dl=DataLocality::crowd) | |
Constructor for SelfHealingOverlapInput. More... | |
SelfHealingOverlap (const SelfHealingOverlap &sh, DataLocality dl) | |
Constructor used when spawing crowd clones needs to be public so std::make_unique can call it. More... | |
void | startBlock (int steps) override |
This allows us to allocate the necessary data for the DataLocality::queue. More... | |
std::unique_ptr< OperatorEstBase > | spawnCrowdClone () const override |
standard interface More... | |
void | accumulate (const RefVector< MCPWalker > &walkers, const RefVector< ParticleSet > &psets, const RefVector< TrialWaveFunction > &wfns, const RefVector< QMCHamiltonian > &hams, RandomBase< FullPrecRealType > &rng) override |
accumulate 1 or more walkers of SelfHealingOverlap samples More... | |
void | collect (const RefVector< OperatorEstBase > &operator_estimators) override |
this allows the EstimatorManagerNew to reduce without needing to know the details of SelfHealingOverlap's data. More... | |
void | registerOperatorEstimator (hdf_archive &file) override |
this allows the EstimatorManagerNew to reduce without needing to know the details of SelfHealingOverlap's data. More... | |
![]() | |
OperatorEstBase (DataLocality dl) | |
constructor More... | |
OperatorEstBase (const OperatorEstBase &oth) | |
Shallow copy constructor! This alows us to keep the default copy constructors for derived classes which is quite useful to the spawnCrowdClone design. More... | |
virtual | ~OperatorEstBase ()=default |
virtual destructor More... | |
virtual void | normalize (QMCT::RealType invToWgt) |
std::vector< QMCT::RealType > & | get_data () |
void | write (hdf_archive &file) |
Write to previously registered observable_helper hdf5 wrapper. More... | |
void | zero () |
zero data appropriately for the DataLocality More... | |
QMCT::FullPrecRealType | get_walkers_weight () const |
Return the total walker weight for this block. More... | |
const std::string & | get_my_name () const |
virtual void | registerListeners (QMCHamiltonian &ham_leader) |
Register 0-many listeners with a leading QMCHamiltonian instance i.e. More... | |
bool | isListenerRequired () |
DataLocality | get_data_locality () const |
Public Attributes | |
const SelfHealingOverlapInput | input_ |
Vector< ValueType > | det_ratios |
More... | |
Private Member Functions | |
SelfHealingOverlap (const SelfHealingOverlap &md)=default | |
Additional Inherited Members | |
![]() | |
DataLocality | data_locality_ |
locality for accumulation of estimator data. More... | |
std::string | my_name_ |
name of this object – only used for debugging and h5 output More... | |
QMCT::FullPrecRealType | walkers_weight_ |
std::vector< ObservableHelper > | h5desc_ |
Data | data_ |
bool | requires_listener_ = false |
Class that collects MSD coefficient values via the Self-Healing overlap.
Definition at line 27 of file SelfHealingOverlap.h.
using ComplexType = QMCTraits::ComplexType |
Definition at line 32 of file SelfHealingOverlap.h.
Definition at line 30 of file SelfHealingOverlap.h.
using PosType = QMCTraits::PosType |
Definition at line 34 of file SelfHealingOverlap.h.
using RealType = QMCTraits::RealType |
Definition at line 31 of file SelfHealingOverlap.h.
using ValueType = QMCTraits::ValueType |
Definition at line 33 of file SelfHealingOverlap.h.
SelfHealingOverlap | ( | SelfHealingOverlapInput && | inp, |
const TrialWaveFunction & | wfn, | ||
DataLocality | dl = DataLocality::crowd |
||
) |
Constructor for SelfHealingOverlapInput.
Definition at line 21 of file SelfHealingOverlap.cpp.
References OperatorEstBase::data_, TrialWaveFunction::findMSD(), MultiSlaterDetTableMethod::getLinearExpansionCoefs(), SelfHealingOverlap::input_, and SelfHealingOverlapInput::input_section_.
SelfHealingOverlap | ( | const SelfHealingOverlap & | sh, |
DataLocality | dl | ||
) |
Constructor used when spawing crowd clones needs to be public so std::make_unique can call it.
Do not use directly unless you've really thought it through.
Definition at line 39 of file SelfHealingOverlap.cpp.
References OperatorEstBase::data_locality_.
|
privatedefault |
|
overridevirtual |
accumulate 1 or more walkers of SelfHealingOverlap samples
Gets called every step and writes to thread local data.
Implements OperatorEstBase.
Definition at line 67 of file SelfHealingOverlap.cpp.
References MultiSlaterDetTableMethod::calcIndividualDetRatios(), OperatorEstBase::data_, SelfHealingOverlap::det_ratios, qmcplusplus::exp(), TrialWaveFunction::findMSD(), TrialWaveFunction::getOrbitals(), qmcplusplus::pset, qmcplusplus::real(), Vector< T, Alloc >::size(), qmcplusplus::walker, qmcplusplus::hdf::walkers, and OperatorEstBase::walkers_weight_.
|
overridevirtual |
this allows the EstimatorManagerNew to reduce without needing to know the details of SelfHealingOverlap's data.
can use base class default until crowd level SelfHealingOverlap estimators don't have a copy of the density grid.
Reimplemented from OperatorEstBase.
Definition at line 118 of file SelfHealingOverlap.cpp.
References OperatorEstBase::collect(), qmcplusplus::crowd, and OperatorEstBase::data_locality_.
|
overridevirtual |
this allows the EstimatorManagerNew to reduce without needing to know the details of SelfHealingOverlap's data.
can use base class default until crowd level SelfHealingOverlap estimators don't have a copy of the density grid. this gets us into the hdf5 file
Just parroting for now don't fully understand. , needs to be unraveled and simplified the hdf5 output is another big state big coupling design.
Reimplemented from OperatorEstBase.
Definition at line 131 of file SelfHealingOverlap.cpp.
References OperatorEstBase::data_, and OperatorEstBase::h5desc_.
|
overridevirtual |
standard interface
Implements OperatorEstBase.
Definition at line 44 of file SelfHealingOverlap.cpp.
References OperatorEstBase::data_, OperatorEstBase::data_locality_, qmcplusplus::queue, and qmcplusplus::rank.
|
overridevirtual |
This allows us to allocate the necessary data for the DataLocality::queue.
Implements OperatorEstBase.
Definition at line 62 of file SelfHealingOverlap.cpp.
const SelfHealingOverlapInput input_ |
Definition at line 37 of file SelfHealingOverlap.h.
Referenced by SelfHealingOverlap::SelfHealingOverlap().