From 65c30d15213e799ca80b90e1089b71b2fd9573e5 Mon Sep 17 00:00:00 2001 From: Gerasimos Chourdakis Date: Tue, 16 Apr 2024 11:11:47 +0200 Subject: [PATCH] Add su2 adapter tests and update reference results (#521) Co-authored-by: preCICE Tests VM --- .../fluid-cpp_solid-cpp.tar.gz | 4 +-- .../fluid-cpp_solid-python.tar.gz | 4 +-- .../fluid-python_solid-python.tar.gz | 4 +-- elastic-tube-1d/reference_results.metadata | 18 ++++++------ .../fluid-openfoam_solid-fenics.tar.gz | 4 +-- .../fluid-openfoam_solid-nutils.tar.gz | 4 +-- .../fluid-openfoam_solid-openfoam.tar.gz | 4 +-- .../reference_results.metadata | 18 ++++++------ perpendicular-flap/metadata.yaml | 10 +++---- .../fluid-openfoam_solid-calculix.tar.gz | 4 +-- .../fluid-su2_solid-fenics.tar.gz | 3 ++ perpendicular-flap/reference_results.metadata | 15 ++++++---- tools/tests/README.md | 6 ++-- tools/tests/component-templates/bare.yaml | 2 +- .../component-templates/calculix-adapter.yaml | 2 +- .../component-templates/fenics-adapter.yaml | 2 +- .../component-templates/nutils-adapter.yaml | 2 +- .../component-templates/openfoam-adapter.yaml | 2 +- .../component-templates/python-bindings.yaml | 2 +- .../component-templates/su2-adapter.yaml | 16 +++++++++++ tools/tests/components.yaml | 20 +++++++++++++ .../tests/dockerfiles/ubuntu_2204/Dockerfile | 28 +++++++++++++++++++ tools/tests/reference_versions.yaml | 2 ++ tools/tests/systemtests/Systemtest.py | 2 +- tools/tests/tests.yaml | 17 +++++++++++ 25 files changed, 144 insertions(+), 51 deletions(-) create mode 100644 perpendicular-flap/reference-results/fluid-su2_solid-fenics.tar.gz create mode 100644 tools/tests/component-templates/su2-adapter.yaml diff --git a/elastic-tube-1d/reference-results/fluid-cpp_solid-cpp.tar.gz b/elastic-tube-1d/reference-results/fluid-cpp_solid-cpp.tar.gz index b3467d1d0..d74a1ded9 100644 --- a/elastic-tube-1d/reference-results/fluid-cpp_solid-cpp.tar.gz +++ b/elastic-tube-1d/reference-results/fluid-cpp_solid-cpp.tar.gz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8b00ccdcd8f2ddb4c1fc115dbaf9ee36bb03ba0f9fb98a3498dcc1d389acaf3b -size 703652 +oid sha256:501038f52ba09cea3e7d430f26ff8ca88b301e0aa38862ce894cabaf47237490 +size 702367 diff --git a/elastic-tube-1d/reference-results/fluid-cpp_solid-python.tar.gz b/elastic-tube-1d/reference-results/fluid-cpp_solid-python.tar.gz index cd232b7b8..075150403 100644 --- a/elastic-tube-1d/reference-results/fluid-cpp_solid-python.tar.gz +++ b/elastic-tube-1d/reference-results/fluid-cpp_solid-python.tar.gz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0fe449e0890c9906b7f132bc12c978621bedb2f12fc678f367e5b12823e2543e -size 703586 +oid sha256:0d2520075e8ecdcee88288cf91f8da7af2b805771241200168455ed117b13a6a +size 702553 diff --git a/elastic-tube-1d/reference-results/fluid-python_solid-python.tar.gz b/elastic-tube-1d/reference-results/fluid-python_solid-python.tar.gz index 7357d8bf9..882c15b7a 100644 --- a/elastic-tube-1d/reference-results/fluid-python_solid-python.tar.gz +++ b/elastic-tube-1d/reference-results/fluid-python_solid-python.tar.gz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4ad401034b1d980c0584bbbb09dc17c8e2723ec195a1f041e4a246e41ded7092 -size 703580 +oid sha256:553e17167087ce036096c5319d41e322f28e9fbd9da32a63b28002e26ea023df +size 702971 diff --git a/elastic-tube-1d/reference_results.metadata b/elastic-tube-1d/reference_results.metadata index 2813264d7..242a5ac91 100644 --- a/elastic-tube-1d/reference_results.metadata +++ b/elastic-tube-1d/reference_results.metadata @@ -11,28 +11,30 @@ We also include some information on the machine used to generate them | name | time | sha256 | |------|------|-------| -| fluid-cpp_solid-cpp.tar.gz | 2024-03-21 09:41:34 | 8b00ccdcd8f2ddb4c1fc115dbaf9ee36bb03ba0f9fb98a3498dcc1d389acaf3b | -| fluid-cpp_solid-python.tar.gz | 2024-03-21 09:41:34 | 0fe449e0890c9906b7f132bc12c978621bedb2f12fc678f367e5b12823e2543e | -| fluid-python_solid-python.tar.gz | 2024-03-21 09:41:34 | 4ad401034b1d980c0584bbbb09dc17c8e2723ec195a1f041e4a246e41ded7092 | +| fluid-cpp_solid-cpp.tar.gz | 2024-04-13 12:00:34 | 501038f52ba09cea3e7d430f26ff8ca88b301e0aa38862ce894cabaf47237490 | +| fluid-python_solid-python.tar.gz | 2024-04-13 12:00:34 | 553e17167087ce036096c5319d41e322f28e9fbd9da32a63b28002e26ea023df | +| fluid-cpp_solid-python.tar.gz | 2024-04-13 12:00:34 | 0d2520075e8ecdcee88288cf91f8da7af2b805771241200168455ed117b13a6a | ## List of arguments used to generate the files | name | value | |------|------| -| PRECICE_REF | v3.0.0 | -| OPENFOAM_EXECUTABLE | openfoam2306 | +| PRECICE_REF | v3.1.1 | +| OPENFOAM_EXECUTABLE | openfoam2312 | | OPENFOAM_ADAPTER_REF | v1.3.0 | -| PYTHON_BINDINGS_REF | v3.0.0.0 | +| PYTHON_BINDINGS_REF | v3.1.0 | | FENICS_ADAPTER_REF | v2.1.0 | -| TUTORIALS_REF | 3f139d36f1708fb3ebfde2c48f14b1df94c9d70a | +| TUTORIALS_REF | 340b447 | | PLATFORM | ubuntu_2204 | | CALULIX_VERSION | 2.20 | | CALULIX_ADAPTER_REF | v2.20.1 | +| SU2_VERSION | 7.5.1 | +| SU2_ADAPTER_REF | 64d4aff | ## Information about the machine ### uname -a -Linux precice-tests 5.15.0-91-generic #101-Ubuntu SMP Tue Nov 14 13:30:08 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux +Linux precice-tests 5.15.0-101-generic #111-Ubuntu SMP Tue Mar 5 20:16:58 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux ### lscpu diff --git a/flow-over-heated-plate/reference-results/fluid-openfoam_solid-fenics.tar.gz b/flow-over-heated-plate/reference-results/fluid-openfoam_solid-fenics.tar.gz index a09f4d1cf..bf6102a64 100644 --- a/flow-over-heated-plate/reference-results/fluid-openfoam_solid-fenics.tar.gz +++ b/flow-over-heated-plate/reference-results/fluid-openfoam_solid-fenics.tar.gz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:efe8b31a945bed1aec706747dcac70acbf8fb5cc88a79e797e52ca86d403d78a -size 775238 +oid sha256:656007eaa973f35c421a3b9ec340a06145fd065041e33f10efe023ab127a4552 +size 775369 diff --git a/flow-over-heated-plate/reference-results/fluid-openfoam_solid-nutils.tar.gz b/flow-over-heated-plate/reference-results/fluid-openfoam_solid-nutils.tar.gz index 5fc0d9246..d0f560a2f 100644 --- a/flow-over-heated-plate/reference-results/fluid-openfoam_solid-nutils.tar.gz +++ b/flow-over-heated-plate/reference-results/fluid-openfoam_solid-nutils.tar.gz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4cf68dae854f23fa773cea329b06f2046a5cb3c4ec5ba8b9f4c363010fd9613a -size 531221 +oid sha256:13557384af972d30f6b6d7fcf07429b2d99a463d1e9358d19ea72665fd06279e +size 531446 diff --git a/flow-over-heated-plate/reference-results/fluid-openfoam_solid-openfoam.tar.gz b/flow-over-heated-plate/reference-results/fluid-openfoam_solid-openfoam.tar.gz index ad19602fa..ca97ab96c 100644 --- a/flow-over-heated-plate/reference-results/fluid-openfoam_solid-openfoam.tar.gz +++ b/flow-over-heated-plate/reference-results/fluid-openfoam_solid-openfoam.tar.gz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ff95baa77b582eceb69d726b113df2ca340829fb2ca1c2c083c2f96f65908c10 -size 497632 +oid sha256:da907862142542501da920b8dde9d81cc53e947bd72dc59a8df59dc8e3b28348 +size 497746 diff --git a/flow-over-heated-plate/reference_results.metadata b/flow-over-heated-plate/reference_results.metadata index 57dbc1e7f..462a5b878 100644 --- a/flow-over-heated-plate/reference_results.metadata +++ b/flow-over-heated-plate/reference_results.metadata @@ -11,28 +11,30 @@ We also include some information on the machine used to generate them | name | time | sha256 | |------|------|-------| -| fluid-openfoam_solid-openfoam.tar.gz | 2024-03-21 09:41:34 | ff95baa77b582eceb69d726b113df2ca340829fb2ca1c2c083c2f96f65908c10 | -| fluid-openfoam_solid-nutils.tar.gz | 2024-03-21 09:41:34 | 4cf68dae854f23fa773cea329b06f2046a5cb3c4ec5ba8b9f4c363010fd9613a | -| fluid-openfoam_solid-fenics.tar.gz | 2024-03-21 09:41:34 | efe8b31a945bed1aec706747dcac70acbf8fb5cc88a79e797e52ca86d403d78a | +| fluid-openfoam_solid-nutils.tar.gz | 2024-04-13 12:00:34 | 13557384af972d30f6b6d7fcf07429b2d99a463d1e9358d19ea72665fd06279e | +| fluid-openfoam_solid-openfoam.tar.gz | 2024-04-13 12:00:34 | da907862142542501da920b8dde9d81cc53e947bd72dc59a8df59dc8e3b28348 | +| fluid-openfoam_solid-fenics.tar.gz | 2024-04-13 12:00:34 | 656007eaa973f35c421a3b9ec340a06145fd065041e33f10efe023ab127a4552 | ## List of arguments used to generate the files | name | value | |------|------| -| PRECICE_REF | v3.0.0 | -| OPENFOAM_EXECUTABLE | openfoam2306 | +| PRECICE_REF | v3.1.1 | +| OPENFOAM_EXECUTABLE | openfoam2312 | | OPENFOAM_ADAPTER_REF | v1.3.0 | -| PYTHON_BINDINGS_REF | v3.0.0.0 | +| PYTHON_BINDINGS_REF | v3.1.0 | | FENICS_ADAPTER_REF | v2.1.0 | -| TUTORIALS_REF | 3f139d36f1708fb3ebfde2c48f14b1df94c9d70a | +| TUTORIALS_REF | 340b447 | | PLATFORM | ubuntu_2204 | | CALULIX_VERSION | 2.20 | | CALULIX_ADAPTER_REF | v2.20.1 | +| SU2_VERSION | 7.5.1 | +| SU2_ADAPTER_REF | 64d4aff | ## Information about the machine ### uname -a -Linux precice-tests 5.15.0-91-generic #101-Ubuntu SMP Tue Nov 14 13:30:08 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux +Linux precice-tests 5.15.0-101-generic #111-Ubuntu SMP Tue Mar 5 20:16:58 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux ### lscpu diff --git a/perpendicular-flap/metadata.yaml b/perpendicular-flap/metadata.yaml index d9c8d8dac..bde575268 100644 --- a/perpendicular-flap/metadata.yaml +++ b/perpendicular-flap/metadata.yaml @@ -19,11 +19,11 @@ cases: run: ./run.sh component: openfoam-adapter - # fluid-su2: - # participant: Fluid - # directory: ./fluid-su2 - # run: ./run.sh - # component: su2-adapter + fluid-su2: + participant: Fluid + directory: ./fluid-su2 + run: ./run.sh + component: su2-adapter solid-calculix: participant: Solid diff --git a/perpendicular-flap/reference-results/fluid-openfoam_solid-calculix.tar.gz b/perpendicular-flap/reference-results/fluid-openfoam_solid-calculix.tar.gz index fbce69e5b..cd2283654 100644 --- a/perpendicular-flap/reference-results/fluid-openfoam_solid-calculix.tar.gz +++ b/perpendicular-flap/reference-results/fluid-openfoam_solid-calculix.tar.gz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b974131b50bfb199f695d066f74100a75f633fba472020e78c3fc0d52b8ad36b -size 13532601 +oid sha256:863c5078f8068135a983b24433d8d71120c2fdd67d6ab93b9dc1a4642ee595ba +size 13532926 diff --git a/perpendicular-flap/reference-results/fluid-su2_solid-fenics.tar.gz b/perpendicular-flap/reference-results/fluid-su2_solid-fenics.tar.gz new file mode 100644 index 000000000..395091d43 --- /dev/null +++ b/perpendicular-flap/reference-results/fluid-su2_solid-fenics.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d74d72729eb88049f067eb794768948d01f58e0b8f0db7e542c2d9da0643c7b5 +size 3399058 diff --git a/perpendicular-flap/reference_results.metadata b/perpendicular-flap/reference_results.metadata index f2cad094e..d9949e7ad 100644 --- a/perpendicular-flap/reference_results.metadata +++ b/perpendicular-flap/reference_results.metadata @@ -11,26 +11,29 @@ We also include some information on the machine used to generate them | name | time | sha256 | |------|------|-------| -| fluid-openfoam_solid-calculix.tar.gz | 2024-03-21 09:41:34 | b974131b50bfb199f695d066f74100a75f633fba472020e78c3fc0d52b8ad36b | +| fluid-su2_solid-fenics.tar.gz | 2024-04-13 12:00:34 | d74d72729eb88049f067eb794768948d01f58e0b8f0db7e542c2d9da0643c7b5 | +| fluid-openfoam_solid-calculix.tar.gz | 2024-04-13 12:00:34 | 863c5078f8068135a983b24433d8d71120c2fdd67d6ab93b9dc1a4642ee595ba | ## List of arguments used to generate the files | name | value | |------|------| -| PRECICE_REF | v3.0.0 | -| OPENFOAM_EXECUTABLE | openfoam2306 | +| PRECICE_REF | v3.1.1 | +| OPENFOAM_EXECUTABLE | openfoam2312 | | OPENFOAM_ADAPTER_REF | v1.3.0 | -| PYTHON_BINDINGS_REF | v3.0.0.0 | +| PYTHON_BINDINGS_REF | v3.1.0 | | FENICS_ADAPTER_REF | v2.1.0 | -| TUTORIALS_REF | 3f139d36f1708fb3ebfde2c48f14b1df94c9d70a | +| TUTORIALS_REF | 340b447 | | PLATFORM | ubuntu_2204 | | CALULIX_VERSION | 2.20 | | CALULIX_ADAPTER_REF | v2.20.1 | +| SU2_VERSION | 7.5.1 | +| SU2_ADAPTER_REF | 64d4aff | ## Information about the machine ### uname -a -Linux precice-tests 5.15.0-91-generic #101-Ubuntu SMP Tue Nov 14 13:30:08 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux +Linux precice-tests 5.15.0-101-generic #111-Ubuntu SMP Tue Mar 5 20:16:58 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux ### lscpu diff --git a/tools/tests/README.md b/tools/tests/README.md index 5d6c1bb62..a68c0dbaf 100644 --- a/tools/tests/README.md +++ b/tools/tests/README.md @@ -21,7 +21,7 @@ Workflow for the preCICE v3 release testing: 3. Trigger the GitHub Actions Workflow. Until we merge the workflow to develop, this can only happen via the [GitHub CLI](https://cli.github.com/): ```bash - gh workflow run run_testsuite_manual.yml -f suites=release_test -f build_args="PRECICE_REF:150d4ee,OPENFOAM_ADAPTER_REF:a0e5263,PYTHON_BINDINGS_REF:49c2af0,FENICS_ADAPTER_REF:6f99859,TUTORIALS_REF:a1d46c4" --ref=develop + gh workflow run run_testsuite_manual.yml -f suites=release_test -f build_args="PRECICE_REF:v3.1.1,OPENFOAM_ADAPTER_REF:v1.3.0,PYTHON_BINDINGS_REF:v3.1.0,FENICS_ADAPTER_REF:v2.1.0,SU2_VERSION:7.5.1,SU2_ADAPTER_REF:64d4aff,TUTORIALS_REF:340b447" --ref=develop ``` 4. Go to the tutorials [Actions](https://github.com/precice/tutorials/actions) page and find the running workflow @@ -61,7 +61,7 @@ gh workflow run run_testsuite_manual.yml -f suites=fenics_test --ref=develop Another example, to use the latest releases and enable debug information of the tests: ```shell -gh workflow run run_testsuite_manual.yml -f suites=fenics_test -f build_args="PRECICE_REF:v3.1.1,OPENFOAM_ADAPTER_REF:v1.3.0,PYTHON_BINDINGS_REF:v3.1.0,FENICS_ADAPTER_REF:v2.1.0" -f loglevel=DEBUG --ref=develop +gh workflow run run_testsuite_manual.yml -f suites=fenics_test -f build_args="PRECICE_REF:v3.1.1,OPENFOAM_ADAPTER_REF:v1.3.0,PYTHON_BINDINGS_REF:v3.1.0,FENICS_ADAPTER_REF:v2.1.0,SU2_VERSION:7.5.1,SU2_ADAPTER_REF:64d4aff,TUTORIALS_REF:340b447" -f loglevel=DEBUG --ref=develop ``` where the `*_REF` should be a specific [commit-ish](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefcommit-ishacommit-ishalsocommittish). @@ -286,7 +286,7 @@ volumes: command: > /bin/bash -c "id && cd '/runs/{{ tutorial_folder }}/{{ case_folder }}' && - {{ run }} | tee {{ case_folder }}.log 2>&1" + {{ run }} | tee system-tests_{{ case_folder }}.log 2>&1" ``` This template defines: diff --git a/tools/tests/component-templates/bare.yaml b/tools/tests/component-templates/bare.yaml index 94866274f..7de1f206a 100644 --- a/tools/tests/component-templates/bare.yaml +++ b/tools/tests/component-templates/bare.yaml @@ -13,4 +13,4 @@ volumes: command: > /bin/bash -c "id && cd '/runs/{{ tutorial_folder }}/{{ case_folder }}' && - {{ run }} | tee {{ case_folder }}.log 2>&1" + {{ run }} | tee system-tests_{{ case_folder }}.log 2>&1" diff --git a/tools/tests/component-templates/calculix-adapter.yaml b/tools/tests/component-templates/calculix-adapter.yaml index 038a088b7..ca35dd8df 100644 --- a/tools/tests/component-templates/calculix-adapter.yaml +++ b/tools/tests/component-templates/calculix-adapter.yaml @@ -13,4 +13,4 @@ volumes: command: > /bin/bash -c "id && cd '/runs/{{ tutorial_folder }}/{{ case_folder }}' && - {{ run }} | tee {{ case_folder }}.log 2>&1" + {{ run }} | tee system-tests_{{ case_folder }}.log 2>&1" diff --git a/tools/tests/component-templates/fenics-adapter.yaml b/tools/tests/component-templates/fenics-adapter.yaml index b83a23707..220a52525 100644 --- a/tools/tests/component-templates/fenics-adapter.yaml +++ b/tools/tests/component-templates/fenics-adapter.yaml @@ -13,4 +13,4 @@ volumes: command: > /bin/bash -c "id && cd '/runs/{{ tutorial_folder }}/{{ case_folder }}' && - {{ run }} | tee {{ case_folder }}.log 2>&1" + {{ run }} | tee system-tests_{{ case_folder }}.log 2>&1" diff --git a/tools/tests/component-templates/nutils-adapter.yaml b/tools/tests/component-templates/nutils-adapter.yaml index 9963028ab..5893c65a7 100644 --- a/tools/tests/component-templates/nutils-adapter.yaml +++ b/tools/tests/component-templates/nutils-adapter.yaml @@ -13,4 +13,4 @@ volumes: command: > /bin/bash -c "id && cd '/runs/{{ tutorial_folder }}/{{ case_folder }}' && - {{ run }} | tee {{ case_folder }}.log 2>&1" + {{ run }} | tee system-tests_{{ case_folder }}.log 2>&1" diff --git a/tools/tests/component-templates/openfoam-adapter.yaml b/tools/tests/component-templates/openfoam-adapter.yaml index 4657b6e23..c376c4a58 100644 --- a/tools/tests/component-templates/openfoam-adapter.yaml +++ b/tools/tests/component-templates/openfoam-adapter.yaml @@ -13,4 +13,4 @@ volumes: command: > /bin/bash -c "id && cd '/runs/{{ tutorial_folder }}/{{ case_folder }}' && - openfoam {{ run }} | tee {{ case_folder }}.log 2>&1" + openfoam {{ run }} | tee system-tests_{{ case_folder }}.log 2>&1" diff --git a/tools/tests/component-templates/python-bindings.yaml b/tools/tests/component-templates/python-bindings.yaml index e5442e401..3cd65d274 100644 --- a/tools/tests/component-templates/python-bindings.yaml +++ b/tools/tests/component-templates/python-bindings.yaml @@ -13,4 +13,4 @@ volumes: command: > /bin/bash -c "id && cd '/runs/{{ tutorial_folder }}/{{ case_folder }}' && - {{ run }} | tee {{ case_folder }}.log 2>&1" + {{ run }} | tee system-tests_{{ case_folder }}.log 2>&1" diff --git a/tools/tests/component-templates/su2-adapter.yaml b/tools/tests/component-templates/su2-adapter.yaml new file mode 100644 index 000000000..d466a949a --- /dev/null +++ b/tools/tests/component-templates/su2-adapter.yaml @@ -0,0 +1,16 @@ +build: + context: {{ dockerfile_context }} + args: + {% for key, value in build_arguments.items() %} + - {{key}}={{value}} + {% endfor %} + target: su2_adapter +depends_on: + prepare: + condition: service_completed_successfully +volumes: + - {{ run_directory }}:/runs +command: > + /bin/bash -c "id && + cd '/runs/{{ tutorial_folder }}/{{ case_folder }}' && + SU2_RUN="/home/precice/SU2_RUN/bin" PYTHONPATH="/home/precice/SU2_RUN/bin:$PYTHONPATH" {{ run }} | tee system-tests_{{ case_folder }}.log 2>&1" diff --git a/tools/tests/components.yaml b/tools/tests/components.yaml index d62744a7b..acbd55eb6 100644 --- a/tools/tests/components.yaml +++ b/tools/tests/components.yaml @@ -107,3 +107,23 @@ calculix-adapter: CALULIX_ADAPTER_REF: description: Version of Calculix-Adapter to use default: "master" + +su2-adapter: + repository: https://github.com/precice/su2-adapter + template: component-templates/su2-adapter.yaml + build_arguments: + PRECICE_REF: + description: Version of preCICE to use + default: "main" + PLATFORM: + description: Dockerfile platform used + default: "ubuntu_2204" + TUTORIALS_REF: + description: Tutorial git reference to use + default: "master" + SU2_VERSION: + description: Version of SU2 to use + default: "7.5.1" + SU2_ADAPTER_REF: + description: Version of SU2-Adapter to use + default: "master" diff --git a/tools/tests/dockerfiles/ubuntu_2204/Dockerfile b/tools/tests/dockerfiles/ubuntu_2204/Dockerfile index f73a75c42..6dbb627ac 100644 --- a/tools/tests/dockerfiles/ubuntu_2204/Dockerfile +++ b/tools/tests/dockerfiles/ubuntu_2204/Dockerfile @@ -126,3 +126,31 @@ RUN git clone https://github.com/precice/calculix-adapter.git && \ git checkout ${CALULIX_ADAPTER_REF} &&\ make CXX_VERSION=${CALULIX_VERSION} ADDITIONAL_FFLAGS="-fallow-argument-mismatch" -j $(nproc) && \ ln -s /home/precice/calculix-adapter/bin/ccx_preCICE /home/precice/.local/bin/ccx_preCICE + +FROM python_bindings as su2_adapter +COPY --from=precice /home/precice/.local /home/precice/.local +USER root +RUN apt-get -qq update && \ + apt-get -qq install swig +ARG SU2_VERSION +USER precice + +# Download and build SU2 (We could also use pre-built binaries from the SU2 releases) +WORKDIR /home/precice +RUN wget https://github.com/su2code/SU2/archive/refs/tags/v${SU2_VERSION}.tar.gz && \ + tar xvzf v${SU2_VERSION}.tar.gz && \ + rm -fv v${SU2_VERSION}.tar.gz +RUN pip3 install --user mpi4py +ARG SU2_ADAPTER_REF +WORKDIR /home/precice +ENV SU2_RUN="/home/precice/SU2_RUN" +ENV SU2_HOME="/home/precice/SU2-${SU2_VERSION}" +ENV PATH="/home/precice/su2-adapter/run:$SU2_RUN:$PATH" +ENV PYTHONPATH="$SU2_RUN:$PYTHONPATH" +RUN git clone https://github.com/precice/su2-adapter.git && \ + cd su2-adapter &&\ + git checkout ${SU2_ADAPTER_REF} &&\ + ./su2AdapterInstall +RUN cd "${SU2_HOME}" &&\ + ./meson.py build -Denable-pywrapper=true --prefix=$SU2_RUN &&\ + ./ninja -C build install diff --git a/tools/tests/reference_versions.yaml b/tools/tests/reference_versions.yaml index dd4f19d08..7497b4dbd 100644 --- a/tools/tests/reference_versions.yaml +++ b/tools/tests/reference_versions.yaml @@ -7,3 +7,5 @@ TUTORIALS_REF: "340b447" # April 12, 2024, just before v202404.0 PLATFORM: "ubuntu_2204" CALULIX_VERSION: "2.20" CALULIX_ADAPTER_REF: "v2.20.1" +SU2_VERSION: "7.5.1" +SU2_ADAPTER_REF: "64d4aff" # Distribution v2404 diff --git a/tools/tests/systemtests/Systemtest.py b/tools/tests/systemtests/Systemtest.py index f1a52651a..eacb5ace4 100644 --- a/tools/tests/systemtests/Systemtest.py +++ b/tools/tests/systemtests/Systemtest.py @@ -19,7 +19,7 @@ import os -GLOBAL_TIMEOUT = 360 +GLOBAL_TIMEOUT = 600 SHORT_TIMEOUT = 10 diff --git a/tools/tests/tests.yaml b/tools/tests/tests.yaml index 5ff4fdb27..f68b36b0f 100644 --- a/tools/tests/tests.yaml +++ b/tools/tests/tests.yaml @@ -39,6 +39,13 @@ test_suites: - fluid-openfoam - solid-calculix reference_result: ./perpendicular-flap/reference-results/fluid-openfoam_solid-calculix.tar.gz + su2_test: + tutorials: + - path: perpendicular-flap + case_combination: + - fluid-su2 + - solid-fenics + reference_result: ./perpendicular-flap/reference-results/fluid-su2_solid-fenics.tar.gz elastic_tube_1d_test: tutorials: - path: elastic-tube-1d @@ -78,3 +85,13 @@ test_suites: - fluid-openfoam - solid-openfoam reference_result: ./flow-over-heated-plate/reference-results/fluid-openfoam_solid-openfoam.tar.gz + - path: perpendicular-flap + case_combination: + - fluid-openfoam + - solid-calculix + reference_result: ./perpendicular-flap/reference-results/fluid-openfoam_solid-calculix.tar.gz + - path: perpendicular-flap + case_combination: + - fluid-su2 + - solid-fenics + reference_result: ./perpendicular-flap/reference-results/fluid-su2_solid-fenics.tar.gz