Como calcular a viscosidade de Kestin em Python usando UliEngineering
Você pode calcular facilmente a correlação de viscosidade de Kestin usando a biblioteca Python UliEngineering. A correlação de Kestin é um modelo de três parâmetros que fornece previsões precisas de viscosidade para líquidos:
from UliEngineering.Physics.Viscosity import kestin_viscosity, CommonLiquids
from UliEngineering.EngineerIO import *
# Calcular viscosidade de Kestin da água a 20°C
T = 20 + 273.15 # Converter para Kelvin
eta = kestin_viscosity(T, CommonLiquids.Water.kestin)
print(f"Water viscosity at 20°C: {format_value(eta, 'Pa·s')}")
# Calcular viscosidade de Kestin da água a 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')}")
# Usando constantes de Kestin personalizadas
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')}")Exemplo de saída
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·sA correlação de Kestin é dada por:
$$ \eta = A \cdot \exp\left(\frac{B}{T - C}\right) $$onde $\eta$ é a viscosidade dinâmica, $T$ é a temperatura absoluta em Kelvin, e $A$, $B$, e $C$ são constantes específicas do material. O parâmetro $C$ representa um deslocamento de temperatura abaixo do qual o modelo não é válido.
A correlação de Kestin é similar em forma à equação VFT, mas é frequentemente usada para diferentes aplicações e pode fornecer melhor precisão para certos fluidos. Foi desenvolvida através de extensa pesquisa sobre propriedades de fluidos e é particularmente útil para água e soluções aquosas.
O gráfico acima mostra a correlação de Kestin para água ao longo de uma faixa de temperatura de 0°C a 100°C. O modelo captura a diminuição exponencial da viscosidade com a temperatura característica de líquidos.
A biblioteca UliEngineering fornece constantes de Kestin pré-definidas para água através de CommonLiquids.Water.kestin. Constantes personalizadas podem ser definidas usando o dataclass KestinConstants para outros fluidos.
Posts relacionados
- Como calcular a viscosidade de Andrade em Python usando UliEngineering
- Como calcular a viscosidade VFT em Python usando UliEngineering
- Como calcular a viscosidade de Swindells em Python usando UliEngineering
Script de geração do gráfico
#!/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,
)
# Faixa de temperatura em Celsius para plotagem
T_C = np.linspace(0, 100, 200) # 0 a 100°C
T_K = T_C + 273.15 # Converter para Kelvin
# Criar gráfico
plt.figure(figsize=(10, 6))
# Plotar para água usando correlação de Kestin
eta = kestin_viscosity(T_K, CommonLiquids.Water.kestin) * 1000 # Converter para mPa·s
plt.plot(T_C, eta, label='Water', color='blue', linewidth=2)
plt.xlabel('Temperature (°C)', fontsize=12)
plt.ylabel('Dynamic Viscosity (mPa·s)', fontsize=12)
plt.title('Kestin Viscosity Correlation for Water', 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")