Skip to content

Commit

Permalink
Apply changes to Modelica.Magnetic.QuasiStaic.FundamentalWave
Browse files Browse the repository at this point in the history
  • Loading branch information
christiankral committed Nov 14, 2022
1 parent 3382f14 commit 272d6b4
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 37 deletions.
Expand Up @@ -196,6 +196,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 @@ -2,8 +2,8 @@ within Modelica.Magnetic.QuasiStatic.FundamentalWave.BasicMachines.InductionMach
model IM_SlipRing "Induction machine with slip ring rotor"
parameter Integer mr(min=3) = m "Number of rotor phases" annotation(Evaluate=true);
extends BaseClasses.Machine(
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 @@ -22,25 +22,23 @@ model IM_SlipRing "Induction machine with slip ring rotor"
final lossPowerRotorCore=rotor.core.lossPower,
final lossPowerBrush=0,
final powerRotor=
Modelica.Electrical.QuasiStatic.Polyphase.Functions.activePower(
vr,
ir)));
Modelica.Electrical.QuasiStatic.Polyphase.Functions.activePower(vr, ir)));

Modelica.Electrical.QuasiStatic.Polyphase.Interfaces.NegativePlug
plug_rn(final m=mr) "Negative plug of rotor" annotation (Placement(
transformation(extent={{-110,-50},{-90,-70}})));
Modelica.Electrical.QuasiStatic.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 per phase" 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 per phase 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 @@ -2,8 +2,8 @@ within Modelica.Magnetic.QuasiStatic.FundamentalWave.BasicMachines.InductionMach
model IM_SquirrelCage "Induction machine with squirrel cage"
// Removed from extension of FUNDAMENTAL WAVE model: is(start=zeros(m)) ##
extends BaseClasses.Machine(
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 @@ -19,15 +19,15 @@ model IM_SquirrelCage "Induction machine with squirrel cage"
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 per phase" 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 @@ -2,8 +2,8 @@ within Modelica.Magnetic.QuasiStatic.FundamentalWave.BasicMachines.SynchronousMa
model SM_ElectricalExcited
"Electrical excited synchronous machine with optional damper cage"
extends BaseClasses.Machine(
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 @@ -27,18 +27,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 per phase, 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 per phase, 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 @@ -51,7 +51,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 @@ -122,8 +122,8 @@ model SM_ElectricalExcited
final TOperational=TrOperational,
final RRef(d=Rrd, q=Rrq),
final alpha20=alpha20r,
final effectiveTurns=sqrt(m/2.0)*effectiveStatorTurns) if
useDamperCage
final effectiveTurns=sqrt(m/2.0)*effectiveStatorTurns)
if useDamperCage
"Symmetric rotor cage winding including resistances and stray inductances"
annotation (Placement(transformation(
extent={{-10,-10},{10,10}},
Expand Down
Expand Up @@ -2,8 +2,8 @@ within Modelica.Magnetic.QuasiStatic.FundamentalWave.BasicMachines.SynchronousMa
model SM_PermanentMagnet
"Permanent magnet synchronous machine with optional damper cage"
extends BaseClasses.Machine(
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_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 per phase, 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 per phase, 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_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 @@ -106,8 +106,8 @@ model SM_PermanentMagnet
final TRef=TrRef,
final TOperational=TrOperational,
final alpha20=alpha20r,
final effectiveTurns=sqrt(m/2.0)*effectiveStatorTurns) if
useDamperCage
final effectiveTurns=sqrt(m/2.0)*effectiveStatorTurns)
if useDamperCage
"Symmetric rotor cage winding including resistances and stray inductances"
annotation (Placement(transformation(
extent={{-10,-10},{10,10}},
Expand Down
Expand Up @@ -2,8 +2,8 @@ within Modelica.Magnetic.QuasiStatic.FundamentalWave.BasicMachines.SynchronousMa
model SM_ReluctanceRotor
"Synchronous reluctance machine with optional damper cage"
extends BaseClasses.Machine(
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 @@ -21,18 +21,18 @@ model SM_ReluctanceRotor
powerBalance(final lossPowerRotorWinding=damperCageLossPower,
final lossPowerRotorCore=0));

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 per phase, 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 per phase, 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 @@ -45,7 +45,7 @@ model SM_ReluctanceRotor
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 @@ -91,8 +91,8 @@ model SM_ReluctanceRotor
final TRef=TrRef,
final TOperational=TrOperational,
final alpha20=alpha20r,
final effectiveTurns=sqrt(m/2.0)*effectiveStatorTurns) if
useDamperCage
final effectiveTurns=sqrt(m/2.0)*effectiveStatorTurns)
if useDamperCage
"Symmetric rotor cage winding including resistances and stray inductances"
annotation (Placement(transformation(
extent={{-10,-10},{10,10}},
Expand Down

0 comments on commit 272d6b4

Please sign in to comment.