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].
Models.kinematic_viscosity_from_re(U, L, re)
ν = U L / Re
Same coefficient as Laws.burgers_equation. Used by the Burgers law-linked implied audit (constitutive/kinematic_viscosity_from_re/law_burgers_equation/implied_delta). U [m/s], L [m], re dimensionless → [m²/s].
Models.dynamic_viscosity_from_re(rho, u, L, re)
μ = ρ |u| L / Re
Local-speed form. Used by Navier–Stokes / Stokes law-linked implied μ audits (not Burgers). Returns [Pa·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].