hxaxtma / flowtorch

flowTorch - a Python library for analysis and reduced-order modeling of fluid flows

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

flowTorch

flowTorch - a Python library for analysis and reduced order modeling of fluid flows

flowTorch is developed primarily by the Flow Modeling and Control group led by Richard Semaan. The development is financed by the German Research Foundation (DFG) within the research program FOR 2895

unsteady flow and interaction phenomena at high speed stall conditions

with the primary goal to investigate flow conditions that lead to buffeting at airfoils in the transonic flow regime.

flowTorch is still under construction. The initial release is planned for January 2021.

Why flowTorch?

The flowTorch project was initiated to facilitate the processing and analysis of massive flow datasets having hundreds several terabytes in size. Its main applications are closely reflected by the flowTorch sub-packages:

package content
flowtorch.data data loading, domain reduction, and sampling, e.g., using sparse spatial sampling (S3)
flowtorch.analysis algorithms for dimensionality reduction, including proper orthogonal decomposition (POD), dynamic mode decomposition (DMD), and variants thereof
flowtorch.rom reduced-order modeling using cluster-based network models (CNM)

flowTorch uses the PyTorch library as a backend for data structures, data types, and linear algebra operations on CPU and GPU. Some features that flowTorch focuses on include:

  • parallel data processing on multiple CPUs and GPUs
  • mixed-precision operations (single/double)
  • user-friendly Python library that integrates easily with popular tools and libraries like Jupyterlab, Matplotlib, or Numpy
  • a rich documentation with plenty of beginner-friendly but also realistic tutorials
  • interfaces to common data formats like OpenFOAM, CGNS, and netCDF

Getting started

The central source of knowledge is the flowTorch documentation. There you find

Getting help

If you encounter any issues using flowTorch, please use the repository's issue tracker. Consider the following steps before and when opening a new issue:

  1. Have you searched for similar issues that may have been already reported? The issue tracker has a filter function to search for keywords in open issues.
  2. Click on the green New issue button in the upper right corner and describe your problem as detailed as possible. The issue should state what the problem is, what the expected behavior should be, and, maybe, suggest a solution. Note that you can also attach files or images to the issue.
  3. Select a suitable label from the drop-down menu called Labels.
  4. Click on the green Submit new issue button and wait for a reply.

Reference

TODO: add citeable reference

License

flowTorch is GPLv3-licensed; refer to the LICENSE file for more information.

About

flowTorch - a Python library for analysis and reduced-order modeling of fluid flows

License:GNU General Public License v3.0


Languages

Language:C++ 50.9%Language:Python 45.8%Language:Shell 3.4%