Ви можете легко обчислити кореляцію в’язкості Кестіна за допомогою бібліотеки Python UliEngineering. Кореляція Кестіна — це трипараметрична модель, яка забезпечує точне прогнозування в’язкості рідин:
from UliEngineering.Physics.Viscosity import kestin_viscosity, CommonLiquids
from UliEngineering.EngineerIO import *
# Обчислити в'язкість Кестіна води при 20°C
T = 20 + 273.15 # Convert to Kelvin
eta = kestin_viscosity(T, CommonLiquids.Water.kestin)
print(f"В'язкість води при 20°C: {format_value(eta, 'Па·с')}")
# Обчислити в'язкість Кестіна води при 50°C
T = 50 + 273.15
eta = kestin_viscosity(T, CommonLiquids.Water.kestin)
print(f"В'язкість води при 50°C: {format_value(eta, 'Па·с')}")
# Використання власних констант Кестіна
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"В'язкість власної рідини при 300K: {format_value(eta, 'Па·с')}")Приклад виводу
В'язкість води при 20°C: 1,01 мПа·с
В'язкість води при 50°C: 549 мкПа·с
В'язкість власної рідини при 300K: 1,00 мПа·сКореляція Кестіна має вигляд:
$$ \eta = A \cdot \exp\left(\frac{B}{T - C}\right) $$де $\eta$ — динамічна в’язкість, $T$ — абсолютна температура у Кельвінах, а $A$, $B$ та $C$ — константи, специфічні для матеріалу. Параметр $C$ представляє температурне зміщення, нижче якого модель не є коректною.
Кореляція Кестіна за формою схожа на рівняння VFT, але часто використовується для інших застосувань і може забезпечити кращу точність для певних рідин. Вона була розроблена в ході масштабних досліджень властивостей рідин і є особливо корисною для води та водних розчинів.
Графік вище показує кореляцію Кестіна для води у діапазоні температур від 0°C до 100°C. Модель відтворює експоненційне зменшення в’язкості з температурою, характерне для рідин.
Бібліотека UliEngineering надає наперед визначені константи Кестіна для води через CommonLiquids.Water.kestin. Власні константи можна визначати за допомогою класу даних KestinConstants для інших рідин.
Пов’язані публікації
- How to compute Andrade viscosity in Python using UliEngineering
- How to compute VFT viscosity in Python using UliEngineering
- How to compute Swindells viscosity in Python using UliEngineering
Скрипт генерації графіка
#!/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,
)
# Діапазон температур у Цельсіях для побудови графіка
T_C = np.linspace(0, 100, 200) # 0 to 100°C
T_K = T_C + 273.15 # Convert to Kelvin
# Створити графік
plt.figure(figsize=(10, 6))
# Побудувати графік для води за кореляцією Кестіна
eta = kestin_viscosity(T_K, CommonLiquids.Water.kestin) * 1000 # Convert to mPa·s
plt.plot(T_C, eta, label='Вода', color='blue', linewidth=2)
plt.xlabel('Температура (°C)', fontsize=12)
plt.ylabel('Динамічна в'язкість (мПа·с)', fontsize=12)
plt.title('Кореляція в'язкості Кестіна для води', 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")