トップページに戻る

水理学:分流計算をエクセルのソルバーで解決

上記の上部タンクから、下部の二つのタンクに水を流した時の計算方法は、下記三つの方程式を解くと計算できる
非線形の三元連立方程式になる。なを、摩擦以外の損失水頭を無視した場合です。

f :摩擦係数

l :管長

Q :流量

D :管直径

摩擦係数の計算は
vbaをもちいて、
右のプログラムで
計算している。
流量と管径から
水の摩擦係数計算2
の関数で、容易に
計算できます
Option Explicit

'水の密度
Const m As Double = 1000
'水の粘度
Const n As Double = 0.00089

'レイノルズ数の関数
Public Function re(q As Double, d As Double) As Double

Dim u As Double

u = 4 * q / WorksheetFunction.Pi / d ^ 2

re = u * d * m / n

End Function

'摩擦係数の計算1
Public Function ff(dre As Double) As Double

If dre < 3000 Then

'層流
ff = 64 / dre

ElseIf dre < 100000# Then

'ブラジウスの公式
ff = 0.3164 / dre ^ (1 / 4)

Else

'ニクラゼの公式
ff = 0.0032 + 0.221 / dre ^ (0.237)

End If


End Function

'摩擦係数の計算2
Public Function f(q As Double, d As Double) As Double

Dim r As Double

'レイノルズ数の計算
r = re(q, d)

'摩擦係数の計算
f = ff(r)

End Function
流量の1,2,3の初期値を0.1にして、f、l、D、H、Kを代入したり計算して、
1,2,3の状態を決めます。
F1=H1-8/π^2/g*(k1+k2)=0
F2=H2-8/π^2/g*(k1+k3)=0
F3=Q2+Q3-Q1=0

TF=F1^2+F2^2+F3^2

F1〜F3の三元連立方程式を解く方法は、
TFが、ソルバーで、最小になるQ1〜Q3が、解になります。
詳しくは、実験計画法を勉強すると解ると思います。

計算結果は、右のようになりました。
このように、簡単に、非線形の三元連立方程式を
解く事によって、求まります。
ソルバーを使えば、希望する流量から、
各管径を求めたり、いろいろな展開があると思います。

ソルバーの便利さが、解ると思います。
追記 2008年4月24日
水理学では、摩擦損失水頭の計算では、マニングの式のほうが、一般的なのですね。
上記の例をマニングの式でも、同様に、行なってみました。
マニングの式は以下に示します。
   h(m)摩擦損失水頭
n 粗度係数
D(m)管径
Q(m3/s)流量
l(m)管路長
    モデルを数式にすると
以下の連立方程式を解けばいいことになります。

20-h1-h2=0
35-h1-h3=0
Q1-Q2-Q3=0


エクセルのワークシートに表示してみると
左記条件でソルバーを実行してみると結果が出ます
上記例とは、違ったソルバーの使い方をしていますが・
非線形の連立方程式を解く場合
左記方法の方が良いかもしれません。

ソルバーの実行結果は、左記のようになりました。
上記例とマニングの式を使った場合の例とでは
結果が若干違います。
これは、どう見るかは、
見る人に任せます。
上記例のほうが、摩擦抵抗は、小さいような!!