Skip to content

Commit cdffa12

Browse files
Merge branch 'develop' into systemtests/archive-diff-files
2 parents 6b4f009 + e9c2f2e commit cdffa12

File tree

10 files changed

+188
-6
lines changed

10 files changed

+188
-6
lines changed

.github/workflows/system-tests-latest-components.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
schedule:
55
- cron: "0 4 * * *"
66
workflow_dispatch:
7-
7+
88
jobs:
99
gather-refs:
1010
name: Map Git branches to latest refs
@@ -140,6 +140,8 @@ jobs:
140140
OPENFOAM_ADAPTER_REF:${{ needs.gather-refs.outputs.ref-openfoam-adapter }},\
141141
SU2_VERSION:7.5.1,\
142142
SU2_ADAPTER_REF:${{ needs.gather-refs.outputs.ref-su2-adapter }},\
143+
DUMUX_VERSION:3.7,\
144+
MICRO_MANAGER_VERSION:0.8.0,\
143145
TUTORIALS_REF:${{ needs.gather-refs.outputs.ref-tutorials }}"
144146
system_tests_branch: develop
145-
log_level: "INFO"
147+
log_level: "INFO"

changelog-entries/696.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
- Added dumux\_test test suite to the system tests[#696](https://github.com/precice/tutorials/pull/696)
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Free flow over porous media
2+
path: free-flow-over-porous-media
3+
url: https://precice.org/tutorials-free-flow-over-porous-media-2d.html
4+
5+
participants:
6+
- Free-Flow
7+
- Porous-Media
8+
9+
cases:
10+
free-flow-dumux:
11+
participant: Free-Flow
12+
directory: ./free-flow-dumux
13+
run: ./run.sh -l /home/precice/dumux
14+
component: dumux-adapter
15+
16+
porous-media-dumux:
17+
participant: Porous-Media
18+
directory: ./porous-media-dumux
19+
run: ./run.sh -l /home/precice/dumux
20+
component: dumux-adapter
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
build:
2+
context: {{ dockerfile_context }}
3+
args:
4+
{% for key, value in build_arguments.items() %}
5+
- {{key}}={{value}}
6+
{% endfor %}
7+
target: dumux_adapter
8+
depends_on:
9+
prepare:
10+
condition: service_completed_successfully
11+
volumes:
12+
- {{ run_directory }}:/runs
13+
command: >
14+
/bin/bash -c "id &&
15+
cd '/runs/{{ tutorial_folder }}/{{ case_folder }}' &&
16+
{{ run }} | tee system-tests_{{ case_folder }}.log 2>&1"
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
build:
2+
context: {{ dockerfile_context }}
3+
args:
4+
{% for key, value in build_arguments.items() %}
5+
- {{key}}={{value}}
6+
{% endfor %}
7+
target: micro_manager
8+
depends_on:
9+
prepare:
10+
condition: service_completed_successfully
11+
volumes:
12+
- {{ run_directory }}:/runs
13+
command: >
14+
/bin/bash -c "id &&
15+
cd '/runs/{{ tutorial_folder }}/{{ case_folder }}' &&
16+
{{ run }} | tee system-tests_{{ case_folder }}.log 2>&1"

tools/tests/components.yaml

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,4 +165,50 @@ dealii-adapter:
165165
default: "master"
166166
DEALII_ADAPTER_REF:
167167
description: Version of deal.ii-adapter to use
168-
default: "master"
168+
default: "master"
169+
170+
dumux-adapter:
171+
repository: https://github.com/precice/dumux-adapter
172+
template: component-templates/dumux-adapter.yaml
173+
build_arguments:
174+
PLATFORM:
175+
description: Dockerfile platform used
176+
default: "ubuntu_2404"
177+
PRECICE_REF:
178+
description: Version of preCICE to use
179+
default: "main"
180+
PRECICE_PRESET:
181+
description: CMake preset of preCICE
182+
default: "production-audit"
183+
TUTORIALS_REF:
184+
description: Tutorial git reference to use
185+
default: "master"
186+
DUNE_VERSION:
187+
description: Version of DUNE to use
188+
default: "2.9"
189+
DUMUX_VERSION:
190+
description: Version of DuMux to use
191+
default: "3.7"
192+
DUMUX_ADAPTER_REF:
193+
semnantic: Git ref of the dumux adapter to use
194+
default: "main"
195+
196+
micro-manager:
197+
repository: https://github.com/precice/micro-manager
198+
template: component-templates/micro-manager.yaml
199+
build_arguments:
200+
PLATFORM:
201+
description: Dockerfile platform used
202+
default: "ubuntu_2404"
203+
PRECICE_REF:
204+
description: Version of preCICE to use
205+
default: "main"
206+
PRECICE_PRESET:
207+
description: CMake preset of preCICE
208+
default: "production-audit"
209+
TUTORIALS_REF:
210+
description: Tutorial git reference to use
211+
default: "master"
212+
MICRO_MANAGER_VERSION:
213+
description: Version of Micro-Manager to use
214+
default: "0.8.0"

tools/tests/dockerfiles/ubuntu_2404/Dockerfile

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,4 +189,49 @@ RUN git clone https://github.com/precice/dealii-adapter.git &&\
189189
if [ -n "${DEALII_ADAPTER_PR}" ]; then git fetch origin pull/${DEALII_ADAPTER_PR}/head; fi && \
190190
git checkout ${DEALII_ADAPTER_REF} && \
191191
cmake . && \
192-
make -j $(nproc)
192+
make -j $(nproc)
193+
194+
195+
FROM precice_dependecies AS micro_manager
196+
USER precice
197+
WORKDIR /home/precice
198+
COPY --from=precice /home/precice/.local/ /home/precice/.local/
199+
200+
ARG MICRO_MANAGER_VERSION
201+
RUN python3 -m venv /home/precice/venv && \
202+
. /home/precice/venv/bin/activate && \
203+
git clone https://github.com/precice/micro-manager.git && \
204+
cd micro-manager && \
205+
git checkout ${MICRO_MANAGER_VERSION} && \
206+
pip3 install .
207+
208+
FROM micro_manager AS dumux_adapter
209+
USER root
210+
COPY --from=precice /home/precice/.local/ /home/precice/.local/
211+
ARG DUNE_VERSION
212+
ARG DUMUX_VERSION
213+
USER precice
214+
WORKDIR /home/precice
215+
RUN mkdir dumux&&\
216+
cd dumux&&\
217+
git clone --depth 1 https://gitlab.dune-project.org/core/dune-common.git -b releases/${DUNE_VERSION} &&\
218+
git clone --depth 1 https://gitlab.dune-project.org/core/dune-geometry.git -b releases/${DUNE_VERSION} &&\
219+
git clone --depth 1 https://gitlab.dune-project.org/core/dune-grid.git -b releases/${DUNE_VERSION} &&\
220+
git clone --depth 1 https://gitlab.dune-project.org/core/dune-istl.git -b releases/${DUNE_VERSION} &&\
221+
git clone --depth 1 https://gitlab.dune-project.org/extensions/dune-subgrid.git -b releases/${DUNE_VERSION} &&\
222+
git clone --depth 1 https://git.iws.uni-stuttgart.de/dumux-repositories/dumux.git -b releases/${DUMUX_VERSION} &&\
223+
git clone -b cell_problems https://git.iws.uni-stuttgart.de/dumux-appl/dumux-phasefield.git &&\
224+
git clone --depth 1 https://gitlab.dune-project.org/extensions/dune-SPGrid.git -b releases/${DUNE_VERSION} &&\
225+
git clone --depth 1 https://gitlab.dune-project.org/core/dune-localfunctions.git -b releases/${DUNE_VERSION}
226+
WORKDIR /home/precice/dumux
227+
ENV PATH="/home/precice/dumux/dune-common/bin:${PATH}"
228+
# build core DUNE, DuMuX and the adapter
229+
ARG DUMUX_ADAPTER_PR
230+
ARG DUMUX_ADAPTER_REF
231+
RUN git clone https://github.com/precice/dumux-adapter.git &&\
232+
cd dumux-adapter && \
233+
if [ -n "${DUMUX_ADAPTER_PR}" ]; then git fetch origin pull/${DUMUX_ADAPTER_PR}/head; fi && \
234+
git checkout ${DUMUX_ADAPTER_REF} && \
235+
cd .. &&\
236+
./dune-common/bin/dunecontrol --opts=./dumux/cmake.opts cmake &&\
237+
./dune-common/bin/dunecontrol make -j $(nproc)

tools/tests/reference_versions.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,14 @@ OPENFOAM_EXECUTABLE: "openfoam2312"
44
OPENFOAM_ADAPTER_REF: "v1.3.1"
55
PYTHON_BINDINGS_REF: "v3.2.0"
66
FENICS_ADAPTER_REF: "v2.2.0"
7-
TUTORIALS_REF: "80b5e41" # develop, April 12, 2025
7+
TUTORIALS_REF: "2579210" # develop, Febuary 05, 2026
88
PLATFORM: "ubuntu_2404"
99
CALCULIX_VERSION: "2.20"
1010
CALCULIX_ADAPTER_REF: "v2.20.1"
1111
SU2_VERSION: "7.5.1"
1212
SU2_ADAPTER_REF: "64d4aff" # Distribution v2404
1313
DEALII_ADAPTER_REF: "02c5d18" # develop, April 12, 2025
14+
DUNE_VERSION: "2.9"
15+
DUMUX_VERSION: "3.7"
16+
DUMUX_ADAPTER_REF: "v3.0.0"
17+
MICRO_MANAGER_VERSION: "v0.8.0"

tools/tests/tests.yaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,18 @@ test_suites:
3939
- fluid-openfoam
4040
- solid-calculix
4141
reference_result: ./perpendicular-flap/reference-results/fluid-openfoam_solid-calculix.tar.gz
42+
dumux_test:
43+
tutorials:
44+
- path: free-flow-over-porous-media
45+
case_combination:
46+
- free-flow-dumux
47+
- porous-media-dumux
48+
reference_result: ./free-flow-over-porous-media/reference-results/free-flow-dumux_porous-media-dumux.tar.gz
49+
- path: two-scale-heat-conduction
50+
case_combination:
51+
- macro-dumux
52+
- micro-dumux
53+
reference_result: ./two-scale-heat-conduction/reference-results/macro-dumux_micro-dumux.tar.gz
4254
su2_test:
4355
tutorials:
4456
- path: perpendicular-flap
@@ -128,4 +140,4 @@ test_suites:
128140
- fluid-openfoam
129141
- solid-upstream-dealii
130142
- solid-downstream-dealii
131-
reference_result: ./perpendicular-flap/reference-results/fluid-openfoam_solid-upstream-dealii_solid-downstream-dealii.tar.gz
143+
reference_result: ./perpendicular-flap/reference-results/fluid-openfoam_solid-upstream-dealii_solid-downstream-dealii.tar.gz
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Two-scale heat conduction
2+
path: two-scale-heat-conduction
3+
url: https://precice.org/tutorials-two-scale-heat-conduction.html
4+
5+
participants:
6+
- Macro
7+
- Micro-Manager
8+
9+
cases:
10+
macro-dumux:
11+
participant: Macro
12+
directory: ./macro-dumux
13+
run: ./run.sh -l /home/precice/dumux
14+
component: dumux-adapter
15+
16+
micro-dumux:
17+
participant: Micro-Manager
18+
directory: ./micro-dumux
19+
run: ./run.sh -l /home/precice/dumux
20+
component: dumux-adapter

0 commit comments

Comments
 (0)