def _torsjonsvinkel(mast, j, fh, sign):
"""Beregner torsjonsvinkel i kontakttrådhøyde grunnet en eksentrisk horisontal last.
Funksjonen beregner torsjonsvinkel i grader basert på følgende bjelkeformel:
:math:`\\phi = \\frac{T}{2EC_w\\lambda}
[\\frac{sinh(\\lambda(x-fh))-sinh(\\lambda x)}{cosh(\\lambda x)} + \\lambda*fh],
\\ \\lambda = \\sqrt{\\frac{GI_T}{EC_w}}`
: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]`
:param float sign: Fortegn for torsjonsmoment
:return: Matrise med rotasjonsbidrag :math:`[^{\\circ}]`
:rtype: :class:`numpy.array`
"""
D = numpy.zeros((5, 8, 3))
if j.e[0] < 0:
if j.navn.startswith("Sidekraft: KL"):
T = (j.f[1] * -j.e[2] + j.f[2] * j.e[1]) * 1000
else:
T = sign*(abs(j.f[1] * -j.e[2]) + abs(j.f[2] * j.e[1])) * 1000
E = mast.E
G = mast.G
I_T = mast.It
C_w = mast.Cw
lam = math.sqrt(G * I_T / (E * C_w))
fh = fh * 1000
x = -j.e[0] * 1000
D[j.type[1], j.type[0], 2] = (180/math.pi) * T/(E*C_w*lam**3) * ((math.sinh(lam*(x-fh))
- math.sinh(lam*x))/math.cosh(lam*x) + lam*fh)
return D
评论列表
文章目录