-
Notifications
You must be signed in to change notification settings - Fork 61
Documentation: README files /src and /src/t8_cmesh #1855
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
base: main
Are you sure you want to change the base?
Changes from all commits
9a3d732
9de41de
6d32542
d249499
c32957b
2e20f0f
4c37160
970a96d
4a1308f
f763e69
f8eb131
2ddaabe
40df556
473eedb
128b003
2b907e7
456bf77
2a3c8da
08d3a39
12065de
4a3386f
25281a6
18e8af6
1a130f0
2a1cc2d
8a08aa5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,54 @@ | ||||||
| # t8code/src | ||||||
|
|
||||||
| This folder contains the main source code of t8code. | ||||||
|
|
||||||
| Here is an overview over the different modules: | ||||||
|
|
||||||
| ### [src](https://github.com/DLR-AMR/t8code/tree/main/src) | ||||||
|
|
||||||
| The main source folder, it holds main header files like [t8.h](https://github.com/DLR-AMR/t8code/blob/main/src/t8.h), [t8_cmesh.hxx](https://github.com/DLR-AMR/t8code/blob/main/src/t8_cmesh.hxx) and more. | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| #### [src/t8_cmesh](https://github.com/DLR-AMR/t8code/tree/main/src/t8_cmesh) | ||||||
|
|
||||||
| Contains implementation details of algorithms and data structures related to the coarse mesh. | ||||||
| See [cmesh README](t8_cmesh/README.md) and the tutorial about coarse meshes: [Creating a coarse mesh](https://github.com/DLR-AMR/t8code/wiki/Step-1---Creating-a-coarse-mesh) | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| and [Building a Cmesh by hand](https://github.com/DLR-AMR/t8code/wiki/Building-a-Cmesh-by-hand). | ||||||
|
|
||||||
| #### [src/t8_data](https://github.com/DLR-AMR/t8code/tree/feature-folder_README/src/t8_data) | ||||||
|
|
||||||
| Contains data handling classes and algorithms related to data containers, including arrays to handle element data. | ||||||
| See [data README](https://github.com/DLR-AMR/t8code/tree/main/src/t8_data/README) | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| #### [src/t8_forest](https://github.com/DLR-AMR/t8code/tree/main/src/t8_forest) | ||||||
|
|
||||||
| Contains implementation details of algorithms and data structures related to the forest, i.e. the actual computational mesh. | ||||||
| See [forest README](https://github.com/DLR-AMR/t8code/tree/main/src/t8_forest/README) and the tutorials, [Step 2](https://github.com/DLR-AMR/t8code/wiki/Step-2---Creating-a-uniform-forest), [Step 3](https://github.com/DLR-AMR/t8code/wiki/Step-3---Adapting-a-forest), [Step 4](https://github.com/DLR-AMR/t8code/wiki/Step-3---Adapting-a-forest). | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| #### [src/t8_geometry](https://github.com/DLR-AMR/t8code/tree/main/src/t8_geometry) | ||||||
|
|
||||||
| Contains data handling classes and algorithms for geometry handling, i.e. mapping the elements into a physical domain space. | ||||||
| See [geometry README](https://github.com/DLR-AMR/t8code/tree/main/src/t8_geometry/README) and the tutorial [Curved Meshes](https://github.com/DLR-AMR/t8code/wiki/Feature---Curved-meshes) (note that the geometry also handles linear, non-curved meshes). | ||||||
|
|
||||||
| #### [src/t8_schemes](https://github.com/DLR-AMR/t8code/tree/main/src/t8_schemes) | ||||||
|
|
||||||
| Contains data handling classes and algorithms for schemes. Schemes are the implementation of the space-filling curve for each element shape. | ||||||
| A scheme describes how elements refine, construct their neighbors, etc. | ||||||
| See [scheme README](https://github.com/DLR-AMR/t8code/tree/main/src/t8_schemes/README). | ||||||
|
|
||||||
| #### [src/t8_types](https://github.com/DLR-AMR/t8code/tree/main/src/t8_types) | ||||||
|
|
||||||
| Custom data types and strong types. Also contains t8_vec vector implementation. | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| See [types README](https://github.com/DLR-AMR/t8code/tree/main/src/t8_schemes/README). | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| #### [src/t8_vector_helper](https://github.com/DLR-AMR/t8code/tree/main/src/t8_vector_helper) | ||||||
|
|
||||||
| Contains specialized algorithms on std::vector in particular `vector_split`. | ||||||
| See [vector helper README](https://github.com/DLR-AMR/t8code/tree/main/src/t8_vector_helper/README). | ||||||
|
|
||||||
| #### [src/t8_vtk](https://github.com/DLR-AMR/t8code/tree/main/src/t8_vtk) | ||||||
|
|
||||||
| Contains algorithms and data structures for the VTK interface. | ||||||
| See [vtk README](https://github.com/DLR-AMR/t8code/tree/main/src/t8_vtk/README). | ||||||
|
|
||||||
|
|
||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,45 @@ | ||||||
| This folder contains the coarse mesh interface. | ||||||
|
|
||||||
| The coarse mesh (t8_cmesh) contains information about the domain topology and geometry. | ||||||
| It is usually created from an input mesh, either from a mesh generator or by hand. | ||||||
|
|
||||||
| See also our Wiki tutorials [Creating a coarse mesh](https://github.com/DLR-AMR/t8code/wiki/Step-1---Creating-a-coarse-mesh) | ||||||
| and [Building a Cmesh by hand](https://github.com/DLR-AMR/t8code/wiki/Building-a-Cmesh-by-hand). | ||||||
|
|
||||||
| Your entry point should be [t8_cmesh.h](https://github.com/DLR-AMR/t8code/blob/18e8af64286bef9370042a8c4d7885d279d2b933/src/t8_cmesh.h) which is the main cmesh interface. | ||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| An incomplete list of the source files in this folder: | ||||||
|
|
||||||
|
|
||||||
|
|
||||||
| #### [t8_cmesh_examples.h](https://github.com/DLR-AMR/t8code/blob/feature-folder_README/src/t8_cmesh/t8_cmesh_examples.h) | ||||||
|
|
||||||
| Contains many example cases for coarse mesh generation. | ||||||
|
|
||||||
| ### Input/Output | ||||||
|
|
||||||
| #### [t8_cmesh_readmshfile.h](https://github.com/DLR-AMR/t8code/blob/feature-folder_README/src/t8_cmesh_readmshfile.h) | ||||||
|
|
||||||
| Input routines for reading `.msh` files (usually from the Gmsh mesh generator). | ||||||
|
|
||||||
| #### [t8_cmesh_tetgen.h](https://github.com/DLR-AMR/t8code/blob/18e8af64286bef9370042a8c4d7885d279d2b933/src/t8_cmesh_tetgen.h) and [t8_cmesh_triangle.h](https://github.com/DLR-AMR/t8code/blob/18e8af64286bef9370042a8c4d7885d279d2b933/src/t8_cmesh_triangle.h) | ||||||
|
|
||||||
| Input routines for the TRIANGLE and TETGEN mesh generators. | ||||||
| These have not been maintained for a long time and might be incorrect. | ||||||
|
|
||||||
| #### [t8_cmesh_netcdf.h](https://github.com/DLR-AMR/t8code/blob/18e8af64286bef9370042a8c4d7885d279d2b933/src/t8_cmesh_netcdf.h) | ||||||
|
|
||||||
| netcdf output | ||||||
|
|
||||||
| ### Internal | ||||||
|
|
||||||
| #### [t8_cmesh_types.h](https://github.com/DLR-AMR/t8code/blob/18e8af64286bef9370042a8c4d7885d279d2b933/src/t8_cmesh/t8_cmesh_types.h) | ||||||
|
|
||||||
| Contains the class definition of `t8_cmesh` and various subclasses. | ||||||
| This is internal and should only be touched if you need to add member variables to the cmesh. | ||||||
|
|
||||||
| #### [t8_cmesh_stash.h](https://github.com/DLR-AMR/t8code/blob/feature-folder_README/src/t8_cmesh/t8_cmesh_stash.h) | ||||||
|
|
||||||
| The stash is an intermediate data structure that we use while a cmesh is being constructed. | ||||||
| It is very unhandy and contains lots of void pointers. | ||||||
| Do not touch unless really necessary. | ||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| TODO |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| TODO |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| TODO |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1 @@ | ||||||
|
|
||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| TODO |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| TODO |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| TODO |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| TODO |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| TODO |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| TODO |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| TODO |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| TODO |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| TODO |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We talked about changing the references to only folder structures (Similar as you did for the cmesh readme in line 14). I think it would be better to use this everywhere instead of this reference to the main branch :)