Skip to content

Improvement: Added Readme for mesh handle tutorials, wiki links still missing. - #2372

Open
Vyp3er wants to merge 2 commits into
DLR-AMR:mainfrom
Vyp3er:mesh_handle_tutorial_readme
Open

Improvement: Added Readme for mesh handle tutorials, wiki links still missing.#2372
Vyp3er wants to merge 2 commits into
DLR-AMR:mainfrom
Vyp3er:mesh_handle_tutorial_readme

Conversation

@Vyp3er

@Vyp3er Vyp3er commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

Describe your changes here:

All these boxes must be checked by the AUTHOR before requesting review:

  • The PR is small enough to be reviewed easily. If not, consider splitting up the changes in multiple PRs.
  • The title starts with one of the following prefixes: Documentation:, Bugfix:, Feature:, Improvement: or Other:.
  • If the PR is related to an issue, make sure to link it.
  • The author made sure that, as a reviewer, he/she would check all boxes below.

All these boxes must be checked by the REVIEWERS before merging the pull request:

As a reviewer please read through all the code lines and make sure that the code is fully understood, bug free, well-documented and well-structured.

General

  • The reviewer executed the new code features at least once and checked the results manually.
  • The code follows the t8code coding guidelines.
  • New source/header files are properly added to the CMake files.
  • The code is well documented. In particular, all function declarations, structs/classes and their members have a proper doxygen documentation. Make sure to add a file documentation for each file!
  • README.md files are updated if necessary.
  • All new algorithms and data structures are sufficiently optimal in terms of memory and runtime (If this should be merged, but there is still potential for optimization, create a new issue).

Tests

  • The code is covered in an existing or new test case using Google Test.
  • The code coverage of the project (reported in the CI) should not decrease. If coverage is decreased, make sure that this is reasonable and acceptable.
  • Valgrind doesn't find any bugs in the new code. This script can be used to check for errors; see also this wiki article.

If the Pull request introduces code that is not covered by the github action (for example coupling with a new library):

  • Should this use case be added to the github action?
  • If not, does the specific use case compile and all tests pass (check manually).

Scripts and Wiki

  • If a new directory with source files is added, it must be covered by the scripts/internal/find_all_source_files.sh to check the indentation of these files.
  • If this PR introduces a new feature, it must be covered in an example or tutorial and a Wiki article.

License

  • The author added a BSD statement to doc/ (or already has one).

@Vyp3er
Vyp3er marked this pull request as ready for review July 20, 2026 14:17
@codecov

codecov Bot commented Jul 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.28%. Comparing base (66cd94f) to head (baa202a).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2372   +/-   ##
=======================================
  Coverage   82.28%   82.28%           
=======================================
  Files         125      125           
  Lines       20701    20701           
=======================================
  Hits        17033    17033           
  Misses       3668     3668           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@lenaploetzke
lenaploetzke self-requested a review July 21, 2026 07:53
@lenaploetzke lenaploetzke self-assigned this Jul 21, 2026

@lenaploetzke lenaploetzke left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice README!

Comment thread tutorials/README.md
[Mesh Handle Tutorials](../tutorials/mesh_handle/README.md)
These tutorials can be followed instead of the original t8code tutorials. They explain working with t8code with the help of the
[mesh_handle](../mesh_handle/README.md) interface.
Please note, that the mesh handle tutorials start at step 2, because the first 2 steps are the same as in the original tutorials. Please complete these first and then come back to the [Mesh Handle Tutorial Overview](../tutorials/mesh_handle/README.md)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Please note, that the mesh handle tutorials start at step 2, because the first 2 steps are the same as in the original tutorials. Please complete these first and then come back to the [Mesh Handle Tutorial Overview](../tutorials/mesh_handle/README.md)
Please note, that the mesh handle tutorials start at step 2, because the steps 0 and 1 are the same as in the general tutorials. Please complete these first and then come back to the [Mesh Handle Tutorial Overview](../tutorials/mesh_handle/README.md).

Comment thread tutorials/README.md
## Mesh handle
[mesh_handle_element_data](mesh_handle/t8_mesh_element_data.cxx) Recreating [step5](./general/t8_step5_element_data.cxx) of the general tutorials but using the mesh handle.
[Mesh Handle Tutorials](../tutorials/mesh_handle/README.md)
These tutorials can be followed instead of the original t8code tutorials. They explain working with t8code with the help of the

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
These tutorials can be followed instead of the original t8code tutorials. They explain working with t8code with the help of the
These tutorials can be followed instead of the general t8code tutorials. They explain working with t8code with the help of the

One idea is that the mesh handle is the only entry point of t8code which is why we should not name this "original"

@@ -0,0 +1,33 @@
# Mesh handle tutorials

This is the tutorial collection for the [mesh_handle](../mesh_handle/README.md) interface of `t8code`.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This is the tutorial collection for the [mesh_handle](../mesh_handle/README.md) interface of `t8code`.
This is the tutorial collection for the [mesh_handle](../../mesh_handle/README.md) interface of `t8code`.


This is the tutorial collection for the [mesh_handle](../mesh_handle/README.md) interface of `t8code`.

The `mesh handle` Interface acts as a bridge between the user and the original t8code library. When using the mesh handle, t8code acts as if it is working with usual unstructured meshes.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The `mesh handle` Interface acts as a bridge between the user and the original t8code library. When using the mesh handle, t8code acts as if it is working with usual unstructured meshes.
The `mesh handle` interface acts as a bridge between the user and the tree-based t8code library. When using the mesh handle, t8code acts as if it is working with unstructured meshes.

This is the tutorial collection for the [mesh_handle](../mesh_handle/README.md) interface of `t8code`.

The `mesh handle` Interface acts as a bridge between the user and the original t8code library. When using the mesh handle, t8code acts as if it is working with usual unstructured meshes.
For more information about the [mesh_handle](../mesh_handle/README.md), look into the readme there.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For more information about the [mesh_handle](../mesh_handle/README.md), look into the readme there.
Have a look at the [mesh_handle README](../../mesh_handle/README.md) for more information.

Create a coarse mesh, output it to vtu and destroy it. (This links leads to the original t8code tutorials, come back after this step to use the mesh handle tutorials instead.)

[step2] -
Create a uniform mesh, get its number of local and global elements, output it to vtu and destroy it.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Create a uniform mesh, get its number of local and global elements, output it to vtu and destroy it.
Create a uniform mesh, get its number of local and global elements and output it to vtu.

As we do not really need to destroy it


Please note, that the mesh handle tutorials start at step 2. This is due to the fact, that [step0](https://github.com/DLR-AMR/t8code/wiki/Step-0---Hello-World) and [step1](https://github.com/DLR-AMR/t8code/wiki/Step-1---Creating-a-coarse-mesh) are the same when using the mesh handle so please use the original `t8code` tutorials for these steps.

## General

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Steps ? General is valid for the other folder

Adapt a mesh according to a user defined criterion.

[step4] -
Partitioning, balancing and creating a ghost layer for a mesh. Explains the mesh creation process in more detail.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Partitioning, balancing and creating a ghost layer for a mesh. Explains the mesh creation process in more detail.
Partitioning, balancing and creating a ghost layer for a mesh.

Or please state what you mean here? Because partition balance and ghost can also be done after mesh creation. What do you explain here in more detail?

[step4] -
Partitioning, balancing and creating a ghost layer for a mesh. Explains the mesh creation process in more detail.

[step5](mesh_handle/t8_mesh_element_data.cxx) -

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we have to think of the renaming here

Associating user data with the elements of a mesh. Exchanging ghost values for element user data. Writing element user data to vtu.

[step6] -
Going into more detail about mesh handle competence packs. Explaining element data competences and caching. Creating a custom competence. No newline at end of file

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe one sentence about what competences are about?

@lenaploetzke lenaploetzke assigned Vyp3er and unassigned lenaploetzke Jul 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants