Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
cc7bc20
add dumux installation in docker image
Fujikawas Jan 16, 2026
9b6b1fe
Add dumux-adapter as a system test component
IshaanDesai Jan 16, 2026
acc1ba2
add dumux test suite
Fujikawas Jan 16, 2026
24809b4
Merge branch 'develop' into dumuxsystemtest
Fujikawas Jan 16, 2026
c4b7dde
add ref versions
Fujikawas Jan 21, 2026
926d606
Merge branch 'develop' into dumuxsystemtest
Fujikawas Jan 21, 2026
1890d96
change stage name
Fujikawas Jan 21, 2026
6b3900f
dockerfile change
Fujikawas Jan 21, 2026
7b43849
Update tools/tests/dockerfiles/ubuntu_2404/Dockerfile
MakisH Jan 21, 2026
d53109a
Update tools/tests/dockerfiles/ubuntu_2404/Dockerfile
MakisH Jan 21, 2026
5b42a62
Move TUTORIALS_REF down
MakisH Jan 21, 2026
9fc07c1
Update tools/tests/reference_versions.yaml
MakisH Jan 21, 2026
ac29b0e
Wrap env variables with braces
MakisH Jan 21, 2026
4da2a86
Add default DUNE and DuMux versions in components.yaml
MakisH Jan 21, 2026
2154863
Rever unrelated changes to build_docker_images.py
MakisH Jan 21, 2026
f22fc57
Fix DuMuX setup in ubuntu_2404 Dockerfile
IshaanDesai Jan 21, 2026
6df0656
remove clone depth
Fujikawas Jan 21, 2026
c4aa8d1
Merge branch 'develop' into dumuxsystemtest
IshaanDesai Jan 23, 2026
4c7d21b
add micro manager in docker image
Fujikawas Jan 23, 2026
64dad40
Merge branch 'develop' into dumuxsystemtest
Fujikawas Jan 26, 2026
c4a4640
Merge branch 'develop' into dumuxsystemtest
Fujikawas Feb 4, 2026
9f97797
Merge branch 'develop' into dumuxsystemtest
Fujikawas Feb 5, 2026
857abb5
Add path to dumux
Fujikawas Feb 5, 2026
b9d3f15
Merge branch 'develop' into dumuxsystemtest
Fujikawas Feb 5, 2026
c5f3d41
Uncomment free-flow case
Fujikawas Feb 5, 2026
c8279ec
Increase timeout limit
Fujikawas Feb 6, 2026
5904530
Remove extra compilaion in docker file
Fujikawas Feb 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .github/workflows/system-tests-latest-components.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
schedule:
- cron: "0 4 * * *"
workflow_dispatch:

jobs:
gather-refs:
name: Map Git branches to latest refs
Expand Down Expand Up @@ -140,6 +140,9 @@ jobs:
OPENFOAM_ADAPTER_REF:${{ needs.gather-refs.outputs.ref-openfoam-adapter }},\
SU2_VERSION:7.5.1,\
SU2_ADAPTER_REF:${{ needs.gather-refs.outputs.ref-su2-adapter }},\
DUNE_VERSION:2.9,\
DUMUX_VERSION:3.7,\
MICRO_MANAGER_VERSION:0.8.0,\
TUTORIALS_REF:${{ needs.gather-refs.outputs.ref-tutorials }}"
system_tests_branch: develop
log_level: "INFO"
log_level: "INFO"
20 changes: 20 additions & 0 deletions free-flow-over-porous-media/metadata.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Free flow over porous media
path: free-flow-over-porous-media
url: https://precice.org/tutorials-free-flow-over-porous-media.html

participants:
- Free-Flow
- Porous-Media

cases:
free-flow-dumux:
participant: Free-Flow
directory: ./free-flow-dumux
run: ./run.sh -l /home/precice/dumux
component: dumux-adapter

