diff --git a/src/README.md b/src/README.md new file mode 100644 index 0000000000..84328b6fcf --- /dev/null +++ b/src/README.md @@ -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. + +#### [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) +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) + +#### [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). + +#### [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. +See [types README](https://github.com/DLR-AMR/t8code/tree/main/src/t8_schemes/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). + + + diff --git a/src/t8_cmesh/README.md b/src/t8_cmesh/README.md new file mode 100644 index 0000000000..c2c6815875 --- /dev/null +++ b/src/t8_cmesh/README.md @@ -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. + +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. diff --git a/src/t8_cmesh/t8_cmesh_vertex_connectivity/README.md b/src/t8_cmesh/t8_cmesh_vertex_connectivity/README.md new file mode 100644 index 0000000000..1333ed77b7 --- /dev/null +++ b/src/t8_cmesh/t8_cmesh_vertex_connectivity/README.md @@ -0,0 +1 @@ +TODO diff --git a/src/t8_data/README.md b/src/t8_data/README.md new file mode 100644 index 0000000000..1333ed77b7 --- /dev/null +++ b/src/t8_data/README.md @@ -0,0 +1 @@ +TODO diff --git a/src/t8_forest/README.md b/src/t8_forest/README.md new file mode 100644 index 0000000000..1333ed77b7 --- /dev/null +++ b/src/t8_forest/README.md @@ -0,0 +1 @@ +TODO diff --git a/src/t8_forest/t8_forest_search/README.md b/src/t8_forest/t8_forest_search/README.md new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/src/t8_forest/t8_forest_search/README.md @@ -0,0 +1 @@ + diff --git a/src/t8_geometry/README.md b/src/t8_geometry/README.md new file mode 100644 index 0000000000..1333ed77b7 --- /dev/null +++ b/src/t8_geometry/README.md @@ -0,0 +1 @@ +TODO diff --git a/src/t8_geometry/t8_geometry_implementations/README.md b/src/t8_geometry/t8_geometry_implementations/README.md new file mode 100644 index 0000000000..1333ed77b7 --- /dev/null +++ b/src/t8_geometry/t8_geometry_implementations/README.md @@ -0,0 +1 @@ +TODO diff --git a/src/t8_schemes/README.md b/src/t8_schemes/README.md new file mode 100644 index 0000000000..1333ed77b7 --- /dev/null +++ b/src/t8_schemes/README.md @@ -0,0 +1 @@ +TODO diff --git a/src/t8_schemes/t8_default/README.md b/src/t8_schemes/t8_default/README.md new file mode 100644 index 0000000000..1333ed77b7 --- /dev/null +++ b/src/t8_schemes/t8_default/README.md @@ -0,0 +1 @@ +TODO diff --git a/src/t8_schemes/t8_standalone/README.md b/src/t8_schemes/t8_standalone/README.md new file mode 100644 index 0000000000..1333ed77b7 --- /dev/null +++ b/src/t8_schemes/t8_standalone/README.md @@ -0,0 +1 @@ +TODO diff --git a/src/t8_types/README.md b/src/t8_types/README.md new file mode 100644 index 0000000000..1333ed77b7 --- /dev/null +++ b/src/t8_types/README.md @@ -0,0 +1 @@ +TODO diff --git a/src/t8_vector_helper/README.md b/src/t8_vector_helper/README.md new file mode 100644 index 0000000000..1333ed77b7 --- /dev/null +++ b/src/t8_vector_helper/README.md @@ -0,0 +1 @@ +TODO diff --git a/src/t8_vtk/README.md b/src/t8_vtk/README.md new file mode 100644 index 0000000000..1333ed77b7 --- /dev/null +++ b/src/t8_vtk/README.md @@ -0,0 +1 @@ +TODO diff --git a/src/t8_vtk/t8_with_vtk/README.md b/src/t8_vtk/t8_with_vtk/README.md new file mode 100644 index 0000000000..1333ed77b7 --- /dev/null +++ b/src/t8_vtk/t8_with_vtk/README.md @@ -0,0 +1 @@ +TODO