0

我需要通过调整深度然后计算 Q(calc) 以匹配指定的 Q 来确定矩形通道中的法线深度。我正在尝试编写一个有效的迭代器......但正在苦苦挣扎......任何帮助将不胜感激...

这是我的尝试...

# Normal Depth Calculation Using Iterator ........................
# Needs to solve dnorm to match Q = Qcalc
Q= 1.3
Q_outlet_tailwater= 1.1
width = 1.50
manning = 0.013
culvert_slope = 0.015
Q = min(Q, Q_outlet_tailwater)
dnorm=0.00001
idn=0
dn=0.001
raw_input('HOld....')
while abs(dn)>0.00001:
    An=width*dnorm
    Pn=width+2*dnorm
    Rn=An/Pn
    Qcalc = An*Rn**(2.0/3.0)*culvert_slope**(0.5)/manning
    fc=An**1.5*width**-0.5-Q/(9.81**0.5)
    ffc=An**1.5*-0.5*width**-1.5+width**-0.5*1.5*An**0.5*width
    print 'fc, ffc'
    print fc,ffc
    #dn=Q/Qcalc

    dn=-ffc/fc
    print 'dn = ',dn
    dnorm=dnorm+dn
    idn=idn+1
    print "Iter. dnorm :"
    print idn,dnorm
    print 'Qcalc', Qcalc,Q
    raw_input('HOld....')

dnorm = dnorm
4

0 回答 0