Source code for pypassive.utility_functions

import numpy as np


[docs] def ovesen_3D_effects_correction( phi: float, width: float, height: float, depth: float, spacing: float ): """Ovesen-Brinch Hansen Method of correcting for 3D Effects in Passive Earth Pressures. :param float phi: Mohr-Coulomb phi parameter, soil friction angle, degrees :param float width: Width of the foundation/retaining wall. :param float height: Height of the foundation/retaining wall. :param float depth: Distance from the top of the soil layer to the top of the foundation/retaining wall. :param float spacing: If multiple close-by footing or retaining wall """ phi = np.radians(phi) ka = np.tan(np.pi / 4 - phi / 2) ** 2 kp = np.tan(np.pi / 4 + phi / 2) ** 2 fac_b = 1 - (width / spacing) ** 2 fac_e = 1 - height / (depth + height) return 1 + (kp - ka) ** 0.67 * ( 1.1 * fac_e**4 + 1.6 * fac_b / (1 + 5 * (width / height)) + 0.4 * (kp - ka) * fac_e**3 * fac_b**2 / (1 + 0.05 * (width / height)) )
[docs] def rankine_passive_pressure_coeff(phi: float, c: float) -> float: """Compute Rankine earth pressure coefficient. Use consistent units :param phi: Mohr-Column phi parameter, friction angle in degrees :type: float :param c: Mohr-Column c parameter, cohesion in F/L^2 :type: float :param height: wall height in units of length, L :type: float :param gamma: unit weight of the soil in F/L^3 :type: float :return: kp, coefficient of passive earth pressure :rtype: float """ return np.tan(np.pi / 4 + np.radians(phi) / 2) ** 2