Python Function to calculate Weir Discharge

Weirs are commonly used to measure flow at small creeks and other flow systems. We have developed a simple Python function to calculate the discharge from a weir “discharge_weir(C,L,H,n)”. We will check our results using two formulas -Addition formula and Francis formula.

Using Weirs Measure Flow

==========================================

def discharge_weir(C,L,H,n):
    #Weirs allow hydrologists and engineers a simple method of measuring
    #the volumetric flow rate in small to medium-sized streams
    # Function for the discharge equation by Addition in 1949, for TRAPEZOIDAL WEIR
    '''
    Q is flow rate
    C is a constant for structure, when flow in cfs, C=3.37
    L is the width of the crest in FEET
    H is the height of head of water over the crest in FEET
    n varies with structure (e.g. 3/2 for horizontal weir, 5/2 for v-notch weir)
    '''
    return  round(C*L*(H**n),2), 'is the flow in CFS using Addition (1949) formula'

'''
for RECTANGULAR WEIRS:

The flow rate measurement in a rectangular weir is based on the Bernoulli Equation 
principles and can be expressed as:

Q = 2/3 C L (2 g)1/2 H^(3/2)         

where

Q = flow rate (m3/s)
H = head on the weir (m)
L = width of the weir (m)
g = 9.81 (m/s2) - gravity
C= discharge constant for the weir - must be determined
'''

#The Francis Formula - Imperial Units
def discharge_weir_Francis(C,L,H,n):
    '''Flow through a rectangular weir can be expressed in imperial units with the Francis formula
    Q = 3.33 (L - 0.2 H) H^(3/2)       
    where
    Q = flow rate (ft3/s)
    H = head on the weir (ft)
    L = width of the weir (ft)
    C=3.33
    n=3/2=1.5
    '''
    return  round(C*(L-0.2*H)*(H**n),2), 'is the flow in CFS using Francis formula'

print discharge_weir(3.37,3.0,2.0,1.5)
print discharge_weir_Francis(3.33,3.0,2.0,1.5)

Output

(28.6, 'is the flow in CFS using Addition (1949) formula')
(24.49, 'is the flow in CFS using Francis formula'

 

Run the program online by calling the Python Function:

http://www.codeskulptor.org/#user20_ONn0eFrNzO_2.py

 

Leave a Comment

Your email address will not be published. Required fields are marked *