Як обчислити в'язкість Кестіна у Python за допомогою UliEngineering

Ви можете легко обчислити кореляцію в’язкості Кестіна за допомогою бібліотеки Python UliEngineering. Кореляція Кестіна — це трипараметрична модель, яка забезпечує точне прогнозування в’язкості рідин:

kestin_viscosity.py
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, 'Па·с')}")

Приклад виводу

kestin_viscosity_output.txt
В'язкість води при 20°C: 1,01 мПа·с
В'язкість води при 50°C: 549 мкПа·с
В'язкість власної рідини при 300K: 1,00 мПа·с

kestin viscosity plot.svg

Кореляція Кестіна має вигляд:

$$ \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 для інших рідин.

Пов’язані публікації


Скрипт генерації графіка

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,
)

# Діапазон температур у Цельсіях для побудови графіка
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")

Дивіться схожі статті за категоріями: Physics Python