Jak vypočítat Kestinvu viskozitu v Pythonu pomocí UliEngineering

Můžete snadno vypočítat Kestinvu korelaci viskozity pomocí knihovny UliEngineering v Pythonu. Kestiova korelace je tříparametrový model, který poskytuje přesné predikce viskozity pro kapaliny:

K
Pa·s
K
K
kestin_viscosity.py
from UliEngineering.Physics.Viscosity import kestin_viscosity, CommonLiquids
from UliEngineering.EngineerIO import *

# Výpočet Kestiovy viskozity vody při 20°C
T = 20 + 273.15  # Převod na Kelviny
eta = kestin_viscosity(T, CommonLiquids.Water.kestin)
print(f"Water viscosity at 20°C: {format_value(eta, 'Pa·s')}")

# Výpočet Kestiovy viskozity vody při 50°C
T = 50 + 273.15
eta = kestin_viscosity(T, CommonLiquids.Water.kestin)
print(f"Water viscosity at 50°C: {format_value(eta, 'Pa·s')}")

# Použití vlastních Kestinových konstant
from UliEngineering.Physics.Viscosity import KestinConstants
custom = KestinConstants(name="Custom liquid", A=1.0e-5, B=300.0, C=150.0)
eta = kestin_viscosity(300.0, custom)
print(f"Custom liquid viscosity at 300K: {format_value(eta, 'Pa·s')}")

Příklad výstupu

kestin_viscosity_output.txt
Water viscosity at 20°C: 1.01 mPa·s
Water viscosity at 50°C: 549 µPa·s
Custom liquid viscosity at 300K: 1.00 mPa·s

kestin viscosity plot.svg

Kestiova korelace je dána:

$$ \eta = A \cdot \exp\left(\frac{B}{T - C}\right) $$

kde $\eta$ je dynamická viskozita, $T$ je absolutní teplota v Kelvinech a $A$, $B$ a $C$ jsou konstanty specifické pro materiál. Parametr $C$ představuje teplotní posun, pod kterým model není platný.

Kestiova korelace je podobná tvaru VFT rovnici, ale často se používá pro různé aplikace a může poskytovat lepší přesnost pro určité tekutiny. Byla vyvinuta prostřednictvím rozsáhlého výzkumu vlastností tekutin a je obzvláště užitečná pro vodu a vodné roztoky.

Graf výše ukazuje Kestiovu korelaci pro vodu v teplotním rozsahu od 0°C do 100°C. Model zachycuje exponenciální pokles viskozity s teplotou charakteristický pro kapaliny.

Knihovna UliEngineering poskytuje předdefinované Kestinovy konstanty pro vodu prostřednictvím CommonLiquids.Water.kestin. Vlastní konstanty lze definovat pomocí datové třídy KestinConstants pro další tekutiny.

Související příspěvky


Skript pro generování grafu

plot_kestin_viscosity.py
#!/usr/bin/env python3
import matplotlib.pyplot as plt
import numpy as np
import sys
sys.path.insert(0, '/home/uli/dev/UliEngineering')

from UliEngineering.Physics.Viscosity import (
    kestin_viscosity,
    CommonLiquids,
)

# Teplotní rozsah v Celsiu pro graf
T_C = np.linspace(0, 100, 200)  # 0 až 100°C
T_K = T_C + 273.15  # Převod na Kelviny

# Vytvoření grafu
plt.figure(figsize=(10, 6))

# Graf pro vodu pomocí Kestiovy korelace
eta = kestin_viscosity(T_K, CommonLiquids.Water.kestin) * 1000  # Převod na mPa·s
plt.plot(T_C, eta, label='Voda', color='blue', linewidth=2)

plt.xlabel('Teplota (°C)', fontsize=12)
plt.ylabel('Dynamická viskozita (mPa·s)', fontsize=12)
plt.title('Kestiova korelace viskozity pro vodu', fontsize=14, fontweight='bold')
plt.legend(loc='upper right', fontsize=10)
plt.grid(True, alpha=0.3)

plt.tight_layout()
plt.savefig('kestin_viscosity_plot.svg', format='svg', dpi=300)
print("Plot saved to kestin_viscosity_plot.svg")

Podívejte se na podobné články podle kategorie: Calculators, Physics, Python