🛠️ToolsShed

Viscosity Converter

Convert dynamic and kinematic viscosity units — Pa·s, cP, Poise, cSt, m²/s and more.

UnitConverted Value
Pascal-second (Pa·s)0.001
Millipascal-second (mPa·s = cP)1
Micropascal-second (μPa·s)1000
Centipoise (cP = mPa·s)1
Poise (P)0.01
kgf·s/m²1.0197e-4
lbf·s/ft² (slug/ft·s)2.0885e-5

Reference values:

SubstanceDynamicKinematic
Air (20°C)0.018 mPa·s15.1 mm²/s
Water (20°C)1.002 mPa·s1.004 mm²/s
Milk~3 mPa·s~3 mm²/s
Blood~3–4 mPa·s~3–4 mm²/s
Olive oil~80 mPa·s~80 mm²/s
Motor oil (SAE 30)~90–120 mPa·s~100 mm²/s
Honey~10,000 mPa·s~10,000 mm²/s

Questions Fréquentes

Implémentation du Code

# Viscosity unit conversions (base: Pa·s for dynamic, m²/s for kinematic)

DYNAMIC_FACTORS = {
    "Pa·s":     1,
    "mPa·s":    1e-3,   # = cP
    "cP":       1e-3,
    "μPa·s":    1e-6,
    "P":        0.1,     # Poise
    "kgf·s/m²": 9.80665,
    "lbf·s/ft²": 47.880259,
}

KINEMATIC_FACTORS = {
    "m²/s":  1,
    "cm²/s": 1e-4,   # = St (Stokes)
    "mm²/s": 1e-6,   # = cSt
    "cSt":   1e-6,
    "ft²/s": 9.2903e-2,
}

def convert_dynamic(value, from_unit, to_unit):
    base = value * DYNAMIC_FACTORS[from_unit]
    return base / DYNAMIC_FACTORS[to_unit]

def convert_kinematic(value, from_unit, to_unit):
    base = value * KINEMATIC_FACTORS[from_unit]
    return base / KINEMATIC_FACTORS[to_unit]

def kinematic_to_dynamic(kinematic_cSt, density_g_cm3):
    """cSt × density (g/cm³) = cP"""
    return kinematic_cSt * density_g_cm3

# Examples
print(f"1 cP = {convert_dynamic(1, 'cP', 'Pa·s'):.4f} Pa·s")
print(f"1000 cP = {convert_dynamic(1000, 'cP', 'Pa·s'):.2f} Pa·s")
print(f"Water: 1 cSt = {convert_kinematic(1, 'cSt', 'm²/s'):.2e} m²/s")

# Water at 20°C: density ≈ 0.998 g/cm³, kinematic ≈ 1.004 cSt
print(f"Water dynamic: {kinematic_to_dynamic(1.004, 0.998):.3f} cP")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.