MADNESS 0.10.1
Public Member Functions | Static Public Member Functions | List of all members
madness::Molecule::GeometryParameters Struct Reference

#include <molecule.h>

Inheritance diagram for madness::Molecule::GeometryParameters:
Inheritance graph
[legend]
Collaboration diagram for madness::Molecule::GeometryParameters:
Collaboration graph
[legend]

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< doublefield () 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 >
get (const std::string key) const
 
template<typename T >
get (const std::string key) const
 
ParameterContainerT get_all_parameters () const
 
ParameterContainerT get_all_parameters () const
 
QCParameterget_parameter (const std::string key)
 
QCParameterget_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 = std::tuple< double, int, unsigned int, long, std::size_t, bool, std::string, std::vector< double >, std::vector< int >, std::vector< std::size_t >, std::vector< std::string >, std::pair< std::string, double > >
 
using all_parameter_types = std::tuple< double, int, unsigned int, long, std::size_t, bool, std::string, std::vector< double >, std::vector< int >, std::vector< std::size_t >, std::vector< std::string >, std::pair< std::string, double > >
 
- Protected Types inherited from madness::QCCalculationParametersBase
typedef std::map< std::string, QCParameterParameterContainerT
 
typedef std::map< std::string, QCParameterParameterContainerT
 
- 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 QCParameterget_parameter (const std::string &key) const
 
const QCParameterget_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]

madness::Molecule::GeometryParameters::GeometryParameters ( World world,
const commandlineparser parser 
)
inline

◆ GeometryParameters() [3/3]

madness::Molecule::GeometryParameters::GeometryParameters ( )
inline

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.

References madness::nonlinear_vector_solver().

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()

static 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()

void madness::Molecule::GeometryParameters::set_derived_values ( const commandlineparser parser)
inline

◆ 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: