Skip to content

Commit c6f5315

Browse files
authored
Merge branch 'main' into feature-MPI_require_v3
2 parents e908fbd + 98ffe9d commit c6f5315

File tree

153 files changed

+1328
-314
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

153 files changed

+1328
-314
lines changed

.github/workflows/code_coverage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ jobs:
9191
run: export TEST_LEVEL_FLAG="-DT8CODE_TEST_LEVEL=${{ inputs.TEST_LEVEL }}"
9292
&& echo TEST_LEVEL_FLAG="$TEST_LEVEL_FLAG" >> $GITHUB_ENV
9393
- name: build config variables
94-
run: export CONFIG_OPTIONS="${TEST_LEVEL_FLAG} -DT8CODE_CODE_COVERAGE=ON -DT8CODE_USE_SYSTEM_SC=ON -DT8CODE_USE_SYSTEM_P4EST=ON -DT8CODE_BUILD_PEDANTIC=ON -DT8CODE_BUILD_WALL=ON -DT8CODE_BUILD_WERROR=ON -DT8CODE_ENABLE_MPI=$MPI -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DT8CODE_BUILD_FORTRAN_INTERFACE=ON -DSC_DIR=$SC_PATH/install/cmake -DP4EST_DIR=$P4EST_PATH/install/cmake -DT8CODE_BUILD_BENCHMARKS=OFF -DT8CODE_BUILD_DOCUMENTATION=OFF -DT8CODE_BUILD_EXAMPLES=OFF -DT8CODE_BUILD_TUTORIALS=OFF"
94+
run: export CONFIG_OPTIONS="${TEST_LEVEL_FLAG} -DT8CODE_CODE_COVERAGE=ON -DT8CODE_USE_SYSTEM_SC=ON -DT8CODE_USE_SYSTEM_P4EST=ON -DT8CODE_BUILD_PEDANTIC=ON -DT8CODE_BUILD_WALL=ON -DT8CODE_BUILD_WERROR=ON -DT8CODE_ENABLE_MPI=$MPI -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DT8CODE_BUILD_FORTRAN_INTERFACE=ON -DT8CODE_BUILD_MESH_HANDLE=ON -DSC_DIR=$SC_PATH/install/cmake -DP4EST_DIR=$P4EST_PATH/install/cmake -DT8CODE_BUILD_BENCHMARKS=OFF -DT8CODE_BUILD_DOCUMENTATION=OFF -DT8CODE_BUILD_EXAMPLES=OFF -DT8CODE_BUILD_TUTORIALS=OFF"
9595
&& echo CONFIG_OPTIONS="$CONFIG_OPTIONS" >> $GITHUB_ENV
9696
# cmake
9797
- name: echo cmake line

.github/workflows/tests_cmake_t8code_api.yml

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -85,37 +85,35 @@ jobs:
8585
run: export TEST_LEVEL_FLAG="-DT8CODE_TEST_LEVEL=${{ inputs.TEST_LEVEL }}"
8686
&& echo TEST_LEVEL_FLAG="$TEST_LEVEL_FLAG" >> $GITHUB_ENV
8787
- name: build config variables
88-
run: export CONFIG_OPTIONS="${TEST_LEVEL_FLAG} -GNinja -DCMAKE_C_FLAGS_DEBUG=${DEBUG_CONFIG} -DCMAKE_CXX_FLAGS_DEBUG=${DEBUG_CONFIG} -DT8CODE_BUILD_FORTRAN_INTERFACE=ON -DT8CODE_USE_SYSTEM_SC=ON -DT8CODE_USE_SYSTEM_P4EST=ON -DT8CODE_BUILD_PEDANTIC=ON -DT8CODE_BUILD_WALL=ON -DT8CODE_BUILD_WERROR=ON -DT8CODE_BUILD_WEXTRA=ON -DT8CODE_ENABLE_MPI=$MPI -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSC_DIR=$SC_PATH/install/cmake -DP4EST_DIR=$P4EST_PATH/install/cmake"
88+
run: export CONFIG_OPTIONS="${TEST_LEVEL_FLAG} -GNinja -DCMAKE_C_FLAGS_DEBUG=${DEBUG_CONFIG} -DCMAKE_CXX_FLAGS_DEBUG=${DEBUG_CONFIG} -DT8CODE_BUILD_FORTRAN_INTERFACE=ON -DT8CODE_BUILD_MESH_HANDLE=ON -DT8CODE_USE_SYSTEM_SC=ON -DT8CODE_USE_SYSTEM_P4EST=ON -DT8CODE_BUILD_PEDANTIC=ON -DT8CODE_BUILD_WALL=ON -DT8CODE_BUILD_WERROR=ON -DT8CODE_BUILD_WEXTRA=ON -DT8CODE_ENABLE_MPI=$MPI -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSC_DIR=$SC_PATH/install/cmake -DP4EST_DIR=$P4EST_PATH/install/cmake"
8989
&& echo CONFIG_OPTIONS="$CONFIG_OPTIONS" >> $GITHUB_ENV
90-
# cmake and test with fortran
91-
- name: check fortran
92-
run: echo "Checking fortran"
90+
# cmake and test with api options
9391
- name: echo cmake line
9492
run: echo cmake ../ $CONFIG_OPTIONS
95-
- name: cmake MPI fortran debug
96-
run: mkdir build_fortran && cd build_fortran && cmake ../ $CONFIG_OPTIONS
93+
- name: cmake
94+
run: mkdir build_api && cd build_api && cmake ../ $CONFIG_OPTIONS
9795
- name: OnFailUploadLog
9896
if: failure()
9997
uses: actions/upload-artifact@v5
10098
with:
101-
name: cmake_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}_fortran.log
102-
path: build_fortran/CMakeFiles/CMakeOutput.log
103-
- name: make
104-
run: cd build_fortran && ninja $MAKEFLAGS
99+
name: cmake_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}_api.log
100+
path: build_api/CMakeFiles/CMakeOutput.log
101+
- name: ninja
102+
run: cd build_api && ninja $MAKEFLAGS
105103
- name: ninja install
106-
run: cd build_fortran && ninja install $MAKEFLAGS
104+
run: cd build_api && ninja install $MAKEFLAGS
107105
- name: serial tests (if MPI is enabled)
108-
run: cd build_fortran && ctest $MAKEFLAGS -R _serial
106+
run: cd build_api && ctest $MAKEFLAGS -R _serial
109107
if: ${{ inputs.MPI == 'ON' }}
110108
- name: parallel tests (if MPI is enabled)
111-
run: cd build_fortran && ctest -R _parallel
109+
run: cd build_api && ctest -R _parallel
112110
if: ${{ inputs.MPI == 'ON' }}
113111
- name: tests (if MPI is disabled)
114-
run: cd build_fortran && ctest $MAKEFLAGS
112+
run: cd build_api && ctest $MAKEFLAGS
115113
if: ${{ inputs.MPI == 'OFF' }}
116114
- name: OnFailUploadLog
117115
if: failure()
118116
uses: actions/upload-artifact@v5
119117
with:
120-
name: test-suite_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}_fortran.log
121-
path: build_fortran/Testing/Temporary/LastTest.log
118+
name: test-suite_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}_api.log
119+
path: build_api/Testing/Temporary/LastTest.log

.github/workflows/tests_cmake_valgrind.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ jobs:
8686
run: export TEST_LEVEL_FLAG="-DT8CODE_TEST_LEVEL=${{ inputs.TEST_LEVEL }}"
8787
&& echo TEST_LEVEL_FLAG="$TEST_LEVEL_FLAG" >> $GITHUB_ENV
8888
- name: build config variables
89-
run: export CONFIG_OPTIONS="${TEST_LEVEL_FLAG} -GNinja -DT8CODE_USE_SYSTEM_SC=ON -DT8CODE_USE_SYSTEM_P4EST=ON -DT8CODE_BUILD_PEDANTIC=ON -DT8CODE_BUILD_WALL=ON -DT8CODE_BUILD_WERROR=ON -DT8CODE_ENABLE_MPI=$MPI -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSC_DIR=$SC_PATH/install/cmake -DP4EST_DIR=$P4EST_PATH/install/cmake -DT8CODE_BUILD_FORTRAN_INTERFACE=ON"
89+
run: export CONFIG_OPTIONS="${TEST_LEVEL_FLAG} -GNinja -DT8CODE_USE_SYSTEM_SC=ON -DT8CODE_USE_SYSTEM_P4EST=ON -DT8CODE_BUILD_PEDANTIC=ON -DT8CODE_BUILD_WALL=ON -DT8CODE_BUILD_WERROR=ON -DT8CODE_ENABLE_MPI=$MPI -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSC_DIR=$SC_PATH/install/cmake -DP4EST_DIR=$P4EST_PATH/install/cmake -DT8CODE_BUILD_FORTRAN_INTERFACE=ON -DT8CODE_BUILD_MESH_HANDLE=ON"
9090
&& echo CONFIG_OPTIONS="$CONFIG_OPTIONS" >> $GITHUB_ENV
9191
# cmake
9292
- name: echo cmake line
@@ -104,6 +104,7 @@ jobs:
104104
- name: ninja install
105105
run: cd build && ninja install $MAKEFLAGS
106106
# Execute script that runs a Valgrind check for all test binaries.
107+
# We use 3 parallel processes to run the binaries in parallel with MPI.
107108
- name: Valgrind check
108-
run: cd scripts && bash ./check_all_test_binaries_valgrind.sh
109+
run: cd scripts && bash ./check_all_test_binaries_valgrind.sh --ntasks=3
109110

CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ cmake_dependent_option( T8CODE_BUILD_TPL_EXAMPLES "Build the examples from libsc
4848

4949
option( T8CODE_BUILD_TUTORIALS "Build t8code's tutorials" ON )
5050
option( T8CODE_BUILD_BENCHMARKS "Build t8code's benchmarks" ON )
51+
option( T8CODE_BUILD_MESH_HANDLE "Build t8code's mesh handle" OFF )
5152
option( T8CODE_BUILD_FORTRAN_INTERFACE "Build t8code's Fortran interface" OFF )
5253

5354
option( T8CODE_ENABLE_MPI "Enable t8code's features which rely on MPI" ON )
@@ -247,6 +248,10 @@ endif()
247248

248249
add_subdirectory( ${CMAKE_CURRENT_LIST_DIR}/src )
249250

251+
if( T8CODE_BUILD_MESH_HANDLE )
252+
add_subdirectory( ${CMAKE_CURRENT_LIST_DIR}/mesh_handle )
253+
endif()
254+
250255
if ( T8CODE_BUILD_TESTS )
251256
add_subdirectory( ${CMAKE_CURRENT_LIST_DIR}/test )
252257
endif()

api/t8_fortran_interface/t8_fortran_interface.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
#define T8_FORTRAN_INTERFACE_H
3434

3535
#include <t8.h>
36-
#include <t8_cmesh.h>
36+
#include <t8_cmesh/t8_cmesh.h>
3737
#include <t8_forest/t8_forest_general.h>
3838
#include <t8_forest/t8_forest_geometrical.h>
3939

benchmarks/t8_time_forest_partition.cxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@
2626
#include <sc_statistics.h>
2727
#include <sc_options.h>
2828
#include <p4est_connectivity.h>
29-
#include <t8_cmesh.h>
29+
#include <t8_cmesh/t8_cmesh.h>
3030
#include <t8_cmesh/t8_cmesh_examples.h>
3131
#include <t8_vtk/t8_vtk_writer.h>
3232

33-
#include <t8_cmesh/t8_cmesh_partition.h>
33+
#include <t8_cmesh/t8_cmesh_internal/t8_cmesh_partition.h>
3434
#include <t8_cmesh/t8_cmesh_cad.hxx>
35-
#include <t8_cmesh_readmshfile.h>
35+
#include <t8_cmesh/t8_cmesh_io/t8_cmesh_readmshfile.h>
3636
#include <t8_forest/t8_forest_general.h>
3737
#include <t8_forest/t8_forest_io.h>
3838
#include <t8_forest/t8_forest_geometrical.h>

benchmarks/t8_time_fractal.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
#include <t8_forest/t8_forest_types.h>
2727
#include <t8_forest/t8_forest_adapt.h>
2828
#include <t8_eclass.h>
29-
#include <t8_cmesh.h>
29+
#include <t8_cmesh/t8_cmesh.h>
3030
#include <t8_cmesh/t8_cmesh_examples.h>
3131
#include <t8_schemes/t8_default/t8_default.hxx>
3232
#include <sc_refcount.h>

benchmarks/t8_time_partition.cxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@
2525
#include <sc_statistics.h>
2626
#include <sc_options.h>
2727
#include <p4est_connectivity.h>
28-
#include <t8_cmesh.h>
28+
#include <t8_cmesh/t8_cmesh.h>
2929
#include <t8_vtk/t8_vtk_writer.h>
3030

31-
#include <t8_cmesh/t8_cmesh_partition.h>
32-
#include "t8_cmesh/t8_cmesh_types.h"
31+
#include <t8_cmesh/t8_cmesh_internal/t8_cmesh_partition.h>
32+
#include <t8_cmesh/t8_cmesh_internal/t8_cmesh_types.h>
3333
#include <t8_cmesh/t8_cmesh_examples.h>
3434

3535
/* Repartition a partitioned cmesh by shipping half of the local trees

benchmarks/t8_time_set_join_by_vertices.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
#include <sc_statistics.h>
2626

2727
#include <t8.h>
28-
#include <t8_cmesh.h>
28+
#include <t8_cmesh/t8_cmesh.h>
2929
#include <t8_eclass.h>
30-
#include <t8_cmesh_readmshfile.h>
30+
#include <t8_cmesh/t8_cmesh_io/t8_cmesh_readmshfile.h>
3131
#include <t8_cmesh/t8_cmesh_examples.h>
3232
#include <t8_cmesh/t8_cmesh_helpers.h>
3333

doc/Doxyfile.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -982,6 +982,7 @@ WARN_LOGFILE =
982982
# Note: If this tag is empty the current directory is searched.
983983

984984
INPUT = @top_srcdir@/src \
985+
@top_srcdir@/mesh_handle \
985986
@top_srcdir@/doc/mainpage.dox
986987

987988
# This tag can be used to specify the character encoding of the source files

0 commit comments

Comments
 (0)