geoprob_pipe.calculations.physical_components.geohydro_functions ================================================================ .. py:module:: geoprob_pipe.calculations.physical_components.geohydro_functions .. autoapi-nested-parse:: Deze module bevat verschillende geohydrologische methoden die worden gebruikt bij de veiligheidsbeoordeling van dijken. Achtergrondinformatie is te vinden in het 'Technisch Rapport Waterspanningen bij dijken' :cite:t:`trw_2004`. Functions --------- .. autoapisummary:: geoprob_pipe.calculations.physical_components.geohydro_functions.calc_lambda geoprob_pipe.calculations.physical_components.geohydro_functions.calc_W geoprob_pipe.calculations.physical_components.geohydro_functions.calc_r_BIT geoprob_pipe.calculations.physical_components.geohydro_functions.calc_r_BUT geoprob_pipe.calculations.physical_components.geohydro_functions.calc_respons2pot geoprob_pipe.calculations.physical_components.geohydro_functions.calc_pot2response geoprob_pipe.calculations.physical_components.geohydro_functions.calc_ang_frequency geoprob_pipe.calculations.physical_components.geohydro_functions.calc_P_from_T geoprob_pipe.calculations.physical_components.geohydro_functions.calc_T_from_P geoprob_pipe.calculations.physical_components.geohydro_functions.calc_lambda_cycl_from_stationary geoprob_pipe.calculations.physical_components.geohydro_functions.calc_lambda_cycl geoprob_pipe.calculations.physical_components.geohydro_functions.calc_theta geoprob_pipe.calculations.physical_components.geohydro_functions.calc_f geoprob_pipe.calculations.physical_components.geohydro_functions.calc_mean_pot_gradient Module Contents --------------- .. py:function:: calc_lambda(kd, c) Calculates leakage length .. math:: \lambda = \sqrt{kDc} :param kd: transmissivity [m2/day] :param c: resistance of the topsoil [day] :return: leakage length lambda [m] .. py:function:: calc_W(lam, L) Calculates effective leakage length by: .. math:: W = \lambda tanh(\frac{L}{\lambda}) :param lam: leakage lengte [m] :type lam: float :param L: physical length [m] :type L: float :returns: effective leakage length [m] :rtype: float .. py:function:: calc_r_BIT(w1, l2, w3) Calculates response in stationary models at inner toe based on given weights. See :cite:t:`trw_2004`. .. math:: r_{BIT} = \frac{W_{3}}{W_{1} + L_{2} + W_{3}} :param w1: weight of foreland [m] :type w1: float :param l2: length of dike base [m] :type l2: float :param w3: weight of hinterland [m] :type w3: float :returns: response at inner toe [0.0-1.0] :rtype: float .. py:function:: calc_r_BUT(w1, l2, w3) Calculates response in stationary models at outer toe based on given weights. See :cite:t:`trw_2004`. .. math:: r_{BUT} = \frac{L_{2} + W_{3}}{W_{1} + L_{2} + W_{3}} :param w1: weight of foreland [m] :type w1: float :param l2: length of dike base [m] :type l2: float :param w3: weight of hinterland [m] :type w3: float :returns: response at outer toe [0.0-1.0] :rtype: float .. py:function:: calc_respons2pot(h_ref, r_exit, h_riv) Calculates potential from given response. See :cite:t:`trw_2004`. .. math:: \phi(x) = h_{ref} + r(x) (h_{river} - h_{ref}) :param h_ref: potential in hinterland (polder) :type h_ref: float :param r_exit: response at given location [m] :type r_exit: float :param h_riv: water level at river :type h_riv: float :returns: potential at given location :rtype: float .. py:function:: calc_pot2response(phi, h_ref, h_riv) Calculates response from given potential. This is the reverse function of `calc_respons2pot`. .. math:: r(x) = \frac{\phi(x)-h_{ref}}{h_{river} -h_{ref}} :param phi: given potential [m+ref] :type phi: float :param h_ref: reference leve, e.g. potential in polder [m+ref] :type h_ref: float :param h_riv: water level at river, given potential [m+ref] :type h_riv: float :returns: response given reference level :rtype: float .. py:function:: calc_ang_frequency(T) Calculates Angular frequency from period of a sinus wave. See :cite:t:`trw_2004` for background information. .. math:: \omega = \frac{2 \pi}{T} :param T: period [s] :type T: float :returns: angular frequency [rad/s] :rtype: float .. py:function:: calc_P_from_T(T) Calculates duration P from period T. .. math:: P = \frac{T}{2} This is a helper function. Often a period T needs to be from a known storm surge P :param T: Storm period T [s] :type T: float :returns: Storm duration P [s] :rtype: float .. py:function:: calc_T_from_P(P) Calculates storm period from storm duration P. .. math:: T = P * 2.0 :param P: Storm duration P [s] :type P: float :returns: Storm period T [s] :rtype: float .. py:function:: calc_lambda_cycl_from_stationary(LambdaStat, d, c_v, w) Calculates cyclic lambda from stationary leakage length see :cite:t:`bauduin_barends_1988` .. math:: t_{h} = \frac{d^{2}}{c_{v}^{'}} \lambda_{\omega} = \frac{1.082 * \lambda_{s}} {\sqrt[4]{t_{h}^{'}\omega}} :param LambdaStat: stationary leakage length [m] :type LambdaStat: float :param d: thickness of impermeable cover layer [m] :type d: float :param c_v: one dimensional consolidation coëfficiënt [m2/s] :type c_v: float :param w: angular frequency [rad/s] :type w: float :returns: cyclic lambda [m] :rtype: float .. py:function:: calc_lambda_cycl(LambdaCycl_1, T2, T1) Calculates cyclic lambda from one period to another. See :cite:t:`trw_2004`. .. math:: \lambda_{\omega, T_{2}}^{'} = \lambda_{\omega, T_{1}}^{'} \sqrt[4]{\frac{T_{2}}{T_{1}}} T1 and T2 are in same dimension (e.g. seconds, hours, days) :param LambdaCycl_1: known cyclic lambda at given period T1 :type LambdaCycl_1: float :param T2: period for which cyclic lambda needs te be calculated :type T2: float :param T1: known period :type T1: float :returns: _description_ :rtype: float .. py:function:: calc_theta(b, lambda_w_vl) Calculates theta, see figure b4.13 from 'Technisch Rapport Waterspanningen bij dijken' :cite:t:`trw_2004`. Approximation by 5th degree polynomials. :param b: with of river [m], :type b: float :param lambda_w_vl: cyclic lambda of foreland [m] :type lambda_w_vl: float :raises ValueError: Only for positive numbers :returns: theta from b4.13 :cite:t:`trw_2004` :rtype: float .. py:function:: calc_f(b, lambda_w_vl) Calculates f, see figure b4.13 from 'Technisch Rapport Waterspanningen bij dijken' :cite:t:`trw_2004`. Approximation by exponential function. :param b: with of river [m], :type b: float :param lambda_w_vl: cyclic lambda of foreland [m] :type lambda_w_vl: float :raises ValueError: Only for positive numbers :returns: f from b4.13 :cite:t:`trw_2004` b : with of river in m lambda_w_vl : cyclic lambda of foreland :rtype: float .. py:function:: calc_mean_pot_gradient(W1, W3, x_tp, mean_wl, phi_onv) Approximation of hydraulic head under daily (mean) conditions. Uses method from tipping point :cite:t:`trw_2004`. .. math:: \phi(x) = h_{ref} + r(x) (h_{rivier} - h_{ref}) r(x) = \frac{exp(\frac{- x_{tp}}{W_{3}})}{1+\frac{W_1}{W_3}} :param W1: weight of foreland under daily conditions [m] :type W1: float :param W3: weight of hinterland under daily conditions [m] :type W3: float :param x_tp: given location from tipping point [m] :type x_tp: float :param mean_wl: daily water level at river :type mean_wl: float :param phi_onv: potential in hinterland (polder) :type phi_onv: float :returns: hydraulic head at given distance from tipping point :rtype: float