Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
15 changes: 15 additions & 0 deletions aste-turbine/metadata.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: ASTE turbine
path: aste-turbine
url: https://precice.org/tutorials-aste-turbine.html

participants:
- ASTE

# This test case only needs one ASTE instance, and is structured differently than most tutorials
cases:
aste:
participant: ASTE
directory: .
run: sed -i 's|../precice-exports|precice-exports|g' precice-config.xml && ./run.sh
component: aste

3 changes: 3 additions & 0 deletions aste-turbine/reference-results/aste-turbine.tar.gz
Git LFS file not shown
76 changes: 76 additions & 0 deletions aste-turbine/reference-results/reference_results.metadata
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<!---
This File has been generated by the generate_reference_results.py and should not be modified manually
-->

# Reference Results

This file contains an overview of the results over the reference results as well as the arguments used to generate them.
We also include some information on the machine used to generate them

## List of files

| name | time | sha256 |
|------|------|-------|
| aste-turbine.tar.gz | 2026-07-12 19:25:48 | d7fcd67871487fad7339837f29a1919b54d34960cc846075c24f4cf8bb54a271 |

## List of arguments used to generate the files

| name | value |
|------|------|
| PLATFORM | ubuntu_2404 |
| CALCULIX_VERSION | 2.20 |
| DUMUX_VERSION | 3.7 |
| DUNE_VERSION_DUMUX | 2.9 |
| DUNE_VERSION_DUNE | 2.9 |
| OPENFOAM_EXECUTABLE | openfoam2512 |
| SU2_VERSION | 7.5.1 |
| ASTE_REF | 4e32a4f |
| FENICS_ADAPTER_REF | v2.3.0 |
| FENICSX_ADAPTER_REF | v1.0.1 |
| FMI_RUNNER_REF | v0.2.1 |
| CALCULIX_ADAPTER_REF | v2.20.1 |
| DEALII_ADAPTER_REF | a421d92 |
| DUNE_ADAPTER_REF | 778d3bb |
| DUMUX_ADAPTER_REF | 3f3f54f |
| MICRO_MANAGER_REF | bf5ea7b |
| OPENFOAM_ADAPTER_REF | 2c3062c |
| PRECICE_REF | b770460f2447b94da430086085d6b424e7c073e9 |
| PYTHON_BINDINGS_REF | v3.4.0 |
| SU2_ADAPTER_REF | 5abe79b |
| TUTORIALS_REF | b32f576419eb40a68627e704becc3893a3eb1bb6 |
| PRECICE_PRESET | production-audit |
| PRECICE_UID | 1003 |
| PRECICE_GID | 1003 |
## Information about the machine

### uname -a

Linux precice-tests 5.15.0-185-generic #195-Ubuntu SMP Fri Jun 19 17:11:50 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux


### lscpu

Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 45 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Vendor ID: GenuineIntel
Model name: Intel(R) Xeon(R) Gold 6130 CPU @ 2.10GHz
CPU family: 6
Model: 85
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 4
Stepping: 4
BogoMIPS: 4199.99
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arat pku ospke md_clear flush_l1d arch_capabilities
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 128 KiB (4 instances)
L1i cache: 128 KiB (4 instances)
L2 cache: 4 MiB (4 instances)
L3 cache: 88 MiB (4 instances)
NUMA node(s): 1
NUMA node0 CPU(s): 0-3
17 changes: 17 additions & 0 deletions tools/tests/component-templates/aste.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
build:
context: {{ dockerfile_context }}
args:
{% for key, value in build_arguments.items() %}
- {{key}}={{value}}
{% endfor %}
target: aste
depends_on:
prepare:
condition: service_completed_successfully
volumes:
- {{ run_directory }}:/runs
command: >
/bin/bash -c "id &&
cd '/runs/{{ tutorial_folder }}/{{ case_folder }}' &&
source /home/precice/venv/bin/activate &&
{{ run }} | tee system-tests_{{ case_folder }}.log 2>&1"
19 changes: 19 additions & 0 deletions tools/tests/components.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -253,3 +253,22 @@ su2-adapter:
SU2_ADAPTER_REF:
repository: https://github.com/precice/su2-adapter
default: "develop"

