mach_eval.analyzers.electromagnetic package
bfield_outer_stator Module
- class mach_eval.analyzers.electromagnetic.bfield_outer_stator.BFieldOuterStator(mmf: numpy.array, n: numpy.array, delta_e, r_si, r_rfe, alpha_so)
Bases:
BFieldClass representing radial B field across motor airgap and tangential B field at stator inner bore
- MMF
Current linkage or Magneto-Motive Force [A-turns]
- n
Harmonic corresponding to MMF
- delta_e
Effective airgap [m]
- r_si
Inner radius of the stator [m]
- r_rfe
Outer radius of rotor iron [m]
- alpha_so
stator slot opening [radians]
- radial(alpha, r=None, harmonics=None)
Determines radial B field at angle(s) alpha and radius r
- Parameters:
alpha – A numpy array holding angles at which B field is calculated.
r – Radius at which B field is calculated. Should be of type int or float.
harmonics – Optional argument to get fields from select harmonics alone. Type numpy array
- Returns:
A numpy array of normal B fields in airgap at radius r and angle(s) alpha
- Return type:
b_radial
- radial_harmonics(r=None)
Determines radial B field harmonics at radius r
- Parameters:
r – Radius at which B field harmonics are calculated. Should be of type int or float. Defaults to inner bore of stator if not defined.
- Returns:
A numpy array of normal B field harmonics at r
- Return type:
b_radial_h
- tan(alpha, r=None, harmonics=None)
Determines tanglential B field at angle(s) alpha and inner bore of stator r_si
- Parameters:
alpha – A numpy array holding angles at which B field is calculated.
harmonics – Optional argument to get fields from select harmonics alone. Type numpy array
- Returns:
A numpy array of tangential B fields
- Return type:
b_tan
- tangential_harmonics()
Determines radial B field harmonics at inner bore of stator
- Parameters:
r – Radius at which B field harmonics are calculated. Should be of type int or float.
- Returns:
A numpy array of normal B field harmonics at r
- Return type:
b_radial_h
- class mach_eval.analyzers.electromagnetic.bfield_outer_stator.BFieldOuterStatorAnalyzer
Bases:
objectAnalyzer class to evaluate stator radial B field
- analyze(problem=None)
Determines normal B-field at radius r due to stator windings
- Parameters:
problem – Object of type OuterStatorBfieldProblem
- Returns:
Radial magnetic field at radius r from stator windings [T]
- Return type:
b_field
- class mach_eval.analyzers.electromagnetic.bfield_outer_stator.BFieldOuterStatorProblem1(m, zq, N, k_w, I_hat, n, delta_e, r_si, r_rfe, alpha_so)
Bases:
objectProblem class for stator radial B field analyzer .. attribute:: MMF
Current linkage or Magneto-Motive Force [A-turns]
- n
Harmonic corresponding to MMF
- delta_e
Effective airgap [m]
- r_si
Inner radius of the stator [m]
- r_rfe
Outer radius of rotor iron [m]
- alpha_so
stator slot opening [radians]
- mmf(m, zq, N, n, k_w, I_hat)
Determines electric loading of winding
- Parameters:
m – number of phases
zq – number of turns
r_si – inner stator radius
N – number of coils per phase
k_w – winding factor
I_hat – peak current
- Returns:
Current linkage or Magneto-Motive Force
- Return type:
mmf
- class mach_eval.analyzers.electromagnetic.bfield_outer_stator.BFieldOuterStatorProblem2(MMF, n, delta_e, r_si, r_rfe, alpha_so)
Bases:
objectProblem class for stator radial B field analyzer .. attribute:: MMF
Current linkage or Magneto-Motive Force [A-turns]
- n
Harmonic corresponding to MMF
- delta_e
Effective airgap [m]
- r_si
Inner radius of the stator [m]
- r_rfe
Outer radius of rotor iron [m]
- alpha_so
stator slot opening [radians]
bfield_spm_inner_rotor Module
- class mach_eval.analyzers.electromagnetic.bfield_spm_inner_rotor.BFieldSPM_InnerRotor(alpha_p, theta, p, muR, Br, r_fe, dm, delta, mag_dir)
Bases:
BFieldClass representing radial B field across motor airgap of SPM from arc magnets
- alpha_p
angular length of magnet in pu
- p
Number of pole pairs
- muR
Relative permeability
- r_fe
Outer radius of rotor iron
- dm
Thickness of magnet
- delta
Rotor sleeve and airgap dimension
- mag_dir
Direction of magnetization, ‘parallel’ or ‘radial’
- radial(alpha, r=None, harmonics=None)
Determines radial B field at angle(s) alpha and radius r
- Parameters:
alpha – A numpy array holding angles at which B field is calculated.
r – Radius at which B field is calculated.
theta – Angular orientation of PM rotor d-axis.
harmonics – A numpy array holding holding harmonics of interest.
- Returns:
A numpy array of normal B fields in airgap at radius r and angle(s) alpha
- Return type:
b_radial
- radial_harmonics(r=None, harmonics=None)
Determines radial B field harmonics at radius r
- Parameters:
r – Radius at which B field is calculated. Should be of type int or float. Defaults to inner bore of stator if not defined.
theta – angular orientation of PM rotor d-axis
harmonics – A numpy array holding holding harmonics of interest. Considers 1st thirteen harmonics of p if not defined
- Returns:
A numpy array of radial B field harmonics corresponding harmonics array
- Return type:
b_rad_h
- tan(alpha, r=None, harmonics=None)
Determines tangential B field at angle(s) alpha and radius r
- Parameters:
alpha – A numpy array holding angles at which B field is calculated.
r – Radius at which B field is calculated. Should be of type int or float
theta – angular orientation of PM rotor d-axis
harmonics – A numpy array holding holding harmonics of interest
- Returns:
A numpy array of tangential B fields in airgap at radius r and angle(s) alpha
- Return type:
b_tan
- tan_harmonics(r=None, harmonics=None)
Determines tangential B field harmonics at radius r
- Parameters:
r – Radius at which B field is calculated. Should be of type int or float. Defaults to inner bore of stator if not defined.
theta – angular orientation of PM rotor d-axis
harmonics – A numpy array holding holding harmonics of interest. Considers 1st thirteen harmonics of p if not defined
- Returns:
A numpy array of tangential B field harmonics corresponding harmonics array
- Return type:
b_rad_h
- class mach_eval.analyzers.electromagnetic.bfield_spm_inner_rotor.BFieldSPM_InnerRotorAnalyzer
Bases:
objectAnalyzer class to evaluate SPM arc magnet radial B field
- analyze(problem=None)
Determines normal B-field at radius r due to arc magnets
- Parameters:
problem – Object of type SPM_InnerRotorPMFieldProblem
- Returns:
Radial magnetic field at radius r from stator windings [T]
- Return type:
b_field
- class mach_eval.analyzers.electromagnetic.bfield_spm_inner_rotor.BFieldSPM_InnerRotorProblem(alpha_p, theta, p, muR, Br, r_fe, dm, delta, mag_dir)
Bases:
objectProblem class for stator radial B field analyzer .. attribute:: alpha_p
angular length of magnet in pu
- theta
orientation of rotor d-axis
- p
Number of pole pairs
- muR
Relative permeability
- r_fe
Outer radius of rotor iron
- dm
Thickness of magnet
- delta
Rotor sleeve and airgap dimension
- mag_dir
Direction of magnetization, ‘parallel’ or ‘radial’
winding_factors Module
- class mach_eval.analyzers.electromagnetic.winding_factors.WindingFactorsAnalyzer
Bases:
objectAnalyzer class to evaluate winding factors
- analyze(problem='WindingFactorsProblem')
Determines winding factors using calculations function
- Parameters:
function (Problem class contains all args used in analyze) –
- Returns:
complex winding factor array
- Return type:
kw_final
- calculations(harmonics_list, winding_layout, alpha_1)
- Determines winding factors given harmonics requested, winding
layout, and alpha_1
- Variables:
n: 1D array from 1-harmonics used in iterations layer: layout of layer for single layer winding top_layer: layout of top layer for double layer winding bottom_layer: layout of bottom layer for double layer winding alpha_c: angle between stator teeth filled_slots: number of slots filled in total layout slot: slot at which each term is calculated
- Returns:
winding factor array for each winding layout
- Return type:
k_w
- class mach_eval.analyzers.electromagnetic.winding_factors.WindingFactorsProblem(harmonics_list, winding_layout, alpha_1)
Bases:
objectProblem class for winding factor analyzer .. attribute:: harmonics_list
list of harmonics to be included in calculations []
- winding_layout
array of winding layers beginning with top layer and ending with bottom layer, length will be number of teeth and height will be number of layers, “+1” for conductor into page, 0 for no present conductors, and “-1” for conductor out of page [turns]
- alpha_1
angle of first slot counterclockwise from +x axis [rad]