13 #ifndef QMCPLUSPLUS_MAGNETIZATION_DENSITY_INPUT_H 14 #define QMCPLUSPLUS_MAGNETIZATION_DENSITY_INPUT_H 22 class MagnetizationDensity;
34 inline static const std::unordered_map<std::string, std::any>
89 "corner",
"center",
"samples",
"grid",
"dr" 92 enums = {
"integrator"};
97 positions = {
"center",
"corner",
"grid",
"dr"};
102 std::any
assignAnyEnum(
const std::string& name)
const override;
109 std::string
myName_ =
"MagnetizationDensityInput";
131 extern template bool InputSection::setIfInInput<qmcplusplus::MagnetizationDensityInput::Integrator>(
133 const std::string& tag);
a class that defines a supercell in D-dimensional Euclean space.
std::unordered_set< std::string > strings
std::unordered_set< std::string > reals
helper functions for EinsplineSetBuilder
std::unordered_set< std::string > parameters
if(!okay) throw std xmlNodePtr node
Integrator get_integrator() const
CrystalLattice< OHMMS_PRECISION, OHMMS_DIM > ParticleLayout
std::unordered_set< std::string > positions
CrystalLattice< OHMMS_PRECISION, OHMMS_DIM > lattice
bool get_write_report() const
std::unordered_set< std::string > integers
std::unordered_set< std::string > attributes
bool have_dr_
these are necessary for calculateDerivedParameters
TinyVector< int, DIM > gdims
bool get_corner_defined() const
bool get_center_defined() const
PosType get_corner() const
std::unordered_set< std::string > required
DerivedParameters calculateDerivedParameters(const Lattice &lattice) const
Derived parameters of SpinDensity.
Particle traits to use UniformGridLayout for the ParticleLayout.
MagnetizationDensityInputSection input_section_
std::any assignAnyEnum(const std::string &name) const override
Derived class overrides this to get proper assignment of scoped enum values.
std::unordered_set< std::string > multi_strings
std::unordered_set< std::string > bools
QTFull::RealType FullPrecRealType
Magnetization density estimator for non-collinear spin calculations.
QMCTraits::FullPrecRealType Real
Input section provides basic parsing and a uniform method of access to the raw parsed input...
TinyVector< int, DIM > grid
MagnetizationDensityInput(xmlNodePtr node)
void checkParticularValidity() override
Do validation for a particular subtype of InputSection Called by check_valid.
PosType get_center() const
std::string section_name
"Name" of the input section, you must define this in the subtype and the ename, name, type, or method must match.
bool get_save_memory() const
MagnetizationDensityInputSection()
parse time definition of input parameters
std::unordered_set< std::string > enums
list of enum inputs which allow a finite set of strings to map to enum values The enum class types an...
static const std::unordered_map< std::string, std::any > lookup_input_enum_value