#!/usr/bin/env python # coding: utf-8 # ## depth averaged log-law in open channel # ### 開水路において水深平均化された対数則の導出 # まず、完全粗面の円管流れの対数則による流速分布を示すと次のとおりとなる。 # \begin{align} # \frac{u}{u_*} = \frac{1}{\kappa}\log_e{\frac{z}{k}} + A_r = \frac{1}{\kappa \log_{10}{e}}\log_{10}{\frac{z}{k}}+ A_r # \end{align} # ここに、$\kappa$:カルマン定数、$k$:粗度高さ、$z$:壁面からの距離である。 # また、$A_r$はNikuradseの実験より8.5である。 # 次に水深平均流速$V$に対する対数則を導出する。上式を水深積分すると次のとおりである。 # # # \begin{align} # \frac{V}{u_*} &= \frac{1}{h}\int_0^h \frac{u}{u_*} dz \nonumber \\ # &= \frac{1}{\kappa}\log_e{\frac{h}{k}} - \frac{1}{\kappa} + A_r \\ # &= \frac{1}{\kappa \log_{10}{e}}\log_{10}{\frac{h}{k}}- \frac{1}{\kappa}+ A_r # \end{align} # これが開水路において水深平均化された対数則である。 # # 取り扱いやすいように次式のように変形することがある。 # # # \begin{align} # \frac{V}{u_*} &= \frac{1}{\kappa}\log_e{\frac{h}{k}} - \frac{1}{\kappa} + A_r = \frac{1}{\kappa}\log_e \left({e^{\kappa A_r-1}\frac{h}{k}} \right) # \end{align} # また、自然河道を対象とする場合水深$h$を径深$R$とする。 # ### manning-stricklerによる近似形 # manning則を用いて式変形を行うと流速係数$\phi = V/u_*$は以下のように示される。 # 本式は自然河道の場合$\phi$が8~25であることを条件とした近似式である。 # \begin{align} # \phi &= \frac{V}{u_*} = \frac{k^{1/6}}{n \sqrt{g}} \left(\frac{R}{k} \right)^{1/6} \nonumber \\ # \frac{k^{1/6}}{n \sqrt{g}} & \sim 7.66 # \end{align} # ### 対数則について思うこと # # 教科書等では開水路の対数則は以下のような式形が多く見られる。 # # \begin{align} # \frac{V}{u_*} = 5.75\log_{10}{\frac{h}{k}}+ 6.0 # \end{align} # # この書き方をすると定数がたくさんあるように見えるのでやめて欲しいです。前項の書き方のほうが実験定数は$A_r$のみであることがわかりやすいと思う。 # ### 参考:対数則の導出 # # 乱流のせん断応力は次式で示される。 # # \begin{align} # \tau_0 = \rho (\nu + \epsilon) \dfrac{du}{dz} # \end{align} # # Prandtlの混合距離の考え方を用いると、 # # \begin{align} # \epsilon &= l^2\left|\dfrac{du}{dz}\right| \\ # l &= \kappa z # \end{align} # # となる。 # さらに、$\nu \ll \epsilon$および$u_* = \sqrt{\tau_0/\rho}$を用いると次のように整理できる。 # # \begin{align} # u_*^2 &= \kappa^2 z^2 \left( \dfrac{du}{dz} \right)^2 \\ # \dfrac{du}{dz} &= \dfrac{u_*}{\kappa z} # \end{align} # # この式を$z=0$から$z$まで積分して、$z=0$の流速を$A_r u_*$と与えると冒頭の対数則が得られる。 # ### 参考:対数則の数値計算上のテクニック # # 数値計算で対数則を用いる場合、$h$が$k$以下となることがある。 # この領域では本来対数則を用いることはできないが、便宜的に次のように取り扱う。 # # \begin{align} # \frac{V}{u_*} = \begin{cases} # \dfrac{1}{\kappa}\left(\log_e{\dfrac{h}{k}} - 1\right) + A_r & \left(\log_e{\dfrac{h}{k}} \ge 1\right) \\ # A_r & \left(\log_e{\dfrac{h}{k}} \lt 1 \right) \\ # \end{cases} # \end{align} # # これにより、河床近傍の流速が$A_r u_*$となることを満足する。 # ### 参考文献 # 水理学 1 椿東一郎 # https://www.amazon.co.jp/dp/4627420609