プラントエンジニアリング

【Python,レイノルズ数】Pythonでレイノルズ数の導出

今回は、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 = \frac{q_m}{S} = \frac{q_m}{\pi (D/2)^2 } \]
パラメータ名称英語単位
V流速Velocity[m/s]
D代表長さDiameter[m]
S配管断面積Cross section[m2]
qm体積流量Volume flow[m3/s]

流体の物性値

動粘性係数 or 粘性係数&密度 が必要となります。

動粘性係数は、流れに対する粘性の影響の度合いを示したものです。
そのため、粘性係数を μ [Pa·s] 、密度を ρ [kg/m3] とすると、動粘性係数 ν [m2/s] は以下の式によって求められます。

\[ \nu = \frac{\mu }{\rho} \]

そのため、動粘性係数 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

関連記事

プラントエンジニアリング
最新情報をチェックしよう!