Skip to main content

Python High-Order Preprocessing Environment

Project description

PyHOPE (Python High-Order Preprocessing Environment) is an open-source Python framework for the generation of three-dimensional unstructured high-order meshes. These meshes are needed by high-order numerical methods like Discontinuous Galerkin, Spectral Element Methods, or pFEM, in order to retain their accuracy if the computational domain includes curved boundaries.

PyHOPE has been developed by the Numerics Research Group (NRG) lead by Prof. Andrea Beck at the Institute of Aerodynamics and Gas Dynamics at the University of Stuttgart, Germany.

PyHOPE is heavily inspired by HOPR (High Order Preprocessor) and share the same input/output format. For more information and tutorials, please visit the HOPR documentation

This is a scientific project. If you use pyHOPE for publications or presentations in science, please support the project by citing our publications given at numericsresearchgroup.org.

Installation

PyHOPE is built using standard Python packages. It is recommended to use a virtual environment for installation. The following commands create a virtual environment, here called venv, and install all required packages.

python -m venv venv
source venv/bin/activate
python -m pip install pyhope

Usage

PyHOPE is invoked from the command line. Run parameters are read from a configuration file. The following output is obtained when running the example configuration file tutorials/1-01-cartbox/parameter.ini.

$ pyhope tutorials/1-01-cartbox/parameter.ini
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ P y H O P E — Python High-Order Preprocessing Environment
┃ PyHOPE version 0.0.2
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
├─────────────────────────────────────────────
│ INIT PROGRAM...
│                        nThreads │ 4                               │ DEFAULT │
│ INIT PROGRAM DONE!
├─────────────────────────────────────────────
│ INIT OUTPUT...
│                     ProjectName │ 1-01-cartbox                    │ *CUSTOM │
│                    OutputFormat │ 0 [HDF5]                        │ *CUSTOM │
│                       DebugVisu │ F                               │ *CUSTOM │
│ INIT OUTPUT DONE!
├─────────────────────────────────────────────
│ INIT MESH...
│                            Mode │ 1                               │ *CUSTOM │
│                   BoundaryOrder │ 2                               │ DEFAULT │
│ INIT MESH DONE!
├─────────────────────────────────────────────
│ GENERATE MESH...
├────
│                          nZones │ 1                               │ *CUSTOM │
├── Generating zone 1
│                          Corner │ (/0.,0.,0. ,,1.,0.,0. ,,1.,1... │ *CUSTOM │
│                          nElems │ (/8,8,8/)                       │ *CUSTOM │
│                         BCIndex │ (/1,2,3,4,5,6/)                 │ *CUSTOM │
├────
├── Setting boundary conditions
├────
│                    BoundaryName │ BC_zminus                       │ *CUSTOM │
│                    BoundaryType │ (/4,0,0,0/)                     │ *CUSTOM │
│                    BoundaryName │ BC_yminus                       │ *CUSTOM │
│                    BoundaryType │ (/2,0,0,0/)                     │ *CUSTOM │
│                    BoundaryName │ BC_xplus                        │ *CUSTOM │
│                    BoundaryType │ (/2,0,0,0/)                     │ *CUSTOM │
│                    BoundaryName │ BC_yplus                        │ *CUSTOM │
│                    BoundaryType │ (/2,0,0,0/)                     │ *CUSTOM │
│                    BoundaryName │ BC_xminus                       │ *CUSTOM │
│                    BoundaryType │ (/2,0,0,0/)                     │ *CUSTOM │
│                    BoundaryName │ BC_zplus                        │ *CUSTOM │
│                    BoundaryType │ (/9,0,0,0/)                     │ *CUSTOM │
├────
├── Generated mesh with 512 cells
├────
│ GENERATE MESH DONE!
├─────────────────────────────────────────────
│                       doSortIJK │ False                           │ DEFAULT │
├────
├── Sorting elements along space-filling curve
├─────────────────────────────────────────────
│ CONNECT MESH...
├─────────────────────────────────────────────
├────
│  Number of sides          :         3072
│  Number of inner sides    :         2688
│  Number of boundary sides :          384
│  Number of periodic sides :            0
├────
│ CONNECT MESH DONE!
├─────────────────────────────────────────────
│ CHECK JACOBIANS...
├────
│              CheckElemJacobians │ True                            │ DEFAULT │
│             Processing Elements |█████████████████████████████████| 512/512 [100%] in 0.0s (30004.72/s)
├────
│ Scaled Jacobians
├─────────────────
│<0.0      │  0.00
│ 0.0-0.1  │  0.00
│ 0.1-0.2  │  0.00
│ 0.2-0.3  │  0.00
│ 0.3-0.4  │  0.00
│ 0.4-0.5  │  0.00
│ 0.5-0.6  │  0.00
│ 0.6-0.7  │  0.00
│ 0.7-0.8  │  0.00
│ 0.8-0.9  │  0.00
│>0.9-1.0  │ ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 512.00
├─────────────────
├─────────────────────────────────────────────
│ OUTPUT MESH...
├────
│   Planar-faced Hexahedra  :          512
├────
├── Writing HDF5 mesh to "1-01-cartbox_mesh.h5"
├────
│ OUTPUT MESH DONE!
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ PyHOPE completed in [0.18 sec]
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyhope-0.0.3.tar.gz (50.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyhope-0.0.3-py3-none-any.whl (71.6 kB view details)

Uploaded Python 3

File details

Details for the file pyhope-0.0.3.tar.gz.

File metadata

  • Download URL: pyhope-0.0.3.tar.gz
  • Upload date:
  • Size: 50.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for pyhope-0.0.3.tar.gz
Algorithm Hash digest
SHA256 0f450c999444480bd955496bd1273b364b578d1ef28736be8d04dca89aa76340
MD5 9d1585d0ffe025c11fa8c8428dff684d
BLAKE2b-256 d6918b495cbdbf81851a45115d2609a7311193c44a8e54ce1b3cb1397b0a6879

See more details on using hashes here.

File details

Details for the file pyhope-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: pyhope-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 71.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for pyhope-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 aaec8fdd58de64a3c5f5c3e1086e0709824efcbe7a78922ace84f62c1a036aa5
MD5 dad295704b808ed37a2b505346e30afc
BLAKE2b-256 437435a3c3ece3b7eae20daddd4e066cbdbba2113da6cb2d47ac9ae9c9a9769a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page