diff --git a/.github/workflows/check_doxygen.yml b/.github/workflows/check_doxygen.yml index 30d7b941a0..5faf11b80d 100644 --- a/.github/workflows/check_doxygen.yml +++ b/.github/workflows/check_doxygen.yml @@ -79,7 +79,7 @@ jobs: run: mkdir build && cd build && cmake ../ $CONFIG_OPTIONS - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: cmake_doc_build.log path: build/config.log @@ -87,9 +87,13 @@ jobs: run: | cd build && cd doc doxygen Doxyfile >> doxygen.out 2> doxygen.err + - name: Show doxygen log + if: failure() + run: | + cat build/doc/doxygen.err - name: Upload doxygen log if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: doxygen-log path: build/doc/doxygen.err diff --git a/.github/workflows/check_indentation.yml b/.github/workflows/check_indentation.yml index 67611f21b3..57b0548d39 100644 --- a/.github/workflows/check_indentation.yml +++ b/.github/workflows/check_indentation.yml @@ -56,7 +56,7 @@ jobs: # Do this regardless of the result of the previous step. # We especially want to upload the result when the check fails. if: always() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: t8code indentation report path: scripts/indent_script_output.txt diff --git a/.github/workflows/code_coverage.yml b/.github/workflows/code_coverage.yml index a5f384f7c2..eb2181fdd4 100644 --- a/.github/workflows/code_coverage.yml +++ b/.github/workflows/code_coverage.yml @@ -57,7 +57,7 @@ jobs: # Setup # - name: Download artifacts - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: SC_P4EST_MPI_${{ inputs.MPI }} - name: untar artifact @@ -101,7 +101,7 @@ jobs: run: mkdir build && cd build && cmake ../ $CONFIG_OPTIONS -DCMAKE_Fortran_FLAGS="-fprofile-arcs -ftest-coverage" - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: cmake_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}.log path: build/CMakeFiles/CMakeOutput.log diff --git a/.github/workflows/spell_check.yml b/.github/workflows/spell_check.yml index 207182401d..1be227dff7 100644 --- a/.github/workflows/spell_check.yml +++ b/.github/workflows/spell_check.yml @@ -38,11 +38,11 @@ jobs: - name: check macros run: | for file in $(git diff --name-only --diff-filter=A); do - ./scripts/check_macros.sh "$file" &>> check_macros.txt + ./scripts/internal/check_macros.sh "$file" &>> check_macros.txt done - name: Archive script output if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: t8code check macros report path: check_macros.txt diff --git a/.github/workflows/test_preparation.yml b/.github/workflows/test_preparation.yml index 94fd0e6087..5d273c4259 100644 --- a/.github/workflows/test_preparation.yml +++ b/.github/workflows/test_preparation.yml @@ -189,7 +189,7 @@ jobs: ## upload artifacts - name: Upload build artifacts - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: SC_P4EST_MPI_${{ inputs.MPI }} path: ./artifact.tar diff --git a/.github/workflows/test_sc_p4est.yml b/.github/workflows/test_sc_p4est.yml index 8e1a8649e2..41d1508cac 100644 --- a/.github/workflows/test_sc_p4est.yml +++ b/.github/workflows/test_sc_p4est.yml @@ -52,7 +52,7 @@ jobs: # Setup # - name: Download artifacts - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: SC_P4EST_MPI_${{ inputs.MPI }} - name: untar artifact @@ -85,7 +85,7 @@ jobs: run: cd $SC_DEBUG && ninja test - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: sc_debug_MPI_${{ inputs.MPI }}.log path: $SC_DEBUG/Testing/Temporary/LastTest.log @@ -94,7 +94,7 @@ jobs: run: cd $SC_RELEASE && ninja test - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: sc_release_MPI_${{ inputs.MPI }}.log path: $SC_RELEASE/Testing/Temporary/LastTest.log @@ -106,7 +106,7 @@ jobs: run: cd $P4EST_DEBUG && ninja test - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: sp4est_debug_MPI_${{ inputs.MPI }}.log path: $P4EST_DEBUG/Testing/Temporary/LastTest.log @@ -115,7 +115,7 @@ jobs: run: cd $P4EST_RELEASE && ninja test - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: sp4est_release_MPI_${{ inputs.MPI }}.log path: $P4EST_RELEASE/Testing/Temporary/LastTest.log diff --git a/.github/workflows/test_t8code.yml b/.github/workflows/test_t8code.yml index 114d728937..c969e77283 100644 --- a/.github/workflows/test_t8code.yml +++ b/.github/workflows/test_t8code.yml @@ -55,7 +55,7 @@ jobs: # Setup # - name: Download artifacts - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: SC_P4EST_MPI_${{ inputs.MPI }} - name: untar artifact @@ -97,7 +97,7 @@ jobs: run: mkdir build && cd build && cmake ../ $CONFIG_OPTIONS - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: cmake_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}.log path: build/CMakeFiles/CMakeOutput.log @@ -116,7 +116,7 @@ jobs: if: ${{ inputs.MPI == 'OFF' }} - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: test-suite_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}.log path: build/Testing/Temporary/LastTest.log diff --git a/.github/workflows/test_t8code_api.yml b/.github/workflows/test_t8code_api.yml index 18ca2ec5a4..a6f0f8d6d7 100644 --- a/.github/workflows/test_t8code_api.yml +++ b/.github/workflows/test_t8code_api.yml @@ -55,7 +55,7 @@ jobs: # Setup # - name: Download artifacts - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: SC_P4EST_MPI_${{ inputs.MPI }} - name: untar artifact @@ -95,7 +95,7 @@ jobs: run: mkdir build_api && cd build_api && cmake ../ $CONFIG_OPTIONS - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: cmake_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}_api.log path: build_api/CMakeFiles/CMakeOutput.log @@ -114,7 +114,7 @@ jobs: if: ${{ inputs.MPI == 'OFF' }} - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: test-suite_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}_api.log path: build_api/Testing/Temporary/LastTest.log diff --git a/.github/workflows/test_t8code_linkage.yml b/.github/workflows/test_t8code_linkage.yml index e2a7c9bb54..c8352a2bc6 100644 --- a/.github/workflows/test_t8code_linkage.yml +++ b/.github/workflows/test_t8code_linkage.yml @@ -55,7 +55,7 @@ jobs: # Setup # - name: Download artifacts - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: SC_P4EST_MPI_${{ inputs.MPI }} - name: untar artifact @@ -96,7 +96,7 @@ jobs: run: mkdir build_occ && cd build_occ && cmake ../ $CONFIG_OPTIONS -DT8CODE_ENABLE_OCC=ON - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: cmake_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}_OCC.log path: build_occ/CMakeFiles/CMakeOutput.log @@ -115,7 +115,7 @@ jobs: if: ${{ inputs.MPI == 'OFF' }} - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: test-suite_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}_OCC.log path: build_occ/Testing/Temporary/LastTest.log @@ -128,7 +128,7 @@ jobs: run: mkdir build_vtk && cd build_vtk && cmake ../ $CONFIG_OPTIONS -DT8CODE_ENABLE_VTK=ON -DVTK_DIR=/usr/local/lib/cmake/vtk-9.1 - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: cmake_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}_VTK.log path: build_vtk/CMakeFiles/CMakeOutput.log @@ -147,7 +147,7 @@ jobs: if: ${{ inputs.MPI == 'OFF' }} - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: test-suite_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}_VTK.log path: build_vtk/Testing/Temporary/LastTest.log diff --git a/.github/workflows/test_t8code_w_clang_and_ompi.yml b/.github/workflows/test_t8code_w_clang_and_ompi.yml index 9f83240aa8..21ddfbebc0 100644 --- a/.github/workflows/test_t8code_w_clang_and_ompi.yml +++ b/.github/workflows/test_t8code_w_clang_and_ompi.yml @@ -126,7 +126,7 @@ jobs: # On failure, upload logs - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: cmake_w_clang_and_ompi_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}.log path: build/CMakeFiles/CMakeOutput.log @@ -158,7 +158,7 @@ jobs: # On failure, upload logs - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: test-suite_w_clang_and_ompi_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}.log path: build/Testing/Temporary/LastTest.log diff --git a/.github/workflows/test_t8code_w_shipped_submodules.yml b/.github/workflows/test_t8code_w_shipped_submodules.yml index 9f98d789d9..0f3801c84b 100644 --- a/.github/workflows/test_t8code_w_shipped_submodules.yml +++ b/.github/workflows/test_t8code_w_shipped_submodules.yml @@ -94,7 +94,7 @@ jobs: run: mkdir build && cd build && cmake ../ $CONFIG_OPTIONS - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: cmake_w_submodules_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}.log path: build/CMakeFiles/CMakeOutput.log @@ -113,7 +113,7 @@ jobs: if: ${{ inputs.MPI == 'OFF' }} - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: test-suite_w_submodules_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}.log path: build/Testing/Temporary/LastTest.log diff --git a/.github/workflows/test_tarball.yml b/.github/workflows/test_tarball.yml index 5fbd7b2df8..c1811f21e4 100644 --- a/.github/workflows/test_tarball.yml +++ b/.github/workflows/test_tarball.yml @@ -85,7 +85,7 @@ jobs: run: mkdir build && cd build && cmake ../ $CONFIG_OPTIONS - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: config.log path: build/config.log @@ -94,7 +94,7 @@ jobs: run: cd build && ninja GenerateVersionFile && ninja package_source && mkdir tarballs && mv package/*Source.tar.gz tarballs # Upload the tarball - name: upload tarball - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: tarballs path: build/tarballs @@ -106,7 +106,7 @@ jobs: timeout-minutes: 15 steps: - name: Download tarball - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: tarballs path: tarballs @@ -129,7 +129,7 @@ jobs: run: mkdir build_tar && cd build_tar && cmake $TAR_DIR $CONFIG_OPTIONS - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: build_tar.log path: build_tar/config.log @@ -143,7 +143,7 @@ jobs: run: cd build_tar && ctest -R _parallel - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: build_tar.log path: build_tar/test-suite.log diff --git a/.github/workflows/test_valgrind.yml b/.github/workflows/test_valgrind.yml index 91dd1f6be4..8667118dc7 100644 --- a/.github/workflows/test_valgrind.yml +++ b/.github/workflows/test_valgrind.yml @@ -69,7 +69,7 @@ jobs: # Setup # - name: Download artifacts - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: name: SC_P4EST_MPI_${{ inputs.MPI }} - name: untar artifact @@ -113,7 +113,7 @@ jobs: run: mkdir build && cd build && cmake ../ $CONFIG_OPTIONS - name: OnFailUploadLog if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: cmake_${{ inputs.BUILD_TYPE }}_MPI_${{ inputs.MPI }}.log path: build/CMakeFiles/CMakeOutput.log @@ -122,4 +122,4 @@ jobs: # Execute script that runs a Valgrind check for all test binaries. # We use 4 parallel processes to run the binaries in parallel with MPI. - name: Valgrind check - run: cd scripts && bash ./check_all_test_binaries_valgrind.sh --ntasks=4 + run: cd scripts && bash ./check_all_test_binaries_valgrind.sh ../build/test/ --ntasks=4 diff --git a/.gitignore b/.gitignore index d271517eda..ec93b8c0f4 100644 --- a/.gitignore +++ b/.gitignore @@ -26,59 +26,5 @@ Testing/ *.vtu *.pvtu *~ - -# ------------------------------------------------------------ # -# Following list of files can be easily generated with: -# $ git status --porcelain | grep '^??' | cut -c4- >> .gitignore - -benchmarks/t8_time_forest_partition -benchmarks/t8_time_partition -benchmarks/t8_time_prism_adapt -example/IO/cmesh/gmsh/t8_load_and_refine_square_w_hole -example/IO/cmesh/gmsh/t8_read_msh_file -example/IO/cmesh/t8_cmesh_load_save -example/IO/cmesh/tetgen/t8_forest_tetgen -example/IO/cmesh/tetgen/t8_read_tetgen -example/IO/cmesh/tetgen/t8_time_tetgen -example/IO/cmesh/triangle/t8_read_triangle -example/advect/t8_advection -example/cmesh/t8_cmesh_create_partitioned -example/cmesh/t8_cmesh_partition -example/forest/t8_face_neighbor -example/forest/t8_test_face_iterate -example/forest/t8_test_ghost -example/forest/t8_test_ghost_large_level_diff -example/geometry/t8_example_geometries -example/version/t8_version -tutorials/t8_step0_helloworld -tutorials/t8_step1_coarsemesh -tutorials/t8_step2_uniform_forest -tutorials/t8_step3_adapt_forest -tutorials/t8_step4_partition_balance_ghost -tutorials/t8_step5_element_data -tutorials/t8_tutorial_search -test/t8_cmesh/t8_test_cmesh_copy -test/t8_cmesh/t8_test_cmesh_face_is_boundary -test/t8_cmesh/t8_test_cmesh_partition -test/t8_cmesh/t8_test_cmesh_readmshfile -test/t8_cmesh/t8_test_hypercube -test/t8_data/t8_test_shmem -test/t8_forest/t8_test_find_owner -test/t8_forest/t8_test_forest_commit -test/t8_forest/t8_test_ghost_and_owner -test/t8_forest/t8_test_ghost_exchange -test/t8_forest/t8_test_half_neighbors -test/t8_forest/t8_test_search -test/t8_forest/t8_test_transform -test/t8_forest/t8_test_user_data -test/t8_geometry/t8_test_geometry -test/t8_geometry/t8_test_point_inside -test/t8_gtest_main -test/t8_schemes/t8_test_descendant -test/t8_schemes/t8_test_element_count_leaves -test/t8_schemes/t8_test_find_parent -test/t8_schemes/t8_test_init_linear_id -test/t8_schemes/t8_test_pyra_face_descendant -test/t8_schemes/t8_test_pyra_face_neigh -test/t8_schemes/t8_test_successor -test/t8_test_vtk_linkage +*.brep +*.msh diff --git a/.typos.toml b/.typos.toml index fdab8ed1cc..b956ef5a00 100644 --- a/.typos.toml +++ b/.typos.toml @@ -3,4 +3,4 @@ eles = "eles" packageid = "packageid" [files] -extend-exclude = ["scripts/t8indent.sh", "thirdparty/", "t8code_logo.png", "cmake/FindOpenCASCADE.cmake", "src/t8_with_macro_error.h", "doc/Doxyfile.in"] +extend-exclude = ["scripts/indent.sh", "thirdparty/", "t8code_logo.png", "cmake/FindOpenCASCADE.cmake", "src/t8_misc/t8_with_macro_error.h", "doc/Doxyfile.in"] diff --git a/README.md b/README.md index b741dcc40f..40cb23acef 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,7 @@ to install the package on your system. [K] **Hanging node resolution 3D**: Tabea Leistikow (2024) *Derivation and implementation of a hanging nodes resolution scheme for hexahedral non-conforming meshes in t8code*. Master's thesis, Universität zu Köln. - Full text currently not available. + [Full text available](https://elib.dlr.de/204843/) ### Citing t8code diff --git a/benchmarks/t8_time_fractal.cxx b/benchmarks/t8_time_fractal.cxx index 8288f2f211..b3d4b7caf2 100644 --- a/benchmarks/t8_time_fractal.cxx +++ b/benchmarks/t8_time_fractal.cxx @@ -25,7 +25,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/benchmarks/t8_time_set_join_by_vertices.cxx b/benchmarks/t8_time_set_join_by_vertices.cxx index d9e7518b3a..b36714b631 100644 --- a/benchmarks/t8_time_set_join_by_vertices.cxx +++ b/benchmarks/t8_time_set_join_by_vertices.cxx @@ -26,7 +26,7 @@ #include #include -#include +#include #include #include #include diff --git a/doc/author_austin.txt b/doc/author_austin.txt new file mode 100644 index 0000000000..396dab40a5 --- /dev/null +++ b/doc/author_austin.txt @@ -0,0 +1 @@ +I place my contributions to t8code under the FreeBSD license. Sam Austin diff --git a/doc/author_doehring.txt b/doc/author_doehring.txt new file mode 100644 index 0000000000..b3301e0c8e --- /dev/null +++ b/doc/author_doehring.txt @@ -0,0 +1 @@ +I place my contributions to t8code under the FreeBSD license. Daniel Doehring (doehringd2@gmail.com) diff --git a/example/IO/cmesh/vtk/t8_cmesh_read_from_vtk.cxx b/example/IO/cmesh/vtk/t8_cmesh_read_from_vtk.cxx index f5b62c84b0..0da13bbcad 100644 --- a/example/IO/cmesh/vtk/t8_cmesh_read_from_vtk.cxx +++ b/example/IO/cmesh/vtk/t8_cmesh_read_from_vtk.cxx @@ -21,7 +21,7 @@ along with t8code; if not, write to the Free Software Foundation, Inc., #include #include #include -#include +#include #include #include diff --git a/example/cmesh/t8_cmesh_set_join_by_vertices.cxx b/example/cmesh/t8_cmesh_set_join_by_vertices.cxx index e4529e8928..9ee2e87fba 100644 --- a/example/cmesh/t8_cmesh_set_join_by_vertices.cxx +++ b/example/cmesh/t8_cmesh_set_join_by_vertices.cxx @@ -24,7 +24,7 @@ #include #include -#include +#include #include #include #include diff --git a/example/forest/t8_test_face_iterate.cxx b/example/forest/t8_test_face_iterate.cxx index 6b987f871c..fe51e449c3 100644 --- a/example/forest/t8_test_face_iterate.cxx +++ b/example/forest/t8_test_face_iterate.cxx @@ -23,7 +23,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/example/forest/t8_test_ghost.cxx b/example/forest/t8_test_ghost.cxx index 4121ba77fb..ec58ef3392 100644 --- a/example/forest/t8_test_ghost.cxx +++ b/example/forest/t8_test_ghost.cxx @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include #include diff --git a/example/version/t8_version.cxx b/example/version/t8_version.cxx index ff85cbf15f..89774d0c66 100644 --- a/example/version/t8_version.cxx +++ b/example/version/t8_version.cxx @@ -22,7 +22,7 @@ #include #include -#include +#include int main (int argc, char **argv) diff --git a/mesh_handle/README.md b/mesh_handle/README.md index 570209c131..14902ea133 100644 --- a/mesh_handle/README.md +++ b/mesh_handle/README.md @@ -8,6 +8,8 @@ If you want to use the handle, note that is has its own library. Turn the option The folder's most important files are: - The [mesh.hxx](mesh.hxx) defines the mesh of the handle. This is the central file of the mesh handle. +- The [constructor_wrappers.hxx](constructor_wrappers.hxx) allows to define a mesh handle using a cmesh instead of a forest and provides a very small number of examples where the user needs no cmesh. - The [element.hxx](element.hxx) defines the elements (mesh or ghost elements) of the mesh handle. - The [competences.hxx](competences.hxx) defines additional competences/functionality of an element to access additional data. -- The [constructor_wrappers.hxx](constructor_wrappers.hxx) allows to define a mesh handle using a cmesh instead of a forest and provides a very small number of examples where the user needs no cmesh. \ No newline at end of file +- The [competence_pack.hxx](competence_pack.hxx) is needed to pack element or mesh competences to pass it as template parameter to the mesh. +- The [data_handler.hxx](data_handler.hxx) provides competences to work with element data. diff --git a/mesh_handle/competence_pack.hxx b/mesh_handle/competence_pack.hxx index f93c7219a1..de9bf9beb7 100644 --- a/mesh_handle/competence_pack.hxx +++ b/mesh_handle/competence_pack.hxx @@ -21,36 +21,86 @@ */ /** \file competence_pack.hxx - * Define to pack different competences into one template parameter for the \ref t8_mesh_handle::mesh class. + * Define classes to pack different competences into one template parameter for the \ref t8_mesh_handle::mesh class. + * We have one class for element competences and one for mesh competences. */ #pragma once #include "competences.hxx" +#include "internal/competence_pack_union.hxx" namespace t8_mesh_handle { -/** Class to pack different competences into one template parameter for the \ref mesh class. - * \tparam TCompetence The competences to be packed. +// --- Element competence pack. --- +/** Class to pack different element competences into one template parameter for the \ref mesh class. + * \tparam TElementCompetence The competences to be packed. */ -template