Commit b872e1ab authored by Santiago Ospina De Los Ríos's avatar Santiago Ospina De Los Ríos 🇨🇴

Merge branch 'advertise-features' into 'master'

Advertise features in README and docs

See merge request !209
parents 6cbc598b 358ed887
......@@ -60,7 +60,8 @@ DORiE is a [DUNE](https://dune-project.org/) module and requires several other
DUNE modules as well as third party software packages. Installation can be
handled manually on your local machine, but we recommend using a pre-compiled
image for the deployment software [Docker](https://www.docker.com/) to
inexperienced users instead.
inexperienced users instead. Docker can also be used to create a development
environment without installing the dependencies on the host machine.
### Download Docker Image
......@@ -85,6 +86,22 @@ You can then proceed directly to the the instructions on
to the usual commands for running a Docker container. See the description on
Docker Hub for further details.
#### Use Docker for Development
An intermediate solution for creating a development environment without
installing all dependencies is using the
[DUNE environment Docker image](https://hub.docker.com/r/dorie/dune-env) of
DORiE. It is based on a Ubuntu image and contains all dependencies of DORiE.
Developers can clone the DORiE source code onto their host system, modify it
there and then mount the directory into the Docker image to compile the program.
To start a container from the image with the local `<dorie_dir>` mounted,
execute
docker run -it -v <dorie_dir>:/opt/dune/ dorie/dune-env:<tag>
Inside the container, you can then execute the `dunecontrol` script as explained
in the installation instructions further below.
### Dependencies
Depending on your system configuration, there will be more packages necessary to
......
......@@ -82,6 +82,26 @@ the Richards solver must be utilized to solve them. Use the value
``richards+transport`` in the ``simulation.mode`` keyword to run the solute
transport solver.
Advanced Solver Features
========================
* **Unstructured Grids**: The DG scheme of DORiE can be applied onto any grid
geometry. Users can load unstructured simplex grids into DORiE via GMSH
``.msh`` files. DORiE will then use an unstructured grid manager. See
:doc:`/manual/grid` for details.
* **Adaptive Grid Refinement** (h-refinement): DORiE supports adaptive local
grid refinement based on an a-posteriori flux error estimator. Enabling grid
refinement requires using an unstructured grid manager. Adaptivity can be
enabled by setting a refinement policy in the
:doc:`Configuration File </manual/config-file>`.
* **Parallel Execution:** DUNE modules are generally set up to support parallel
execution on distributed hardware via MPI. DORiE supports parallel execution
on a best effort basis. This feature is currently only supported for
structured rectangular grids. Parallel execution is controlled through the
:ref:`Command Line Interface <man-cli-commands>`.
Available Models
================
......@@ -92,21 +112,27 @@ combinations users may choose from via the
Docker image or with the default targets built locally on your machine, these
are the available combinations of options:
+----------------------+-------------------+-----------------------------+------------------------------+----------------+
|``simulation.mode`` |``grid.dimensions``|``richards.numerics.FEorder``|``transport.numerics.FEorder``| GMSH Grid and |
| | | | | grid refinement|
+======================+===================+=============================+==============================+================+
|``richards`` | 2 | <= 3 | ✗ | ✓* |
| +-------------------+-----------------------------+------------------------------+----------------+
| | 3 | <= 1 | ✗ | ✓* |
+----------------------+-------------------+-----------------------------+------------------------------+----------------+
|``richards+transport``| 2 | <= 3 | same as ``richards`` | ✓*\ :sup:`†` |
| +-------------------+-----------------------------+------------------------------+----------------+
| | 3 | <= 1 | same as ``richards`` | ✓*\ :sup:`†` |
+----------------------+-------------------+-----------------------------+------------------------------+----------------+
* *: Only for ``richards.numerics.FEorder`` > 0. Finite volume solvers do not
support unstructured grids.
+----------------------+-------------------+-----------------------------+------------------------------+----------------+---------------------+
|``simulation.mode`` |``grid.dimensions``|``richards.numerics.FEorder``|``transport.numerics.FEorder``| GMSH Grid and | Parallel |
| | | | | grid refinement| execution |
+======================+===================+=============================+==============================+================+=====================+
|``richards`` | 2 | 0 | ✗ | ✗ | ✓ |
| +-------------------+-----------------------------+------------------------------+----------------+---------------------+
| | 2 | 1..3 | ✗ | ✓ | on structured grids |
| +-------------------+-----------------------------+------------------------------+----------------+---------------------+
| | 3 | 0 | ✗ | ✗ | ✓ |
| +-------------------+-----------------------------+------------------------------+----------------+---------------------+
| | 3 | 1 | ✗ | ✓ | on structured grids |
+----------------------+-------------------+-----------------------------+------------------------------+----------------+---------------------+
|``richards+transport``| 2 | 0 | higher than ``richards`` | ✗ | ✓ |
| +-------------------+-----------------------------+------------------------------+----------------+---------------------+
| | 2 | 1..3 | higher than ``richards`` | ✓\ :sup:`†` | on structured grids |
| +-------------------+-----------------------------+------------------------------+----------------+---------------------+
| | 3 | 0 | higher than ``richards`` | ✗ | ✓ |
| +-------------------+-----------------------------+------------------------------+----------------+---------------------+
| | 3 | 1 | higher than ``richards`` | ✓\ :sup:`†` | on structured grids |
+----------------------+-------------------+-----------------------------+------------------------------+----------------+---------------------+
* :sup:`†`: Grid refinement on *rectangular* grids produces hanging nodes which
are currently not considered in the
:ref:`flux reconstruction <man-flux_reconstruction>`. This can result in
......
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