Table of Contents
Fetching ...

pyCFS-data: Data Processing Framework in Python for openCFS

Andreas Wurzinger, Patrick Heidegger, Stefan Schoder

TL;DR

pyCFS-data provides a Python data processing framework for openCFS, delivering a modular pipeline (io, operators, extras) that streamlines reading, manipulating, and postprocessing openCFS data from HDF5 files. It introduces CFSReader/CFSWriter data structures (CFSMeshData, CFSResultContainer, etc.) and a rich set of processing tools, including Node2Cell/Cell2Node interpolation, projection‑based and RBF interpolation, modal analysis utilities, SNGR source computation, mesh transformations, spatial derivatives, and time‑series processing (time derivative, FFT, DMD). The framework also offers extensive compatibility with multiple formats (Ansys, CGNS, EnSight, Exodus, MeshIO, PSV, NiHu Matlab, STL) through dedicated I/O modules, enabling broad data interoperability. Applications demonstrate pyCFS-data as a Python alternative to openCFS data handling, supporting pre/postprocessing in aeroacoustics and hybrid experimental–numerical workflows, and facilitating integration with the Python ecosystem for multiphysics simulations. Overall, the work provides a practical, open‑source toolkit that lowers barriers to accessing and processing openCFS data, accelerating multiphysics simulations in aeroacoustics and related fields.

Abstract

Many numerical simulation tools have been developed and are on the market, but there is still a strong need for appropriate tools capable of simulating multi-field problems, especially in aeroacoustics. Therefore, openCFS provides an open-source framework for implementing partial differential equations using the finite element method. Since 2000, the software has been developed continuously. The result is openCFS (before 2020, known as CFS++ Coupled Field Simulations written in C++). In this paper, we present pyCFS-data, a data processing framework written in Python to provide a flexible and easy-to-use toolbox to access and manipulate, pre- and postprocess data generated by or for usage with openCFS.

pyCFS-data: Data Processing Framework in Python for openCFS

TL;DR

pyCFS-data provides a Python data processing framework for openCFS, delivering a modular pipeline (io, operators, extras) that streamlines reading, manipulating, and postprocessing openCFS data from HDF5 files. It introduces CFSReader/CFSWriter data structures (CFSMeshData, CFSResultContainer, etc.) and a rich set of processing tools, including Node2Cell/Cell2Node interpolation, projection‑based and RBF interpolation, modal analysis utilities, SNGR source computation, mesh transformations, spatial derivatives, and time‑series processing (time derivative, FFT, DMD). The framework also offers extensive compatibility with multiple formats (Ansys, CGNS, EnSight, Exodus, MeshIO, PSV, NiHu Matlab, STL) through dedicated I/O modules, enabling broad data interoperability. Applications demonstrate pyCFS-data as a Python alternative to openCFS data handling, supporting pre/postprocessing in aeroacoustics and hybrid experimental–numerical workflows, and facilitating integration with the Python ecosystem for multiphysics simulations. Overall, the work provides a practical, open‑source toolkit that lowers barriers to accessing and processing openCFS data, accelerating multiphysics simulations in aeroacoustics and related fields.

Abstract

Many numerical simulation tools have been developed and are on the market, but there is still a strong need for appropriate tools capable of simulating multi-field problems, especially in aeroacoustics. Therefore, openCFS provides an open-source framework for implementing partial differential equations using the finite element method. Since 2000, the software has been developed continuously. The result is openCFS (before 2020, known as CFS++ Coupled Field Simulations written in C++). In this paper, we present pyCFS-data, a data processing framework written in Python to provide a flexible and easy-to-use toolbox to access and manipulate, pre- and postprocess data generated by or for usage with openCFS.
Paper Structure (33 sections, 5 equations, 10 figures)

This paper contains 33 sections, 5 equations, 10 figures.

Figures (10)

  • Figure 1: Organization of classes for data structures.
  • Figure 2: Structure of CFSMeshData class. Attributes are highlighted in orange, Properties in purple, and respective data types in grey.
  • Figure 3: Structure of CFSRegData class. Attributes are highlighted in orange, Properties in purple, and respective data types in grey.
  • Figure 4: Structure of CFSResultContainer class. Attributes are highlighted in orange, Properties in purple, and respective data types in grey.
  • Figure 5: Structure of CFSResultArray class. Attributes are highlighted in orange, Properties in purple, and respective data types in grey.
  • ...and 5 more figures