Quick fluid property calculations using empirical formulas without database queries
Quick fluid property calculations using empirical correlations and analytical formulas. Provides instant property estimates without requiring external databases or data files.
This helper provides fast, practical calculations for common fluids using well-established empirical correlations. All formulas include validity ranges and are verified against reference data.
Calculate temperature-dependent properties of liquid water:
Validity Range: 0-100°C at atmospheric pressure Typical Accuracy: ±1-2% for most properties
Calculate temperature-dependent properties of air at atmospheric pressure:
Validity Range: -50 to 200°C at 101.325 kPa Typical Accuracy: ±1-3% for most properties
Temperature-dependent viscosity for gases:
μ = μ₀ × (T/T₀)^(3/2) × (T₀ + S)/(T + S)
Available for:
Temperature-dependent viscosity for liquids:
μ = A × exp(B/T)
Provides empirical correlation for various liquids with custom parameters.
Calculate saturation vapor pressure:
log₁₀(P) = A - B/(C + T)
Available for:
Units: Temperature in °C, Pressure in mmHg or Pa (depending on constants)
Calculate flow regime indicator:
Re = ρ × V × L / μ = V × L / ν
Where:
Interpretation:
Laminar Flow (Re < 2300):
f = 64 / Re
Turbulent Flow - Smooth Pipes (Blasius): Valid for Re < 100,000:
f = 0.316 / Re^0.25
Turbulent Flow - Rough Pipes (Colebrook-White): Iterative solution for:
1/√f = -2 log₁₀(ε/3.7D + 2.51/(Re√f))
Where:
Swamee-Jain Approximation (non-iterative):
f = 0.25 / [log₁₀(ε/3.7D + 5.74/Re^0.9)]²
Calculate properties using ideal gas law and kinetic theory:
from calc import water_properties
props = water_properties(20)
print(f"Density: {props['density']:.2f} kg/m³")
print(f"Viscosity: {props['dynamic_viscosity']:.6f} Pa·s")
print(f"Thermal conductivity: {props['thermal_conductivity']:.4f} W/m·K")
from calc import reynolds_number, water_properties
T = 25 # °C
V = 1.5 # m/s
D = 0.05 # m
props = water_properties(T)
Re = reynolds_number(V, D, props['kinematic_viscosity'])
print(f"Reynolds number: {Re:.0f}")
from calc import friction_factor
Re = 50000
roughness = 0.045e-3 # 0.045 mm for commercial steel
diameter = 0.1 # m
f = friction_factor(Re, roughness, diameter)
print(f"Friction factor: {f:.5f}")
from calc import antoine_vapor_pressure
T = 80 # °C
P_vap = antoine_vapor_pressure('water', T)
print(f"Vapor pressure at {T}°C: {P_vap/1000:.2f} kPa")
from calc import sutherland_viscosity
T = 100 # °C
mu = sutherland_viscosity('air', T + 273.15) # Convert to Kelvin
print(f"Air viscosity at {T}°C: {mu:.6f} Pa·s")
| T (°C) | ρ (kg/m³) | μ (mPa·s) | ν (mm²/s) | k (W/m·K) | Pr |
|---|---|---|---|---|---|
| 0 | 999.8 | 1.787 | 1.787 | 0.561 | 13.5 |
| 20 | 998.2 | 1.002 | 1.004 | 0.598 | 7.0 |
| 40 | 992.2 | 0.653 | 0.658 | 0.631 | 4.3 |
| 60 | 983.2 | 0.467 | 0.475 | 0.654 | 3.0 |
| 80 | 971.8 | 0.355 | 0.365 | 0.670 | 2.2 |
| 100 | 958.4 | 0.282 | 0.294 | 0.680 | 1.8 |
| T (°C) | ρ (kg/m³) | μ (μPa·s) | ν (mm²/s) | k (W/m·K) | Pr |
|---|---|---|---|---|---|
| 0 | 1.293 | 17.16 | 13.27 | 0.0243 | 0.71 |
| 20 | 1.205 | 18.24 | 15.14 | 0.0257 | 0.71 |
| 50 | 1.093 | 19.57 | 17.90 | 0.0279 | 0.71 |
| 100 | 0.946 | 21.67 | 22.90 | 0.0314 | 0.71 |
Good for:
Not suitable for:
See reference.md for: