Source code for pyleecan.Methods.Slot.SlotW12.get_surface_wind
# -*- coding: utf-8 -*-
from numpy import arcsin, exp
from ....Classes.Arc1 import Arc1
from ....Classes.Arc3 import Arc3
from ....Classes.Segment import Segment
from ....Classes.SurfLine import SurfLine
[docs]def get_surface_wind(self, alpha=0, delta=0):
"""Return the full winding surface
Parameters
----------
self : SlotW12
A SlotW12 object
alpha : float
float number for rotation (Default value = 0) [rad]
delta : complex
complex number for translation (Default value = 0)
Returns
-------
surf_wind: Surface
Surface corresponding to the Winding Area
"""
# get the name of the lamination
st = self.get_name_lam()
if self.is_outwards():
Zmid = self.get_Rbo() + self.H0 + 2 * self.R1 + self.H1
else:
Zmid = self.get_Rbo() - self.H0 - 2 * self.R1 - self.H1
if self.R1 > 0:
line_list = self.build_geometry()[2:-2]
else:
line_list = self.build_geometry()[1:-1]
line_list.append(
Segment(begin=line_list[-1].get_end(), end=line_list[0].get_begin())
)
surface = SurfLine(
line_list=line_list, label="Wind_" + st + "_R0_T0_S0", point_ref=Zmid
)
# Apply transformation
surface.rotate(alpha)
surface.translate(delta)
return surface