Commit e55c27b1 authored by Lukas Riedel's avatar Lukas Riedel 📝

Merge branch 'master' into '75-documentation-page-down'

[ci skip]

# Conflicts:
#   README.md
parents 93a140a3 b43c4be9
......@@ -2,7 +2,7 @@
build-cmake/
# Exclude generated files
testing/*.mini
test/*.mini
python/parfield/wrapper/pf_from_file.py
python/testtools/wrapper/test_dorie.py
python/testtools/wrapper/test_dorie_pfg.py
......
......@@ -28,7 +28,8 @@ stages:
setup:dune-env: &setup
stage: setup
only:
- web # activate through 'Run pipeline' only.
variables:
- $REBUILD_BASE_IMAGE # must be defined and have non-empty value
tags:
- dind
image: docker:stable
......@@ -129,7 +130,7 @@ test:exec_cmds: &test
artifacts:
name: "$CI_JOB_NAME"
paths:
- $CI_PROJECT_DIR/build-cmake/Testing
- $CI_PROJECT_DIR/build-cmake/test
expire_in: 1 day
test:ode:
......@@ -171,6 +172,7 @@ deploy:dockerhub-devel: &deploy
- docker:dind
variables:
DOCKER_DRIVER: overlay2
dependencies: []
before_script:
- $DOCKER_LOGIN
script:
......
......@@ -3,28 +3,63 @@
## Unreleased
### Added
* Documentation of Docker images and their usage in the CI/CD pipeline.
* DORiE now depends on [`yaml-cpp`](https://github.com/jbeder/yaml-cpp/), a
library for reading YAML files. The version required is >=5.2.0.
### Changed
* Rebuilds of the DUNE environment Docker image are now triggered by setting the
CI variable `REBUILD_BASE_IMAGE` to a non-empty value. Previously, the
builds in stage `setup` where triggered by any manual pipeline run.
* `Simulation` is renamed `RichardsSimulation` and moved to
[richards_simulation.hh](dune/dorie/interface/richards_simulation.hh).
* `RichardsSimulation` now has its own `RichardsSimulationTraits` derived from
`BaseTraits`, which defines all its member types. `BaseTraits` now have
reduced content and are intended to be shared between models/simulations.
* The test system folder was renamed from `testing` to [`test`](test).
### Fixed
* Removed VTK output from `dorie_mass_conservation` executable, which would
cause the corresponding test to fail if the designated output directory did
not exist.
* Removed CI artifacts of `test` stage from `deploy` jobs.
* Correctly estimate the number of row entries in the matrix backend based on
the DG discretization and proper static blocking. This can lead to a
performance improvement for large problems.
* VTK output is now written _before_ the grid is adapted. Previously, the output
displayed the adapted grid and not the one the solution was computed on.
* Grid adaptation is skipped after computing the final solution.
* Path to Pipeline artifacts for `test` stage. The artifacts are now correctly
captured and can be viewed and downloaded from the GitLab web interface.
* Fix a bug in the boundary condition evaluation where an `end()` iterator
was dereferenced without error.
## 1.1.0 (2018-07-27)
### Added
* DORiE now employs a `SubsamplingVTKWriter` for higher output precision.
Subsampling levels are controlled via the new key `output.subsamplingLevel`.
* Automatic deployment of `devel` and stable DORiE Docker Images to Docker Hub
* Automatic update of the DUNE environment Docker Image for `master` builds
* CI pipeline now also compiles a Debug build with the LLVM Clang compiler
* Automatic deployment of `devel` and stable DORiE Docker Images to Docker Hub.
* Automatic update of the DUNE environment Docker Image for `master` builds.
* CI pipeline now also compiles a Debug build with the LLVM Clang compiler.
* Add `.gitattributes` for `CHANGELOG.md` to reduce merge conflicts with
`merge=union`
`merge=union`.
* Public API definition in documentation.
### Changed
* Update code base to DUNE v2.6
* Update code base to *DUNE v2.6*.
* Raise software requirements to versions available on Ubuntu 18.04 LTS
(Bionic Beaver)
* Switch VTK output from conforming to non-conforming
(Bionic Beaver).
* Switch VTK output from conforming to non-conforming.
* Use `multicore` build tag only for `test:parallel` build because the current
GitLab Runner cannot handle the load
GitLab Runner cannot handle the load.
* Use the `OVLP_AMG_4_DG` linear solver for all computations, including
sequential ones. This significantly improves performance for large problems.
* Change compilation order which reduces RAM usage when compiling in parallel.
* Decentralization of the header system so that in most of the header files are
independent of each other
independent of each other.
### Deprecated
* `output.subsamplingLevel` is optional and defaults to 0 if not given
......@@ -44,4 +79,4 @@
## 1.0.0 (2018-03-28)
First stable version
\ No newline at end of file
First stable version.
\ No newline at end of file
......@@ -49,7 +49,7 @@ add_subdirectory("lib")
add_subdirectory("python")
add_subdirectory("doc")
if(dune-testtools_FOUND)
add_subdirectory("testing")
add_subdirectory("test")
endif()
# finalize the dune project, e.g. generating config.h etc.
......
MIT License
Copyright (c) 2018 Lukas Riedel, Dion Häfner, Ole Klein, Felix Riexinger
Copyright (c) 2018
Dion Häfner,
Ole Klein,
Santiago Ospina De Los Ríos,
Lukas Riedel,
Felix Riexinger
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
......
......@@ -5,15 +5,18 @@ DORiE is a software suite for solving Richard's Equation. The core feature is a
The suite encapsulates a documentation and various tools for program setup, program testing, and output analysis, which are mostly written in Python.
DORiE is developed and maintained by the [DORiE Developers](mailto:dorieteam@iup.uni-heidelberg.de) of the [TS-CCEES](http://ts.iup.uni-heidelberg.de/) research group at [IUP Heidelberg](http://www.iup.uni-heidelberg.de/), supervised by [Kurt Roth](http://ts.iup.uni-heidelberg.de/people/prof-dr-kurt-roth/), in collaboration with [Ole Klein](https://conan.iwr.uni-heidelberg.de/people/oklein/) and the [Scientific Computing Group](https://conan.iwr.uni-heidelberg.de/) of [IWR Heidelberg](https://typo.iwr.uni-heidelberg.de/home/).
DORiE is developed and maintained by the [DORiE Developers](mailto:dorieteam@iup.uni-heidelberg.de) of the [TS-CCEES](http://ts.iup.uni-heidelberg.de/) research group at [IUP Heidelberg](http://www.iup.uni-heidelberg.de/), supervised by [Kurt Roth](http://ts.iup.uni-heidelberg.de/people/prof-dr-kurt-roth/), in collaboration with [Ole Klein](https://conan.iwr.uni-heidelberg.de/people/oklein/) and the [Scientific Computing Group](https://conan.iwr.uni-heidelberg.de/) of [IWR Heidelberg](https://typo.iwr.uni-heidelberg.de/home/).
# Installation Instructions
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 for inexperienced users it is recommended to use the deployment software [Docker](https://www.docker.com/) instead.
In any case, DORiE is configured, built, and installed via the [DUNE Buildsystem](https://dune-project.org/doc/installation/), using the `dunecontrol` script to handle DUNE-internal dependencies.
No installation is necessary if you download DORiE as Docker image from
[Docker Hub](https://hub.docker.com/r/dorie/dorie/). You can then proceed
directly to the the instructions on [how to execute DORiE](#run-dorie-run).
The commands listed there are appended to the usual commands for running a
Docker container. See the description on Docker Hub for further details.
## Docker Installation - Simple Setup
......@@ -25,7 +28,7 @@ Install Docker on your machine. Then, use `git clone` to download the DORiE repo
Docker will use a prepared image from Dockerhub and install DORiE into it. You can now call DORiE via the Docker deamon from any directory `dir` on your machine:
docker run -i -t -v <dir>:/sim dorie <command>
docker run -it -v <dir>:/sim dorie <command>
The `-v` option tells docker to mount the directory into the container work directory (`sim`).
......@@ -38,6 +41,10 @@ Installing all packages manually can be quite an effort, but useful for develope
Whenever possible, dependencies should be installed using a package manager, like [APT](https://wiki.ubuntuusers.de/APT/) on Ubuntu or [Homebrew](http://brew.sh/) on Mac. Manual installation on a Windows environment is strongly discouraged!
DORiE is configured, built, and installed via the
[DUNE Buildsystem](https://dune-project.org/doc/installation/), using the
`dunecontrol` script to handle DUNE-internal dependencies.
### Dependencies
Depending on your system configuration, there will be more packages necessary to
install DORiE on your machine. See the step-by-step manual for further details.
......@@ -57,6 +64,7 @@ by CI tests.
| pip | 3.6 |
| MPI | | Tested with OpenMPI 2.1.1
| SuperLU | 5.2 |
| [yaml-cpp](https://github.com/jbeder/yaml-cpp) | >= 5.2.0 |
| [dune-common](https://gitlab.dune-project.org/core/dune-common) | releases/2.6
| [dune-geometry](https://gitlab.dune-project.org/core/dune-geometry) | releases/2.6
| [dune-grid](https://gitlab.dune-project.org/core/dune-grid) | releases/2.6
......@@ -95,13 +103,14 @@ If you installed [Anaconda](https://conda.io/docs/user-guide/install/download.ht
apt install cmake doxygen gcc g++ gfortran \
git libatlas-base-dev libfftw3-dev libfftw3-mpi-dev \
libfreetype6-dev libhdf5-mpi-dev libopenmpi-dev libpng-dev \
libsuperlu-dev libxft-dev python3-dev python3-pip
libsuperlu-dev libyaml-cpp-dev libxft-dev \
python3-dev python3-pip
**macOS:**
brew update
brew install cmake doxygen gcc libpng open-mpi \
pkg-config python3 superlu
pkg-config python3 superlu yaml-cpp
brew install hdf5 --with-mpi
brew install fftw --with-mpi
......
1.1.0-pre
\ No newline at end of file
1.2.0-pre
\ No newline at end of file
......@@ -3,19 +3,24 @@
# find all required packages
FIND_PACKAGE (HDF5 REQUIRED)
if(NOT HDF5_IS_PARALLEL)
message(SEND_ERROR "Parallel HDF5 must be installed!")
message(SEND_ERROR "Parallel HDF5 must be installed!")
endif()
add_definitions(-DHDF5_PARALLEL)
FIND_PACKAGE (FFTW REQUIRED)
FIND_PACKAGE (SuperLU REQUIRED)
FIND_PACKAGE (MPI REQUIRED)
find_package (yaml-cpp 0.5.2 REQUIRED)
FIND_PACKAGE (METIS)
FIND_PACKAGE (ParMETIS)
include_directories(${FFTW_INCLUDES})
include_directories(${HDF5_INCLUDE_DIRS})
include_directories(${FFTW_INCLUDES}
${HDF5_INCLUDE_DIRS}
${YAML_CPP_INCLUDE_DIR})
set(DUNE_LIBS ${DUNE_LIBS} ${FFTW_LIBRARIES} ${HDF5_LIBRARIES})
list (APPEND DUNE_LIBS
${FFTW_LIBRARIES}
${HDF5_LIBRARIES}
${YAML_CPP_LIBRARIES})
MESSAGE(STATUS "DUNE Libraries: ${DUNE_LIBS}")
......@@ -64,7 +64,7 @@ adding an empty line, make text **bold** or ``monospaced``.
<parameter name="subsamplingLevel">
<definition> Plot VTK files with virtually refined grids. VTK only
supports bilinear triangulations and displays higher-order solutions
inappropriately. Use level 0 for order 1, and level N+1 for order N.
inappropriately. Use level 0 for order 1, and level N for order N.
For level &gt; 0, the printed grid does not resemble the actual grid.
This parameter defaults to 0 if not given in the config file. Notice
that subsampling significantly increases the output file size!
......
......@@ -39,7 +39,7 @@ clone the DORiE repository by executing
.. code-block:: shell
git clone ssh://git@zwackelmann.iup.uni-heidelberg.de:10022/dorie/dorie.git
git clone ssh://git@ts-gitlab.iup.uni-heidelberg.de:10022/dorie/dorie.git
in the terminal. By default, the remote host will be called ``origin``, and the
``master`` branch will be checked out. If you wish to checkout another branch, do so by calling
......@@ -56,7 +56,11 @@ from a terminal inside the repository folder. Refer to the `Atlassian Git Tutori
Installation
************
You can build DORiE locally on your machine for maximum performance. This requires you to take care of all dependencies and to handle the installation process yourself. On the other hand, you can use a virtual environment to run DORiE. We support this feature by using `Docker <https://www.docker.com/>`_. You can install DORiE into a Docker image and then execute a container from it for your computations. Depending on your operating system, this will lead to impared performance.
You can build DORiE locally on your machine for maximum performance. This requires you to take care of all dependencies and to handle the installation process yourself. On the other hand, you can use a virtual environment to run DORiE. We support this feature by using `Docker <https://www.docker.com/>`_.
You can install your local DORiE source code into a Docker image or load a
prepared image from `Docker Hub <https://hub.docker.com/r/dorie/dorie/>`_.
You can then run the application as Docker container. Depending on your
operating system, this will lead to impared performance.
Follow the Installation Instructions in the :doc:`the ReadMe <README>` for installing DORiE.
......
# DORiE Docker Images
DORiE uses [Docker](https://www.docker.com/) images for testing and deploying
applications. These images are publicly available from
[Docker Hub](https://hub.docker.com/). There are two repositories:
* [`dorie/dorie`](https://hub.docker.com/r/dorie/dorie/): The DORiE application.
* [`dorie/dune-env`](https://hub.docker.com/r/dorie/dune-env/): The DUNE
environment image.
`dune-env` is used for compiling DORiE in a 'clean' Ubuntu environment where all
dependencies are already installed. The final DORiE application image is the
DUNE image with DORiE installed.
We differentiate between two base images, one where DUNE is compiled with GCC,
and one where it is compiled with Clang.
## GitLab CI configuration
Both images are updated by the GitLab CI/CD Pipeline defined in
[`.gitlab-ci.yml`](../gitlab-ci.yml).
The `setup` build stage is builds a new DUNE environment image "from scratch".
It is triggered by running a pipeline with the CI variable `REBUILD_BASE_IMAGE`
set to a non-empty value. This is achieved by manually starting the pipeline
from the GitLab web interface ("CI/CD" - "Pipelines" - "Run Pipeline") and
entering the variable as well as an arbitrary value. This should only be
necessary if dependencies or their required versions change.
The `prep` stage updates all APT and DUNE packages in the DUNE environment image
and is run whenever a pipeline includes the deployment of a new application
image.
The `deploy` stage deploys DORiE application images. It compiles DORiE into the
DUNE environment image. This stage is only run if tags are pushed or commits
are pushed to `master`.
\ No newline at end of file
......@@ -25,6 +25,7 @@ RUN apt-get clean && apt-get update && apt-get install -y \
libparmetis-dev \
libsuperlu-dev \
libxft-dev \
libyaml-cpp-dev \
locales \
python3-dev \
python3-pip \
......
......@@ -4,7 +4,7 @@
#Name of the module
Module: dorie
Version: 1.1.0-pre
Version: 1.2.0-pre
Maintainer: dorieteam@iup.uni-heidelberg.de
#depending on
Depends: dune-pdelab dune-uggrid dune-randomfield
......
......@@ -16,11 +16,12 @@
#include <dune/grid/yaspgrid.hh>
#include <dune/grid/uggrid.hh>
#include "interface/simulation.hh"
#include "interface/richards_simulation.hh"
#include "solver/util_grid_creator.hh"
// #include <dune/dorie/dorie.hh> // System and DUNE Headers
//===============================================================
// Main program with grid setup
//===============================================================
......@@ -37,32 +38,24 @@
* \see Dune::Dorie::FlowSource Class handling Source Term query functions
*/
namespace Dune{
namespace Dorie{
/// Resolve the second (default) template parameter of YaspGrid
template<int dim>
using YaspGrid = Dune::YaspGrid<dim>;
}
}
template<typename Traits>
using Sim = Dune::Dorie::Simulation<Traits>;
using Sim = Dune::Dorie::RichardsSimulation<Traits>;
template<int dim, int order>
using Simplex = Dune::Dorie::BaseTraits<Dune::UGGrid,
Dune::GeometryType::BasicType::simplex,dim,order,true,false>;
using Simplex = Dune::Dorie::RichardsSimulationTraits<Dune::Dorie::BaseTraits<Dune::UGGrid<dim>,
Dune::GeometryType::BasicType::simplex,true,false>,order>;
template<int dim, int order>
using SimplexAdaptive = Dune::Dorie::BaseTraits<Dune::UGGrid,
Dune::GeometryType::BasicType::simplex,dim,order,true,true>;
using SimplexAdaptive = Dune::Dorie::RichardsSimulationTraits<Dune::Dorie::BaseTraits<Dune::UGGrid<dim>,
Dune::GeometryType::BasicType::simplex,true,true>,order>;
template<int dim, int order>
using Cube = Dune::Dorie::BaseTraits<Dune::Dorie::YaspGrid,
Dune::GeometryType::BasicType::cube,dim,order,true,false>;
using Cube = Dune::Dorie::RichardsSimulationTraits<Dune::Dorie::BaseTraits<Dune::YaspGrid<dim>,
Dune::GeometryType::BasicType::cube,true,false>,order>;
template<int dim, int order>
using CubeAdaptive = Dune::Dorie::BaseTraits<Dune::UGGrid,
Dune::GeometryType::BasicType::cube,dim,order,true,true>;
using CubeAdaptive = Dune::Dorie::RichardsSimulationTraits<Dune::Dorie::BaseTraits<Dune::UGGrid<dim>,
Dune::GeometryType::BasicType::cube,true,true>,order>;
/// Main Program Function: Initialize parameter file reader, build grid and call Richards Solver.
/** As simplex and rectangular grids demand different FiniteElementMaps, the program calls different functions for these tasks.
......
......@@ -7,12 +7,9 @@
namespace Dune{
namespace Dorie{
template<int dim>
using YaspGrid = Dune::YaspGrid<dim>;
using Geo = Dune::GeometryType::BasicType;
}
}
#endif // DUNE_DORIE_IMPL_HH
#endif // DUNE_DORIE_IMPL_HH
\ No newline at end of file
......@@ -3,14 +3,14 @@
#endif
#include <dune/dorie/impl/impl.hh>
#include <dune/dorie/interface/simulation.cc>
#include <dune/dorie/interface/richards_simulation.cc>
namespace Dune{
namespace Dorie{
template class Simulation<BaseTraits<UGGrid,Geo::cube,2,1,true,true>>;
template class Simulation<BaseTraits<UGGrid,Geo::simplex,2,1,true,true>>;
template class Simulation<BaseTraits<UGGrid,Geo::simplex,2,1,true,false>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<2>,Geo::cube,true,true>,1>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<2>,Geo::simplex,true,true>,1>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<2>,Geo::simplex,true,false>,1>>;
} // namespace Dorie
} // namespace Dune
\ No newline at end of file
......@@ -3,14 +3,14 @@
#endif
#include <dune/dorie/impl/impl.hh>
#include <dune/dorie/interface/simulation.cc>
#include <dune/dorie/interface/richards_simulation.cc>
namespace Dune{
namespace Dorie{
template class Simulation<BaseTraits<UGGrid,Geo::cube,2,2,true,true>>;
template class Simulation<BaseTraits<UGGrid,Geo::simplex,2,2,true,true>>;
template class Simulation<BaseTraits<UGGrid,Geo::simplex,2,2,true,false>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<2>,Geo::cube,true,true>,2>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<2>,Geo::simplex,true,true>,2>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<2>,Geo::simplex,true,false>,2>>;
} // namespace Dorie
} // namespace Dune
\ No newline at end of file
......@@ -3,14 +3,14 @@
#endif
#include <dune/dorie/impl/impl.hh>
#include <dune/dorie/interface/simulation.cc>
#include <dune/dorie/interface/richards_simulation.cc>
namespace Dune{
namespace Dorie{
template class Simulation<BaseTraits<UGGrid,Geo::cube,2,3,true,true>>;
template class Simulation<BaseTraits<UGGrid,Geo::simplex,2,3,true,true>>;
template class Simulation<BaseTraits<UGGrid,Geo::simplex,2,3,true,false>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<2>,Geo::cube,true,true>,3>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<2>,Geo::simplex,true,true>,3>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<2>,Geo::simplex,true,false>,3>>;
} // namespace Dorie
} // namespace Dune
\ No newline at end of file
......@@ -3,14 +3,14 @@
#endif
#include <dune/dorie/impl/impl.hh>
#include <dune/dorie/interface/simulation.cc>
#include <dune/dorie/interface/richards_simulation.cc>
namespace Dune{
namespace Dorie{
template class Simulation<BaseTraits<UGGrid,Geo::cube,3,1,true,true>>;
template class Simulation<BaseTraits<UGGrid,Geo::simplex,3,1,true,true>>;
template class Simulation<BaseTraits<UGGrid,Geo::simplex,3,1,true,false>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<3>,Geo::cube,true,true>,1>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<3>,Geo::simplex,true,true>,1>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<3>,Geo::simplex,true,false>,1>>;
} // namespace Dorie
} // namespace Dune
\ No newline at end of file
......@@ -3,14 +3,14 @@
#endif
#include <dune/dorie/impl/impl.hh>
#include <dune/dorie/interface/simulation.cc>
#include <dune/dorie/interface/richards_simulation.cc>
namespace Dune{
namespace Dorie{
template class Simulation<BaseTraits<UGGrid,Geo::cube,3,2,true,true>>;
template class Simulation<BaseTraits<UGGrid,Geo::simplex,3,2,true,true>>;
template class Simulation<BaseTraits<UGGrid,Geo::simplex,3,2,true,false>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<3>,Geo::cube,true,true>,2>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<3>,Geo::simplex,true,true>,2>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<3>,Geo::simplex,true,false>,2>>;
} // namespace Dorie
} // namespace Dune
\ No newline at end of file
} // namespace Dune
......@@ -3,14 +3,14 @@
#endif
#include <dune/dorie/impl/impl.hh>
#include <dune/dorie/interface/simulation.cc>
#include <dune/dorie/interface/richards_simulation.cc>
namespace Dune{
namespace Dorie{
template class Simulation<BaseTraits<UGGrid,Geo::cube,3,3,true,true>>;
template class Simulation<BaseTraits<UGGrid,Geo::simplex,3,3,true,true>>;
template class Simulation<BaseTraits<UGGrid,Geo::simplex,3,3,true,false>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<3>,Geo::cube,true,true>,3>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<3>,Geo::simplex,true,true>,3>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<UGGrid<3>,Geo::simplex,true,false>,3>>;
} // namespace Dorie
} // namespace Dune
\ No newline at end of file
......@@ -3,12 +3,12 @@
#endif
#include <dune/dorie/impl/impl.hh>
#include <dune/dorie/interface/simulation.cc>
#include <dune/dorie/interface/richards_simulation.cc>
namespace Dune{
namespace Dorie{
template class Simulation<BaseTraits<YaspGrid,Geo::cube,2,1,true,false>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<YaspGrid<2>,Geo::cube,true,false>,1>>;
} // namespace Dorie
} // namespace Dune
\ No newline at end of file
......@@ -3,12 +3,12 @@
#endif
#include <dune/dorie/impl/impl.hh>
#include <dune/dorie/interface/simulation.cc>
#include <dune/dorie/interface/richards_simulation.cc>
namespace Dune{
namespace Dorie{
template class Simulation<BaseTraits<YaspGrid,Geo::cube,2,2,true,false>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<YaspGrid<2>,Geo::cube,true,false>,2>>;
} // namespace Dorie
} // namespace Dune
\ No newline at end of file
......@@ -3,12 +3,12 @@
#endif
#include <dune/dorie/impl/impl.hh>
#include <dune/dorie/interface/simulation.cc>
#include <dune/dorie/interface/richards_simulation.cc>
namespace Dune{
namespace Dorie{
template class Simulation<BaseTraits<YaspGrid,Geo::cube,2,3,true,false>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<YaspGrid<2>,Geo::cube,true,false>,3>>;
} // namespace Dorie
} // namespace Dune
\ No newline at end of file
......@@ -3,12 +3,12 @@
#endif
#include <dune/dorie/impl/impl.hh>
#include <dune/dorie/interface/simulation.cc>
#include <dune/dorie/interface/richards_simulation.cc>
namespace Dune{
namespace Dorie{
template class Simulation<BaseTraits<YaspGrid,Geo::cube,3,1,true,false>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<YaspGrid<3>,Geo::cube,true,false>,1>>;
} // namespace Dorie
} // namespace Dune
\ No newline at end of file
......@@ -3,12 +3,12 @@
#endif
#include <dune/dorie/impl/impl.hh>
#include <dune/dorie/interface/simulation.cc>
#include <dune/dorie/interface/richards_simulation.cc>
namespace Dune{
namespace Dorie{
template class Simulation<BaseTraits<YaspGrid,Geo::cube,3,2,true,false>>;
template class RichardsSimulation<RichardsSimulationTraits<BaseTraits<YaspGrid<3>,Geo::cube,true,false>,2>>;
} // namespace Dorie
} // namespace Dune
\ No newline at end of file
......@@ -3,12 +3,12 @@
#endif
#include <dune/dorie/impl/impl.hh>
#include <dune/dorie/interface/simulation.cc>