Skip to content

Fix JMAG analyzer's copper loss calculation method #357

Description

@noguchi-takahiro

The following line in jmag_2d.py is a way of calculating copper losses from JMAG:

@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:

@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:

Image

I think this results in overestimate the copper loss by 24/6 = 4 times?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions