Skip to content

POD-RBF

Tests codecov Python 3.10+

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

Lid-driven cavity results

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

pip install pod-rbf

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

References

This implementation is based on the following papers:

  1. Solving inverse heat conduction problems using trained POD-RBF network inverse method - Ostrowski, Bialecki, Kassab (2008)
  2. RBF-trained POD-accelerated CFD analysis of wind loads on PV systems - Huayamave et al. (2017)
  3. Real-Time Thermomechanical Modeling of PV Cell Fabrication via a POD-Trained RBF Interpolation Network - Das et al. (2020)