|
1 | 1 | #!/usr/bin/env bash |
2 | 2 | set -ex |
3 | 3 |
|
4 | | -# Make a folder to collect all DUNE-related code (-p to allow re-provisioning) |
5 | | -mkdir -p dune && cd dune |
| 4 | +# Make a folder to collect all DUNE-related code |
| 5 | +mkdir -p dune-dumux && cd dune-dumux |
6 | 6 |
|
7 | | -# Get required DUNE modules |
| 7 | +# Modules used by DUNE and DuMux |
| 8 | +# While the installdumux.py script clones these as well, |
| 9 | +# we explicitly clone them to control the versions. |
8 | 10 | if [ ! -d "dune-common/" ]; then |
9 | | - git clone --branch v2.8.0 --depth=1 https://gitlab.dune-project.org/core/dune-common.git |
| 11 | + git clone --depth 1 --branch v2.9.1 https://gitlab.dune-project.org/core/dune-common.git |
10 | 12 | fi |
11 | 13 |
|
12 | 14 | if [ ! -d "dune-istl/" ]; then |
13 | | - git clone --branch v2.8.0 --depth=1 https://gitlab.dune-project.org/core/dune-istl.git |
| 15 | + git clone --depth 1 --branch v2.9.1 https://gitlab.dune-project.org/core/dune-istl.git |
14 | 16 | fi |
15 | 17 |
|
16 | 18 | if [ ! -d "dune-localfunctions/" ]; then |
17 | | - git clone --branch v2.8.0 --depth=1 https://gitlab.dune-project.org/core/dune-localfunctions.git |
| 19 | + git clone --depth 1 --branch v2.9.1 https://gitlab.dune-project.org/core/dune-localfunctions.git |
18 | 20 | fi |
19 | 21 |
|
20 | 22 | if [ ! -d "dune-grid/" ]; then |
21 | | - git clone --branch v2.8.0 --depth=1 https://gitlab.dune-project.org/core/dune-grid.git |
| 23 | + git clone --depth 1 --branch v2.9.1 https://gitlab.dune-project.org/core/dune-grid.git |
22 | 24 | fi |
23 | 25 |
|
24 | 26 | if [ ! -d "dune-geometry/" ]; then |
25 | | - git clone --branch v2.8.0 --depth=1 https://gitlab.dune-project.org/core/dune-geometry.git |
| 27 | + git clone --depth 1 --branch v2.9.1 https://gitlab.dune-project.org/core/dune-geometry.git |
26 | 28 | fi |
27 | 29 |
|
28 | | -if [ ! -d "dune-functions/" ]; then |
29 | | - git clone --branch v2.8.0 --depth=1 https://gitlab.dune-project.org/staging/dune-functions.git |
| 30 | +if [ ! -d "dune-foamgrid/" ]; then |
| 31 | + # The missing v in the tag in this module originates from the project itself |
| 32 | + git clone --depth 1 --branch 2.9.1 https://gitlab.dune-project.org/extensions/dune-foamgrid.git |
30 | 33 | fi |
31 | 34 |
|
32 | | -if [ ! -d "dune-uggrid/" ]; then |
33 | | - git clone --branch v2.8.0 --depth=1 https://gitlab.dune-project.org/staging/dune-uggrid.git |
| 35 | +if [ ! -d "dune-functions/" ]; then |
| 36 | + git clone --depth 1 --branch v2.9.1 https://gitlab.dune-project.org/staging/dune-functions.git |
34 | 37 | fi |
35 | 38 |
|
36 | 39 | if [ ! -d "dune-typetree/" ]; then |
37 | | - git clone --branch v2.8.0 --depth=1 https://gitlab.dune-project.org/staging/dune-typetree.git |
| 40 | + git clone --depth 1 --branch v2.9.1 https://gitlab.dune-project.org/staging/dune-typetree.git |
38 | 41 | fi |
39 | 42 |
|
40 | | -if [ ! -d "dune-foamgrid/" ]; then |
41 | | - git clone --branch releases/2.8 --depth=1 https://gitlab.dune-project.org/extensions/dune-foamgrid.git |
| 43 | +if [ ! -d "dune-uggrid/" ]; then |
| 44 | + git clone --depth 1 --branch v2.9.1 https://gitlab.dune-project.org/staging/dune-uggrid.git |
42 | 45 | fi |
43 | 46 |
|
44 | | -# Get the dune-elastodynamics module (solid solver) |
| 47 | +# Get the dune-elastodynamics module (solid solver for the plain dune adapter) |
45 | 48 | if [ ! -d "dune-elastodynamics/" ]; then |
46 | | - git clone --branch master --depth=1 https://github.com/maxfirmbach/dune-elastodynamics.git |
| 49 | + git clone --depth 1 --branch master https://github.com/maxfirmbach/dune-elastodynamics.git |
47 | 50 | fi |
48 | 51 | ( |
49 | 52 | cd dune-elastodynamics |
50 | 53 | git pull |
51 | 54 | ) |
52 | 55 |
|
53 | | -# Get the DUNE-preCICE adapter |
| 56 | +# Get the plain DUNE-preCICE adapter |
54 | 57 | if [ ! -d "dune-adapter/" ]; then |
55 | | - git clone --branch main --depth=1 https://github.com/precice/dune-adapter.git |
| 58 | + git clone --depth 1 --branch main https://github.com/precice/dune-adapter.git |
56 | 59 | fi |
57 | 60 | ( |
58 | 61 | cd dune-adapter/dune-precice |
59 | 62 | git pull |
60 | 63 | ) |
61 | 64 |
|
62 | | -# Build all the DUNE and DUNE-preCICE related modules |
63 | | -DUNE_CONTROL_PATH=~/dune ./dune-common/bin/dunecontrol all |
| 65 | +./dune-common/bin/dunecontrol all |
64 | 66 |
|
65 | | -# Set the DUNE_CONTROL_PATH (DUNE recursively finds modules in this directory) |
66 | | -echo "export DUNE_CONTROL_PATH=\"\${HOME}/dune\"" >> ~/.bashrc |
| 67 | +# Get DuMux and the DuMux-preCICE adapter |
| 68 | +if [ ! -d "dumux/" ]; then |
| 69 | + git clone --depth 1 --branch releases/3.8 https://git.iws.uni-stuttgart.de/dumux-repositories/dumux.git |
| 70 | +fi |
67 | 71 |
|
68 | | -# Copy the built example code to the tutorials |
69 | | -cp ~/dune/dune-adapter/dune-precice-howto/build-cmake/examples/dune-perpendicular-flap ~/tutorials/perpendicular-flap/solid-dune |
| 72 | +# Build DuMux |
| 73 | +CMAKE_FLAGS="$CMAKE_FLAGS -DCMAKE_DISABLE_FIND_PACKAGE_Kokkos=TRUE" ./dune-common/bin/dunecontrol --only=dumux all |
| 74 | + |
| 75 | +if [ ! -d "dumux-adapter/" ]; then |
| 76 | + git clone --depth 1 --branch v2.0.0 https://github.com/precice/dumux-adapter.git |
| 77 | +fi |
70 | 78 |
|
71 | | -# Install dune-fem from PIP |
| 79 | +# Build the DuMux-preCICE adapter |
| 80 | +CMAKE_FLAGS="$CMAKE_FLAGS -DCMAKE_DISABLE_FIND_PACKAGE_Kokkos=TRUE" ./dune-common/bin/dunecontrol --only=dumux-precice all |
72 | 81 |
|
73 | | -pip3 install --user dune-fem==2.8 |
| 82 | +# Set the DUNE_CONTROL_PATH (DUNE recursively finds modules in this directory) |
| 83 | +echo "export DUNE_CONTROL_PATH=\"\${HOME}/dune-dumux\"" >> ~/.bashrc |
| 84 | + |
| 85 | +# Copy the built example code to the tutorials |
| 86 | +cp ~/dune-dumux/dune-adapter/dune-precice-howto/build-cmake/examples/dune-perpendicular-flap ~/tutorials/perpendicular-flap/solid-dune |
74 | 87 |
|
75 | 88 | # We are done with DUNE, let's do back home |
76 | 89 | cd ~ |
0 commit comments