Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

T8 io reader #370

Draft
wants to merge 33 commits into
base: main
Choose a base branch
from
Draft

T8 io reader #370

wants to merge 33 commits into from

Conversation

Davknapp
Copy link
Collaborator

A first implementation of an T8_IO_reader.
All readmsh-file routines are moved into the t8_gmsh_reader folder. As soon as we decide that the IO-interface is fully functional no other file should use these routines directly, but via the IO-interface.

This implementation demonstrates how to implement a T8_IO_reader. In a first step, via set_source the source is opend and readability is checked. In the second step we read the source and construct a cmesh from its data.

The t8_IO_read function controlls the reading-routine for all processes, such that only a single process should read and if T8_PARTITION is set it partitions the cmesh over all available processes.

Merge #368 before converting this into a PR.

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.

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

  • The code compiles without warning in debugging and release mode, with and without MPI (this should be executed automatically in a github action)

    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)
  • All tests pass (in various configurations, this should be executed automatically in a github action)

  • New source/header files are properly added to the Makefiles

  • The reviewer executed the new code features at least once and checked the results manually

  • The code is covered in an existing or new test case

  • New tests use the Google Test framework

  • The code follows the t8code coding guidelines

  • The code is well documented

  • All function declarations, structs/classes and their members have a proper doxygen documentation

  • 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)

  • Testing of this template: If you feel something is missing from this list, contact the developers

Knapp added 27 commits November 21, 2022 16:59
Currently they are not filled with anything meaningfull.
Basically move routines from t8_cmesh_readmshfile.cxx to t8_gmsh_reader.cxx
The logic changes very little
Check if one can open the file, if a supported msh-version is used and if it is
compatible with the geometry backend used.
In the future, the routines in cmesh_readmshfile.cxx should not be used directly, only via the IO interface.
@Davknapp Davknapp added the enhancement Enhances already existing code label Nov 24, 2022
@jmark jmark added the draft Enhance the visibility that this is a draft. label Mar 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
draft Enhance the visibility that this is a draft. enhancement Enhances already existing code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants