Introduction

Scope and features of PyHOPE


High-order numerical methods surch as Discontinuous Galerkin, Spectral Element Methods, or pFEM, require unstructured high-order meshes in order to retain their accuracy if the computational domain includes curved boundaries. The HOPR HDF5 curved mesh format is specifically designed to specifically designed for parallel read-in of unstructured three-dimensional meshes of arbitrary order, including tetrahedra, pyramids, prisms, and hexahedra. Information stored in HOPR format facilitates non-overlapping input output (I/O) through collocation of the required mesh information, including the vertex and side information together with element connectivity, in per-element packages. Each package is assigned a unique identifier via ordering along structured dimensions or a space-filling curve.

PyHOPE is a Python library for reading, writing, and manipulating HOPR HDF5 curved mesh files.

  • Installation: Installation and verification of the local installation of PyHOPE
  • Library Usage: Usage of PyHOPE as a Python library

At the current state, it features two modes for mesh generation:

  • Internal mesh generator: A simple mesh generator for generating curved meshes of basic block-structured geometries
  • External mesh generator: Read and convert meshes generated with external mesh generators such as ANSA, Gmsh, or Cubit

PyHOPE is controlled via a parameter file in INI format. The parameter file specifies the mesh generation mode, the geometry and mesh parameters, and the output file name.

PyHOPE is heavily inspired by HOPR (High Order Preprocessor) and shares the same input/output format.

  • Mesh Format: Brief description of the HOPR HDF5 mesh format

For more information and tutorials, please visit the HOPR documentation. Furthermore, PyHOPE utilizes Gmsh for the initial mesh generation and conversion before switching to its internal representation. The internal representation is loosely based on meshio but augmented with additional information required for high-order meshes.