From 85bccd9a84d431824e0b038a66a580c274c5b8dd Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Mon, 22 Jun 2026 15:52:19 +0200 Subject: [PATCH 01/15] adapt to t8code v4 API --- examples/trixi_controller_baroclinic.c | 4 ++-- examples/trixi_controller_t8code.c | 4 ++-- examples/trixi_controller_t8code.f90 | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/trixi_controller_baroclinic.c b/examples/trixi_controller_baroclinic.c index 22cdefe3..1e12fe5b 100644 --- a/examples/trixi_controller_baroclinic.c +++ b/examples/trixi_controller_baroclinic.c @@ -26,11 +26,11 @@ void source_terms_baroclinic(int nnodes, double * nodes, t8_forest_t forest, // Iterates through all local trees for (t8_locidx_t itree = 0, index = 0; itree < num_local_trees; ++itree) { // Get number of elements of this tree - t8_locidx_t num_elements_in_tree = t8_forest_get_tree_num_elements (forest, itree); + t8_locidx_t num_elements_in_tree = t8_forest_get_tree_num_leaf_elements (forest, itree); // Iterate through all the local elements for (t8_locidx_t ielement = 0; ielement < num_elements_in_tree; ++ielement) { // Get a pointer to the current element - const t8_element_t *element = t8_forest_get_element_in_tree (forest, itree, ielement); + const t8_element_t *element = t8_forest_get_leaf_element_in_tree (forest, itree, ielement); for (int k = 0; k < nnodes; ++k) { for (int j = 0; j < nnodes; ++j) { for (int i = 0; i < nnodes; ++i, ++index) { diff --git a/examples/trixi_controller_t8code.c b/examples/trixi_controller_t8code.c index cebaaf30..84d0c5d8 100644 --- a/examples/trixi_controller_t8code.c +++ b/examples/trixi_controller_t8code.c @@ -16,10 +16,10 @@ void t8_print_forest_information (t8_forest_t forest) T8_ASSERT (t8_forest_is_committed (forest)); // Get the local number of elements. - local_num_elements = t8_forest_get_local_num_elements (forest); + local_num_elements = t8_forest_get_local_num_leaf_elements (forest); // Get the global number of elements. - global_num_elements = t8_forest_get_global_num_elements (forest); + global_num_elements = t8_forest_get_global_num_leaf_elements (forest); printf ("\n*** T8code *** Local number of elements:\t%i\n", local_num_elements); printf ("*** T8code *** Global number of elements:\t%li\n", global_num_elements); diff --git a/examples/trixi_controller_t8code.f90 b/examples/trixi_controller_t8code.f90 index ed769030..54858244 100644 --- a/examples/trixi_controller_t8code.f90 +++ b/examples/trixi_controller_t8code.f90 @@ -12,7 +12,7 @@ subroutine t8_print_forest_information(forest) ! T8_ASSERT (t8_forest_is_committed (forest)); ! Get the local number of elements. - local_num_elements = t8_forest_get_local_num_elements (forest) + local_num_elements = t8_forest_get_local_num_leaf_elements (forest) ! Get the global number of elements. global_num_elements = t8_forest_get_global_num_elements (forest) From 51e4555b19fbd66b6558452b488fc618e111ac03 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Thu, 6 Aug 2026 11:52:30 +0200 Subject: [PATCH 02/15] update to Trixi.jl 0.17 --- LibTrixi.jl/Project.toml | 2 +- LibTrixi.jl/test/Project.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LibTrixi.jl/Project.toml b/LibTrixi.jl/Project.toml index af16b336..23ef6d1f 100644 --- a/LibTrixi.jl/Project.toml +++ b/LibTrixi.jl/Project.toml @@ -13,5 +13,5 @@ Trixi = "a7f1ee26-1774-49b1-8366-f1abc58fbfcb" MPI = "0.20.13" Pkg = "1.8" SciMLBase = "2.33.0, 3" -Trixi = "0.16.10" +Trixi = "0.17" julia = "1.8" diff --git a/LibTrixi.jl/test/Project.toml b/LibTrixi.jl/test/Project.toml index b6fae1cb..77147b9a 100644 --- a/LibTrixi.jl/test/Project.toml +++ b/LibTrixi.jl/test/Project.toml @@ -5,4 +5,4 @@ Trixi = "a7f1ee26-1774-49b1-8366-f1abc58fbfcb" [compat] OrdinaryDiffEqLowStorageRK = "1.2, 2, 3" -Trixi = "0.16.10" +Trixi = "0.17" From 2f0496bdf78fe5b0c5ac019944c5dbb6fe32bae5 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Thu, 6 Aug 2026 11:53:22 +0200 Subject: [PATCH 03/15] use t8code July release --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 26fe920c..bd89d4af 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,13 +38,13 @@ jobs: - '1.10' - '1.11' t8code_version: - - '3.0.1' + - '4.0.0' include: - os: ubuntu-latest test_type: coverage arch: x64 julia_version: '1.11' - t8code_version: '3.0.1' + t8code_version: '4.0.0' env: # Necessary for HDF5 to play nice with Julia LD_PRELOAD: /lib/x86_64-linux-gnu/libcurl.so.4 @@ -93,7 +93,7 @@ jobs: T8CODE_RELEASE=${{ matrix.t8code_version }} mkdir t8code-local cd t8code-local - wget https://github.com/DLR-AMR/t8code/releases/download/v${T8CODE_RELEASE}/T8CODE-${T8CODE_RELEASE}-Source.tar.gz + wget https://github.com/DLR-AMR/t8code/releases/download/v${T8CODE_RELEASE}-26.07/T8CODE-${T8CODE_RELEASE}-Source.tar.gz tar xf T8CODE-${T8CODE_RELEASE}-Source.tar.gz mkdir build cd build From 0d02674e921cc3cd1b5758854027f96bc24ddb48 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Thu, 6 Aug 2026 12:20:07 +0200 Subject: [PATCH 04/15] t8code should not install gtest --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bd89d4af..4a7b2743 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -103,6 +103,8 @@ jobs: -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX="$PWD/../prefix" \ -DT8CODE_BUILD_TESTS=OFF \ + -DBUILD_GMOCK=OFF \ + -DINSTALL_GTEST=OFF \ -DT8CODE_BUILD_TUTORIALS=OFF \ -DT8CODE_BUILD_EXAMPLES=OFF \ -DT8CODE_BUILD_BENCHMARKS=OFF \ From f07c8675159be2fa6e024291370d056572129528 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Thu, 6 Aug 2026 17:35:44 +0200 Subject: [PATCH 05/15] PRIVATE_HEADER issue in July release --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4a7b2743..1caa57a0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -114,6 +114,9 @@ jobs: make -j 2 make install + # temporary workaround + mv ../prefix/PRIVATE_HEADER/* ../prefix/include/ + - name: Configure (test_type == 'regular') if: ${{ matrix.test_type == 'regular' }} run: | From 1d4ebbceb7575e001a7e45059bc737f7d7cc0032 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Fri, 11 Sep 2026 18:22:27 +0200 Subject: [PATCH 06/15] try OpenMPI_jll v4 --- utils/libtrixi-init-julia | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/utils/libtrixi-init-julia b/utils/libtrixi-init-julia index a7e0be6f..c783a573 100755 --- a/utils/libtrixi-init-julia +++ b/utils/libtrixi-init-julia @@ -273,6 +273,17 @@ using Pkg Pkg.add([\"Preferences\", \"UUIDs\", \"MPIPreferences\", \"T8code\", \ \"P4est\", \"HDF5\", \"MPI\"])" [ $? -eq 0 ] || die "could not install dependencies" + +# Workaround for CI runners using OpenMPI version 4 +# See https://github.com/trixi-framework/libtrixi/issues/237#issuecomment-2792609780 +if [ "$CI" = "true" ]; then + JULIA_DEPOT_PATH="$julia_depot" JULIA_PKG_PRECOMPILE_AUTO=0 \ + $julia_exec --project=. \ + -e " + using Pkg + Pkg.add(name=\"OpenMPI_jll\", version=\"4\")" + [ $? -eq 0 ] || die "could not install dependencies" +fi echo # Set system MPI library From 82232903cd427bba7b4a6516989e3304dffd41af Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Fri, 11 Sep 2026 18:23:13 +0200 Subject: [PATCH 07/15] remove n_cells_max --- LibTrixi.jl/examples/libelixir_tree1d_advection_basic.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LibTrixi.jl/examples/libelixir_tree1d_advection_basic.jl b/LibTrixi.jl/examples/libelixir_tree1d_advection_basic.jl index d34bc223..17b020f3 100644 --- a/LibTrixi.jl/examples/libelixir_tree1d_advection_basic.jl +++ b/LibTrixi.jl/examples/libelixir_tree1d_advection_basic.jl @@ -20,7 +20,7 @@ function init_simstate() # Create a uniformly refined mesh with periodic boundaries mesh = TreeMesh(coordinates_min, coordinates_max, initial_refinement_level = 4, - n_cells_max = 30_000, periodicity = true) + periodicity = true) # A semidiscretization collects data structures and functions for the spatial discretization semi = SemidiscretizationHyperbolic(mesh, equations, From 8f9158cf0acec7b0bd3287c0921e3e92b04cf136 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Wed, 16 Sep 2026 10:10:11 +0200 Subject: [PATCH 08/15] try with T8code not loading t8code_jll --- utils/libtrixi-init-julia | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/libtrixi-init-julia b/utils/libtrixi-init-julia index c783a573..fdca7383 100755 --- a/utils/libtrixi-init-julia +++ b/utils/libtrixi-init-julia @@ -281,7 +281,7 @@ if [ "$CI" = "true" ]; then $julia_exec --project=. \ -e " using Pkg - Pkg.add(name=\"OpenMPI_jll\", version=\"4\")" + Pkg.add(name=\"T8code\", rev=\"bg/avoid-loading-t8code_jll\")" [ $? -eq 0 ] || die "could not install dependencies" fi echo From fcd9b42053bcf687e6fc9ad144c1d69ee9d31bc9 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Wed, 23 Sep 2026 11:01:40 +0200 Subject: [PATCH 09/15] now in T8code main --- utils/libtrixi-init-julia | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/utils/libtrixi-init-julia b/utils/libtrixi-init-julia index fdca7383..9c4c4ce2 100755 --- a/utils/libtrixi-init-julia +++ b/utils/libtrixi-init-julia @@ -274,18 +274,6 @@ Pkg.add([\"Preferences\", \"UUIDs\", \"MPIPreferences\", \"T8code\", \ \"P4est\", \"HDF5\", \"MPI\"])" [ $? -eq 0 ] || die "could not install dependencies" -# Workaround for CI runners using OpenMPI version 4 -# See https://github.com/trixi-framework/libtrixi/issues/237#issuecomment-2792609780 -if [ "$CI" = "true" ]; then - JULIA_DEPOT_PATH="$julia_depot" JULIA_PKG_PRECOMPILE_AUTO=0 \ - $julia_exec --project=. \ - -e " - using Pkg - Pkg.add(name=\"T8code\", rev=\"bg/avoid-loading-t8code_jll\")" - [ $? -eq 0 ] || die "could not install dependencies" -fi -echo - # Set system MPI library echo "Use system MPI for Julia... " JULIA_DEPOT_PATH="$julia_depot" $julia_exec --project=. \ From 409579248280020f1d7f4bdceb7e0183fe13a305 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Thu, 24 Sep 2026 14:58:22 +0200 Subject: [PATCH 10/15] use full version string --- .github/workflows/ci.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1caa57a0..bc0844d1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,13 +38,13 @@ jobs: - '1.10' - '1.11' t8code_version: - - '4.0.0' + - '4.0.0-26-07' include: - os: ubuntu-latest test_type: coverage arch: x64 julia_version: '1.11' - t8code_version: '4.0.0' + t8code_version: '4.0.0-26.07' env: # Necessary for HDF5 to play nice with Julia LD_PRELOAD: /lib/x86_64-linux-gnu/libcurl.so.4 @@ -90,11 +90,12 @@ jobs: - name: Install t8code if: steps.cache-t8code.outputs.cache-hit != 'true' run: | - T8CODE_RELEASE=${{ matrix.t8code_version }} + T8CODE_FULL_VERSION=${{ matrix.t8code_version }} + T8CODE_VERSION=${T8CODE_FULL_VERSION%%-*} mkdir t8code-local cd t8code-local - wget https://github.com/DLR-AMR/t8code/releases/download/v${T8CODE_RELEASE}-26.07/T8CODE-${T8CODE_RELEASE}-Source.tar.gz - tar xf T8CODE-${T8CODE_RELEASE}-Source.tar.gz + wget https://github.com/DLR-AMR/t8code/releases/download/v${T8CODE_FULL_VERSION}/T8CODE-${T8CODE_VERSION}-Source.tar.gz + tar xf T8CODE-${T8CODE_VERSION}-Source.tar.gz mkdir build cd build cmake \ @@ -110,7 +111,7 @@ jobs: -DT8CODE_BUILD_BENCHMARKS=OFF \ -DT8CODE_ENABLE_MPI=ON \ -DT8CODE_BUILD_FORTRAN_INTERFACE=ON \ - ../T8CODE-${T8CODE_RELEASE}-Source + ../T8CODE-${T8CODE_VERSION}-Source make -j 2 make install From e08e17a8d108d9d769cb3a7241fb190e658851a7 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Thu, 24 Sep 2026 15:00:27 +0200 Subject: [PATCH 11/15] lnk gh issue for workaround --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bc0844d1..6875692f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -115,7 +115,8 @@ jobs: make -j 2 make install - # temporary workaround + # temporary workaround, remove with next release + # https://github.com/DLR-AMR/t8code/pull/2355 mv ../prefix/PRIVATE_HEADER/* ../prefix/include/ - name: Configure (test_type == 'regular') From 1b0e5ea10912c12b3d5880a055c4c47ce6cdb135 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Thu, 24 Sep 2026 15:02:39 +0200 Subject: [PATCH 12/15] PackageCompiler hotfix current version errors --- LibTrixi.jl/lib/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LibTrixi.jl/lib/Project.toml b/LibTrixi.jl/lib/Project.toml index 60481033..73c2958d 100644 --- a/LibTrixi.jl/lib/Project.toml +++ b/LibTrixi.jl/lib/Project.toml @@ -3,5 +3,5 @@ PackageCompiler = "9b87118b-4619-50d2-8e1e-99f35a4d4d9d" TOML = "fa267f1f-6049-4f14-aa54-33bafae1ed76" [compat] -PackageCompiler = "2.1.9" +PackageCompiler = "2.1.9, < 2.4.2" TOML = "1" From d4056f4bd25d070bb2d165369c1b2067b864518b Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Thu, 24 Sep 2026 15:05:06 +0200 Subject: [PATCH 13/15] re-add line --- utils/libtrixi-init-julia | 1 + 1 file changed, 1 insertion(+) diff --git a/utils/libtrixi-init-julia b/utils/libtrixi-init-julia index 9c4c4ce2..a7e0be6f 100755 --- a/utils/libtrixi-init-julia +++ b/utils/libtrixi-init-julia @@ -273,6 +273,7 @@ using Pkg Pkg.add([\"Preferences\", \"UUIDs\", \"MPIPreferences\", \"T8code\", \ \"P4est\", \"HDF5\", \"MPI\"])" [ $? -eq 0 ] || die "could not install dependencies" +echo # Set system MPI library echo "Use system MPI for Julia... " From 7305e716d839ac3785d02e4f4e3102331b6a3529 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Thu, 24 Sep 2026 15:24:41 +0200 Subject: [PATCH 14/15] duh --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6875692f..df6d3876 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,7 +38,7 @@ jobs: - '1.10' - '1.11' t8code_version: - - '4.0.0-26-07' + - '4.0.0-26.07' include: - os: ubuntu-latest test_type: coverage From 416470dd25e921009c3d102042ebf8d4308b25d7 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Thu, 24 Sep 2026 16:06:20 +0200 Subject: [PATCH 15/15] compat bound syntax --- LibTrixi.jl/lib/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LibTrixi.jl/lib/Project.toml b/LibTrixi.jl/lib/Project.toml index 73c2958d..2019109f 100644 --- a/LibTrixi.jl/lib/Project.toml +++ b/LibTrixi.jl/lib/Project.toml @@ -3,5 +3,5 @@ PackageCompiler = "9b87118b-4619-50d2-8e1e-99f35a4d4d9d" TOML = "fa267f1f-6049-4f14-aa54-33bafae1ed76" [compat] -PackageCompiler = "2.1.9, < 2.4.2" +PackageCompiler = "2.1.9 - 2.4.1" TOML = "1"