MADNESS 0.10.1
madness::Molecule::GeometryParameters Struct Reference

#include <molecule.h>

Inheritance diagram for madness::Molecule::GeometryParameters:
Collaboration diagram for madness::Molecule::GeometryParameters:

Public Member Functions

 GeometryParameters ()
 GeometryParameters (const GeometryParameters &other)=default
 GeometryParameters (World &world, const commandlineparser &parser)
std::set< std::string > case_sensitive_keys () const override
 source_name is a path (xyz file / input file) – never case-fold it
std::string core_type () const
double eprec () const
std::vector< double > field () const
std::string get_tag () const override
bool no_orient () const
bool psp_calc () const
bool pure_ae () const
void set_derived_values (const commandlineparser &parser)
void set_global_convenience_options (const commandlineparser &parser)
std::string source_name () const
std::string source_type () const
double symtol () const
std::string units () const
Public Member Functions inherited from madness::QCCalculationParametersBase
bool file_exists (World &world, std::string filename) const
bool file_exists (World &world, std::string filename) const
void from_json (const json &j)
void from_json (const json &j)
template<typename T>
T get (const std::string key) const
template<typename T>
T get (const std::string key) const
ParameterContainerT get_all_parameters () const
ParameterContainerT get_all_parameters () const
QCParameter & get_parameter (const std::string key)
QCParameter & get_parameter (const std::string key)
hashT hash () const
hashT hash () const
bool is_user_defined (std::string key) const
bool is_user_defined (std::string key) const
bool keeps_case (const std::string &key) const
bool keeps_case (const std::string &key) const
bool parameter_exists (const std::string &key) const
bool parameter_exists (const std::string &key) const
void print (const std::string header="", const std::string footer="") const
 print all parameters
void print (const std::string header="", const std::string footer="") const
 print all parameters
std::string print_to_string (const std::list< std::string > precedences={"all"}) const
std::string print_to_string (const std::list< std::string > precedences={"all"}) const
template<typename... Types>
void qcparameter_to_json (json &j, const std::pair< std::string, QCParameter > &p, const std::tuple< Types... > &) const
template<typename... Types>
void qcparameter_to_json (json &j, const std::pair< std::string, QCParameter > &p, const std::tuple< Types... > &) const
template<typename Tuple>
void qcparameter_to_json_from_tuple (json &j, const std::pair< std::string, QCParameter > &p, const Tuple &) const
template<typename Tuple>
void qcparameter_to_json_from_tuple (json &j, const std::pair< std::string, QCParameter > &p, const Tuple &) const
void read_commandline_options (World &world, const commandlineparser &parser, const std::string tag)
 read the parameters from the command line and broadcast
void read_commandline_options (World &world, const commandlineparser &parser, const std::string tag)
virtual void read_internal (World &world, std::string &filecontents, std::string tag)
 read the stream, starting from tag
virtual void read_internal (World &world, std::string &filecontents, std::string tag)
 read the stream, starting from tag
template<typename Archive>
void serialize (Archive &ar)
template<typename Archive>
void serialize (Archive &ar)
template<typename T>
void set_derived_value (const std::string &key, const T &value)
template<typename T>
void set_derived_value (const std::string &key, const T &value)
template<typename T>
void set_user_defined_value (const std::string &key, const T &value)
template<typename T>
void set_user_defined_value (const std::string &key, const T &value)
json to_json () const
 convert all parameters to a json object
json to_json () const
 convert all parameters to a json object
void to_json (json &j) const
 convert all parameters to a json object
void to_json (json &j) const
 convert all parameters to a json object
json to_json_if_precedence (const std::string &precedence) const
 convert all parameters to a json object, but only those with a given precedence
json to_json_if_precedence (const std::string &precedence) const
 convert all parameters to a json object, but only those with a given precedence
template<typename T>
std::string to_stored_string (const std::string &key, const T &value) const
 stringify value for storage, honoring case_sensitive_keys()
template<typename T>
std::string to_stored_string (const std::string &key, const T &value) const
 stringify value for storage, honoring case_sensitive_keys()
