MADNESS 0.10.1
madness::OEP_Parameters Class Reference

#include <oep.h>

Inheritance diagram for madness::OEP_Parameters:
Collaboration diagram for madness::OEP_Parameters:

Public Member Functions

 OEP_Parameters ()
 OEP_Parameters (const OEP_Parameters &other)=default
 OEP_Parameters (World &world, const commandlineparser &parser)
double dens_thresh_hi () const
double dens_thresh_inv () const
double dens_thresh_lo () const
std::string get_tag () const override
std::vector< double > kain_param () const
double levelshift () const
unsigned int maxiter () const
std::vector< std::string > model () const
bool no_compute () const
bool restart () const
unsigned int save_iter_corrections () const
unsigned int saving_amount () const
void set_derived_values (const CalculationParameters &cparam)
Public Member Functions inherited from madness::QCCalculationParametersBase
virtual std::set< std::string > case_sensitive_keys () const
 keys whose string values must NOT be case-folded
virtual std::set< std::string > case_sensitive_keys () const
 keys whose string values must NOT be case-folded
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 Attributes

static constexpr char const * tag = "oep"

Additional Inherited Members

Public Types inherited from madness::QCCalculationParametersBase
using all_parameter_types
using all_parameter_types
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)
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

Detailed Description

TODO:

  • change algorithm to handle localized orbitals
  • do not recompute the OEP potentials that don't depend on the orbital energies/Fock matrix elements
  • do not recompute the HF contributions to the OEP potentials
  • think about the long-range part of the Slater potential (or medium-range)

Constructor & Destructor Documentation

◆ OEP_Parameters() [1/3]

madness::OEP_Parameters::OEP_Parameters ( )
inline

◆ OEP_Parameters() [2/3]

madness::OEP_Parameters::OEP_Parameters ( World & world,
const commandlineparser & parser )
inline

◆ OEP_Parameters() [3/3]

madness::OEP_Parameters::OEP_Parameters ( const OEP_Parameters & other)
default

References OEP_Parameters().

Member Function Documentation

◆ dens_thresh_hi()

double madness::OEP_Parameters::dens_thresh_hi ( ) const
inline

◆ dens_thresh_inv()

double madness::OEP_Parameters::dens_thresh_inv ( ) const
inline

◆ dens_thresh_lo()

double madness::OEP_Parameters::dens_thresh_lo ( ) const
inline

◆ get_tag()

std::string madness::OEP_Parameters::get_tag ( ) const
inlineoverridevirtual

◆ kain_param()

std::vector< double > madness::OEP_Parameters::kain_param ( ) const
inline

◆ levelshift()

double madness::OEP_Parameters::levelshift ( ) const
inline

◆ maxiter()

unsigned int madness::OEP_Parameters::maxiter ( ) const
inline

◆ model()

std::vector< std::string > madness::OEP_Parameters::model ( ) const
inline

◆ no_compute()

bool madness::OEP_Parameters::no_compute ( ) const
inline

◆ restart()

bool madness::OEP_Parameters::restart ( ) const
inline

◆ save_iter_corrections()

unsigned int madness::OEP_Parameters::save_iter_corrections ( ) const
inline

◆ saving_amount()

unsigned int madness::OEP_Parameters::saving_amount ( ) const
inline

◆ set_derived_values()

Member Data Documentation

◆ tag

char const* madness::OEP_Parameters::tag = "oep"
staticconstexpr

The documentation for this class was generated from the following file: