Models

Differentiable physical models for anchoring AI predictions. All support single-point or batched inputs and are @jax.jit.

Viscosity

Models.sutherland_mu(T, mu0, T0, S)
Sutherland's law for gases
Dynamic viscosity μ(T). T, T0 [K], mu0 [Pa·s] at T0, S [K] Sutherland constant. Returns [Pa·s].
Models.vft_mu(T, A, B, T0_v)
Vogel-Fulcher-Tammann (VFT)
Liquid viscosity. T [K], A [Pa·s], B [K], T0_v [K] Vogel temperature. Returns [Pa·s].
Models.power_law_mu(gamma_dot, K, n)
Power-law (non-Newtonian)
gamma_dot [1/s], K [Pa·s^n], n < 1 shear-thinning, n > 1 shear-thickening. Blood, slurries.
Models.kinematic_viscosity(mu, rho)
ν = μ / ρ
mu [Pa·s], rho [kg/m³] → [m²/s].

Density and equation of state

Models.ideal_gas_rho(P, R, T)
ρ = P / (R T)
P [Pa], R [J/(kg·K)], T [K] → [kg/m³].
Models.boussinesq_rho(rho0, beta, dT)
Boussinesq approximation
rho0 [kg/m³], beta [1/K], dT [K]. Density variation for natural convection.

Heat transfer

Models.stefan_boltzmann_flux(epsilon, T)
Radiative flux: ε σ T⁴
epsilon (0–1), T [K] → [W/m²].
Models.heat_flux_conduction(k, dT, dx)
Fourier's law
k [W/(m·K)], dT [K], dx [m] → heat flux [W/m²].
Models.thermal_diffusivity(k, rho, cp)
α = k / (ρ cp)
k [W/(m·K)], rho [kg/m³], cp [J/(kg·K)] → [m²/s].
Models.specific_heat_nasa(T, coeffs)
NASA 7-coefficient Cp polynomial
T [K], coeffs array of 7 (first 5 for Cp/R). Returns [J/(kg·K)].

Flow and pressure

Models.speed_of_sound(gamma, R, T)
a = √(γ R T)
Ideal gas. gamma, R [J/(kg·K)], T [K] → [m/s].
Models.dynamic_pressure(rho, u)
q = ½ ρ u²
rho [kg/m³], u [m/s] → [Pa].
Models.hydraulic_diameter(area, perimeter)
D_h = 4 A / P
Non-circular ducts. area [m²], perimeter [m] → [m].
Models.darcy_weisbach_dp(f, L, D, rho, u)
Δp = f (L/D) (ρ u²/2)
f friction factor, L,D [m], rho [kg/m³], u [m/s] → [Pa].
Models.colebrook_friction(re, epsilon_d)
Haaland approximation for f
re Reynolds, epsilon_d relative roughness → Darcy friction factor.
Models.orifice_flow(Cd, A, dp, rho)
Q = C_d A √(2 Δp/ρ)
Cd discharge coeff, A [m²], dp [Pa], rho [kg/m³] → [m³/s].

Drag and wall laws

Models.stokes_drag_force(mu, r, u)
Creeping flow (Re < 1): F = 6π μ r u
mu [Pa·s], r [m], u [m/s] → [N].
Models.law_of_the_wall(y_plus)
u⁺ = 2.5 ln(y⁺) + 5
Log-law region. y_plus dimensionless wall distance → u_plus.

Turbulence (eddy viscosity templates)

Models.smagorinsky_nu_t(Cs, Delta, strain_rate_magnitude)
LES: νₜ = (C_s Δ)² |S|
Cs, Delta [m], |S| [1/s] → νₜ [m²/s]. Cookbook: examples/cookbook_constitutive_smagorinsky.py.
Models.k_epsilon_nu_t(C_mu, k, epsilon, eps0)
RANS k–ε: νₜ = C_μ k² / (ε + ε₀)
Algebraic νₜ only; ε₀ floors ε for AD. Cookbook: examples/cookbook_constitutive_k_epsilon.py.
Models.k_omega_nu_t(k, omega, omega0)
k–ω: νₜ = k / (ω + ω₀)
Algebraic νₜ; ω₀ floors ω. Cookbook: examples/cookbook_constitutive_k_omega.py.

Reaction and surface tension

Models.arrhenius_rate(A, Ea, T, R=8.314)
k = A exp(-Ea/(R T))
A pre-exponential, Ea [J/mol], T [K], R [J/(mol·K)].
Models.surface_tension_eotvos(gamma0, T, Tc)
Eötvös rule
gamma0 [N/m], T [K], Tc [K] critical temp. Valid for T < Tc.