windfac.gms : Winding Factor of Electrical Machines
This model determines the optimal winding factor for electrical
machines.
Reference:
- Michna, M, and Gdanska, P, Winding Factor of Electrica Machines.
Small Model of Type: MINLP
$Title Winding Factor of Electrical Machines (WINDFAC, SEQ=224)
$ontext
This model determines the optimal winding factor for electrical
machines.
Michna, M, and Gdanska, P, Winding Factor of Electrical Machines, 1984.
$offtext
scalar ms number of phases /3/
p number of pole pairs /2/
pi pi /3.141592654/
K harmonic order /5/
ns coil span /1/;
Variables
q number of slots per one phase and per one pole
Nz number of slots
alfae
tauz slots pitch
s span
Integer variables q,Nz,s;
q.lo = 1; q.up = 10;
Nz.lo = 1;
s.lo=1;
alfae.l = 1.5;
tauz.l = 1.0;
variables kz1, kz3, kz5 coil-group factor
ks1, ks3, ks5 coil-span factor
kw, kw3, kw5 winding factor
kw1 winding factor for first harmonic;
kw1.lo = 0.8;
equations
def_Nz, def_alfae, def_tauz, def_s, def_kz1, def_ks1, def_kw1,
def_kz3, def_ks3, def_kw3, def_kz5, def_ks5, def_kw5, def_kw;
def_Nz.. Nz =e= 2 * ms * q * p;
def_alfae.. alfae =e= (2 * pi * p)/Nz;
def_tauz.. tauz =e= Nz / (2*p);
def_s.. s =e= tauz - ns;
def_kz1.. (q * sin( alfae / 2)) * kz1 =e= sin(q * alfae / 2);
def_ks1.. ks1 =e= sin((s * pi) / (tauz * 2));
def_kw1.. kw1 =e= ks1 * kz1;
def_kz3.. (q * sin(3 * alfae / 2)) * kz3 =e= sin(3 * q * alfae / 2);
def_ks3.. ks3 =e= sin((3 * s * pi) / (tauz * 2));
def_kw3.. kw3 =e= ks3 * kz3;
def_kz5.. (q * sin(5 * alfae / 2)) * kz5 =e= sin(5 * q * alfae / 2);
def_ks5.. ks5 =e= sin((5 * s * pi) / (tauz * 2));
def_kw5.. kw5 =e= ks5 * kz5;
def_kw.. kw =e= kw3 * kw3 + kw5 * kw5;
model wind /all/;
solve wind minimizing kw using minlp;