Cómo calcular la viscosidad de Kestin en Python usando UliEngineering
Puedes calcular fácilmente la correlación de viscosidad de Kestin usando la librería Python UliEngineering. La correlación de Kestin es un modelo de tres parámetros que proporciona predicciones precisas de viscosidad para líquidos:
from UliEngineering.Physics.Viscosity import kestin_viscosity, CommonLiquids
from UliEngineering.EngineerIO import *
# Calcular viscosidad de Kestin del agua a 20°C
T = 20 + 273.15 # Convertir a Kelvin
eta = kestin_viscosity(T, CommonLiquids.Water.kestin)
print(f"Viscosidad del agua a 20°C: {format_value(eta, 'Pa·s')}")
# Calcular viscosidad de Kestin del agua a 50°C
T = 50 + 273.15
eta = kestin_viscosity(T, CommonLiquids.Water.kestin)
print(f"Viscosidad del agua a 50°C: {format_value(eta, 'Pa·s')}")
# Usar 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"Viscosidad del líquido personalizado a 300K: {format_value(eta, 'Pa·s')}")Ejemplo de salida
Viscosidad del agua a 20°C: 1.01 mPa·s
Viscosidad del agua a 50°C: 549 µPa·s
Viscosidad del líquido personalizado a 300K: 1.00 mPa·sLa correlación de Kestin viene dada por:
$$ \eta = A \cdot \exp\left(\frac{B}{T - C}\right) $$donde $\eta$ es la viscosidad dinámica, $T$ es la temperatura absoluta en Kelvin, y $A$, $B$, y $C$ son constantes específicas del material. El parámetro $C$ representa un desplazamiento de temperatura por debajo del cual el modelo no es válido.
La correlación de Kestin es similar en forma a la ecuación VFT pero a menudo se usa para diferentes aplicaciones y puede proporcionar mejor precisión para ciertos fluidos. Fue desarrollada a través de extensiva investigación sobre propiedades de fluidos y es particularmente útil para agua y soluciones acuosas.
La gráfica anterior muestra la correlación de Kestin para el agua en un rango de temperatura de 0°C a 100°C. El modelo captura la disminución exponencial de la viscosidad con la temperatura característica de los líquidos.
La librería UliEngineering proporciona constantes de Kestin predefinidas para el agua a través de CommonLiquids.Water.kestin. Se pueden definir constantes personalizadas usando la clase de datos KestinConstants para otros fluidos.
Entradas relacionadas
- Cómo calcular la viscosidad Andrade en Python usando UliEngineering
- Cómo calcular la viscosidad VFT en Python usando UliEngineering
- Cómo calcular la viscosidad de Swindells en Python usando UliEngineering
Script de generación de la gráfica
#!/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,
)
# Temperature range in Celsius for plotting
T_C = np.linspace(0, 100, 200) # 0 to 100°C
T_K = T_C + 273.15 # Convert to Kelvin
# Create plot
plt.figure(figsize=(10, 6))
# Plot for water using Kestin correlation
eta = kestin_viscosity(T_K, CommonLiquids.Water.kestin) * 1000 # Convert to 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")