#!/usr/bin/env python # coding: utf-8 # # 河川シンポの江頭先生の式の展開 # ベルヌーイの定理 #
# $$ # \dfrac{v_1^2}{2g} + h_1 + z_{b1} = \dfrac{v_2^2}{2g} + h_2 + z_{b2} + i \Delta x # $$ #
# を変形すると #
# $$ # \begin{align} # \dfrac{z_{b2} - z_{b1}}{h_1} &= 1- \dfrac{h_2}{h_1} + \dfrac{1}{2}Fr_1^2\left\{1-\left(\dfrac{v_2}{v_1}\right)^2\right\} - \dfrac{i \Delta x}{h_1}\\ # Fr_1 &= \dfrac{v_1}{\sqrt{gh_1}} # \end{align} # $$ # # # - 流れの連続式 # $$ # v_1 h_1 B_1 = v_2 h_2 B_2 # $$ # # - 流れの運動方程式:マニング式 # $$ # \begin{align} # v_1 &= \dfrac{1}{n_1}i_1^{1/2}h_1^{2/3} \\ # v_2 &= \dfrac{1}{n_2}i_2^{1/2}h_2^{2/3} # \end{align} # $$ # # - 流砂の連続式 # # $$ # q_{b1}B_1 = q_{b2}B_2 # $$ # # - 流砂の運動方程式:流砂量式 # # $$ # \begin{align} # q_{b1} & \sim \tau_1^m \sim (h_1i_1)^m \\ # q_{b2} & \sim \tau_2^m \sim (h_2i_2)^m # \end{align} # $$ # $ # X=\dfrac{h_2}{h_1} # ,Y=\dfrac{v_2}{v_1} # ,Z=\dfrac{i_2}{i_1} # ,\xi=\dfrac{B_2}{B_1} # ,\eta=\dfrac{n_2}{n_1} # $ # # として,上式を変形すると # # 流れの連続式より # # $ # X=\dfrac{1}{\xi Y} # $ # # 流れの運動方程式より # # $ # Y=\dfrac{1}{\eta}Z^{1/2} X^{2/3} # $ # # 流砂の連続式,運動方程式より # # $ # Z = \dfrac{1}{X \xi^{1/m}} # $ # # これらを$X,Y,Z$について解くと # $$ # \begin{align} # X &= \eta^{\frac{6}{7}} \xi^{-\frac{3(2 m - 1)}{7 m}} \\ # Y &= \eta^{-\frac{6}{7}} \xi^{- \frac{m + 3}{7 m}} \\ # Z &= \eta^{-\frac{6}{7}} \xi^{\frac{2(3 m - 5)}{7 m} } # \end{align} # $$ # $X,Y$を変形したベルヌーイの式に代入すると, # # \begin{align} # \dfrac{z_{b2} - z_{b1}}{h_1} &= 1 - \eta^{\frac{6}{7}} \xi^{-\frac{3(2 m - 1)}{7 m}} # + \dfrac{1}{2}Fr_1^2\left\{1- \eta^{-\frac{12}{7}} \xi^{- \frac{2(m + 3)}{7 m}} \right\} - \dfrac{i \Delta x}{h_1}\\ # Fr_1 &= \dfrac{v_1}{\sqrt{gh_1}} # \end{align} # --- # 一箇所だけ乗数が違う.2(m+3)が2(2m+3)でしたが,多分先生の間違い. # # 図化 # # $$ # \begin{align} # % dz_* &= \dfrac{z_{b2} - z_{b1}}{h_1} \\ # m &= 1.5 \\ # \eta &= \dfrac{n_2}{n_1}=1 \\ # \Delta x &= 1000 \\ # h_1 &= 3.0 \\ # i &= 0.001 \\ # Fr_1 &= 0.6 # % \dfrac{z_{b2} - z_{b1}}{h_1} &= 1 - \eta^{\frac{6}{7}} \xi^{-\frac{3(2 m - 1)}{7 m}} # % + \dfrac{1}{2}Fr_1^2\left\{1- \eta^{-\frac{12}{7}} \xi^{- \frac{2(m + 3)}{7 m}} \right\} - \dfrac{i \Delta x}{h_1}\\ # % Fr_1 &= \dfrac{v_1}{\sqrt{gh_1}} # \end{align} # $$ # # 縦軸 $\dfrac{z_{b2} - z_{b1}}{h_1}$,横軸$\dfrac{B_2}{B_1}$として図化 # In[1]: import holoviews as hv import numpy as np hv.extension('bokeh') # In[2]: m = 1.5 dx = 1000.0 i = 0.001 h1 = 3.0 Fr = 0.6 y = lambda x : 1.0 - x**(-3*(2*m-1)/7/m) + 0.5*Fr**2*(1.0 - x**(-2*(m+3)/7/m)) - i * dx / h1 x = np.arange(1.0,2.01,0.1) hv.Curve((x,y(x)), kdims='$B2/B1$', vdims='(zb2-zb1)/h1').options(width=400,height=400) # この条件だと,$B_2/B_1$が1.7くらいでレベルになり,それより大きいと逆勾配になる感じです. # # 参考:式展開-sympy # In[3]: from sympy import * init_printing() eta = Symbol('\eta',real=True, positive=True) xi = Symbol('\\xi',real=True, positive=True) X = Symbol('X',real=True, positive=True) Y = Symbol('Y',real=True, positive=True) Z = Symbol('Z',real=True, positive=True) m = Symbol('m',real=True, positive=True) # In[4]: Ans = solve( [X-1/xi/Y, Y-Z**0.5*X**(2/3)/eta, Z - 1/X/xi**(1/m)], [X,Y,Z] ) # In[5]: simplify(Ans[0])