We build numerical tools for the daily work of flow studies: solving flows, analysing their stability and structure, and running the work on clusters. Each tool does one job, is tested against reference results, and is made to be read, reused and combined, by humans and agents alike.
Stability
- linstabpy documentation
Sparse linear stability and resolvent analysis of 2D compressible flows.
- nekStab
Stability, bifurcation and sensitivity analysis for Nek5000.
Analysis
- openmodalpy pypi
Nine modal decompositions behind one API: POD, mPOD, PSD-POD, SPOD, ST-POD, DMD/HODMD and BSMD, from a config file or a CLI. Pure NumPy and SciPy.
- dynachaos site
Dynamical-systems analysis of time signals: Lyapunov exponents, recurrence, entropy and coupled-map lattices, with Rust-accelerated kernels.
- fftkit
Spectra of physical signals, and one FFT API over eight backends.
spectrum()handles resampling, detrending and windowing, and reports what it did;backend=swaps the engine without touching your code. - dsgbr
Peak detection for noisy power spectra that slope over decades, scored against a rolling-median baseline instead of a fixed threshold.
- chaos-atlas site
An interactive explorer for chaotic systems: strange attractors, bifurcations, fractals and coupled-map-lattice patterns, in the browser.
Optimisation
- organa
Adjoint topology optimisation for conjugate heat transfer, in parallel with MPI.
Runs and frames
- hpckit
Drives Slurm work from a local checkout: one environment per commit, run packets, submission and polling, receipts and artifact sync.
- quadros
Turns simulation snapshots into checked frames and videos, locally, over SSH or in a scheduler job, with a manifest of what it rendered. Nek5000 built in; other formats through PyVista.
Solvers
- dolfinx-rans
RANS k-omega and k-omega SST turbulence solver for incompressible flow in DOLFINx, validated on turbulent channel flow.
How they fit
openmodalpy runs its transforms through fftkit, so a backend installed once serves both. hpckit submits the run and quadros renders what comes back; they stay separate installs, so a machine that only submits jobs never needs VTK.
Under development
More is taking shape in the workshop: new solvers, GPU kernels and tools for studying how flows behave. They will go public as they mature.