aste:
template: component-templates/aste.yaml
build_timeout: 600
build_arguments:
PLATFORM:
default: "ubuntu_2404"
# The name "PLATFORM" is misleading: For this component, we use a different base image.
PRECICE_REF:
repository: https://github.com/precice/precice
default: "develop"
PRECICE_PRESET:
default: "production-audit"
TUTORIALS_REF:
repository: https://github.com/precice/tutorials
default: "develop"
ASTE_REF:
repository: https://github.com/precice/aste
default: "develop"
121 changes: 116 additions & 5 deletions tools/tests/dockerfiles/ubuntu_2404/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ USER precice


FROM precice_dependencies AS precice
# Install & build precice into /home/precice/precice
# Build & install precice into /home/precice/precice
ARG PRECICE_PR
ARG PRECICE_REF
ARG PRECICE_PRESET
Expand All @@ -92,10 +92,10 @@ RUN git clone https://github.com/precice/precice.git precice && \
cd ../.. && rm -rf precice

ENV PATH="${PATH}:/home/precice/.local/bin"
ENV LD_LIBRARY_PATH="/home/precice/.local/lib:${LD_LIBRARY_PATH}"
ENV CPATH="/home/precice/.local/include:$CPATH"
ENV PKG_CONFIG_PATH="/home/precice/.local/lib/pkgconfig:$PKG_CONFIG_PATH"
ENV CMAKE_PREFIX_PATH="/home/precice/.local:$CMAKE_PREFIX_PATH"
ENV LD_LIBRARY_PATH="/home/precice/.local/lib"
ENV CPATH="/home/precice/.local/include"
ENV PKG_CONFIG_PATH="/home/precice/.local/lib/pkgconfig"
ENV CMAKE_PREFIX_PATH="/home/precice/.local"
### end of precice stage ###


Expand Down Expand Up @@ -450,3 +450,114 @@ RUN cd "${SU2_HOME}" &&\
./meson.py build -Denable-pywrapper=true --prefix=$SU2_RUN &&\
./ninja -C build install
### end of su2_adapter stage ###


#####################################################################
# Build stages using third-party base images #
#####################################################################


FROM ubuntu:26.04 AS aste

ARG PRECICE_UID=1000
ARG PRECICE_GID=1000
ARG PRECICE_PR
ARG PRECICE_REF
ARG PRECICE_PRESET
ARG ASTE_PR
ARG ASTE_REF

USER root
SHELL ["/bin/bash", "-c"]
ENV DEBIAN_FRONTEND=noninteractive

# Set the same user as the rest of the system tests components, for consistency.
RUN set -eux; \
if getent group "${PRECICE_GID}" >/dev/null; then \
existing_group="$(getent group "${PRECICE_GID}" | cut -d: -f1)"; \
if [ "${existing_group}" != "precice" ]; then \
groupmod -n precice "${existing_group}"; \
fi; \
else \
groupadd -g "${PRECICE_GID}" precice; \
fi; \
if getent passwd "${PRECICE_UID}" >/dev/null; then \
existing_user="$(getent passwd "${PRECICE_UID}" | cut -d: -f1)"; \
if [ "${existing_user}" != "precice" ]; then \
usermod -l precice -d /home/precice -m "${existing_user}"; \
fi; \
usermod -g "${PRECICE_GID}" precice; \
else \
useradd -u "${PRECICE_UID}" -g "${PRECICE_GID}" -ms /bin/bash precice; \
fi; \
mkdir -p /home/precice; \
chown -R "${PRECICE_UID}:${PRECICE_GID}" /home/precice