porous-media-dumux:
participant: Porous-Media
directory: ./porous-media-dumux
run: ./run.sh -l /home/precice/dumux
component: dumux-adapter
16 changes: 16 additions & 0 deletions tools/tests/component-templates/dumux-adapter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
build:
context: {{ dockerfile_context }}
args:
{% for key, value in build_arguments.items() %}
- {{key}}={{value}}
{% endfor %}
target: dumux_adapter
depends_on:
prepare:
condition: service_completed_successfully
volumes:
- {{ run_directory }}:/runs
command: >
/bin/bash -c "id &&
cd '/runs/{{ tutorial_folder }}/{{ case_folder }}' &&
{{ run }} | tee system-tests_{{ case_folder }}.log 2>&1"
16 changes: 16 additions & 0 deletions tools/tests/component-templates/micro-manager.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
build:
context: {{ dockerfile_context }}
args:
{% for key, value in build_arguments.items() %}
- {{key}}={{value}}
{% endfor %}
target: micro_manager
depends_on:
prepare:
condition: service_completed_successfully
volumes:
- {{ run_directory }}:/runs
command: >
/bin/bash -c "id &&
cd '/runs/{{ tutorial_folder }}/{{ case_folder }}' &&
{{ run }} | tee system-tests_{{ case_folder }}.log 2>&1"
48 changes: 47 additions & 1 deletion tools/tests/components.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -165,4 +165,50 @@ dealii-adapter:
default: "master"
DEALII_ADAPTER_REF:
description: Version of deal.ii-adapter to use
default: "master"
default: "master"

dumux-adapter:
repository: https://github.com/precice/dumux-adapter
template: component-templates/dumux-adapter.yaml
build_arguments:
PLATFORM:
description: Dockerfile platform used
default: "ubuntu_2404"
PRECICE_REF:
description: Version of preCICE to use
default: "main"
PRECICE_PRESET:
description: CMake preset of preCICE
default: "production-audit"
TUTORIALS_REF:
description: Tutorial git reference to use
default: "master"
DUNE_VERSION:
description: Version of DUNE to use
default: "2.9"
DUMUX_VERSION:
description: Version of DuMux to use
default: "3.7"
DUMUX_ADAPTER_REF:
semnantic: Git ref of the dumux adapter to use
default: "main"

micro-manager:
repository: https://github.com/precice/micro-manager
template: component-templates/micro-manager.yaml
build_arguments:
PLATFORM:
description: Dockerfile platform used
default: "ubuntu_2404"
PRECICE_REF:
description: Version of preCICE to use
default: "main"
PRECICE_PRESET:
description: CMake preset of preCICE
default: "production-audit"
TUTORIALS_REF:
description: Tutorial git reference to use
default: "master"
MICRO_MANAGER_VERSION:
description: Version of Micro-Manager to use
default: "0.8.0"
84 changes: 64 additions & 20 deletions tools/tests/dockerfiles/ubuntu_2404/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,25 +22,25 @@ USER root
# Installing necessary dependecies for preCICE
RUN apt-get -qq update && \
apt-get -qq -y install \
build-essential \
software-properties-common \
cmake \
curl \
g++ \
gfortran \
git \
libbenchmark-dev \
libboost-all-dev \
libeigen3-dev \
libxml2-dev \
lsb-release \
petsc-dev \
python3-dev \
python3-numpy \
python3-pip \
python3-venv \
pkg-config \
wget
build-essential \
software-properties-common \
cmake \
curl \
g++ \
gfortran \
git \
libbenchmark-dev \
libboost-all-dev \
libeigen3-dev \
libxml2-dev \
lsb-release \
petsc-dev \
python3-dev \
python3-numpy \
python3-pip \
python3-venv \
pkg-config \
wget
USER precice

FROM precice_dependecies AS precice
Expand Down Expand Up @@ -187,4 +187,48 @@ RUN git clone https://github.com/precice/dealii-adapter.git &&\
if [ -n "${DEALII_ADAPTER_PR}" ]; then git fetch origin pull/${DEALII_ADAPTER_PR}/head; fi && \
git checkout ${DEALII_ADAPTER_REF} && \
cmake . && \
make -j $(nproc)
make -j $(nproc)


FROM precice_dependecies AS micro_manager
USER precice
WORKDIR /home/precice
COPY --from=precice /home/precice/.local/ /home/precice/.local/

ARG MICRO_MANAGER_VERSION
RUN python3 -m venv /home/precice/venv && \
. /home/precice/venv/bin/activate && \
git clone https://github.com/precice/micro-manager.git && \
cd micro-manager && \
git checkout ${MICRO_MANAGER_VERSION} && \
pip3 install .

