dolfin/parameter

Documentation for C++ code found in dolfin/parameter/*.h

Variables

empty_parameters

C++ documentation for empty_parameters from dolfin/parameter/Parameters.cpp:

Parameters dolfin::empty_parameters

Default empty parameters.

parameters

C++ documentation for parameters from dolfin/parameter/GlobalParameters.h:

GlobalParameters dolfin::parameters

The global parameter database.

Classes

GlobalParameters

C++ documentation for GlobalParameters from dolfin/parameter/GlobalParameters.h:

class dolfin::GlobalParameters

This class defines the global DOLFIN parameter database.

dolfin::GlobalParameters::GlobalParameters()

Constructor.

void dolfin::GlobalParameters::parse(int argc, char *argv[])

Parse parameters from command-line.

Parameters:
  • argc
  • argv
dolfin::GlobalParameters::~GlobalParameters()

Destructor.

Parameter

C++ documentation for Parameter from dolfin/parameter/Parameter.h:

class dolfin::Parameter

Base class for parameters.

dolfin::Parameter::Parameter(Parameter&&) = default

Move constructor.

dolfin::Parameter::Parameter(const Parameter&) = default

Copy constructor.

dolfin::Parameter::Parameter(std::string key, T min, T max)

Create and unset numerical parameter with specified (min, max) range

Parameters:
  • key
  • min
  • max
dolfin::Parameter::Parameter(std::string key, T x)

Create parameter for given key and value

Parameters:
  • key – (std::string)
  • x
dolfin::Parameter::Parameter(std::string key, Type ptype)

Create an unset parameter (type is specified, value is unknown)

Parameters:
  • key – (std::string)
  • ptype – (Type))
dolfin::Parameter::Parameter(std::string key, const char *x)

Create parameter for given key and value. This verison (const char*) is necessary to have the parameter treated as a string rather than char* being cast as bool.

Parameters:
  • key – (std::string)
  • x – (const char*))
dolfin::Parameter::Parameter(std::string key, std::set<std::string> range)

Create and unset string parameter with set of allowable strings.

Parameters:
  • key
  • range
enum dolfin::Parameter::Type

Enum for the parameter type.

enumerator dolfin::Parameter::Type::Bool
enumerator dolfin::Parameter::Type::Int
enumerator dolfin::Parameter::Type::Float
enumerator dolfin::Parameter::Type::String
std::size_t dolfin::Parameter::access_count() const

Return access count (number of times parameter has been accessed)

Returns:std::size_t
std::size_t dolfin::Parameter::change_count() const

Return change count (number of times parameter has been changed)

Returns:std::size_t
void dolfin::Parameter::check_key(std::string key)

Check that key name is allowed.

Parameters:key
std::string dolfin::Parameter::description() const

Return parameter description

Returns:std::string
void dolfin::Parameter::get_range(double &min_value, double &max_value) const

Get range for double-valued parameter

Parameters:
  • min_value – (double) [direction=out]
  • max_value – (double) [direction=out]
void dolfin::Parameter::get_range(int &min_value, int &max_value) const

Get range for int-valued parameter

Parameters:
  • min_value – (int) [direction=out]
  • max_value – (int) [direction=out]
void dolfin::Parameter::get_range(std::set<std::string> &range) const

Get range for string-valued parameter

Parameters:range – (std::set<std::string>) [direction=out]
bool dolfin::Parameter::is_set() const

Return true if parameter is set, return false otherwise

Returns:bool
std::string dolfin::Parameter::key() const

Return parameter key

Returns:std::string
dolfin::Parameter::operator bool() const

Cast parameter to bool.

dolfin::Parameter::operator double() const

Cast parameter to double.

dolfin::Parameter::operator int() const

Cast parameter to int.

dolfin::Parameter::operator std::size_t() const

Cast parameter to std::size_t.

dolfin::Parameter::operator std::string() const

Cast parameter to string.

const Parameter &dolfin::Parameter::operator=(bool value)

Assignment from bool

Parameters:value – (bool)
Parameter &dolfin::Parameter::operator=(const Parameter&) = default

Assignment operator.

const Parameter &dolfin::Parameter::operator=(const char *value)

Assignment from string

Parameters:value – (char *)
const Parameter &dolfin::Parameter::operator=(double value)

Assignment from double

Parameters:value – (double)
const Parameter &dolfin::Parameter::operator=(int value)

Assignment from int

Parameters:value – (int)
const Parameter &dolfin::Parameter::operator=(std::string value)

Assignment from string

Parameters:value – (std::string)
std::string dolfin::Parameter::range_str() const

Return range string.

void dolfin::Parameter::reset()

Reset the parameter to empty, so that is_set() returns false.

void dolfin::Parameter::set_range(double min_value, double max_value)

Set range for double-valued parameter

Parameters:
  • min_value – (double)
  • max_value – (double)
void dolfin::Parameter::set_range(int min_value, int max_value)

Set range for int-valued parameter

Parameters:
  • min_value – (int)
  • max_value – (int)
void dolfin::Parameter::set_range(std::set<std::string> range)

Set range for string-valued parameter

Parameters:range – (std::set<std::string>)
std::string dolfin::Parameter::str() const

Return short string description.

std::string dolfin::Parameter::type_str() const

Return value type string.

boost::variant<boost::blank, bool, int, double, std::string> dolfin::Parameter::value() const

Return parameter value.

std::string dolfin::Parameter::value_str() const

Return value string.

dolfin::Parameter::~Parameter()

Destructor.

Parameters

C++ documentation for Parameters from dolfin/parameter/Parameters.h:

class dolfin::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).

dolfin::Parameters::Parameters(const Parameters &parameters)

Copy constructor.

Parameters:parameters
dolfin::Parameters::Parameters(std::string key = "parameters")

Create empty parameter set.

Parameters:key
void dolfin::Parameters::add(const Parameters &parameters)

Add nested parameter set.

Parameters:parameters
void dolfin::Parameters::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”)

Parameters:key
void dolfin::Parameters::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”)

Parameters:
  • key
  • min
  • max
void dolfin::Parameters::add(std::string key, bool value)

Add bool-valued parameter.

Parameters:
  • key
  • value
void dolfin::Parameters::add(std::string key, const char *value)

Add string-valued parameter.

Parameters:
  • key
  • value
void dolfin::Parameters::add(std::string key, const char *value, std::set<std::string> range)

Add string-valued parameter with given range.

Parameters:
  • key
  • value
  • range
void dolfin::Parameters::add(std::string key, double value)

Add double-valued parameter.

Parameters:
  • key
  • value
void dolfin::Parameters::add(std::string key, double value, double min_value, double max_value)

Add double-valued parameter with given range.

Parameters:
  • key
  • value
  • min_value
  • max_value
void dolfin::Parameters::add(std::string key, int value)

Add int-valued parameter.

Parameters:
  • key
  • value
void dolfin::Parameters::add(std::string key, int value, int min_value, int max_value)

Add int-valued parameter with given range.

Parameters:
  • key
  • value
  • min_value
  • max_value
void dolfin::Parameters::add(std::string key, std::set<std::string> 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”)

Parameters:
  • key
  • valid_values
void dolfin::Parameters::add(std::string key, std::string value)

Add string-valued parameter.

Parameters:
  • key
  • value
void dolfin::Parameters::add(std::string key, std::string value, std::set<std::string> range)

Add string-valued parameter with given range.

Parameters:
  • key
  • value
  • range
void dolfin::Parameters::add_parameter_set_to_po(boost::program_options::options_description &desc, const Parameters &parameters, std::string base_name = "") const
Parameters:
  • desc
  • parameters
  • base_name
void dolfin::Parameters::add_unset(std::string key, Parameter::Type type)

Add unset parameter of specified type.

Parameters:
  • key
  • type
std::map<std::string, boost::variant<Parameter, Parameters>>::const_iterator dolfin::Parameters::begin() const

Interface for pybind11 iterators.

void dolfin::Parameters::clear()

Clear parameter set.

std::map<std::string, boost::variant<Parameter, Parameters>>::const_iterator dolfin::Parameters::end() const

Interface for pybind11 iterators.

boost::optional<Parameter&> dolfin::Parameters::find_parameter(std::string key)

Return parameter, if present.

Parameters:key
boost::optional<Parameters&> dolfin::Parameters::find_parameter_set(std::string key)

Return parameter set, if present.

Parameters:key
void dolfin::Parameters::get_parameter_keys(std::vector<std::string> &keys) const

Return a vector of parameter keys.

Parameters:keys
void dolfin::Parameters::get_parameter_set_keys(std::vector<std::string> &keys) const

Return a vector of parameter set keys.

Parameters:keys
bool dolfin::Parameters::has_key(std::string key) const

Check if parameter set has key (parameter or nested parameter set)

Parameters:key
bool dolfin::Parameters::has_parameter(std::string key) const

Check if parameter set has given parameter.

Parameters:key
bool dolfin::Parameters::has_parameter_set(std::string key) const

Check if parameter set has given nested parameter set.

Parameters:key
std::string dolfin::Parameters::name() const

Return name for parameter set.

Parameters &dolfin::Parameters::operator()(std::string key)

Return nested parameter set for given key.

Parameters:key
const Parameters &dolfin::Parameters::operator()(std::string key) const

Return nested parameter set for given key (const)

Parameters:key
const Parameters &dolfin::Parameters::operator=(const Parameters &parameters)

Assignment operator.

Parameters:parameters
Parameter &dolfin::Parameters::operator[](std::string key)

Return parameter for given key.

Parameters:key
const Parameter &dolfin::Parameters::operator[](std::string key) const

Return parameter for given key (const version)

Parameters:key
void dolfin::Parameters::parse(int argc, char *argv[])

Parse parameters from command-line.

Parameters:
  • argc
  • argv
void dolfin::Parameters::parse_common(int argc, char *argv[])

Parse filtered options (everything except PETSc options)

Parameters:
  • argc
  • argv
void dolfin::Parameters::parse_petsc(int argc, char *argv[])

Parse filtered options (only PETSc options)

Parameters:
  • argc
  • argv
void dolfin::Parameters::read_vm(boost::program_options::variables_map &vm, Parameters &parameters, std::string base_name = "")
Parameters:
  • vm
  • parameters
  • base_name
void dolfin::Parameters::remove(std::string key)

Remove parameter or parameter set with given key.

Parameters:key
void dolfin::Parameters::rename(std::string key)

Rename parameter set.

Parameters:key
std::size_t dolfin::Parameters::size() const

Interface for pybind11 iterators.

std::string dolfin::Parameters::str(bool verbose) const

Return informal string representation (pretty-print)

Parameters:verbose
void dolfin::Parameters::update(const Parameters &parameters)

Update parameters with another set of parameters.

Parameters:parameters
dolfin::Parameters::~Parameters()

Destructor.