Source code for pyleecan.Methods.Machine.LamSlotWind.comp_masses
# -*- coding: utf-8 -*-
from ....Classes.LamSlot import LamSlot
[docs]def comp_masses(self):
"""Compute the Lamination masses
Parameters
----------
self : LamSlotWind
A LamSlotWind object
Returns
-------
M_dict: dict
Lamination mass dictionary (Mtot, Mlam, Mwind) [kg]
"""
M_dict = LamSlot.comp_masses(self)
if self.winding is not None:
# Check
if self.winding.conductor.cond_mat.struct.rho is None:
if self.is_stator:
lam_name = "Stator"
else:
lam_name = "Rotor"
mat_name = str(self.winding.conductor.cond_mat.name)
raise Exception(
"Error: The "
+ lam_name
+ " winding conductor material ("
+ mat_name
+ ") is not fully defined. Please set struct.rho"
)
# Compute
L_dict = self.comp_lengths_winding()
Mwind = (
self.winding.conductor.comp_surface_active()
* self.winding.conductor.cond_mat.struct.rho
* L_dict["Lwtot"]
)
else:
Mwind = 0
if self.slot is None or self.slot.wedge_mat is None:
M_dict["Mwedge"] = 0
else:
Lf = self.comp_length() # Include radial ventilation ducts
M_dict["Mwedge"] = (
self.slot.wedge_mat.struct.rho
* Lf
* self.get_Zs()
* self.slot.comp_surface_wedges()
)
M_dict["Mtot"] += Mwind + M_dict["Mwedge"]
M_dict["Mwind"] = Mwind
return M_dict