FROM micro_manager AS dumux_adapter
USER root
COPY --from=precice /home/precice/.local/ /home/precice/.local/
ARG DUNE_VERSION
ARG DUMUX_VERSION
USER precice
WORKDIR /home/precice
RUN mkdir dumux&&\
cd dumux&&\
git clone --depth 1 https://gitlab.dune-project.org/core/dune-common.git -b releases/${DUNE_VERSION} &&\
git clone --depth 1 https://gitlab.dune-project.org/core/dune-geometry.git -b releases/${DUNE_VERSION} &&\
git clone --depth 1 https://gitlab.dune-project.org/core/dune-grid.git -b releases/${DUNE_VERSION} &&\
git clone --depth 1 https://gitlab.dune-project.org/core/dune-istl.git -b releases/${DUNE_VERSION} &&\
git clone --depth 1 https://gitlab.dune-project.org/extensions/dune-subgrid.git -b releases/${DUNE_VERSION} &&\
git clone --depth 1 https://git.iws.uni-stuttgart.de/dumux-repositories/dumux.git -b releases/${DUMUX_VERSION} &&\
git clone -b cell_problems https://git.iws.uni-stuttgart.de/dumux-appl/dumux-phasefield.git &&\
git clone --depth 1 https://gitlab.dune-project.org/extensions/dune-SPGrid.git -b releases/${DUNE_VERSION} &&\
git clone --depth 1 https://gitlab.dune-project.org/core/dune-localfunctions.git -b releases/${DUNE_VERSION}
WORKDIR /home/precice/dumux
ENV PATH="/home/precice/dumux/dune-common/bin:${PATH}"
# build core DUNE, DuMuX and the adapter
ARG DUMUX_ADAPTER_PR
ARG DUMUX_ADAPTER_REF
RUN git clone https://github.com/precice/dumux-adapter.git &&\
cd dumux-adapter && \
if [ -n "${DUMUX_ADAPTER_PR}" ]; then git fetch origin pull/${DUMUX_ADAPTER_PR}/head; fi && \
git checkout ${DUMUX_ADAPTER_REF} && \
cd .. &&\
./dune-common/bin/dunecontrol --opts=./dumux/cmake.opts all
4 changes: 4 additions & 0 deletions tools/tests/reference_versions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,7 @@ CALCULIX_ADAPTER_REF: "v2.20.1"
SU2_VERSION: "7.5.1"
SU2_ADAPTER_REF: "64d4aff" # Distribution v2404
DEALII_ADAPTER_REF: "02c5d18" # develop, April 12, 2025
DUNE_VERSION: "2.9"
DUMUX_VERSION: "3.7"
DUMUX_ADAPTER_REF: "v3.0.0"
MICRO_MANAGER_VERSION: "v0.8.0"
2 changes: 1 addition & 1 deletion tools/tests/systemtests/Systemtest.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import os


GLOBAL_TIMEOUT = 600
GLOBAL_TIMEOUT = 900
SHORT_TIMEOUT = 10


Expand Down
18 changes: 15 additions & 3 deletions tools/tests/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ test_suites:
tutorials:
- path: flow-over-heated-plate
case_combination:
- fluid-openfoam
- solid-fenics
- fluid-openfoam
- solid-fenics
reference_result: ./flow-over-heated-plate/reference-results/fluid-openfoam_solid-fenics.tar.gz
nutils_test:
tutorials:
Expand All @@ -39,6 +39,18 @@ test_suites:
- fluid-openfoam
- solid-calculix
reference_result: ./perpendicular-flap/reference-results/fluid-openfoam_solid-calculix.tar.gz
dumux_test:
tutorials:
- path: free-flow-over-porous-media
case_combination:
- free-flow-dumux
- porous-media-dumux
reference_result: ./free-flow-over-porous-media/reference-results/free-flow-dumux_porous-media-dumux.tar.gz
- path: two-scale-heat-conduction
case_combination:
- macro-dumux
- micro-dumux
reference_result: ./two-scale-heat-conduction/reference-results/macro-dumux_micro-dumux.tar.gz
su2_test:
tutorials:
- path: perpendicular-flap
Expand Down Expand Up @@ -128,4 +140,4 @@ test_suites:
- fluid-openfoam
- solid-upstream-dealii
- solid-downstream-dealii
reference_result: ./perpendicular-flap/reference-results/fluid-openfoam_solid-upstream-dealii_solid-downstream-dealii.tar.gz
reference_result: ./perpendicular-flap/reference-results/fluid-openfoam_solid-upstream-dealii_solid-downstream-dealii.tar.gz
20 changes: 20 additions & 0 deletions two-scale-heat-conduction/metadata.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Two-scale heat conduction
path: two-scale-heat-conduction
url: https://precice.org/tutorials-two-scale-heat-conduction.html

participants:
- macro-heat
- Micro-Manager

cases:
macro-dumux:
participant: macro-heat
directory: ./macro-dumux
run: ./run.sh -l /home/precice/dumux
component: dumux-adapter

micro-dumux:
participant: Micro-Manager
directory: ./micro-dumux
run: ./run.sh -l /home/precice/dumux
component: dumux-adapter
Loading