template<typename... Types>
bool try_set_from_json (QCParameter &parameter, const nlohmann::json &value)
template<typename... Types>
bool try_set_from_json (QCParameter &parameter, const nlohmann::json &value)

Static Public Member Functions

static std::string absolute_path (const std::string &path)
 make a relative path absolute, relative to the current working directory
static std::string derive_source_type_from_name (const std::string name, const commandlineparser &parser)
static std::string input_tag (const commandlineparser &parser)
 name of the data group carrying the geometry in the input file
Static Public Member Functions inherited from madness::QCCalculationParametersBase
static std::string add_quotes (const std::string arg)
static std::string add_quotes (const std::string arg)
template<typename T>
static bool check_type (const std::string key, const QCParameter &parameter)
template<typename T>
static bool check_type (const std::string key, const QCParameter &parameter)
template<typename T>
static bool check_type_silent (const QCParameter &parameter)
template<typename T>
static bool check_type_silent (const QCParameter &parameter)
template<typename T>
static std::enable_if< std::is_same< T, bool >::value, T >::type fromstring (const std::string &arg)
template<typename T>
static std::enable_if<!std::is_same< T, bool >::value, T >::type fromstring (const std::string &arg)
template<typename T>
static std::enable_if< std::is_same< T, bool >::value, T >::type fromstring (const std::string &arg)
template<typename T>
static std::enable_if<!std::is_same< T, bool >::value, T >::type fromstring (const std::string &arg)
template<typename T>
static std::enable_if<!std::is_floating_point< T >::value, void >::type overwrite_if_inf (std::string &str, const T &arg)
template<typename T>
static std::enable_if< std::is_floating_point< T >::value, void >::type overwrite_if_inf (std::string &str, const T &arg)
template<typename T>
static std::enable_if<!std::is_floating_point< T >::value, void >::type overwrite_if_inf (std::string &str, const T &arg)
template<typename T>
static std::enable_if< std::is_floating_point< T >::value, void >::type overwrite_if_inf (std::string &str, const T &arg)
template<typename T>
static std::enable_if<!std::is_same< T, std::string >::value, T >::type read_quotes (std::stringstream &ssvalue)
template<typename T>
static std::enable_if< std::is_same< T, std::string >::value, T >::type read_quotes (std::stringstream &ssvalue)
template<typename T>
static std::enable_if<!std::is_same< T, std::string >::value, T >::type read_quotes (std::stringstream &ssvalue)
template<typename T>
static std::enable_if< std::is_same< T, std::string >::value, T >::type read_quotes (std::stringstream &ssvalue)
static std::string tostring (const bool &arg)
static std::string tostring (const bool &arg)
template<typename T>
static std::string tostring (const T &arg)
template<typename T>
static std::string tostring (const T &arg)
static std::string trim_blanks (const std::string arg)
static std::string trim_blanks (const std::string arg)
static std::string trim_quotes (const std::string arg)
static std::string trim_quotes (const std::string arg)

Additional Inherited Members

Public Types inherited from madness::QCCalculationParametersBase
using all_parameter_types
using all_parameter_types
Protected Types inherited from madness::QCCalculationParametersBase
typedef std::map< std::string, QCParameter > ParameterContainerT
typedef std::map< std::string, QCParameter > ParameterContainerT
Protected Member Functions inherited from madness::QCCalculationParametersBase
 QCCalculationParametersBase ()
 ctor for testing
 QCCalculationParametersBase ()
 ctor for testing
 QCCalculationParametersBase (const QCCalculationParametersBase &other)
 copy ctor
 QCCalculationParametersBase (const QCCalculationParametersBase &other)
 copy ctor
virtual ~QCCalculationParametersBase ()
 destructor
virtual ~QCCalculationParametersBase ()
 destructor
const QCParameter & get_parameter (const std::string &key) const
const QCParameter & get_parameter (const std::string &key) const
template<typename T>
void initialize (const std::string &key, const T &value, const std::string comment="", const std::vector< T > allowed_values={})
template<typename T>
void initialize (const std::string &key, const T &value, const std::string comment="", const std::vector< T > allowed_values={})
void read_input_and_commandline_options (World &world, const commandlineparser &parser, const std::string tag)
void read_input_and_commandline_options (World &world, const commandlineparser &parser, const std::string tag)
template<typename Tuple>
bool try_setting_any (const std::string &key, const std::string &value)
 helper function for try_setting_user_defined_value
