Python: Kestin-Viskosität mit UliEngineering berechnen
Du kannst leicht die Kestin-Viskositätskorrelation mit der UliEngineering-Python-Bibliothek berechnen. Die Kestin-Korrelation ist ein dreiparametriges Modell, das genaue Viskositätsvorhersagen für Flüssigkeiten liefert:
from UliEngineering.Physics.Viscosity import kestin_viscosity, CommonLiquids
from UliEngineering.EngineerIO import *
# Kestin-Viskosität von Wasser bei 20°C berechnen
T = 20 + 273.15 # In Kelvin umrechnen
eta = kestin_viscosity(T, CommonLiquids.Water.kestin)
print(f"Wasserviskosität bei 20°C: {format_value(eta, 'Pa·s')}")
# Kestin-Viskosität von Wasser bei 50°C berechnen
T = 50 + 273.15
eta = kestin_viscosity(T, CommonLiquids.Water.kestin)
print(f"Wasserviskosität bei 50°C: {format_value(eta, 'Pa·s')}")
# Mit benutzerdefinierten Kestin-Konstanten
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"Viskosität der benutzerdefinierten Flüssigkeit bei 300K: {format_value(eta, 'Pa·s')}")Beispielausgabe
Wasserviskosität bei 20°C: 1.01 mPa·s
Wasserviskosität bei 50°C: 549 µPa·s
Viskosität der benutzerdefinierten Flüssigkeit bei 300K: 1.00 mPa·sDie Kestin-Korrelation lautet:
$$ \eta = A \cdot \exp\left(\frac{B}{T - C}\right) $$wobei $\eta$ die dynamische Viskosität, $T$ die absolute Temperatur in Kelvin und $A$, $B$ und $C$ materialspezifische Konstanten sind. Der Parameter $C$ repräsentiert einen Temperaturversatz, unterhalb dessen das Modell nicht gültig ist.
Die Kestin-Korrelation ist ähnlich in der Form wie die VFT-Gleichung, wird aber oft für andere Anwendungen verwendet und kann für bestimmte Fluide eine bessere Genauigkeit bieten. Sie wurde durch umfangreiche Forschung an Fluideigenschaften entwickelt und ist besonders nützlich für Wasser und wässrige Lösungen.
Das obige Diagramm zeigt die Kestin-Korrelation für Wasser über einen Temperaturbereich von 0°C bis 100°C. Das Modell erfasst den exponentiellen Abfall der Viskosität mit der Temperatur, der für Flüssigkeiten charakteristisch ist.
Die UliEngineering-Bibliothek stellt vordefinierte Kestin-Konstanten für Wasser über CommonLiquids.Water.kestin bereit. Benutzerdefinierte Konstanten können mit der KestinConstants-Datenklasse für andere Fluide definiert werden.
Verwandte Beiträge
- 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
Diagramm-Estellungsskript
#!/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,
)
# Temperaturbereich in Celsius für das Diagramm
T_C = np.linspace(0, 100, 200) # 0 bis 100°C
T_K = T_C + 273.15 # In Kelvin umrechnen
# Diagramm erstellen
plt.figure(figsize=(10, 6))
# Für Wasser mit Kestin-Korrelation darstellen
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('Temperatur (°C)', fontsize=12)
plt.ylabel('Dynamische Viskosität (mPa·s)', fontsize=12)
plt.title('Kestin-Viskositätskorrelation für Wasser', 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")