Skip to content
Σ.𝕊.
Go back

Thermal Network

A Python library for thermal network model identification using reparametrized unconstrained optimization with JAX.

PythonJAXThermal ModelingOptimization

Overview

Thermal Network is a Python library for thermal network model identification, fitting, and conversion between Cauer (ladder) and Foster (parallel) RC networks. It combines symbolic mathematics for network conversion with high-performance JAX-based optimization for model fitting.

Key Features

Network Conversion

Symbolic conversion between Cauer and Foster RC network topologies using high-precision algebraic methods.

Reparametrized Unconstrained Optimization

The fitting engine encodes constraints directly into the parameter space, eliminating the need for penalty functions or explicit constraint handling:

  • Time constant ordering: Log-space gaps between consecutive tau values enforce monotonicity
  • Resistance distribution: Softmax encoding ensures the sum constraint is satisfied exactly
  • Steady-state detection: Total resistance derived from data endpoints, exact by construction. A function is provided to automatically detect and trim steady-state regions from impedance data to avoid overweighting and improve fit quality.

The loss function operates in log-space, providing better numerical conditioning for thermal data spanning multiple decades and guaranteeing positivity.

Automatic Model Selection

Model comparison using AIC/BIC information criteria to select optimal complexity without manual tuning.