You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+20-14
Original file line number
Diff line number
Diff line change
@@ -6,18 +6,15 @@
6
6
7
7
**flowTorch** - a Python library for analysis and reduced order modeling of fluid flows
8
8
9
-
*flowTorch* is developed primarily by [@AndreWeiner](https://github.com/AndreWeiner) in the [Flow Modeling and Control group](https://www.tu-braunschweig.de/en/ism/research-workgroups/flow-modelling-and-control) led by [Richard Semaan](https://www.tu-braunschweig.de/en/ism/research/flow-modelling-and-control/staff/semaan). The development is financed by the German Research Foundation (DFG) within the research program [FOR 2895](https://www.for2895.uni-stuttgart.de/)
10
-
11
-
12
-
> unsteady flow and interaction phenomena at high speed stall conditions
13
-
14
-
with the primary goal to investigate flow conditions that lead to [buffeting](https://en.wikipedia.org/wiki/Aeroelasticity#Buffeting) at airfoils in the transonic flow regime. The animation below shows the shock buffet on a NACA-0012 airfoil at *Re=10^7*, *Ma=0.75*, and 4 degrees angle of attack. The simulation was conducted in OpenFOAM; follow [this link](https://github.com/AndreWeiner/naca0012_shock_buffet) for more information about the setup.
9
+
The development of flowTorch is primarily financed by the German Research Foundation (DFG) within the research program [FOR 2895](https://www.for2895.uni-stuttgart.de/)*unsteady flow and interaction phenomena at high speed stall conditions* with the primary goal to investigate flow conditions that lead to [buffeting](https://en.wikipedia.org/wiki/Aeroelasticity#Buffeting) at airfoils in the transonic flow regime.
The animation shows the shock buffet on a NACA-0012 airfoil at $Re=10^7$, $Ma=0.75$, and $\alpha=4^\circ$ angle of attack. The simulation was conducted with OpenFOAM; follow [this link](https://github.com/AndreWeiner/naca0012_shock_buffet) for more information about the setup.
14
+
18
15
## Why *flowTorch*?
19
16
20
-
The *flowTorch* project was started to make the analysis and modeling of fluid data **easy** and **accessible** to everyone. The library design intends to strike a balance between **usability** and **flexibility**. Instead of a monolithic, black-box analysis tool, the library offers modular components that allow assembling custom analysis and modeling workflows with ease. *flowTorch* helps to fuse data from a wide range of file formats typical for fluid flow data, for example, to compare experiments simulations. The available analysis and modeling tools are rigorously tested and demonstrated on a variety of different fluid flow datasets. Moreover, one can significantly accelerate the entire process of accessing, cleaning, analysing, and modeling fluid flow data by starting with one of the pipelines available in the *flowTorch*[documentation](https://flowmodelingcontrol.github.io/flowtorch-docs/1.1/index.html).
17
+
The *flowTorch* project was started to make the analysis and modeling of fluid data **easy** and **accessible** to everyone. The library design intends to strike a balance between **usability** and **flexibility**. Instead of a monolithic, black-box analysis tool, the library offers modular components that allow assembling custom analysis and modeling workflows with ease. *flowTorch* helps to fuse data from a wide range of file formats typical for fluid flow data, for example, to compare experiments simulations. The available analysis and modeling tools are rigorously tested and demonstrated on a variety of different fluid flow datasets. Moreover, one can significantly accelerate the entire process of accessing, cleaning, analyzing, and modeling fluid flow data by starting with one of the pipelines available in the *flowTorch*[documentation](https://flowmodelingcontrol.github.io/flowtorch-docs/1.2/index.html).
21
18
22
19
To get a first impression of how working with *flowTorch* looks like, the code snippet below shows part of a pipeline for performing a dynamic mode decomposition (DMD) of a transient *OpenFOAM* simulation.
23
20
@@ -46,17 +43,17 @@ for i, time in enumerate(window_times):
46
43
47
44
# perform DMD
48
45
dmd = DMD(data_matrix, rank=19)
49
-
# analyse dmd.modes or dmd.eigvals
46
+
# analyze dmd.modes or dmd.eigvals
50
47
# ...
51
48
```
52
49
53
50
Currently, the following sub-packages are under active development. Note that some of the components are not yet available in the public release because further developments and testing are required:
54
51
55
52
| package | content |
56
53
| :------ | :-------|
57
-
|flowtorch.data | data loading, domain reduction (masked selection) |
58
-
| flowtorch.analysis | algorithms for dimensionality reduction, including *proper orthogonal decomposition* (POD), *dynamic mode decomposition* (DMD), autoencoders, and variants thereof|
59
-
| flowtorch.rom | reduced-order modeling using [cluster-based network models (CNM)](https://github.com/fernexda/cnm)|
54
+
|flowtorch.data | data loading, domain reduction (masked selection), outlier removal|
55
+
| flowtorch.analysis | algorithms for dimensionality reduction and modal analysis (e.g., SVD, DMD, MSSA)|
56
+
| flowtorch.rom | reduced-order modeling (CNM) |
60
57
61
58
*flowTorch* uses the [PyTorch](https://github.com/pytorch/pytorch) library as a backend for data structures, data types, and linear algebra operations on CPU and GPU. Some cool features of *flowTorch* include:
62
59
@@ -69,12 +66,13 @@ Currently, the following sub-packages are under active development. Note that so
69
66
70
67
*flowTorch* can be also used easily in combination with existing Python packages for analysis and reduced-order modeling thanks to the interoperability between PyTorch and NumPy. Great examples are (by no means a comprehensive list):
@@ -92,8 +90,13 @@ and install the dependencies listed in *requirements.txt*:
92
90
```
93
91
pip3 install -r requirements.txt
94
92
```
93
+
Installing all flowTorch dependencies requires a significant amount of disk space. When using isolated subpackages, one can also install the dependencies manually (by trial-and-error). To load the library package from within a Python script file or a Jupyter notebook, add the path to the cloned repository as follows:
94
+
```
95
+
import sys
96
+
sys.path.insert(0, "/path/to/repository")
97
+
```
95
98
96
-
To get an overview of what *flowTorch* can do for you, have a look at the [online documentation](https://flowmodelingcontrol.github.io/flowtorch-docs/1.1/index.html). The examples presented in the online documentation are also contained in this repository. In fact, the documentation is a static version of several [Jupyter labs](https://jupyter.org/) with start-to-end analyses. If you are interested in an interactive version of one particular example, navigate to `./docs/source/notebooks` and run `jupyter lab`. Note that to execute some of the notebooks, the **corresponding datasets are required**. The datasets can be downloaded [here](https://cloud.tu-braunschweig.de/s/sJYEfzFG7yDg3QT) (~2.6GB). If the data are only required for unit testing, a reduced dataset may be downloaded [here](https://cloud.tu-braunschweig.de/s/b9xJ7XSHMbdKwxH) (~411MB). Download the data into a directory of your choice and navigate into that directory. To extract the archive, run:
99
+
To get an overview of what *flowTorch* can do for you, have a look at the [online documentation](https://flowmodelingcontrol.github.io/flowtorch-docs/1.2/index.html). The examples presented in the online documentation are also contained in this repository. In fact, the documentation is a static version of several [Jupyter labs](https://jupyter.org/) with start-to-end analyses. If you are interested in an interactive version of one particular example, navigate to `./docs/source/notebooks` and run `jupyter lab`. Note that to execute some of the notebooks, the **corresponding datasets are required**. The datasets can be downloaded [here](https://cloud.tu-braunschweig.de/s/sJYEfzFG7yDg3QT) (~2.6GB). If the data are only required for unit testing, a reduced dataset may be downloaded [here](https://cloud.tu-braunschweig.de/s/b9xJ7XSHMbdKwxH) (~411MB). Download the data into a directory of your choice and navigate into that directory. To extract the archive, run:
97
100
```
98
101
# full dataset
99
102
tar xzf datasets_29_10_2021.tar.gz
@@ -139,6 +142,9 @@ cd ParaView-5.9.1-MPI-Linux-Python3.8-64bit/
In case of version conflicts between Python packages coming with ParaView and local versions of these packages, the following options exist:
146
+
1. go to your ParaView installation and manually delete or rename the affected packages; the packages are located at */path/to/ParaView/lib/python3.8/site-packages*
147
+
2. use *pvpython*, a modified Python interpreter shipped with ParaView and add a virtual environment containing flowTorch but not the conflicting packages (see [Using pvpython and virtualenv](https://www.kitware.com/using-pvpython-and-virtualenv/))
Copy file name to clipboardExpand all lines: references.md
+1
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,4 @@
1
+
- A. Weiner, R. Semaan: Backpropagation and gradient descent for an optimized dynamic mode decomposition, ArXiv, 2023, [https://arxiv.org/abs/2312.12928](https://arxiv.org/abs/2312.12928)
1
2
- N. Rathje, P. Ströer, A. Weiner, T. Knopp and R. Radespiel: Dynamics of a strake vortex interaction with the turbulent boundary layer of a two-element airfoil, AIAA 2023-4438. AIAA AVIATION 2023 Forum. June 2023, [https://doi.org/10.2514/6.2023-4438](https://doi.org/10.2514/6.2023-4438)
2
3
- R. Zahn, A. Weiner and C. Breitsamter: Prediction of wing buffet pressure loads using a convolutional and recurrent neural network framework. CEAS Aeronautical Journal, 2023, [https://doi.org/10.1007/s13272-023-00641-6](https://doi.org/10.1007/s13272-023-00641-6)
3
4
- J. Kleinert, J. Stober and T. Lutz: Numerical simulation of wake interactions on a tandem wing configuration in high-speed stall conditions. CEAS Aeronautical Journal 14, 171–186, 2023, [https://doi.org/10.1007/s13272-022-00634-x](https://doi.org/10.1007/s13272-022-00634-x)
0 commit comments