Skip to content

Commit

Permalink
Apply changes to Modelica.Magnetic.FundamentalWave
Browse files Browse the repository at this point in the history
  • Loading branch information
christiankral committed Nov 14, 2022
1 parent 8cbf2be commit 3382f14
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 30 deletions.
6 changes: 4 additions & 2 deletions Modelica/Magnetic/FundamentalWave/BaseClasses/Machine.mo
Expand Up @@ -18,7 +18,7 @@ partial model Machine "Base model of machines"
parameter SI.Temperature TsOperational(start=293.15)
"Operational temperature of stator resistance" annotation (Dialog(group=
"Operational temperatures", enable=not useThermalPort));
parameter SI.Resistance Rs(start=0.03)
parameter SI.Resistance Rs(start=ZsRef*0.03)
"Stator resistance per phase at TRef"
annotation (Dialog(tab="Nominal resistances and inductances"));
parameter SI.Temperature TsRef(start=293.15)
Expand All @@ -30,7 +30,7 @@ partial model Machine "Base model of machines"
"Temperature coefficient of stator resistance at 20 degC"
annotation (Dialog(tab="Nominal resistances and inductances"));
parameter Real effectiveStatorTurns=1 "Effective number of stator turns";
parameter SI.Inductance Lssigma(start=3*(1 - sqrt(1 -
parameter SI.Inductance Lssigma(start=3*ZsRef*(1 - sqrt(1 -
0.0667))/(2*pi*fsNominal)) "Stator stray inductance"
annotation (Dialog(tab="Nominal resistances and inductances"));
parameter Real ratioCommonStatorLeakage(final min=0, final max=1)=1
Expand Down Expand Up @@ -170,6 +170,8 @@ partial model Machine "Base model of machines"
annotation (Placement(transformation(extent={{-44,-94},{-36,-86}})));
Modelica.Mechanics.Rotational.Interfaces.Support internalSupport
annotation (Placement(transformation(extent={{56,-104},{64,-96}})));
protected
final parameter SI.Impedance ZsRef = 1 "Reference phase impedance based on nominal voltage 100 V and nominal current 100 A; per phase";
initial algorithm
assert(not Modelica.Math.isPowerOf2(m), String(m) +
" phases are currently not supported in this version of FundametalWave");
Expand Down
Expand Up @@ -3,8 +3,8 @@ model IM_SlipRing "Induction machine with slip ring rotor"
parameter Integer mr(min=3) = m "Number of rotor phases" annotation(Evaluate=true);
extends Magnetic.FundamentalWave.BaseClasses.Machine(
is(start=zeros(m)),
Rs(start=0.03),
Lssigma(start=3*(1 - sqrt(1 - 0.0667))/(2*pi*fsNominal)),
Rs(start=0.03*ZsRef),
Lssigma(start=3*ZsRef*(1 - sqrt(1 - 0.0667))/(2*pi*fsNominal)),
final L0(d=2.0*Lm/m/effectiveStatorTurns^2, q=2.0*Lm/m/effectiveStatorTurns
^2),
redeclare final
Expand All @@ -31,11 +31,11 @@ model IM_SlipRing "Induction machine with slip ring rotor"
Modelica.Electrical.Polyphase.Interfaces.PositivePlug plug_rp(final m=
mr) "Positive plug of rotor" annotation (Placement(transformation(
extent={{-110,70},{-90,50}})));
parameter SI.Inductance Lm(start=3*sqrt(1 - 0.0667)/(2*pi
parameter SI.Inductance Lm(start=3*ZsRef*sqrt(1 - 0.0667)/(2*pi
*fsNominal)) "Stator main field inductance" annotation (Dialog(
tab="Nominal resistances and inductances", groupImage=
"modelica://Modelica/Resources/Images/Electrical/Machines/IMS.png"));
parameter SI.Inductance Lrsigma(start=3*(1 - sqrt(1 -
parameter SI.Inductance Lrsigma(start=3*ZsRef*(1 - sqrt(1 -
0.0667))/(2*pi*fsNominal))
"Rotor leakage inductance w.r.t. rotor side"
annotation (Dialog(tab="Nominal resistances and inductances"));
Expand All @@ -45,7 +45,7 @@ model IM_SlipRing "Induction machine with slip ring rotor"
parameter SI.Inductance Lrzero=Lrsigma
"Rotor zero inductance w.r.t. rotor side"
annotation (Dialog(tab="Nominal resistances and inductances"));
parameter SI.Resistance Rr(start=0.04)
parameter SI.Resistance Rr(start=0.04*ZsRef)
"Rotor resistance per phase w.r.t. rotor side"
annotation (Dialog(tab="Nominal resistances and inductances"));
parameter SI.Temperature TrRef(start=293.15)
Expand Down
Expand Up @@ -3,8 +3,8 @@ model IM_SquirrelCage
"Induction machine with squirrel cage"
extends Magnetic.FundamentalWave.BaseClasses.Machine(
is(start=zeros(m)),
Rs(start=0.03),
Lssigma(start=3*(1 - sqrt(1 - 0.0667))/(2*pi*fsNominal)),
Rs(start=0.03*ZsRef),
Lssigma(start=3*ZsRef*(1 - sqrt(1 - 0.0667))/(2*pi*fsNominal)),
final L0(d=2.0*Lm/m/effectiveStatorTurns^2, q=2.0*Lm/m/effectiveStatorTurns
^2),
redeclare final
Expand All @@ -20,15 +20,15 @@ model IM_SquirrelCage
Modelica.Electrical.Machines.Interfaces.InductionMachines.PowerBalanceIMC
powerBalance(final lossPowerRotorWinding=sum(rotorCage.resistor.resistor.LossPower),
final lossPowerRotorCore=0));
parameter SI.Inductance Lm(start=3*sqrt(1 - 0.0667)/(2*pi
parameter SI.Inductance Lm(start=3*ZsRef*sqrt(1 - 0.0667)/(2*pi
*fsNominal)) "Stator main field inductance" annotation (Dialog(
tab="Nominal resistances and inductances", groupImage=
"modelica://Modelica/Resources/Images/Electrical/Machines/IMC.png"));
parameter SI.Inductance Lrsigma(start=3*(1 - sqrt(1 -
parameter SI.Inductance Lrsigma(start=3*ZsRef*(1 - sqrt(1 -
0.0667))/(2*pi*fsNominal))
"Rotor leakage inductance of equivalent m phase winding w.r.t. stator side"
annotation (Dialog(tab="Nominal resistances and inductances"));
parameter SI.Resistance Rr(start=0.04)
parameter SI.Resistance Rr(start=0.04*ZsRef)
"Rotor resistance of equivalent m phase winding w.r.t. stator side"
annotation (Dialog(tab="Nominal resistances and inductances"));
parameter SI.Temperature TrRef(start=293.15)
Expand Down
Expand Up @@ -3,8 +3,8 @@ model SM_ElectricalExcited
"Electrical excited synchronous machine with optional damper cage"
extends Magnetic.FundamentalWave.BaseClasses.Machine(
is(start=zeros(m)),
Rs(start=0.03),
Lssigma(start=0.1/(2*pi*fsNominal)),
Rs(start=0.03*ZsRef),
Lssigma(start=0.1*ZsRef/(2*pi*fsNominal)),
final L0(d=2.0*Lmd/m/effectiveStatorTurns^2, q=2.0*Lmq/m/
effectiveStatorTurns^2),
redeclare final
Expand All @@ -28,18 +28,18 @@ model SM_ElectricalExcited
final lossPowerBrush=brush.lossPower,
final lossPowerRotorCore=0));
// Main field parameters
parameter SI.Inductance Lmd(start=1.5/(2*pi*fsNominal))
parameter SI.Inductance Lmd(start=1.5*ZsRef/(2*pi*fsNominal))
"Stator main field inductance, d-axis" annotation (Dialog(tab=
"Nominal resistances and inductances", groupImage=
"modelica://Modelica/Resources/Images/Electrical/Machines/SMEE.png"));
parameter SI.Inductance Lmq(start=1.5/(2*pi*fsNominal))
parameter SI.Inductance Lmq(start=1.5*ZsRef/(2*pi*fsNominal))
"Stator main field inductance, q-axis"
annotation (Dialog(tab="Nominal resistances and inductances"));
// Rotor cage parameters
parameter Boolean useDamperCage(start=true)
"Enable/disable damper cage" annotation (Dialog(tab=
"Nominal resistances and inductances", group="Damper cage"));
parameter SI.Inductance Lrsigmad(start=0.05/(2*pi*
parameter SI.Inductance Lrsigmad(start=0.05*ZsRef/(2*pi*
fsNominal))
"Rotor damper cage leakage inductance, d-axis, w.r.t. stator side" annotation (
Dialog(
Expand All @@ -52,7 +52,7 @@ model SM_ElectricalExcited
tab="Nominal resistances and inductances",
group="Damper cage",
enable=useDamperCage));
parameter SI.Resistance Rrd(start=0.04)
parameter SI.Resistance Rrd(start=0.04*ZsRef)
"Rotor damper cage resistance, d-axis, w.r.t. stator side" annotation (Dialog(
tab="Nominal resistances and inductances",
group="Damper cage",
Expand Down
Expand Up @@ -3,8 +3,8 @@ model SM_PermanentMagnet
"Permanent magnet synchronous machine with optional damper cage"
extends Magnetic.FundamentalWave.BaseClasses.Machine(
is(start=zeros(m)),
Rs(start=0.03),
Lssigma(start=0.1/(2*pi*fsNominal)),
Rs(start=0.03*ZsRef),
Lssigma(start=0.1*ZsRef/(2*pi*fsNominal)),
final L0(d=2.0*Lmd/m/effectiveStatorTurns^2, q=2.0*Lmq/m/
effectiveStatorTurns^2),
redeclare final
Expand All @@ -26,18 +26,18 @@ model SM_PermanentMagnet
final lossPowerRotorCore=0,
final lossPowerPermanentMagnet=permanentMagnet.lossPower));
// Main field parameters
parameter SI.Inductance Lmd(start=0.3/(2*pi*fsNominal))
parameter SI.Inductance Lmd(start=0.3*ZsRef/(2*pi*fsNominal))
"Stator main field inductance, d-axis" annotation (Dialog(tab=
"Nominal resistances and inductances", groupImage=
"modelica://Modelica/Resources/Images/Electrical/Machines/SMPM.png"));
parameter SI.Inductance Lmq(start=0.3/(2*pi*fsNominal))
parameter SI.Inductance Lmq(start=0.3*ZsRef/(2*pi*fsNominal))
"Stator main field inductance, q-axis"
annotation (Dialog(tab="Nominal resistances and inductances"));
// Rotor cage parameters
parameter Boolean useDamperCage(start=true)
"Enable/disable damper cage" annotation (Dialog(tab=
"Nominal resistances and inductances", group="Damper cage"));
parameter SI.Inductance Lrsigmad(start=0.05/(2*pi*
parameter SI.Inductance Lrsigmad(start=0.05*ZsRef/(2*pi*
fsNominal))
"Rotor damper cage leakage inductance, d-axis, w.r.t. stator side" annotation (
Dialog(
Expand All @@ -50,7 +50,7 @@ model SM_PermanentMagnet
tab="Nominal resistances and inductances",
group="Damper cage",
enable=useDamperCage));
parameter SI.Resistance Rrd(start=0.04)
parameter SI.Resistance Rrd(start=0.04*ZsRef)
"Rotor damper cage resistance, d-axis, w.r.t. stator side" annotation (Dialog(
tab="Nominal resistances and inductances",
group="Damper cage",
Expand Down
Expand Up @@ -2,8 +2,8 @@ within Modelica.Magnetic.FundamentalWave.BasicMachines.SynchronousMachines;
model SM_ReluctanceRotor "Reluctance machine with optional damper cage"
extends Magnetic.FundamentalWave.BaseClasses.Machine(
is(start=zeros(m)),
Rs(start=0.03),
Lssigma(start=0.1/(2*pi*fsNominal)),
Rs(start=0.03*ZsRef),
Lssigma(start=0.1*ZsRef/(2*pi*fsNominal)),
final L0(d=2.0*Lmd/m/effectiveStatorTurns^2, q=2.0*Lmq/m/
effectiveStatorTurns^2),
redeclare final
Expand All @@ -25,18 +25,18 @@ model SM_ReluctanceRotor "Reluctance machine with optional damper cage"
"Operational temperature of (optional) damper cage" annotation (
Dialog(group="Operational temperatures", enable=not useThermalPort
and useDamperCage));
parameter SI.Inductance Lmd(start=2.9/(2*pi*fsNominal))
parameter SI.Inductance Lmd(start=2.9*ZsRef/(2*pi*fsNominal))
"Stator main field inductance, d-axis" annotation (Dialog(tab=
"Nominal resistances and inductances", groupImage=
"modelica://Modelica/Resources/Images/Electrical/Machines/SMR.png"));
parameter SI.Inductance Lmq(start=0.9/(2*pi*fsNominal))
parameter SI.Inductance Lmq(start=0.9*ZsRef/(2*pi*fsNominal))
"Stator main field inductance, q-axis"
annotation (Dialog(tab="Nominal resistances and inductances"));
// Rotor cage parameters
parameter Boolean useDamperCage(start=true)
"Enable/disable damper cage" annotation (Dialog(tab=
"Nominal resistances and inductances", group="Damper cage"));
parameter SI.Inductance Lrsigmad(start=0.05/(2*pi*
parameter SI.Inductance Lrsigmad(start=0.05*ZsRef/(2*pi*
fsNominal))
"Rotor damper cage leakage inductance, d-axis, w.r.t. stator side" annotation (
Dialog(
Expand All @@ -49,7 +49,7 @@ model SM_ReluctanceRotor "Reluctance machine with optional damper cage"
tab="Nominal resistances and inductances",
group="Damper cage",
enable=useDamperCage));
parameter SI.Resistance Rrd(start=0.04)
parameter SI.Resistance Rrd(start=0.04*ZsRef)
"Rotor damper cage resistance, d-axis, w.r.t. stator side" annotation (Dialog(
tab="Nominal resistances and inductances",
group="Damper cage",
Expand Down

0 comments on commit 3382f14

Please sign in to comment.