public-api.rst 1.42 KB
Newer Older
1 2 3
**********
Public API
**********
4 5 6 7 8 9 10 11 12

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
Lukas Riedel's avatar
Lukas Riedel committed
13
:doc:`Command Line Interface </manual/cli>`. The specifications for the
14
respective configuration files are given in the
Lukas Riedel's avatar
Lukas Riedel committed
15
:doc:`Config File Guide </manual/config-file>`.
16 17

The main routine (`dorie run <config>`) also requires input files for
Lukas Riedel's avatar
Lukas Riedel committed
18 19
:doc:`boundary conditions </manual/bcfile>` and
:doc:`soil parameters <man-parameter_file>`.
20 21 22 23

Code API
========

24 25
DORiE supplies the `Model` abstract base class.  All other models follow this 
structure. 
26

27 28 29
ABC Model
---------
.. doxygenclass:: Dune::Dorie::ModelBase
30 31
   :members:

32 33 34 35 36

Model Traits
------------

The model template requires compile-time type specifications wrapped in a
37 38 39 40 41
suitable `Traits` structure.

.. doxygenstruct:: Dune::Dorie::BaseTraits
   :members:
   :undoc-members:
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

Richards Model
--------------

.. doxygenclass:: Dune::Dorie::ModelRichards
   :members:

Transport Model
---------------

.. doxygenclass:: Dune::Dorie::ModelTransport
   :members:


Coupling Model
--------------

The coupling between Richards and Transport models is done by yet another 
model which is in charge of managing the steps of the two sub-models.

.. doxygenclass:: Dune::Dorie::ModelTransport
   :members: