system.py 文件源码

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

项目:python-klmast 作者: staspika 项目源码 文件源码
def _strekklikevekt(self, L, G_sno, T, H_0=None):
        """Finner kabelstrekk under gitte forhold for fastavspent ledning.

        Følgende likevektsligning ligger til grunn for beregningene:

        :math:`H_x^2 [H_x - H_0 + \\frac{EA(G_0 L)^2}{24H_0^2} + EA\\alpha \\Delta_T]
        = \\frac{EA(G_x L)^2}{24}`

        Ligningen for kabellikevekten er hentet fra «KL-bibelen» («Contact Lines for
        Electric Railways» av Kiessling, Puschmann etc.) ligning (5.57) side 282.

        Løsningen finnes ved å finne den reelle, positive egenverdien
        tilhørende "companion matrix" for residualfunksjonens koeffisienter.

        :param float H_0: Initiell spennkraft i kabel :math:`[N]`
        :param float E: Kabelens E-modul :math:`[\\frac{N}{mm^2}]`
        :param float A: Kabelens tverrsnittsareal :math:`[mm^2]`
        :param float G_0: Kabelens egenvekt :math:`[\\frac{N}{m}]`
        :param float G_sno: Egenvekt snølast :math:`[\\frac{N}{m}]`
        :param float L: Masteavstand :math:`[m]`
        :param float alpha: Lengdeutvidelseskoeffisient :math:`[\\frac{1}{^{\\circ}C}]`
        :param float T: Lufttemperatur :math:`[^{\\circ}C]`
        :return: Endelig kabelstrekk ``H_x`` :math:`[N]`
        :rtype: :class:`float`
        """

        # Inngangsparametre
        if H_0 is not None:
            H_0 = H_0
        else:
            H_0 = self.temperaturdata["5C"]["s"]
        E = self.E
        A = self.A
        G_0 = self.G_0
        alpha = self.alpha
        G_x = G_0 + G_sno
        delta_T = T - 5

        # Konstanter
        a = E * A * (G_x * L) ** 2 / 24
        b = - H_0 + E * A * (G_0 * L) ** 2 / (24 * H_0 ** 2) + E * A * alpha * delta_T

        roots = numpy.roots([-1, -b, 0, a])
        H_x = 0
        for r in roots:
            if numpy.isreal(r) and r > 0:
                H_x = numpy.real(r)
                break

        return H_x
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号