Source code for breakwater.core.scour

from ..utils.exceptions import user_warning

[docs]def scour_protection(L, slope=None): """ Compute the length of the scour protection Compute the estimated length of the scour hole with Sumer and Fredsoe (2000). In the table the estimated length of the scour hole from the experimental study is presented. +-------------------------+------------------+ | slope of the breakwater | estimated length | +=========================+==================+ | Vertical breakwater | 1.0(L/4) | +-------------------------+------------------+ | 1:1.2 | 0.6(L/4) | +-------------------------+------------------+ | 1:1.75 | 0.4(L/4) | +-------------------------+------------------+ Parameters ---------- L : float wave length at the toe of the structure, computed with the mean wave period [m] slope : float, optional, default: None Slope of the armour layer (V, H), for example a slope of 3V:4H is defined as (3, 4). By default the length of the scour protection for a vertical breakwater is computed. Returns ------- float the required length of the scour protection """ # check if a slope is given if slope is None: # no slope, thus vertical breakwater W = L/4 else: # slope is given slope_div = slope[0]/slope[1] # determine scalar for estimating the length scalar = 0.4 + 0.2 * ((slope_div - 1/1.75)/(1/1.2 - 1/1.75)) # compute length of the scour hole W = scalar*(L/4) if slope_div >= 1/1.75 and slope_div <= 1/1.2: # in range of experiments pass else: # slope is out of range, so print a warning user_warning( (f'slope {slope[0]}:{round(slope[1],2)} is out of range in ' 'scour_protection(), must be between 1:1.75 and 1:1.2')) return W