![]() |
QMCPACK
|
Public Member Functions | |
ForceCeperley (ParticleSet &ions, ParticleSet &elns) | |
std::string | getClassName () const override |
return class name More... | |
Return_t | evaluate (ParticleSet &P) override |
Evaluate the local energy contribution of this component. More... | |
void | InitMatrix () |
void | registerObservables (std::vector< ObservableHelper > &h5list, hdf_archive &file) const override |
add to observable descriptor for hdf5 The default implementation is to register a scalar for this->value_ More... | |
void | addObservables (PropertySetType &plist, BufferType &collectables) override |
named values to the property list Default implementaton uses addValue(plist_) More... | |
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 | resetTargetParticleSet (ParticleSet &P) override |
Reset the data with the target ParticleSet. More... | |
void | evaluate_IonIon (ParticleSet::ParticlePos &forces) const |
void | setParticlePropertyList (PropertySetType &plist, int offset) override |
std::unique_ptr< OperatorBase > | makeClone (ParticleSet &qp, TrialWaveFunction &psi) final |
bool | put (xmlNodePtr cur) override |
Read the input parameter. More... | |
bool | get (std::ostream &os) const override |
write about the class More... | |
![]() | |
OperatorBase () | |
Construct a new Operator Base object Default and unique empty constructor. More... | |
virtual | ~OperatorBase ()=default |
virtual bool | dependsOnWaveFunction () const |
return true if this operator depends on a wavefunction More... | |
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 | registerCollectables (std::vector< ObservableHelper > &h5desc, hdf_archive &file) const |
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 | setRandomGenerator (RandomBase< FullPrecRealType > *rng) |
Set the Random Generator object TODO: add docs. 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... | |
![]() | |
Real | g (Real r) |
void | initVarReduction (Real rcut, int m, int numFuncs) |
ForceBase (ParticleSet &ions, ParticleSet &elns) | |
virtual | ~ForceBase () |
void | registerObservablesF (std::vector< ObservableHelper > &h5list, hdf_archive &file) const |
void | addObservablesF (QMCTraits::PropertySetType &plist) |
void | addObservablesStress (QMCTraits::PropertySetType &plist) |
void | setObservablesF (QMCTraits::PropertySetType &plist) |
void | setObservablesStress (QMCTraits::PropertySetType &plist) |
void | setParticleSetF (QMCTraits::PropertySetType &plist, int offset) |
void | setParticleSetStress (QMCTraits::PropertySetType &plist, int offset) |
bool | getAddIonIon () const noexcept |
void | setAddIonIon (bool val) noexcept |
const ParticleSet::ParticlePos & | getForces () const noexcept |
void | setForces (const ParticleSet::ParticlePos &forces) |
void | setForces (Real val) |
const ParticleSet::ParticlePos & | getForcesIonIon () const noexcept |
void | setForcesIonIon (const ParticleSet::ParticlePos &forces_ion_ion) |
const SymTensor< Real, OHMMS_DIM > & | getStressIonIon () const noexcept |
const SymTensor< Real, OHMMS_DIM > & | getStressEE () const noexcept |
const SymTensor< Real, OHMMS_DIM > & | getStressEI () const noexcept |
const SymTensor< Real, OHMMS_DIM > & | getStressKin () const noexcept |
const SymTensor< Real, OHMMS_DIM > & | getStress () const noexcept |
Public Attributes | |
double | Rcut |
int | m_exp |
int | N_basis |
Matrix< FullPrecRealType > | Sinv |
Vector< FullPrecRealType > | h |
Vector< FullPrecRealType > | c |
Private Attributes | |
const int | d_aa_ID |
const int | d_ei_ID |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
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 > > |
![]() | |
using | Real = QMCTraits::RealType |
cheat, need to use virtual inheriance to clean up More... | |
![]() | |
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... | |
![]() | |
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_ |
![]() | |
int | first_force_index_ |
int | n_nuc_ |
int | n_el_ |
int | tries_ |
bool | first_time_ |
bool | add_ion_ion_ |
Determines if ion-ion force will be added to electron-ion force in derived force estimators. If false, forces_ion_ion_=0.0. More... | |
ParticleSet & | ions_ |
ParticleSet::ParticlePos | forces_ |
ParticleSet::ParticlePos | forces_ion_ion_ |
SymTensor< Real, OHMMS_DIM > | stress_ion_ion_ |
SymTensor< Real, OHMMS_DIM > | stress_ee_ |
SymTensor< Real, OHMMS_DIM > | stress_ei_ |
SymTensor< Real, OHMMS_DIM > | stress_kin_ |
SymTensor< Real, OHMMS_DIM > | stress_ |
std::string | prefix_ |
std::string | pair_name_ |
Real | rcut_ |
int | m_ |
std::vector< Real > | ck_ |
Definition at line 28 of file ForceCeperley.h.
ForceCeperley | ( | ParticleSet & | ions, |
ParticleSet & | elns | ||
) |
Definition at line 28 of file ForceCeperley.cpp.
References ForceCeperley::evaluate_IonIon(), ForceBase::forces_, ForceBase::forces_ion_ion_, ForceCeperley::m_exp, ForceCeperley::N_basis, OperatorBase::name_, ForceBase::prefix_, ForceCeperley::Rcut, and ParticleSet::update().
|
inlineoverridevirtual |
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 56 of file ForceCeperley.h.
References ForceBase::addObservablesF().
|
overridevirtual |
Evaluate the local energy contribution of this component.
P | input configuration containing N particles |
Implements OperatorBase.
Definition at line 82 of file ForceCeperley.cpp.
References ForceBase::add_ion_ion_, ForceCeperley::c, ForceCeperley::d_ei_ID, ForceBase::forces_, ForceBase::forces_ion_ion_, ParticleSet::getDistTableAB(), ForceBase::ions_, ForceCeperley::m_exp, ForceCeperley::N_basis, ForceBase::n_el_, ForceBase::n_nuc_, qmcplusplus::pow(), ForceCeperley::Rcut, and ParticleSet::Z.
Referenced by qmcplusplus::TEST_CASE().
void evaluate_IonIon | ( | ParticleSet::ParticlePos & | forces | ) | const |
Definition at line 44 of file ForceCeperley.cpp.
References ForceCeperley::d_aa_ID, ParticleSet::getDistTableAA(), ForceBase::ions_, ForceBase::n_nuc_, and ParticleSet::Z.
Referenced by ForceCeperley::ForceCeperley().
|
inlineoverridevirtual |
write about the class
Implements OperatorBase.
Definition at line 70 of file ForceCeperley.h.
References ForceBase::pair_name_.
|
inlineoverridevirtual |
void InitMatrix | ( | ) |
Definition at line 63 of file ForceCeperley.cpp.
References ForceCeperley::c, ForceCeperley::h, qmcplusplus::invert_matrix(), ForceCeperley::m_exp, ForceCeperley::N_basis, qmcplusplus::pow(), qmcplusplus::MatrixOperators::product(), ForceCeperley::Rcut, Matrix< T, Alloc >::resize(), Vector< T, Alloc >::resize(), and ForceCeperley::Sinv.
Referenced by ForceCeperley::put(), and qmcplusplus::TEST_CASE().
|
finalvirtual |
Implements OperatorBase.
Definition at line 144 of file ForceCeperley.cpp.
|
overridevirtual |
Read the input parameter.
cur | xml node for a OperatorBase object |
Implements OperatorBase.
Definition at line 120 of file ForceCeperley.cpp.
References OhmmsAttributeSet::add(), ParameterSet::add(), ForceBase::add_ion_ion_, qmcplusplus::app_log(), ForceBase::first_time_, ForceCeperley::InitMatrix(), ForceCeperley::m_exp, ForceCeperley::N_basis, ForceBase::prefix_, ParameterSet::put(), OhmmsAttributeSet::put(), and ForceCeperley::Rcut.
|
inlineoverridevirtual |
add to observable descriptor for hdf5 The default implementation is to register a scalar for this->value_
h5desc | contains a set of hdf5 descriptors for a scalar observable |
gid | hdf5 group to which the observables belong |
Reimplemented from OperatorBase.
Definition at line 51 of file ForceCeperley.h.
References ForceBase::registerObservablesF().
|
inlineoverridevirtual |
Reset the data with the target ParticleSet.
P | new target ParticleSet |
Implements OperatorBase.
Definition at line 60 of file ForceCeperley.h.
|
inlineoverridevirtual |
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 58 of file ForceCeperley.h.
References ForceBase::setObservablesF().
|
inlineoverridevirtual |
Reimplemented from OperatorBase.
Definition at line 65 of file ForceCeperley.h.
References ForceBase::setParticleSetF().
Definition at line 40 of file ForceCeperley.h.
Referenced by ForceCeperley::evaluate(), ForceCeperley::InitMatrix(), and qmcplusplus::TEST_CASE().
|
private |
Definition at line 31 of file ForceCeperley.h.
Referenced by ForceCeperley::evaluate_IonIon().
|
private |
Definition at line 32 of file ForceCeperley.h.
Referenced by ForceCeperley::evaluate().
Definition at line 39 of file ForceCeperley.h.
Referenced by ForceCeperley::InitMatrix().
int m_exp |
Definition at line 36 of file ForceCeperley.h.
Referenced by ForceCeperley::evaluate(), ForceCeperley::ForceCeperley(), ForceCeperley::InitMatrix(), and ForceCeperley::put().
int N_basis |
Definition at line 37 of file ForceCeperley.h.
Referenced by ForceCeperley::evaluate(), ForceCeperley::ForceCeperley(), ForceCeperley::InitMatrix(), ForceCeperley::put(), and qmcplusplus::TEST_CASE().
double Rcut |
Definition at line 35 of file ForceCeperley.h.
Referenced by ForceCeperley::evaluate(), ForceCeperley::ForceCeperley(), ForceCeperley::InitMatrix(), ForceCeperley::put(), and qmcplusplus::TEST_CASE().
Matrix<FullPrecRealType> Sinv |
Definition at line 38 of file ForceCeperley.h.
Referenced by ForceCeperley::InitMatrix().