-
Notifications
You must be signed in to change notification settings - Fork 5
Description
The following line in jmag_2d.py is a way of calculating copper losses from JMAG:
eMach/mach_eval/analyzers/electromagnetic/bspm/jmag_2d.py
Lines 175 to 182 in a86c775
| @property | |
| def copper_loss(self): | |
| copper_loss_per_phase = ( | |
| ((self.current_trms / 2) ** 2 + self.current_srms ** 2) * self.R_wdg | |
| ) | |
| copper_loss = self.m * copper_loss_per_phase | |
| return copper_loss |
This code calculate the copper loss per phase and then multiplies it by number of phase to obtain the total copper loss. Here I believe m represents the number of phase (which should be 6 in the case of the parallel winding). However, if we see the definition of m:
eMach/mach_eval/analyzers/electromagnetic/bspm/jmag_2d.py
Lines 159 to 162 in a86c775
| @property | |
| def m(self): | |
| m = len(self.machine_variant.coil_groups) | |
| return m |
this uses len() function to get the length of the coil group, which for example is defined as:
| "coil_groups": ['b', 'a', 'b', 'a', 'b', 'a'], |
In this case, m should be return as 6 which is same as the number of the phase. However, we sometimes define this dictionary as follows:
This is example is coming from Sandia machine with 24 slot machine. In this case, it returns 24 (number of slot) when we calculate m.
I think this results in overestimate the copper loss by 24/6 = 4 times?