template<typename Tuple>
bool try_setting_any (const std::string &key, const std::string &value)
 helper function for try_setting_user_defined_value
template<typename Tuple, std::size_t... I>
bool try_setting_any_impl (const std::string &key, const std::string &value, Tuple, std::index_sequence< I... >)
 helper function for try_setting_user_defined_value
template<typename Tuple, std::size_t... I>
bool try_setting_any_impl (const std::string &key, const std::string &value, Tuple, std::index_sequence< I... >)
 helper function for try_setting_user_defined_value
template<typename T>
bool try_setting_user_defined_value (const std::string &key, const std::string &val)
 helper function for try_setting_user_defined_value
template<typename T>
bool try_setting_user_defined_value (const std::string &key, const std::string &val)
 helper function for try_setting_user_defined_value
Protected Attributes inherited from madness::QCCalculationParametersBase
bool ignore_unknown_keys = true
bool ignore_unknown_keys_silently = false
ParameterContainerT parameters
bool print_debug = false
bool throw_if_datagroup_not_found = false

Constructor & Destructor Documentation

◆ GeometryParameters() [1/3]

madness::Molecule::GeometryParameters::GeometryParameters ( const GeometryParameters & other)
default

◆ GeometryParameters() [2/3]

◆ GeometryParameters() [3/3]

Member Function Documentation

◆ absolute_path()

std::string madness::Molecule::GeometryParameters::absolute_path ( const std::string & path)
static

make a relative path absolute, relative to the current working directory

Returns path unchanged if it is already absolute or cannot be resolved here – the reader then reports the name as given, which is the more useful diagnostic.

Referenced by set_derived_values().

◆ case_sensitive_keys()

std::set< std::string > madness::Molecule::GeometryParameters::case_sensitive_keys ( ) const
inlineoverridevirtual

source_name is a path (xyz file / input file) – never case-fold it

Reimplemented from madness::QCCalculationParametersBase.

◆ core_type()

std::string madness::Molecule::GeometryParameters::core_type ( ) const
inline

◆ derive_source_type_from_name()

std::string madness::Molecule::GeometryParameters::derive_source_type_from_name ( const std::string name,
const commandlineparser & parser )
inlinestatic

◆ eprec()

double madness::Molecule::GeometryParameters::eprec ( ) const
inline

◆ field()

std::vector< double > madness::Molecule::GeometryParameters::field ( ) const
inline

◆ get_tag()

std::string madness::Molecule::GeometryParameters::get_tag ( ) const
inlineoverridevirtual

◆ input_tag()

std::string madness::Molecule::GeometryParameters::input_tag ( const commandlineparser & parser)
static

name of the data group carrying the geometry in the input file

The group is spelled geometry (canonical – the moldft/nemo/cc2 decks) or molecule (alias – the madqc decks and the structure library). Returns whichever the input file contains, preferring the canonical name and falling back to it when the file has neither (or does not exist), so that the missing-data-group diagnostic names the documented spelling.

References madness::f, madness::position_stream_to_word(), madness::Molecule::tag, and madness::commandlineparser::value().

Referenced by GeometryParameters().

◆ no_orient()

bool madness::Molecule::GeometryParameters::no_orient ( ) const
inline

◆ psp_calc()

bool madness::Molecule::GeometryParameters::psp_calc ( ) const
inline

◆ pure_ae()

bool madness::Molecule::GeometryParameters::pure_ae ( ) const
inline

◆ set_derived_values()

◆ set_global_convenience_options()

void madness::Molecule::GeometryParameters::set_global_convenience_options ( const commandlineparser & parser)
inline

◆ source_name()

std::string madness::Molecule::GeometryParameters::source_name ( ) const
inline

◆ source_type()

std::string madness::Molecule::GeometryParameters::source_type ( ) const
inline

◆ symtol()

double madness::Molecule::GeometryParameters::symtol ( ) const
inline

◆ units()

std::string madness::Molecule::GeometryParameters::units ( ) const
inline

The documentation for this struct was generated from the following files: