![]() |
QMCPACK
|
Native representation for Spin Density Estimators inputs. More...
Classes | |
struct | DerivedParameters |
Public Types | |
using | Real = QMCTraits::RealType |
using | POLT = PtclOnLatticeTraits |
using | Lattice = POLT::ParticleLayout |
using | PosType = QMCTraits::PosType |
using | Consumer = SpinDensityNew |
Public Member Functions | |
SpinDensityInput (xmlNodePtr node) | |
SpinDensityInput (const SpinDensityInput &)=default | |
default copy constructor This is required due to SDI being part of a variant used as a vector element. More... | |
Lattice | get_cell () const |
PosType | get_corner () const |
TinyVector< int, DIM > | get_grid () const |
int | get_npoints () const |
bool | get_write_report () const |
bool | get_save_memory () const |
DerivedParameters | calculateDerivedParameters (const Lattice &lattice) const |
Derived parameters of SpinDensity. More... | |
Static Public Attributes | |
static constexpr int | DIM = QMCTraits::DIM |
Private Member Functions | |
void | readXML (xmlNodePtr cur) |
Private Attributes | |
std::string | myName_ |
name of this Estimator More... | |
Lattice | cell_ |
PosType | corner_ |
PosType | dr_ |
PosType | center_ |
TinyVector< int, DIM > | grid_ |
int | npoints_ |
bool | write_report_ |
bool | save_memory_ |
bool | have_dr_ = false |
these are necessary for calculateDerivedParameters More... | |
bool | have_grid_ = false |
bool | have_center_ = false |
bool | have_corner_ = false |
bool | have_cell_ = false |
Native representation for Spin Density Estimators inputs.
This class servers three purposes all related to properly handling and verifying the spin density input.
Definition at line 32 of file SpinDensityInput.h.
struct qmcplusplus::SpinDensityInput::DerivedParameters |
Definition at line 55 of file SpinDensityInput.h.
Class Members | ||
---|---|---|
PosType | corner | |
TinyVector< int, DIM > | gdims | |
TinyVector< int, DIM > | grid | |
size_t | npoints |
using Consumer = SpinDensityNew |
Definition at line 39 of file SpinDensityInput.h.
using Lattice = POLT::ParticleLayout |
Definition at line 37 of file SpinDensityInput.h.
using POLT = PtclOnLatticeTraits |
Definition at line 36 of file SpinDensityInput.h.
using PosType = QMCTraits::PosType |
Definition at line 38 of file SpinDensityInput.h.
using Real = QMCTraits::RealType |
Definition at line 35 of file SpinDensityInput.h.
SpinDensityInput | ( | xmlNodePtr | node | ) |
Definition at line 21 of file SpinDensityInput.cpp.
References qmcplusplus::node, and SpinDensityInput::readXML().
|
default |
default copy constructor This is required due to SDI being part of a variant used as a vector element.
SpinDensityInput::DerivedParameters calculateDerivedParameters | ( | const Lattice & | lattice | ) | const |
Derived parameters of SpinDensity.
These require the cell the SpinDensity is evaluated over, the caller (SpinDensityNew) either gets this from the input and passes it back or passes in the cell from the relevant ParticleSet.
Definition at line 110 of file SpinDensityInput.cpp.
References qmcplusplus::ceil(), SpinDensityInput::center_, SpinDensityInput::corner_, SpinDensityInput::DIM, qmcplusplus::dot(), SpinDensityInput::dr_, SpinDensityInput::grid_, SpinDensityInput::have_center_, SpinDensityInput::have_corner_, SpinDensityInput::have_dr_, SpinDensityInput::have_grid_, qmcplusplus::lattice, and qmcplusplus::sqrt().
Referenced by SpinDensityNew::SpinDensityNew(), and qmcplusplus::TEST_CASE().
|
inline |
Definition at line 48 of file SpinDensityInput.h.
References SpinDensityInput::cell_.
Referenced by EstimatorManagerNew::put(), SpinDensityNew::SpinDensityNew(), and qmcplusplus::TEST_CASE().
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 53 of file SpinDensityInput.h.
References SpinDensityInput::save_memory_.
Referenced by EstimatorManagerNew::put(), and SpinDensityNew::SpinDensityNew().
|
inline |
Definition at line 52 of file SpinDensityInput.h.
References SpinDensityInput::write_report_.
Referenced by SpinDensityNew::SpinDensityNew().
|
private |
Definition at line 26 of file SpinDensityInput.cpp.
References OhmmsAttributeSet::add(), SpinDensityInput::cell_, SpinDensityInput::center_, SpinDensityInput::corner_, SpinDensityInput::dr_, getXMLAttributeValue(), SpinDensityInput::grid_, SpinDensityInput::have_cell_, SpinDensityInput::have_center_, SpinDensityInput::have_corner_, SpinDensityInput::have_dr_, SpinDensityInput::have_grid_, SpinDensityInput::myName_, OhmmsAttributeSet::put(), putContent(), SpinDensityInput::save_memory_, CrystalLattice< T, D >::set(), and SpinDensityInput::write_report_.
Referenced by SpinDensityInput::SpinDensityInput().
|
private |
Definition at line 78 of file SpinDensityInput.h.
Referenced by SpinDensityInput::get_cell(), and SpinDensityInput::readXML().
|
private |
Definition at line 81 of file SpinDensityInput.h.
Referenced by SpinDensityInput::calculateDerivedParameters(), and SpinDensityInput::readXML().
|
private |
Definition at line 79 of file SpinDensityInput.h.
Referenced by SpinDensityInput::calculateDerivedParameters(), SpinDensityInput::get_corner(), and SpinDensityInput::readXML().
|
static |
Definition at line 40 of file SpinDensityInput.h.
Referenced by SpinDensityInput::calculateDerivedParameters().
|
private |
Definition at line 80 of file SpinDensityInput.h.
Referenced by SpinDensityInput::calculateDerivedParameters(), and SpinDensityInput::readXML().
|
private |
Definition at line 82 of file SpinDensityInput.h.
Referenced by SpinDensityInput::calculateDerivedParameters(), SpinDensityInput::get_grid(), and SpinDensityInput::readXML().
|
private |
Definition at line 95 of file SpinDensityInput.h.
Referenced by SpinDensityInput::readXML().
|
private |
Definition at line 93 of file SpinDensityInput.h.
Referenced by SpinDensityInput::calculateDerivedParameters(), and SpinDensityInput::readXML().
|
private |
Definition at line 94 of file SpinDensityInput.h.
Referenced by SpinDensityInput::calculateDerivedParameters(), and SpinDensityInput::readXML().
|
private |
these are necessary for calculateDerivedParameters
If we are going to later write out a canonical input for this input then they are needed as well.
Definition at line 91 of file SpinDensityInput.h.
Referenced by SpinDensityInput::calculateDerivedParameters(), and SpinDensityInput::readXML().
|
private |
Definition at line 92 of file SpinDensityInput.h.
Referenced by SpinDensityInput::calculateDerivedParameters(), and SpinDensityInput::readXML().
|
private |
name of this Estimator
Definition at line 76 of file SpinDensityInput.h.
Referenced by SpinDensityInput::readXML().
|
private |
Definition at line 83 of file SpinDensityInput.h.
Referenced by SpinDensityInput::get_npoints().
|
private |
Definition at line 85 of file SpinDensityInput.h.
Referenced by SpinDensityInput::get_save_memory(), and SpinDensityInput::readXML().
|
private |
Definition at line 84 of file SpinDensityInput.h.
Referenced by SpinDensityInput::get_write_report(), and SpinDensityInput::readXML().