wetchのブログ

他人に見られることを想定していない書き散らかし独習ノート.物理学とかVBAとか.

コールブルックの式

参考文献

ja.wikipedia.org

やりたいこと

コールブルックの式

\displaystyle \frac{1}{\sqrt{f}}= -2 \log_{10}\left[\frac{a}{\sqrt{f}} + b \right] \tag{1}
f について解くと
\displaystyle \frac{1}{\sqrt{f}} = \frac{2}{\ln 10} W\left(\frac{\ln 10}{2a} 10^{b/2a}\right) - \frac{b}{a} \tag{2}
となることを示せ.ただし WランベルトのW関数xe^x逆関数).

※この式を実際に使うときは,Reレイノルズ数\varepsilon/D_\mathrm{H} を相対粗度として

\displaystyle a = \frac{2.51}{Re},\quad b = \frac{\varepsilon/D_\mathrm{H}}{3.7}
である.

解答

式(1)を y=xe^x の形に持っていくために,以下の3つを行う:

  • 対数の底を 10 から e に変更
  • 式全体を e (または10)の肩に乗せる
  • 適当な項を足す(または掛ける)

これら3つはどの順でもやれる.

たとえば,まず対数の底を10から e に変換しよう.式(1)の両辺に ln10 を掛けると

\begin{align}\frac{\ln{10}}{\sqrt{f}} &= -2 \ln\left[\frac{a}{\sqrt{f}} + b \right]\\
&= -2 \ln{a} -2\ln\left[\frac{1}{\sqrt{f}} + \frac{b}{a}\right].\end{align}

項順を替えて 2 で割っておく.

\displaystyle -\ln{a} = \ln\left[\frac{1}{\sqrt{f}} + \frac{b}{2a}\right] + \frac{\ln{10}}{2\sqrt{f}}.

次に両辺に \ln[\ln{10}/2] + \ln{10}\cdot b/2a を加え,右辺に共通項が出るようにする.

\begin{align} \ln\left[\frac{\ln{10}}{2}\right] &- \ln{a} + \ln10\cdot\frac{b}{2a}\\ &= \ln\left[\frac{\ln{10}}{2}\right] + \ln\left[\frac{1}{\sqrt{f}} + \frac{b}{a}\right] + \frac{\ln{10}}{2}\left(\frac{1}{\sqrt{f}} +\frac{b}{a}\right).\end{align}

最後に両辺を e の肩に乗せる.左辺第3項には \exp[\ln[10]]=10 を適用する.

\displaystyle \frac{\ln{10}}{2a}10^{b/2a} = \frac{\ln{10}}{2}\left(\frac{1}{\sqrt{f}} +\frac{b}{a}\right)\exp{\left[\frac{\ln{10}}{2}\left(\frac{1}{\sqrt{f}} +\frac{b}{a}\right)\right]}.

これで y=xe^x の形にできたのでランベルトのW関数を使って x=W(y) の形にすると

\displaystyle \frac{\ln{10}}{2}\left(\frac{1}{\sqrt{f}} +\frac{b}{a}\right) = W\left(\frac{\ln{10}}{2a}10^{b/2a}\right),

\displaystyle \therefore \frac{1}{\sqrt{f}} = \frac{2}{\ln{10}}W\left(\frac{\ln{10}}{2a}10^{b/2a}\right) - \frac{b}{a}
となり,式(2)が得られる.■

顧客が本当に必要だったもの

エクセルで計算したいので,ランベルトのW関数を数値計算する関数を作って載せようと思ったのだけど,やめとく.*1

*1:Bing copilotよ,ランベルトのW関数を計算するエクセルマクロを作って!