UliEngineering kullanarak Python'da Andrade viskozitesini hesaplama

UliEngineering Python kütüphanesini kullanarak sıvıların Andrade viskozitesini kolayca hesaplayabilirsiniz. Andrade denklemi, viskozitenin sıcaklık bağımlılığını tanımlayan Arrhenius tipi bir modeldir:

K ⚠
Pa·s ⚠
K ⚠
andrade_viscosity.py
from UliEngineering.Physics.Viscosity import andrade_viscosity, CommonLiquids
from UliEngineering.EngineerIO import *

# 20°C'de suyun Andrade viskozitesini hesapla
T = 20 + 273.15  # Kelvin'e dönüştür
eta = andrade_viscosity(T, CommonLiquids.Water.andrade)
print(f"Water viscosity at 20°C: {format_value(eta, 'Pa·s')}")

# 50°C'de etanolün Andrade viskozitesini hesapla
T = 50 + 273.15
eta = andrade_viscosity(T, CommonLiquids.Ethanol.andrade)
print(f"Ethanol viscosity at 50°C: {format_value(eta, 'Pa·s')}")

# Özel Andrade sabitleri kullanma
from UliEngineering.Physics.Viscosity import AndradeConstants
custom = AndradeConstants(name="Custom liquid", A=1.0e-6, B=2000.0)
eta = andrade_viscosity(300.0, custom)
print(f"Custom liquid viscosity at 300K: {format_value(eta, 'Pa·s')}")

Örnek çıktı

andrade_viscosity_output.txt
Water viscosity at 20°C: 1.00 mPa·s
Ethanol viscosity at 50°C: 1.05 µPa·s
Custom liquid viscosity at 300K: 2.35 mPa·s

andrade viscosity plot.svg

Andrade denklemi şu şekilde verilir:

$$ \eta = A \cdot \exp\left(\frac{B}{T}\right) $$

burada $\eta$ dinamik viskozite, $T$ Kelvin cinsinden mutlak sıcaklık ve $A$ ile $B$ malzemeye özgü sabitlerdir. $B$ parametresi viskoz akışın aktivasyon enerjisi ile ilişkilidir.

Yukarıdaki grafik, 0°C’den 100°C’ye sıcaklık aralığında birkaç yaygın sıvı için Andrade viskozite modelini gösterir. Çoğu sıvıya özgü olan, viskozitenin sıcaklıkla üstel olarak azaldığına dikkat edin.

UliEngineering kütüphanesi, CommonLiquids sınıfı aracılığıyla Su, Etanol, Metanol, Gliserol, Zeytinyağı, Cıva, Aseton ve Benzen gibi yaygın sıvılar için önceden tanımlanmış Andrade sabitleri sağlar.

İlgili yazılar


Grafik üretim betiği

plot_andrade_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 (
    andrade_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))

# Farklı yaygın sıvılar için grafiği çiz
liquids_to_plot = [
    ('Water', CommonLiquids.Water.andrade, 'blue'),
    ('Ethanol', CommonLiquids.Ethanol.andrade, 'green'),
    ('Methanol', CommonLiquids.Methanol.andrade, 'red'),
    ('Glycerol', CommonLiquids.Glycerol.andrade, 'purple'),
    ('Mercury', CommonLiquids.Mercury.andrade, 'orange'),
]

for name, constants, color in liquids_to_plot:
    eta = andrade_viscosity(T_K, constants) * 1000  # mPa·s'ye dönüştür
    plt.plot(T_C, eta, label=name, color=color, linewidth=2)

plt.xlabel('Temperature (°C)', fontsize=12)
plt.ylabel('Dynamic Viscosity (mPa·s)', fontsize=12)
plt.title('Andrade Viscosity Model for Common Liquids', fontsize=14, fontweight='bold')
plt.legend(loc='upper right', fontsize=10)
plt.grid(True, alpha=0.3)
plt.yscale('log')  # Viskoziteler büyüklük sıralarını kapsadığı için logaritmik ölçek

plt.tight_layout()
plt.savefig('andrade_viscosity_plot.svg', format='svg', dpi=300)
print("Plot saved to andrade_viscosity_plot.svg")

Check out similar posts by category: Hesaplayıcılar Fizik Python