Source code for pyleecan.Methods.Slot.HoleM53.comp_W5
# -*- coding: utf-8 -*-
from numpy import exp, sin
from ....Functions.Geometry.inter_line_circle import inter_line_circle
from ....Methods.Slot.HoleM53 import Slot53InterError
[docs]def comp_W5(self):
"""Compute the W5 width of the hole (cf schematics)
Parameters
----------
self : HoleM53
a HoleM53 object
Returns
-------
W5: float
Cf schematics [m]
Raises
--------
Slot53InterError
ERROR: Slot 53, Can't find Z11 coordinates
"""
Rext = self.get_Rext()
Z7 = Rext - self.H0 - 1j * self.W1 / 2
Z8 = Z7 + (self.H2 - self.H3) * sin(self.W4)
Z10 = (self.W2 + self.W3) * exp(-1j * self.W4) + Z8
# Z1 and Z11 are defined as intersection between line and circle
Zlist = inter_line_circle(Z8, Z10, Rext - self.H1)
if len(Zlist) == 2 and Zlist[0].imag < 0 and Zlist[0].real > 0:
Z11 = Zlist[0]
elif len(Zlist) == 2 and Zlist[1].imag < 0 and Zlist[1].real > 0:
Z11 = Zlist[1]
else:
raise Slot53InterError("ERROR: Slot 53, Can't find Z11 coordinates")
return abs(Z11 - Z8) - self.W2 - self.W3