Parameters::init(...)
Parameters::init(...)
constructs a parameter tree singleton
from which parameters can be obtained#include <dumux/common/parameters.hh>
int main(int argc, char** argv)
{
Dumux::Parameters::init(argc, argv);
return 0;
}
File:
dumux-course/exercises/exercise-basic/2pmain.cc
Explicitly specify parameter file (default:
params.input
)
#include <dumux/common/parameters.hh>
int main(int argc, char** argv)
{
Dumux::Parameters::init(argc, argv, "params.input");
return 0;
}
File:
dumux/test/common/parameters/test_loggingparametertree.cc
Explicitly specify default parameters
#include <dune/common/parametertree.hh>
#include <dumux/common/parameters.hh>
int main(int argc, char** argv)
{
Dumux::Parameters::init(argc, argv, [](Dune::ParameterTree& p){
p["key"] = "value";
p["group.key"] = "value2";
...
});
return 0;
}
File:
dumux/test/linear/test_parallel_amg_smoothers.cc
Without reading command-line arguments
#include <dumux/common/parameters.hh>
int main(int argc, char** argv)
{
Dumux::Parameters::init("params.input");
return 0;
}
File:
dumux/dumux/common/parameters.cc
Read parameters from the parameter tree with
getParam
(converts std::string
to requested
type)
Examples:
Signature without default: throws ParameterException
if parameter doesn’t exist.
getParamFromGroup
variant traverses the parameter
tree
Example
FreeFlow.Problem.Gravity
Problem.Gravity
Useful when configuring multiple simulation components or multi-domain problem via the single parameter tree
Check: Does parameter exist in the parameter tree?
File:
dumux/examples/biomineralization/main.cc
With group prefix lookup
File:
dumux/dumux/freeflow/rans/problem.hh
#include <dumux/common/parameters.hh>
int main(int argc, char** argv)
{
Dumux::Parameters::init(argc, argv);
...
Dumux::Parameters::print(); // print report
return 0;
}
File:
dumux-course/exercises/exercise-basic/2pmain.cc
Reports unused parameters. Great for detecting typos in configuration file.
Dune INI syntax ([Group]
and Key = Value
pairs)
params.input
[Grid]
LowerLeft = 0 0
UpperRight = 60 40
Cells = 24 16
[Problem]
Name = test
[FreeFlow.Problem]
Name = test_ff
File:
dumux-course/exercises/exercise-basic/params.input
Examples:
An overview of all available parameters can be found in the doxygen documentation.