Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • Nektar Nektar
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 93
    • Issues 93
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 59
    • Merge requests 59
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Nektar
  • NektarNektar
  • Merge requests
  • !900

Overhaul MeshGraph to support HDF5 geometry input/output

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Dave Moxey requested to merge feature/hdf5-mesh-4 into master Jan 05, 2018
  • Overview 5
  • Commits 29
  • Changes 298

This MR significantly adjusts MeshGraph to use a factory pattern, which allows for different file format I/O of meshes (and in particular, will enable HDF5 I/O for geometry). Three classes for XML, compressed XML and HDF5 (experimental) are now supported.

The main highlights:

  • MeshGraph now handles partitioning of meshes, which allows different file formats to adopt different strategies for partitioning.
  • Consequently, SessionReader no longer reads the session file when it is constructed, to allow for shared-filesystem partitioning (where only the root process reads the session file to save memory) to be performed by the MeshGraph.
  • All XML I/O is now done in a single place inside MeshGraph: previously, we had various I/O routines inside MeshPartition, MeshGraph and NekMesh.
  • Geometry classes have been reworked to reduce memory footprint -- by default they do not construct any coefficients or Xmap object -- since these are now used in the partitioning process. Some of the internal ordering of what constitutes forward/backwards edges has been altered, which has allowed the removal of some 2D-specific functions (GetCartesianEorient)
  • Significant code tidying and removal of the MeshGraph1/2/3D classes, which had quite a lot of duplicate code.
Edited Jan 08, 2018 by Dave Moxey
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: feature/hdf5-mesh-4