Commit e5d57af2 authored by Lukas Riedel's avatar Lukas Riedel

Add doxygen module for Setup functions

Includes information on how to initialize a program conveniently.
Add namespace Setup to it.
parent c0149dca
......@@ -12,6 +12,29 @@
@todo document models
@}
@defgroup Init Setup Routines
@{
@ingroup Common
@brief Functions for setting up the DORiE and DUNE backend
The unctions of this module wrap the initialization of required structures
in the backend into single function calls and provide convenience features
for a simulation setup.
## Program Initialization
Any DUNE executable must initialize the `Dune::MPIHelper` singleton with
the main function arguments. DORiE structures expect the
\ref Logging "base logger" to be initialized. And most DORiE executables
load an INI config file. The function Dune::Dorie::Setup::init combines
these tasks and returns all three objects in a tuple. Call it at the very
beginning of any program like
auto [inifile, log, helper] = Dune::Dorie::Setup::init(argc, argv);
Notice that `helper` will be of *reference* type `Dune::MPIHelper &`.
@}
@defgroup Logging Terminal Logging
@{
@ingroup Common
......
......@@ -20,9 +20,15 @@ namespace Dorie{
/**
* @brief Helper namespace to configurate/setup input files
* @ingroup Init
*/
namespace Setup
{
/**
* @addtogroup Init
* @{
*/
/// Initialize the base logger and config file
/** Create the Dune MPI Helper, read the parameter file tree, and
* initialize the base logger. Apply log level at primary process
......@@ -135,6 +141,10 @@ namespace Setup
return richards_ini;
}
/**
* @}
*/
};
} // namespace Dorie
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment