Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions src/README.md
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.
Copy link
Collaborator

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

Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
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.
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.


#### [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)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
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)
See [cmesh README](t8_cmesh/README.md) and the tutorials about coarse meshes: [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).

#### [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)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
See [data README](https://github.com/DLR-AMR/t8code/tree/main/src/t8_data/README)
See [data README](https://github.com/DLR-AMR/t8code/tree/main/src/t8_data/README).


#### [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).
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
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).
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-4---Partition,-Balance,-Ghost).


#### [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.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
Custom data types and strong types. Also contains t8_vec vector implementation.
Custom data types and strong types. Also contains `t8_vec` vector implementation.

See [types README](https://github.com/DLR-AMR/t8code/tree/main/src/t8_schemes/README).
Copy link
Collaborator

Choose a reason for hiding this comment

The 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).
See [types README](https://github.com/DLR-AMR/t8code/tree/main/src/t8_types/README).


#### [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).



45 changes: 45 additions & 0 deletions src/t8_cmesh/README.md
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.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
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.
Your entry point to familiarize yourself with the code should be [t8_cmesh.h](https://github.com/DLR-AMR/t8code/blob/18e8af64286bef9370042a8c4d7885d279d2b933/src/t8_cmesh.h) which is the main cmesh interface.


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.
1 change: 1 addition & 0 deletions src/t8_cmesh/t8_cmesh_vertex_connectivity/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TODO
1 change: 1 addition & 0 deletions src/t8_data/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TODO
1 change: 1 addition & 0 deletions src/t8_forest/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TODO
1 change: 1 addition & 0 deletions src/t8_forest/t8_forest_search/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
TODO

1 change: 1 addition & 0 deletions src/t8_geometry/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TODO
1 change: 1 addition & 0 deletions src/t8_geometry/t8_geometry_implementations/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TODO
1 change: 1 addition & 0 deletions src/t8_schemes/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TODO
1 change: 1 addition & 0 deletions src/t8_schemes/t8_default/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TODO
1 change: 1 addition & 0 deletions src/t8_schemes/t8_standalone/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TODO
1 change: 1 addition & 0 deletions src/t8_types/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TODO
1 change: 1 addition & 0 deletions src/t8_vector_helper/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TODO
1 change: 1 addition & 0 deletions src/t8_vtk/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TODO
1 change: 1 addition & 0 deletions src/t8_vtk/t8_with_vtk/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
TODO