damyarou

python, GMT などのプログラム

Discharge capacity of spillway

Ishii-Fujimoto's formulas are shown below which is described in the Collection of Hydraulic Formulas (JSCE, 1985).


\begin{align}
&Q=n\cdot C'\cdot B\cdot H^{3/2}\\
&C'=C_d\cdot\left\{1-M_d\cdot \left(\cfrac{H}{H_d}\right)^{1.5}\right\} \\
&C_d=1.971+0.498\cdot \xi+6.63\cdot \xi^2 \\
&M_d=0.0756\cdot\left(\cfrac{H_d}{B}\right)^{0.5}\cdot 
\left\{\cfrac{1}{n}+1.465\cdot \cfrac{n-1}{n}\cdot \left(\cfrac{b}{S'}\right)^{1.7}\right\}
\end{align}

f:id:damyarou:20201025163415p:plain


\begin{align}
& Q   & & \text{dicharge}              & & C_d & & \text{discharge coefficient at $H=H_d$} \\
& n   & & \text{number of span}        & & M_d & & \text{correction coefficient of effect of pier} \\
& C'  & & \text{discharge coefficient} & & \xi & & \text{Value of $y/H_d$ at $x/H_d=0.5$} \\
& B   & & \text{clear span}            & & b   & & \text{width of pier} \\
& H   & & \text{overflow depth}        & & S'  & & \text{horizontal distance from top of overflow crest to upstream edge of pier} \\
& H_d & & \text{design head}           & &     & & 
\end{align}

For parabolic crest shape, the value of \xi can be obtained as follow.


\begin{equation}
y=K\cdot x^2 \quad \Rightarrow \quad
\cfrac{y}{H_d}=H_d\cdot K\cdot \left(\cfrac{x}{H_d}\right)^2 \quad \Rightarrow \quad
\xi=\left(\cfrac{y}{H_d}\right)_{x/H_d=0.5}=H_d\cdot K\cdot \left(0.5\right)^2
\end{equation}
import numpy as np


def calc_q():
    nsl=np.array([0.85, 0.85, 0.85, 0.85]) # downstream slope
    ELT=np.array([1850,1120,1345,675])     # dam top level
    FSL=np.array([1845,1115,1340,670])     # FSL
    hd=np.array([6.0, 19.0, 6.0, 19.0])    # design head
    ELC=FSL-hd                             # overflow crest level
    aa=ELT-ELC                             # dam top lebel - overflow crest level
    kk=1/4/aa/nsl**2                       # coefficient of ogee curve (parabola)
    nn=np.array([2, 6, 2, 10])             # number of gates
    bb=np.array([5.5, 12.0, 4.5, 12.0])    # clear span of pier
    bp=np.array([2.5, 4.0, 2.5, 4.0])      # pier width
    
    ss=bp/2+0.282*hd # distance from crest top to upstream edge of pier
    hh=hd
    md=0.0756*(hd/bb)**0.5*(1/nn+1.465*(nn-1)/nn*(bp/ss)**1.7)
    xi=hd*kk*0.5**2
    cd=1.971+0.498*xi+6.63*xi**2
    cc=cd*(1-md*(hh/hd)**1.5) # discharge coefficient
    qq=nn*cc*bb*hh**(3/2)     # discharge

    xxi=1/2/kk/nsl       # end point of ogee curve
    yyi=1/4/kk/nsl**2    # end point of ogee curve
    kki=1/kk             # inverse of palabola ogee curve coefficient 
    ctw=bp*(nn-1)+bb*nn   # cute width
    
    print('FSL ,{0:10.3f},{1:10.3f},{2:10.3f},{3:10.3f}'.format(FSL[0],FSL[1],FSL[2],FSL[3]))
    print('ELC ,{0:10.3f},{1:10.3f},{2:10.3f},{3:10.3f}'.format(ELC[0],ELC[1],ELC[2],ELC[3]))
    print('hd  ,{0:10.3f},{1:10.3f},{2:10.3f},{3:10.3f}'.format( hd[0], hd[1], hd[2], hd[3]))
    print('nn  ,{0:10.0f},{1:10.0f},{2:10.0f},{3:10.0f}'.format( nn[0], nn[1], nn[2], nn[3]))
    print('bb  ,{0:10.3f},{1:10.3f},{2:10.3f},{3:10.3f}'.format( bb[0], bb[1], bb[2], bb[3]))
    print('bp  ,{0:10.3f},{1:10.3f},{2:10.3f},{3:10.3f}'.format( bp[0], bp[1], bp[2], bp[3]))
    print('ss  ,{0:10.3f},{1:10.3f},{2:10.3f},{3:10.3f}'.format( ss[0], ss[1], ss[2], ss[3]))
    print('cc  ,{0:10.3f},{1:10.3f},{2:10.3f},{3:10.3f}'.format( cc[0], cc[1], cc[2], cc[3]))
    print('qq  ,{0:10.0f},{1:10.0f},{2:10.0f},{3:10.0f}'.format( qq[0], qq[1], qq[2], qq[3]))
    print('kki ,{0:10.3f},{1:10.3f},{2:10.3f},{3:10.3f}'.format(kki[0],kki[1],kki[2],kki[3]))
    print('ctw ,{0:10.3f},{1:10.3f},{2:10.3f},{3:10.3f}'.format(ctw[0],ctw[1],ctw[2],ctw[3]))
    
    return hd,ELC,xxi,yyi,kki

    
def main():
    hd,ELC,xxi,yyi,kki=calc_q()


#---------------
# Execute
#---------------
if __name__ == '__main__': main()

Results are shown below.

FSL ,  1845.000,  1115.000,  1340.000,   670.000
ELC ,  1839.000,  1096.000,  1334.000,   651.000
hd  ,     6.000,    19.000,     6.000,    19.000
nn  ,         2,         6,         2,        10
bb  ,     5.500,    12.000,     4.500,    12.000
bp  ,     2.500,     4.000,     2.500,     4.000
ss  ,     2.942,     7.358,     2.942,     7.358
cc  ,     1.842,     1.920,     1.824,     1.926
qq  ,       298,     11449,       241,     19143
kki ,    31.790,    69.360,    31.790,    69.360
ctw ,    13.500,    92.000,    11.500,   156.000

Thank you.