Parameters.h¶
Note
The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded.
-
class
Parameters
¶ This class stores a set of parameters. Each parameter is identified by a unique string (the key) and a value of some given value type. Parameter sets can be nested at arbitrary depths.
A parameter may be either int, double, string or boolean valued.
Parameters may be added as follows:
Parameters p(“my_parameters”); p.add(“relative_tolerance”, 1e-15); p.add(“absolute_tolerance”, 1e-15); p.add(“gmres_restart”, 30); p.add(“monitor_convergence”, false);Parameters may be changed as follows:
p[“gmres_restart”] = 50;Parameter values may be retrieved as follows:
int gmres_restart = p[“gmres_restart”];Parameter sets may be nested as follows:
Parameters q(“nested_parameters”); p.add(q);Nested parameters may then be accessed by
p(“nested_parameters”)[”...”]Parameters may be nested at arbitrary depths.
Parameters may be parsed from the command-line as follows:
p.parse(argc, argv);Note: spaces in parameter keys are not allowed (to simplify usage from command-line).
-
explicit
Parameters
(std::string key = "parameters")¶ Create empty parameter set
-
Parameters
(const Parameters ¶meters)¶ Copy constructor
-
std::string
name
() const¶ Return name for parameter set
-
void
rename
(std::string key)¶ Rename parameter set
-
void
clear
()¶ Clear parameter set
-
void
add
(std::string key)¶ Add an unset parameter of type T. For example, to create a unset parameter of type bool, do parameters.add<bool>(“my_setting”)
-
void
add
(std::string key, T min, T max)¶ Add an unset parameter of type T with allows parameters. For example, to create a unset parameter of type bool, do parameters.add<bool>(“my_setting”)
-
void
add
(std::string key, std::set<T> valid_values)¶ Add an unset parameter of type T with allows parameters. For example, to create a unset parameter of type bool, do parameters.add<bool>(“my_setting”)
-
void
add
(std::string key, int value)¶ Add int-valued parameter
-
void
add
(std::string key, int value, int min_value, int max_value)¶ Add int-valued parameter with given range
-
void
add
(std::string key, double value)¶ Add double-valued parameter
-
void
add
(std::string key, double value, double min_value, double max_value)¶ Add double-valued parameter with given range
-
void
add
(std::string key, std::string value)¶ Add string-valued parameter
-
void
add
(std::string key, const char *value)¶ Add string-valued parameter
-
void
add
(std::string key, std::string value, std::set<std::string> range)¶ Add string-valued parameter with given range
-
void
add
(std::string key, const char *value, std::set<std::string> range)¶ Add string-valued parameter with given range
-
void
add
(std::string key, bool value)¶ Add bool-valued parameter
-
void
add
(const Parameters ¶meters)¶ Add nested parameter set
-
void
remove
(std::string key)¶ Remove parameter or parameter set with given key
-
void
parse
(int argc, char *argv[])¶ Parse parameters from command-line
-
void
update
(const Parameters ¶meters)¶ Update parameters with another set of parameters
-
Parameters &
operator()
(std::string key)¶ Return nested parameter set for given key
-
const Parameters &
operator()
(std::string key) const¶ Return nested parameter set for given key (const)
-
const Parameters &
operator=
(const Parameters ¶meters)¶ Assignment operator
-
bool
has_key
(std::string key) const¶ Check if parameter set has key (parameter or nested parameter set)
-
bool
has_parameter
(std::string key) const¶ Check if parameter set has given parameter
-
bool
has_parameter_set
(std::string key) const¶ Check if parameter set has given nested parameter set
-
void
get_parameter_keys
(std::vector<std::string> &keys) const¶ Return a vector of parameter keys
-
void
get_parameter_set_keys
(std::vector<std::string> &keys) const¶ Return a vector of parameter set keys
-
std::string
str
(bool verbose) const¶ Return informal string representation (pretty-print)
-
void
parse_common
(int argc, char *argv[])¶ Parse filtered options (everything except PETSc options)
-
void
parse_petsc
(int argc, char *argv[])¶ Parse filtered options (only PETSc options)
-
explicit