Public API Definition¶
DORiE’s Public API comprises the usage of the compiled program as well as the main code segments for using instances of DORiE in other (DUNE) modules and programs.
Command Line API¶
The compiled program and the Docker application are executed via the Command Line Interface. The specifications for the respective configuration files are given in the Config File Guide.
The main routine (dorie run <config>) also requires input files for boundary conditions and soil parameters.
Code API¶
DORiE supplies the Simulation template. This is the main class for assembling and running the solver.
-
template <typename Traits>
classSimulation
Basic Simulation class providing objects and functions for computing the solution.
Subclassed by Dune::Dorie::KnoFuInterface< Traits >
Public Functions
-
void
run
()¶ Execute the simulation until tEnd is reached.
Construct basic simulation. Prepare setup for basic simulation.
-
void
operator_setup
()¶ Create the Grid Operators, Solvers, and Time Step Operator.
This function must be called after changes to grid or GFS!
-
bool
compute_time_step
()¶ Compute a time step.
Catch errors in the Newton and the Linear Solver.
- Return
- True if computation succeeded
- Exceptions
Dune::Exception
: Fatal error occurs during computation
-
void
The simulation template requires compile-time type specifications wrapped in a suitable Traits structure.
-
template <template< int > class GridType, Dune::GeometryType::BasicType GeometryType, int dimension, int order, bool output, bool adaptivity>
structBaseTraits
¶ Traits struct defining basic types based on grid an geometry.
Public Types
-
template<>
usingRF
= double¶
-
template<>
usingArray
= std::vector<RangeField>¶
-
template<>
usingIndex
= unsigned int¶
-
template<>
usingGrid
= GridType<dim>¶
-
template<>
usingDF
= DomainField¶
-
template<>