Andre Weiner, Institute of Fluid Mechanics
01
definition, convergence, averaging
turbulent flow past a 3D cylinder
02
03
definitions, tips & tricks, interpretation
04
foamToNumpy, Sparse Spatial Sampling
O. Lehmkuhl et al. (2013)
Low-frequency unsteadiness in the vortex formation region of a circular cylinder
OpenFOAM case setup
dataset overview (sample plane)
input signal, sample j
sin/cos test signals, sample j, frequency k
window/taper weight
for all samples
complex weight for
*even no. of samples
longer signals improve frequency resolution
faster sampling improves aliasing
usually an issue in CFD
see P. D. Welch (1967)
aptaptive taper selection for each bin
A. J. Barbour & R. L. Parker (2014), 10.1016/j.cageo.2013.09.015
state vector
masked cells
cell volume/area (repeated)
data matrix
POD basis
B. C. Y Yeung & O. T. Schmidt (2024), 10.1007/s00162-024-00695-0
The analysis is exact!
vectors
increasing taper penalty
eigenvalue problem
spectral energy
SPOD modes
dataDir data;
fields
{
names (p U);
dataType float64;
}
exportData
{
cellCentre true;
cellVolumes true;
writeTimes true;
dataType float64;
}
storageOrder F; // F or C
time
{
startTime 0.0;
endTime 0.5;
every 1;
}data/
├── p/
│ ├── p_proc_0.npy
│ └── p_proc_1.npy
└── U/
├── U_proc_0.npy
└── U_proc_1.npyfoamToNumpyDict
processor0/
├── 0.1/
│ ├── p
│ └── U
└── 0.2/
├── p
└── U
processor1/
├── 0.1/
│ ├── p
│ └── U
└── 0.2/
├── p
└── U
...output
input
dataDir data;
fields (p U);
time
{
startTime 0;
endTime 1;
deltaT 0.1;
}data/
├── p/
│ ├── p_proc_0.npy
│ └── p_proc_1.npy
└── U/
├── U_proc_0.npy
└── U_proc_1.npynumpyToFoamDict
processor0/
├── 0.1/
│ ├── p
│ └── U
└── 0.2/
├── p
└── U
processor1/
├── 0.1/
│ ├── p
│ └── U
└── 0.2/
├── p
└── U
...input
output
original mesh/data
(un)refinement metric
new octree mesh
S. Spinner, A. Weiner (2026)
training GitHub repository
flowTorch library
link to the slides