Repository navigation
flowTorch 1.9.0
flowTorch 1.9.0
This release introduces a redesigned, differentiable reduced-order modeling package and adds OpenFOAM cell-zone support to the NumPy data loader.
Highlights
- Add OpenFOAM cell-zone discovery, metadata, coordinates, and zone-restricted field loading to
FOAMCaseandFOAMDataloader. - Redesign
flowtorch.romaround composable encoders, decoders, embeddings, and latent-space regression models. - Add continuous-time DMD and DMDc with real-valued operators for real-valued data, analytical initialization, normalized time, and vectorized prediction.
- Add POD with interpolation (PODI) for steady parametric problems with one or more parameters.
- Add time-delay and monomial state embeddings, including forcing embeddings for DMDc, while returning predictions in the original state space.
- Add two-stage fine-tuning with AdamW followed by LBFGS, plateau-based learning-rate scheduling, configurable training/validation loss weighting, frequency-spacing regularization, learnable noise, and trajectory chunking.
- Extend SVD with reusable encoding and decoding operations and preserve distributed execution for the new ROM workflows.
Training defaults
- Use all available data for training unless a validation split or separate validation data is provided.
- Stop on an equal mixture of training and validation loss when validation data is available; otherwise use training loss.
- Run 100 AdamW epochs with patience 40, followed by 50 LBFGS epochs with patience 10.
- Use strong-Wolfe line search for LBFGS with PyTorch's standard iteration and history settings.
- Initialize DMD and DMDc with the stationary solution by default and use a default learnable-noise scaling factor of 0.01.
- Disable the backward trajectory loss by default.
Breaking changes
- The previous ROM base classes and
SVDEncoderAPI have been replaced by the new composable ROM interfaces. flowtorch.rom.CNMhas been removed.- The scikit-learn dependency has been removed.
Validation
- Code formatting, linting, and static type checking pass.
- The full test suite passes on Python 3.10, 3.12, and 3.14 across Linux, macOS, and Windows.
- Distributed Gloo tests pass on Python 3.12.
- Documentation builds with warnings treated as errors.
- Source and wheel distributions build successfully and pass Twine validation.