Commit 76eb1f48 authored by Lukas Riedel's avatar Lukas Riedel 📝

Merge branch '2.0-patch' into '2.0-stable'

Resolve "Patch Release: 2.0.1"

See merge request !212
parents 77874f2e 398432b2
......@@ -115,8 +115,6 @@ prep:update-dune-clang:
script:
- docker build -f docker/dune-env-update.dockerfile
--build-arg DUNE_ENV_IMAGE=${DUNE_ENV_IMAGE}-clang
--build-arg CC=clang
--build-arg CXX=clang++
--build-arg PROCNUM=$CPUS_DIND
-t ${DUNE_ENV_IMAGE}-clang .
- docker push ${DUNE_ENV_IMAGE}-clang
......
# DORiE Changelog
## 2.0.1 (2020-07-16)
### Changed
* Simplify installation instructions !205
### Fixed
* Ensure UTF-8 locale definition in Docker images !210
## 2.0.0 (2020-05-14)
### Added
......
This diff is collapsed.
# NOTE: If you want to update this file with options for your own setup, create
# a copy of it. Make sure you *do not* commit any changes specific to your
# setup to the original file!
# CMake configuration options
# - Default build type: Release
# - Create virtual environment in dune-common
# - Fetch pip and install it into virtual environment
# - Prefer parallel over sequential HDF5 (required for Ubuntu/Debian)
CMAKE_FLAGS="
-DCMAKE_BUILD_TYPE=Release
-DDUNE_PYTHON_VIRTUALENV_SETUP=True
-DDUNE_PYTHON_ALLOW_GET_PIP=True
-DHDF5_PREFER_PARALLEL=True
"
#!/usr/bin/env bash
# Abort script on command failure
set -e
echo "=== Cloning DUNE modules into $(pwd) ==="
DEFAULT_BRANCH="releases/2.6"
git clone https://gitlab.dune-project.org/staging/dune-uggrid.git -b $DEFAULT_BRANCH
git clone https://gitlab.dune-project.org/oklein/dune-randomfield.git -b $DEFAULT_BRANCH
git clone https://gitlab.dune-project.org/core/dune-common.git -b $DEFAULT_BRANCH
git clone https://gitlab.dune-project.org/core/dune-geometry.git -b $DEFAULT_BRANCH
git clone https://gitlab.dune-project.org/core/dune-grid.git -b $DEFAULT_BRANCH
git clone https://gitlab.dune-project.org/core/dune-istl.git -b $DEFAULT_BRANCH
git clone https://gitlab.dune-project.org/core/dune-localfunctions.git -b $DEFAULT_BRANCH
git clone https://gitlab.dune-project.org/staging/dune-functions.git -b $DEFAULT_BRANCH
git clone https://gitlab.dune-project.org/pdelab/dune-pdelab.git -b $DEFAULT_BRANCH
git clone https://gitlab.dune-project.org/staging/dune-typetree.git -b $DEFAULT_BRANCH
git clone https://gitlab.dune-project.org/quality/dune-testtools.git -b $DEFAULT_BRANCH
......@@ -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 | same as ``richards`` | ✗ | ✓ |
| +-------------------+-----------------------------+------------------------------+----------------+---------------------+
| | 2 | 1..3 | same as ``richards`` | ✓\ :sup:`†` | on structured grids |
| +-------------------+-----------------------------+------------------------------+----------------+---------------------+
| | 3 | 0 | same as ``richards`` | ✗ | ✓ |
| +-------------------+-----------------------------+------------------------------+----------------+---------------------+
| | 3 | 1 | same as ``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
......
......@@ -9,9 +9,6 @@ LABEL maintainer="lriedel@iup.uni-heidelberg.de"
# number of cores for parallel builds
ARG PROCNUM=1
# Compilers to be used
ARG CC=gcc
ARG CXX=g++
# copy the build context to this image
WORKDIR /opt/dune/dorie
......@@ -20,8 +17,7 @@ COPY ./ ./
# build the executable
WORKDIR /opt/dune/
RUN MAKE_FLAGS="-j${PROCNUM}" \
CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX} -DDUNE_PYTHON_VIRTUALENV_SETUP=True -DDUNE_PYTHON_ALLOW_GET_PIP=True" \
./dune-common/bin/dunecontrol --only=dorie all
./dune-common/bin/dunecontrol --opts=dorie/build.opts --only=dorie all
# Start a fresh image as production environment
FROM $DUNE_ENV_IMAGE as prod-env
......
......@@ -6,13 +6,20 @@ LABEL maintainer="lriedel@iup.uni-heidelberg.de"
# number of cores for parallel builds
ARG PROCNUM=1
# Compilers to be used
ARG CC=gcc
ARG CXX=g++
RUN apt-get clean && apt-get update && apt-get upgrade -y && apt-get clean
# Upgrade Ubuntu packages
# NOTE: "localedef" is required in case "locale" package is updated
RUN apt-get clean \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG en_US.utf8
# Update and build DUNE modules
WORKDIR /opt/dune
COPY build.opts ./
RUN ./dune-common/bin/dunecontrol update
RUN MAKE_FLAGS="-j ${PROCNUM}" \
CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX} -DDUNE_PYTHON_VIRTUALENV_SETUP=True -DDUNE_PYTHON_ALLOW_GET_PIP=True" \
./dune-common/bin/dunecontrol all
./dune-common/bin/dunecontrol --opts=build.opts all
......@@ -6,6 +6,9 @@ ARG PROCNUM=1
ARG CC=gcc
ARG CXX=g++
# Pass compilers as environment variables (will persist in other images)
ENV CC=$CC CXX=$CXX
# disable any prompts while installing packages
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get clean \
......@@ -37,26 +40,18 @@ RUN apt-get clean \
python3-dev \
python3-pip \
python3-vtk7 \
&& apt-get clean
RUN rm -rf /var/lib/apt/lists/* \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG en_US.utf8
WORKDIR /opt/dune
RUN git clone https://gitlab.dune-project.org/staging/dune-uggrid.git -b releases/2.6 \
&& git clone https://gitlab.dune-project.org/oklein/dune-randomfield.git -b releases/2.6 \
&& git clone https://gitlab.dune-project.org/core/dune-common.git -b releases/2.6 \
&& git clone https://gitlab.dune-project.org/core/dune-geometry.git -b releases/2.6 \
&& git clone https://gitlab.dune-project.org/core/dune-grid.git -b releases/2.6 \
&& git clone https://gitlab.dune-project.org/core/dune-istl.git -b releases/2.6 \
&& git clone https://gitlab.dune-project.org/core/dune-localfunctions.git -b releases/2.6 \
&& git clone https://gitlab.dune-project.org/staging/dune-functions.git -b releases/2.6 \
&& git clone https://gitlab.dune-project.org/pdelab/dune-pdelab.git -b releases/2.6 \
&& git clone https://gitlab.dune-project.org/staging/dune-typetree.git -b releases/2.6 \
&& git clone https://gitlab.dune-project.org/quality/dune-testtools.git -b releases/2.6
WORKDIR /opt/dune
# Clone DUNE modules
COPY clone_dune ./
RUN bash clone_dune
# Configure and build DUNE modules
COPY build.opts ./
RUN MAKE_FLAGS="-j ${PROCNUM}" \
CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX} -DDUNE_PYTHON_VIRTUALENV_SETUP=True -DDUNE_PYTHON_ALLOW_GET_PIP=True" \
./dune-common/bin/dunecontrol all
./dune-common/bin/dunecontrol --opts=build.opts all
......@@ -4,7 +4,7 @@
#Name of the module
Module: dorie
Version: 2.0.0
Version: 2.0.1
Maintainer: dorieteam@iup.uni-heidelberg.de
#depending on
Depends: dune-pdelab dune-uggrid dune-randomfield
......
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