Skip to content


Michael Turner requested to merge feature/hdf5-mesh-2 into master

This MR does a couple of things.

The primary purpose to rework meshgraph into a factory system, more consistent with the rest of nektar and alternatives can be added easily. This is to allow for the use of hdf5 meshes in the future. By compartmentalising meshgraph with a factory this will become easier to maintain.

It has also got rid of the dimensionality of meshgraph, i.e the 1D, 2D and 3D variants, as this served no purpose other than making code duplication. The dimension of the mesh is stored within meshgraph anyway. All dimension specific codes are now "under the hood".

All IO related routines have been move to spatial domains, which is the lowest level they are needed at. This is to allow for the removal of many meshIO methods. Previously there was a IO set for partitioning, meshgraph and NekMesh. Now there is only 1 IO routine per type (xml, hdf5). This will make mesh formats easier to maintain.

Spatialdomains has had a bit of a clean as well. Specifically the top level geometry classes have been trimmed down. It seemed that every developer that ever touched it made their own constructor and function set. This change had to be propagated through the code so there are a lot of file changes. A few small bugs have also been removed in the way periodic meshes are handled.

Edited by Michael Turner

Merge request reports