Source code for breakwater.core.toe

import numpy as np

from ..utils.wave import dispersion

[docs]def toe_stability(Hs, h, ht, Delta, Nod): """ Toe stability formula of Van der Meer (1998) The armour layer should is supported by a toe, the formula of Van der Meer (1998) computes the minimal required nominal diameter of the stones necessary. The formula is given as: .. math:: \\frac{H_{s}}{\\Delta D_{n50}}=\\left(6.2 \\frac{h_{t}}{h}+2 \\right) N_{o d}^{0.15} The formula is based on experiments and the range of validity of the parameters can be seen in the table below. +---------------------------------+---------+-----------+ | Parameter | Symbol | Range | +=================================+=========+===========+ | toe depth over water depth | ht/h | 0.4 - 0.9 | +---------------------------------+---------+-----------+ | toe depth over nominal diameter | ht/Dn50 | 3 - 25 | +---------------------------------+---------+-----------+ Parameters ---------- Hs : float The significant wave height of the incident waves [m] h : float The water depth in front of the toe [m] ht : float The water depth on top of the toe [m] Delta : float Relative buoyant density [-] Nod : float Damage number [-] Returns ------- Dn50 : float Nominal diameter of the armourstones in the toe [m] """ Dn50 = Hs/(Delta*(2 + 6.2*(ht/h)**2.7)*Nod**0.15) return Dn50
[docs]def toe_berm_stability(Hs, T, d, Bm, Delta, beta=0, alpha_s=0.45): """ Berm protection to caisson or vertical wall breakwaters Compute the nominal diameter of the armourstone on the berm of a caisson or vertical wall breakwaters with the modified Tanimoto formula from Takahasi (2002). .. math:: D_{n50} = \\frac{H_{s}}{\\Delta N_{s}} in which: .. math:: N_{s}=\\max \\left\\{1.8,\\left(1.3 \\frac{1-\\kappa}{\\kappa^{1 / 3}} \\frac{h^{\\prime}}{H_{s}}+1.8 \\exp \\left[-1.5 \\frac{ (1-\\kappa)^{2}}{\\kappa^{1 / 3}} \\frac{h^{\\prime}}{H_{s}} \\right]\\right)\\right\\} where: .. math:: \\kappa=\\frac{4 \\pi h^{\\prime} / L^{\\prime}}{\\sinh \\left(4 \\pi h^{\\prime} / L^{\\prime}\\right)} \\kappa_{2} and: .. math:: \\kappa_{2}=\\max \\left\{\\alpha_{S} \\sin ^{2} \\beta \\cos ^{2} \\left(\\frac{2 \\pi x}{L^{\\prime}} \\cos \\beta\\right)\\right., \\left.\\cos ^{2} \\beta \\sin ^{2}\\left(\\frac{2 \\pi x} {L^{\\prime}} \\cos \\beta\\right)\\right\\} Parameters ---------- Hs : float mean of the highest 1/3 of the wave heights [m] T : float wave period (s) d : float water depth at which the armour is placed [m] Bm : float width of the berm [m] Delta : float Relative buoyant density [-] beta : float, optional, default: 0 angle between direction of wave approach and a line normal to the breakwater [rad] alpha_s : float, optional, default: 0.45 factor the include the effect of the slope, the value of 0.45 is given by measures data (Goda, 2000) Returns ------- Dn50 : float Nominal diameter of the armourstones on the berm [m] """ L = dispersion(T=T, h=d) kh = 2*np.pi*d/L kappa2 = max([alpha_s*np.sin(beta)**2 * np.cos(2*np.pi*Bm*np.cos(beta)/L)**2, np.cos(beta)**2 * np.sin(2*np.pi*Bm*np.cos(beta)/L)**2]) kappa = 2*kh/(np.sinh(2*kh)) * kappa2 a = (1-kappa)/kappa**(1/3) Ns = (1.3 * a * d/Hs + 1.8 * np.exp(-1.5*d*a*(1-kappa)/Hs)) Ns = max([1.8, Ns]) Dn50 = Hs/(Delta*Ns) return Dn50