UliEngineering Python kütüphanesini kullanarak Swindells viskozite korelasyonunu kolayca hesaplayabilirsiniz. Swindells korelasyonu, su viskozitesi için yaygın olarak kullanılan deneysel bir modeldir:
from UliEngineering.Physics.Viscosity import swindells_viscosity, CommonLiquids
from UliEngineering.EngineerIO import *
# 20°C'de suyun Swindells viskozitesini hesapla
T = 20 + 273.15 # Kelvin'e dönüştür
eta = swindells_viscosity(T, CommonLiquids.Water.swindells)
print(f"Water viscosity at 20°C: {format_value(eta, 'Pa·s')}")
# 50°C'de suyun Swindells viskozitesini hesapla
T = 50 + 273.15
eta = swindells_viscosity(T, CommonLiquids.Water.swindells)
print(f"Water viscosity at 50°C: {format_value(eta, 'Pa·s')}")
# Özel Swindells sabitleri kullanma
from UliEngineering.Physics.Viscosity import SwindellsConstants
custom = SwindellsConstants(name="Custom liquid", eta_ref=1.0e-3, T_ref=293.15, a=1.5, b=-150.0)
eta = swindells_viscosity(300.0, custom)
print(f"Custom liquid viscosity at 300K: {format_value(eta, 'Pa·s')}")Örnek çıktı
Water viscosity at 20°C: 1.00 mPa·s
Water viscosity at 50°C: 546 µPa·s
Custom liquid viscosity at 300K: 1.00 mPa·sSwindells korelasyonu şu şekilde verilir:
$$ \eta = \eta_{ref} \cdot 10^{\left(-\frac{a \cdot (T - T_{ref})}{T + b}\right)} $$burada $\eta$ dinamik viskozite, $T$ Kelvin cinsinden mutlak sıcaklık, $\eta_{ref}$ $T_{ref}$ referans sıcaklığındaki referans viskozite ve $a$ ile $b$ akışkana özgü deneysel parametrelerdir.
Swindells korelasyonu özellikle su için geliştirilmiştir ve geniş bir sıcaklık aralığında mükemmel doğruluk sağlar. Su viskozitesinin çeşitli sıcaklıklarda hesaplanması gereken mühendislik uygulamalarında özellikle kullanışlıdır.
Yukarıdaki grafik, 0°C’den 100°C’ye sıcaklık aralığında su için Swindells korelasyonunu gösterir. Sıcaklık arttıkça viskozitedeki karakteristik üstel azalmaya dikkat edin.
UliEngineering kütüphanesi, CommonLiquids.Water.swindells aracılığıyla su için önceden tanımlanmış Swindells sabitleri sağlar. Diğer akışkanlar için SwindellsConstants veri sınıfı kullanılarak özel sabitler tanımlanabilir.
İlgili yazılar
- UliEngineering kullanarak Python’da Andrade viskozitesini hesaplama
- UliEngineering kullanarak Python’da VFT viskozitesini hesaplama
- UliEngineering kullanarak Python’da Kestin viskozitesini hesaplama
Grafik üretim betiği
#!/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 (
swindells_viscosity,
CommonLiquids,
)
# Grafik için Celsius sıcaklık aralığı
T_C = np.linspace(0, 100, 200) # 0'dan 100°C'ye
T_K = T_C + 273.15 # Kelvin'e dönüştür
# Grafiği oluştur
plt.figure(figsize=(10, 6))
# Swindells korelasyonuyla su için grafiği çiz
eta = swindells_viscosity(T_K, CommonLiquids.Water.swindells) * 1000 # mPa·s'ye dönüştür
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('Swindells 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('swindells_viscosity_plot.svg', format='svg', dpi=300)
print("Plot saved to swindells_viscosity_plot.svg")