# Dependencies for preCICE and common dependencies for the tutorials/tests
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 \
libopenmpi-dev \
libxml2-dev \
lsb-release \
openmpi-bin \
petsc-dev \
python3-dev \
python3-numpy \
python3-pip \
python3-venv \
pkg-config \
wget \
inotify-tools

# Additional dependencies for ASTE
RUN apt-get -qq update && \
apt-get -qq -y install \
libmetis-dev \
libvtk9-dev

USER precice
WORKDIR /home/precice

# Build & install precice into /home/precice/precice
RUN git clone https://github.com/precice/precice.git precice && \
cd precice && \
if [ -n "${PRECICE_PR}" ]; then git fetch origin pull/${PRECICE_PR}/head; fi && \
git checkout ${PRECICE_REF} && \
mkdir build && cd build &&\
cmake .. --preset=${PRECICE_PRESET} -DCMAKE_INSTALL_PREFIX=/home/precice/.local/ -DBUILD_TESTING=OFF && \
make all install -j $(nproc) && \
cd ../.. && rm -rf precice

ENV PATH="${PATH}:/home/precice/.local/bin"
ENV LD_LIBRARY_PATH="/home/precice/.local/lib"
ENV CPATH="/home/precice/.local/include"
ENV PKG_CONFIG_PATH="/home/precice/.local/lib/pkgconfig"
ENV CMAKE_PREFIX_PATH="/home/precice/.local"

RUN git clone https://github.com/precice/aste.git aste && \
cd aste && \
if [ -n "${ASTE_PR}" ]; then git fetch origin pull/${ASTE_PR}/head; fi && \
git checkout ${ASTE_REF}

RUN python3 -m venv /home/precice/venv && \
. /home/precice/venv/bin/activate && \
pip install -r /home/precice/aste/requirements.txt && \
pip install vtk

RUN cd /home/precice/aste && \
mkdir build && cd build &&\
cmake .. -DCMAKE_INSTALL_PREFIX=/home/precice/.local/ && \
make all install -j $(nproc) && \
cd ../.. && rm -rf aste

WORKDIR /home/precice
1 change: 1 addition & 0 deletions tools/tests/reference_versions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ OPENFOAM_EXECUTABLE: "openfoam2512"
SU2_VERSION: "7.5.1"

# Tested components
ASTE_REF: "4e32a4f" # develop, July 12, 2026
FENICS_ADAPTER_REF: "v2.3.0"
FENICSX_ADAPTER_REF: "v1.0.1"
FMI_RUNNER_REF: "v0.2.1"
Expand Down
16 changes: 15 additions & 1 deletion tools/tests/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,15 @@
# Skipped components are still mentioned in a comment.

test_suites:
aste-turbine:
tutorials:
- &aste-turbine
path: aste-turbine
case_combination:
- aste
skip_compare: true # partitioning the mesh differently in each run
reference_result: ./aste-turbine/reference-results/aste-turbine.tar.gz

breaking-dam-2d:
tutorials:
- &breaking-dam-2d_fluid-openfoam_solid-calculix
Expand Down Expand Up @@ -651,6 +660,7 @@ test_suites:

release:
tutorials:
- *aste-turbine
- *breaking-dam-2d_fluid-openfoam_solid-calculix
- *channel-transport_fluid-openfoam_transport-nutils
- *channel-transport_fluid-openfoam_transport-openfoam
Expand Down Expand Up @@ -746,7 +756,11 @@ test_suites:
- *partitioned-pipe-multiscale_fluid1d-left-nutils_fluid3d-right-openfoam # parallel-implicit (IQN-ILS), axial-geometric-multiscale
- *elastic-tube-1d_fluid-fortran-module_solid-fortran-module # integration with Fortran (module)
- *perpendicular-flap_fluid-openfoam_solid-calculix # integration with C


aste:
tutorials:
- *aste-turbine

calculix-adapter:
tutorials:
- *breaking-dam-2d_fluid-openfoam_solid-calculix
Expand Down