geofound/stiffness.py
def rotational_stiffness(sl, fd, axis="length", a0=0.0, **kwargs):
    """
    Rotation stiffness of foundation.
    :param fd: Foundation object
    :param sl: Soil Object.
    :param axis: The axis which it should be computed around
    :return:
    """
    if not kwargs.get("disable_requires", False):
        gf.models.check_required(sl, ["g_mod", "poissons_ratio"])
        gf.models.check_required(fd, ["length", "width", "depth"])

    if fd.depth > 0.0:
        pass
    l = fd.length * 0.5
    b = fd.width * 0.5
    v = sl.poissons_ratio
    if axis == "length":
        i_bx = fd.i_ll
        k_rx = 1 - 0.2 * a0
        k_f_0 = (sl.g_mod / (1 - v) * i_bx ** 0.75 * (l / b) ** 0.25 * (2.4 + 0.5 * (b / l))) * k_rx
    else:
        i_by = fd.i_ww
        k_ry = 1 - 0.3 * a0
        k_f_0 = (sl.g_mod / (1 - v) * i_by ** 0.75 * (3 * (l / b) ** 0.15)) * k_ry
    return k_f_0
def rotational_stiffness(sl, fd, axis="length", a0=0.0, **kwargs):
    """
    Rotation stiffness of foundation.
    :param fd: Foundation object
    :param sl: Soil Object.
    :param axis: The axis which it should be computed around
    :return:
    """
    if not kwargs.get("disable_requires", False):
        gf.models.check_required(sl, ["g_mod", "poissons_ratio"])
        gf.models.check_required(fd, ["length", "width", "depth"])

    if fd.depth > 0.0:
        pass
    l = fd.length * 0.5
    b = fd.width * 0.5
    v = sl.poissons_ratio
    if axis == "length":
        i_bx = fd.i_ll
        k_rx = 1 - 0.2 * a0
        k_f_0 = (sl.g_mod / (1 - v) * i_bx ** 0.75 * (l / b) ** 0.25 * (2.4 + 0.5 * (b / l))) * k_rx
    else:
        i_by = fd.i_ww
        k_ry = 1 - 0.3 * a0
        k_f_0 = (sl.g_mod / (1 - v) * i_by ** 0.75 * (3 * (l / b) ** 0.15)) * k_ry
    return k_f_0
Rotation stiffness of foundation.
    :param fd: Foundation object
    :param sl: Soil Object.
    :param axis: The axis which it should be computed around
    :return: