POD-RBF
A Python package for building Reduced Order Models (ROMs) from high-dimensional data using Proper Orthogonal Decomposition combined with Radial Basis Function interpolation.

Features
- JAX-based - Enables autodifferentiation for gradient optimization, sensitivity analysis, and inverse problems
- Shape parameter optimization - Automatic tuning of RBF shape parameters
- Memory-aware algorithms - Switches between eigenvalue decomposition and SVD based on memory requirements
Quick Install
Quick Example
import pod_rbf
import jax.numpy as jnp
import numpy as np
# Define training parameters
Re = np.array([1, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000])
# Build snapshot matrix from CSV files
train_snapshot = pod_rbf.build_snapshot_matrix("data/train/")
# Train the model
result = pod_rbf.train(train_snapshot, Re)
# Inference on unseen parameter
sol = pod_rbf.inference_single(result.state, jnp.array(450.0))
Next Steps
- Getting Started - Installation and first steps
- User Guide - Detailed usage instructions
- API Reference - Complete API documentation
- Examples - Jupyter notebook examples
References
This implementation is based on the following papers:
- Solving inverse heat conduction problems using trained POD-RBF network inverse method - Ostrowski, Bialecki, Kassab (2008)
- RBF-trained POD-accelerated CFD analysis of wind loads on PV systems - Huayamave et al. (2017)
- Real-Time Thermomechanical Modeling of PV Cell Fabrication via a POD-Trained RBF Interpolation Network - Das et al. (2020)