今回は、Pythonを用いて、レイノルズ数の算出を行いたいと思います。
使用ライブラリ
今回は、『Fluids』というライブラリを使って、レイノルズ数を算出していきたいと思います。
具体的には、『Fluids』の中にある以下のライブラリを使用します。
Re = fluids.Reynolds(V, D, rho=None, mu=None, nu=None)
パラメータ | 名称 | 英語 | 単位 |
Re | レイノルズ数 | Reynolds | [ – ] |
D | 代表長さ | Diameter | [m] |
V | 流速 | Velocity | [m/s] |
nu | 粘性係数 | Kinematic viscosity | [m2/s] |
mu | 動粘性 | Dynamic viscosity | [Pa*s] |
ρ | 密度 | Density | [kg/m3] |
また、計算例では合わせて単位計算に便利な『astropy.unit』を組み合わて使用します。
レイノルズ数の算出方法
具体的には、以下の手順で算出していきます。
1.初期条件の確認(代表長さ、流体条件etc)
2.速度の算出
3.流体の物性値
4.レイノルズ数の算出
ちなみに、レイノルズ数は以下の式で算出されます。
\[ Re = \frac{D \cdot V}{\nu} = \frac{\rho V D}{\mu} \]パラメータ | 名称 | 英語 | 単位 |
Re | レイノルズ数 | Reynolds | [ – ] |
D | 代表長さ | Diameter | [m] |
V | 流速 | Velocity | [m/s] |
μ | 粘性係数 | Kinematic viscosity | [Pa*s] |
ν | 動粘性 | Dynamic viscosity | [m2/s] |
ρ | 密度 | Density | [kg/m3] |
初期条件の確認
初期条件は、具体的に以下の2つの値を確認
① 配管内径
配管の場合、代表長さは配管内径が該当します。
② 流体条件
温度、圧力、流量、流体種類を確認します。
これらの条件によって、以下の物性値が変わります。
ちなみに、水や蒸気であれば、『iapw』のライブラリから簡単に物性値を引っ張ることができます。
流速の算出
流速が既知の場合は、算出不要です。
流速が不明で、配管内径と流量が既知の場合、以下の算出式で流速を計算します。
パラメータ | 名称 | 英語 | 単位 |
V | 流速 | Velocity | [m/s] |
D | 代表長さ | Diameter | [m] |
S | 配管断面積 | Cross section | [m2] |
qm | 体積流量 | Volume flow | [m3/s] |
流体の物性値
動粘性係数 or 粘性係数&密度 が必要となります。
動粘性係数は、流れに対する粘性の影響の度合いを示したものです。
そのため、粘性係数を μ [Pa·s] 、密度を ρ [kg/m3] とすると、動粘性係数 ν [m2/s] は以下の式によって求められます。
そのため、動粘性係数 or 粘性係数&密度 のどちらを入力すれば計算可能です。仮に全て入力してしまった場合は、粘性係数&密度が採用されます。
計算例
import fluids
from astropy import units as u
#代表長さ
D = 0.01*u.m
#流体速度
V = 1.5 *(u.m/u.s)
#粘性係数
mu = 1E-3 *(u.Pa*u.s)
#密度
rho = 1000 *((u.kg)/(u.m)**3)
#動粘性係数
nu = mu/rho
Re1 = fluids.Reynolds(D=D, V=V, nu=nu).decompose()
print(Re1)
>>> 15000.0
Re2 = fluids.Reynolds(D=D, rho=rho, V=V, mu=mu).decompose()
print(Re2)
>>> 15000.0
ここでは、astropy.unitを用いて、単位を入れて計算しています。レイノルズ数は、無次元なので計算が正しければ単位が表示されないはずです。詳細については、以下をご覧ください。
こちらは、流量を与えて計算しています。
import fluids
from astropy import units as u
import numpy as np
#代表長さ
D = 0.1*u.m
#流量
qm = 0.2*((u.m)**3/u.s)
#流速
V = qm/(np.pi*(D/2)**2)
print(V)
>>>25.464790894703253 m / s
#粘性係数
mu = 1E-3 *(u.Pa*u.s)
#密度
rho = 1000 *((u.kg)/(u.m)**3)
#動粘性係数
nu = mu/rho
Re1 = fluids.Reynolds(D=D, V=V, nu=nu).decompose()
print(Re1)
>>> 2546479.0894703255
Re2 = fluids.Reynolds(D=D, rho=rho, V=V, mu=mu).decompose()
print(Re2)
>>> 2546479.0894703255