beregning.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:python-klmast 作者: staspika 项目源码 文件源码
def _bjelkeformel_P(mast, j, fh):
    """Beregner deformasjoner i kontakttrådhøyde grunnet en punklast.

    Dersom lasten angriper under kontakttrådhøyde:
    :math:`\\delta = \\frac{P*x^2}{6EI}(3fh-x)`

    Dersom lasten angriper over kontakttrådhøyde:
    :math:`\\delta = \\frac{P*fh^2}{6EI}(3x-fh)`

    :param Mast mast: Aktuell mast som beregnes
    :param Kraft j: Last som skal påføres ``mast``
    :param float fh: Kontakttrådhøyde :math:`[m]`
    :return: Matrise med forskyvningsbidrag :math:`[mm]`
    :rtype: :class:`numpy.array`
    """

    D = numpy.zeros((5, 8, 3))

    if j.e[0] < 0:

        E = mast.E
        delta_topp = mast.h + j.e[0]
        delta_topp = 0 if delta_topp < 0 else delta_topp
        L = (mast.h - delta_topp) * 1000
        delta_y = integrate.quad(mast.Iy_int_P, 0, L, args=(delta_topp,))
        delta_z = integrate.quad(mast.Iz_int_P, 0, L, args=(delta_topp,))
        I_y = L ** 3 / (3 * delta_y[0])
        I_z = L ** 3 / (3 * delta_z[0])
        f_y = j.f[1]
        f_z = j.f[2]
        x = -j.e[0] * 1000
        fh *= 1000

        if fh > x:
            D[j.type[1], j.type[0], 1] = (f_z * x**2) / (6 * E * I_y) * (3 * fh - x)
            D[j.type[1], j.type[0], 0] = (f_y * x**2) / (6 * E * I_z) * (3 * fh - x)
        else:
            D[j.type[1], j.type[0], 1] = (f_z * fh ** 2) / (6 * E * I_y) * (3 * x - fh)
            D[j.type[1], j.type[0], 0] = (f_y * fh ** 2) / (6 * E * I_z) * (3 * x - fh)

    return D
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号