你可以使用 UliEngineering Python 库,根据动力粘度和密度轻松计算运动粘度:
Σ
TechOverflow calculators:
You can enter values with SI suffixes like 12.2m (equivalent to 0.012) or 14k (14000) or 32u (0.000032).
The results are calculated while you type and shown directly below the calculator, so there is no need to press return or click on a Calculate button.
You can enter values with SI suffixes like 12.2m (equivalent to 0.012) or 14k (14000) or 32u (0.000032).
The results are calculated while you type and shown directly below the calculator, so there is no need to press return or click on a Calculate button.
Pa·s
⚠
kg/m³
⚠
kinematic_viscosity.py
from UliEngineering.Physics.Viscosity import kinematic_viscosity
from UliEngineering.EngineerIO import *
# 计算水的运动粘度
dynamic_viscosity = 0.001 # Pa·s
density = 998.2 # kg/m³
nu = kinematic_viscosity(dynamic_viscosity, density)
print(f"运动粘度:{format_value(nu, 'm²/s')}")
# 计算空气的运动粘度
dynamic_viscosity = 1.8e-5 # Pa·s
density = 1.225 # kg/m³
nu = kinematic_viscosity(dynamic_viscosity, density)
print(f"空气的运动粘度:{format_value(nu, 'm²/s')}")
# 计算甘油的运动粘度
dynamic_viscosity = 1.412 # Pa·s,20°C 时
density = 1261.0 # kg/m³
nu = kinematic_viscosity(dynamic_viscosity, density)
print(f"甘油的运动粘度:{format_value(nu, 'm²/s')}")示例输出
kinematic_viscosity_output.txt
运动粘度:1.00 mm²/s
空气的运动粘度:14.7 mm²/s
甘油的运动粘度:1.12 cm²/s运动粘度由下式给出:
$$ \nu = \frac{\eta}{\rho} $$其中 $\nu$ 是运动粘度,$\eta$ 是动力粘度,$\rho$ 是密度。
运动粘度表示流体中粘性力与惯性力的比值,常用于流体动力学计算,尤其是确定雷诺数(Reynolds number)。动力粘度描述流体流动时的内部阻力,而运动粘度还考虑了流体的密度。
上图展示了在固定密度 1000 kg/m³(近似于水)下,动力粘度与运动粘度之间的线性关系。该直线的斜率等于密度的倒数。
运动粘度在涉及流体运动和动量传递的问题中特别有用,例如边界层分析、管道流动计算和空气动力学。它的单位是 m²/s,与扩散系数相同,反映了其在动量扩散中的作用。
相关文章
- 如何使用 UliEngineering 在 Python 中计算雷诺数
- 如何使用 UliEngineering 在 Python 中计算 Poiseuille 流量
- 如何使用 UliEngineering 在 Python 中计算 Stokes 阻力
绘图生成脚本
plot_kinematic_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 kinematic_viscosity
# 用于绘图的动力粘度范围
eta = np.linspace(1e-4, 1e-2, 100) # 0.1 到 10 mPa·s
# 创建图表
plt.figure(figsize=(10, 6))
# 固定密度(水类)
rho = 1000.0 # kg/m³
# 计算运动粘度
nu = kinematic_viscosity(eta, rho) * 1e6 # 转换为 mm²/s
plt.plot(eta * 1000, nu, color='blue', linewidth=2)
plt.xlabel('动力粘度 (mPa·s)', fontsize=12)
plt.ylabel('运动粘度 (mm²/s)', fontsize=12)
plt.title('运动粘度与动力粘度的关系 (ρ = 1000 kg/m³)', fontsize=14, fontweight='bold')
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('kinematic_viscosity_plot.svg', format='svg', dpi=300)
print("图表已保存到 kinematic_viscosity_plot.svg")如果这篇文章对您有帮助,请考虑请我喝杯咖啡或通过 PayPal 捐款,以支持 TechOverflow 上新文章的研究与发布