Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,10 @@ equation
connect(terminalBox.starpoint, starMachine.plug_p) annotation (Line(points={{-20,-38},{-40,-38},{-40,-52}}, color={0,0,255}));
connect(starMachine.pin_n, ground.p) annotation (Line(points={{-40,-72},{-40,-80},{-70,-80}}, color={0,0,255}));
connect(starMachineQS.pin_n, groundQS.pin) annotation (Line(points={{-40,28},{-40,20},{-70,20}}, color={85,170,255}));
annotation (experiment(StopTime=1.5, Interval=0.00001, Tolerance=1e-06), Documentation(
annotation (experiment(
StopTime=1.5,
Interval=0.0001,
Tolerance=1e-06), Documentation(
info="<html>
<strong>Test example: Steady-State Initialization of an induction machine with squirrel cage</strong><br>
The induction machine with squirrel cage is initialized in steady-state at no-load;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ equation
annotation (
experiment(
StopTime=10,
Interval=0.0001,
Interval=0.01,
Tolerance=1e-06),
Documentation(info="<html>
<ul>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,3 @@
time
imc.rotorCage.electroMagneticConverter.singlePhaseElectroMagneticConverter[1].Phi.re
imc.rotorCage.electroMagneticConverter.singlePhaseElectroMagneticConverter[2].Phi.im
imc.stator.electroMagneticConverter.singlePhaseElectroMagneticConverter[1].Phi.re
imc.stator.electroMagneticConverter.singlePhaseElectroMagneticConverter[2].Phi.im
// imc.stator.zeroInductor.i0
imcQS.rotorCage.port_p.reference.gamma
mass.s
mass.v
massQS.s
massQS.v
vfController.x
Original file line number Diff line number Diff line change
@@ -1,17 +1,3 @@
time
imc.airGap.V_mrr.im
imc.airGap.V_mrr.re
imc.airGap.V_msr.im
imc.airGap.V_msr.re
imc.rotorCage.electroMagneticConverter.singlePhaseElectroMagneticConverter[1].Phi.re
imc.rotorCage.electroMagneticConverter.singlePhaseElectroMagneticConverter[2].Phi.im
imc.stator.electroMagneticConverter.singlePhaseElectroMagneticConverter[1].Phi.re
imc.stator.electroMagneticConverter.singlePhaseElectroMagneticConverter[2].Phi.im
imc.stator.port_p.V_m.im
imc.stator.port_p.V_m.re
// imc.stator.zeroInductor.i0
imcQS.rotorCage.port_p.reference.gamma
loadInertia.phi
loadInertia.w
loadInertiaQS.phi
loadInertiaQS.w
Original file line number Diff line number Diff line change
@@ -1,13 +1,3 @@
time
imc.rotorCage.electroMagneticConverter.singlePhaseElectroMagneticConverter[1].Phi.re
imc.rotorCage.electroMagneticConverter.singlePhaseElectroMagneticConverter[2].Phi.im
imc.stator.electroMagneticConverter.singlePhaseElectroMagneticConverter[1].Phi.re
imc.stator.electroMagneticConverter.singlePhaseElectroMagneticConverter[2].Phi.im
// imc.stator.zeroInductor.i0
imcQS.rotorCage.port_p.reference.gamma
loadInertia.phi
loadInertia.w
loadInertiaQS.phi
loadInertiaQS.w
transformer.l2sigma.inductor[1].i
transformer.l2sigma.inductor[3].i
Original file line number Diff line number Diff line change
@@ -1,11 +1,3 @@
time
imc.rotorCage.electroMagneticConverter.singlePhaseElectroMagneticConverter[1].Phi.re
imc.rotorCage.electroMagneticConverter.singlePhaseElectroMagneticConverter[2].Phi.im
imc.stator.electroMagneticConverter.singlePhaseElectroMagneticConverter[1].Phi.re
imc.stator.electroMagneticConverter.singlePhaseElectroMagneticConverter[2].Phi.im
// imc.stator.zeroInductor.i0
imcQS.rotorCage.port_p.reference.gamma
loadInertia.phi
loadInertia.w
loadInertiaQS.phi
loadInertiaQS.w
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
time
constantSpeed.phi
constantSpeedQS.phi
smee.excitation.electroMagneticConverter.Phi.re
smee.stator.electroMagneticConverter.singlePhaseElectroMagneticConverter[1].Phi.re
smee.stator.electroMagneticConverter.singlePhaseElectroMagneticConverter[2].Phi.im
smee.stator.stray.port_p.Phi.im
smee.stator.stray.port_p.Phi.re
// smee.stator.zeroInductor.i0
smeeQS.short.port_p.reference.gamma
Ptr
Pqs
Original file line number Diff line number Diff line change
@@ -1,17 +1,3 @@
time
inertiaLoad.phi
inertiaLoad.w
inertiaLoadQS.phi
inertiaLoadQS.w
terminalBoxQS.plugSupply.pin[1].v.re
terminalBoxQS.plugSupply.pin[1].v.im
terminalBoxQS.plugSupply.pin[1].i.re
terminalBoxQS.plugSupply.pin[1].i.im
terminalBoxQS.plugSupply.pin[2].v.re
terminalBoxQS.plugSupply.pin[2].v.im
terminalBoxQS.plugSupply.pin[2].i.re
terminalBoxQS.plugSupply.pin[2].i.im
terminalBoxQS.plugSupply.pin[3].v.re
terminalBoxQS.plugSupply.pin[3].v.im
terminalBoxQS.plugSupply.pin[3].i.re
terminalBoxQS.plugSupply.pin[3].i.im
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
within ModelicaTest.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines;
model IMC_Conveyor "Induction machine with squirrel cage and inverter driving a conveyor"
extends Modelica.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines.IMC_Conveyor;
annotation (experiment(StopTime=5.00, Interval=0.0001, Tolerance=1e-06),
TestCase(shouldPass = true,
__ModelicaAssociation(Comparison(TimeWindows={TimeSlot(4.00, 5.00)}))),
Documentation(
info="<html>
<p>
An ideal frequency inverter is modeled by using a VfController and a three-phase SignalVoltage.
Frequency is driven by a load cycle of acceleration, constant speed, deceleration and standstill.
The mechanical load is a constant torque like a conveyor (with regularization around zero speed).
</p>
<p>Simulate for 20 seconds and plot (versus time):</p>
<ul>
<li><code>currentQuasiRMSSensor|currentQuasiRMSSensorQS.I</code>: (equivalent) stator current RMS</li>
<li><code>imc|imcQS.wMechanical</code>: machine speed</li>
<li><code>imc|imcQS.tauElectrical</code>: machine torque</li>
</ul>
<p>Default machine parameters are used.</p>
</html>"),
Diagram(graphics={
Text(
extent={{20,60},{100,52}},
textStyle={TextStyle.Bold},
textString="%m phase quasi-static"),
Text(
extent={{20,-40},{100,-48}},
textStyle={TextStyle.Bold},
textString="%m phase transient")}));
end IMC_Conveyor;
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
within ModelicaTest.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines;
model IMC_Initialize "Steady-state initialization of induction machine with squirrel cage"
extends Modelica.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines.IMC_Initialize;
annotation (experiment(
StopTime=0.60,
Interval=0.0001,
Tolerance=1e-06),
TestCase(shouldPass = true,
__ModelicaAssociation(Comparison(TimeWindows={TimeSlot(0.45, 0.60)}))),
Documentation(
info="<html>
<strong>Test example: Steady-State Initialization of an induction machine with squirrel cage</strong><br>
The induction machine with squirrel cage is initialized in steady-state at no-load;
at time tStart a load torque step is applied.<br>
Simulate for 1.5 seconds and plot (versus time):
<ul>
<li><code>currentQuasiRMSSensor|currentQuasiRMSSensorQS.I</code>: (equivalent) RMS stator current</li>
<li><code>imc|imcQS.wMechanical</code>: machine speed</li>
<li><code>imc|imcQS.tauElectrical</code>: machine torque</li>
</ul>
Default machine parameters of model <em>IM_SquirrelCage</em> are used.
</html>"),
Diagram(graphics={
Text(
extent={{20,8},{100,0}},
textStyle={TextStyle.Bold},
textString="%m phase quasi-static"),
Text(
extent={{20,-92},{100,-100}},
textStyle={TextStyle.Bold},
textString="%m phase transient")}));
end IMC_Initialize;
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
within ModelicaTest.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines;
model IMC_Transformer "Induction machine with squirrel cage starting with transformer"
extends Modelica.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines.IMC_Transformer;

annotation (experiment(StopTime=2.1, Interval=0.0001, Tolerance=1e-06),
TestCase(shouldPass = true,
__ModelicaAssociation(Comparison(TimeWindows={TimeSlot(2.00, 2.10)}))),
Documentation(
info="<html>
<p>At start time tStart1 three-phase voltage is supplied to the induction machine with squirrel cage via the transformer;
the machine starts from standstill, accelerating inertias against load torque quadratic dependent on speed;
at start time tStart2 the machine is fed directly from the voltage source, finally reaching nominal speed.</p>
<p>
Simulate for 2.5 seconds and plot (versus time):</p>

<ul>
<li><code>currentQuasiRMSSensor|currentQuasiRMSSensorQS.I</code>: (equivalent) stator current RMS</li>
<li><code>imc|imcQS.wMechanical</code>: machine speed</li>
<li><code>imc|imcQS.tauElectrical</code>: machine torque</li>
</ul>
<p>Default machine parameters are used.</p>
</html>"),
Diagram(graphics={
Text(
extent={{80,8},{160,0}},
textStyle={TextStyle.Bold},
textString="%m phase quasi-static"),
Text(
extent={{80,-92},{160,-100}},
textStyle={TextStyle.Bold},
textString="%m phase transient")}));
end IMC_Transformer;
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
within ModelicaTest.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines;
model IMC_YD "Induction machine with squirrel cage starting Y-D"
extends Modelica.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines.IMC_YD;

annotation (experiment(StopTime=2.1,Interval=0.0001,Tolerance=1e-06),
TestCase(shouldPass = true,
__ModelicaAssociation(Comparison(TimeWindows={TimeSlot(2.00, 2.10)}))),
Documentation(
info="<html>
<p>
At start time tStart three-phase voltage is supplied to the induction machine with squirrel cage, first star-connected, then delta-connected; the machine starts from standstill, accelerating inertias against load torque quadratic dependent on speed, finally reaching nominal speed.</p>

<p>Simulate for 2.5 seconds and plot (versus time):</p>

<ul>
<li><code>currentQuasiRMSSensor|currentQuasiRMSSensorQS.I</code>: (equivalent) stator current RMS</li>
<li><code>imc|imcQS.wMechanical</code>: machine speed</li>
<li><code>imc|imcQS.tauElectrical</code>: machine torque</li>
</ul>
<p>
Default machine parameters are used.</p>
</html>"),
Diagram(graphics={
Text(
extent={{-60,20},{20,12}},
textStyle={TextStyle.Bold},
textString="%m phase quasi-static"), Text(
extent={{-60,-80},{20,-88}},
textStyle={TextStyle.Bold},
textString="%m phase transient")}));
end IMC_YD;
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
within ModelicaTest.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines;
package InductionMachines "Modelica.Icons.ExamplesPackage"
extends Modelica.Icons.ExamplesPackage;
end InductionMachines;
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
IMC_YD
IMC_Transformer
IMC_Conveyor
IMC_Initialize
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
within ModelicaTest.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.SynchronousMachines;
model SMEE_Generator "Electrical excited synchronous machine operating as generator"
extends Modelica.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.SynchronousMachines.SMEE_Generator;
annotation (
experiment(
StopTime=15.1,
Interval=1E-4,
Tolerance=1e-06),
TestCase(shouldPass = true,
__ModelicaAssociation(Comparison(TimeWindows={TimeSlot(14.9, 15.1)}))),
Documentation(info="<html>
<p>
This example compares a time transient and a quasi-static model of a electrically excited synchronous machine.
The electrically excited synchronous generators are connected to the grid and driven with constant speed.
Since speed is slightly smaller than synchronous speed corresponding to mains frequency,
rotor angle is very slowly increased. This allows to see several characteristics dependent on rotor angle.
</p>

<p>
Simulate for 30 seconds and plot versus <code>rotorAngle|rotorAngleQS.rotorDisplacementAngle</code>:
</p>

<ul>
<li><code>smpm|smpmQS.tauElectrical</code>: machine torque</li>
</ul>

<p>Since the rotor slip is very low the transient and quasi-static electromagnetic torque are practically equal.</p>
</html>"),
Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-100,
-100},{100,100}}),
graphics={ Text(
extent={{20,8},{100,0}},
fillColor={255,255,170},
fillPattern=FillPattern.Solid,
textStyle={TextStyle.Bold},
textString="%m phase quasi-static"), Text(
extent={{20,-92},{100,-100}},
textStyle={TextStyle.Bold},
textString="%m phase transient")}));
end SMEE_Generator;
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
within ModelicaTest.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.SynchronousMachines;
model SMPM_CurrentSource "Test example: PermanentMagnetSynchronousMachine fed by current source"
extends Modelica.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.SynchronousMachines.SMPM_CurrentSource;
annotation (
experiment(StopTime=0.20, Interval=1E-4, Tolerance=1E-6),
TestCase(shouldPass = true,
__ModelicaAssociation(Comparison(TimeWindows={TimeSlot(0.00, 0.20)}))),
Documentation(info="<html>
<p>
This example compares a time transient and a quasi-static model of a permanent magnet synchronous machine. The machines are fed by a current source. The current components are oriented at the magnetic field orientation and transformed to the stator fixed reference frame. This way the machines are operated at constant torque. The machines start to accelerate from standstill.</p>

<p>
Simulate for 2 seconds and plot (versus time):
</p>

<ul>
<li><code>smpm|smpmQS.wMechanical</code>: machine speed</li>
<li><code>smpm|smpmQS.tauElectrical</code>: machine torque</li>
</ul>

<h5>Note</h5>
<p>The resistors connected to the terminals of the windings of the quasi-static machine model are necessary
to numerically stabilize the simulation.</p>
</html>"),
Diagram(coordinateSystem(preserveAspectRatio=false, extent={{-100,
-100},{100,100}}), graphics={
Text(
extent={{30,48},{110,40}},
textStyle={TextStyle.Bold},
textString="%m phase quasi-static"), Text(
extent={{30,-52},{110,-60}},
textStyle={TextStyle.Bold},
textString="%m phase transient")}));
end SMPM_CurrentSource;
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
within ModelicaTest.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines;
package SynchronousMachines
extends Modelica.Icons.ExamplesPackage;
end SynchronousMachines;
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SMPM_CurrentSource
SMEE_Generator
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
within ModelicaTest.Magnetic.QuasiStatic.FundamentalWave.Examples;
package BasicMachines
extends Modelica.Icons.ExamplesPackage;
end BasicMachines;
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
InductionMachines
SynchronousMachines
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
within ModelicaTest.Magnetic.QuasiStatic.FundamentalWave;
package Examples
extends Modelica.Icons.ExamplesPackage;
end Examples;
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
BasicMachines
4 changes: 4 additions & 0 deletions ModelicaTest/Magnetic/QuasiStatic/FundamentalWave/package.mo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
within ModelicaTest.Magnetic.QuasiStatic;
package FundamentalWave
extends Modelica.Icons.ExamplesPackage;
end FundamentalWave;
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Examples
1 change: 1 addition & 0 deletions ModelicaTest/Magnetic/QuasiStatic/package.order
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
FluxTubes
FundamentalWave
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
time
imc.rotorCage.electroMagneticConverter.singlePhaseElectroMagneticConverter[1].Phi.re
imc.rotorCage.electroMagneticConverter.singlePhaseElectroMagneticConverter[2].Phi.im
imc.stator.electroMagneticConverter.singlePhaseElectroMagneticConverter[1].Phi.re
imc.stator.electroMagneticConverter.singlePhaseElectroMagneticConverter[2].Phi.im
// imc.stator.zeroInductor.i0
Comment thread
AHaumer marked this conversation as resolved.
imcQS.rotorCage.port_p.reference.gamma
mass.s
mass.v
massQS.s
massQS.v
vfController.x
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
time
imc.airGap.V_mrr.im
imc.airGap.V_mrr.re
imc.airGap.V_msr.im
imc.airGap.V_msr.re
imc.rotorCage.electroMagneticConverter.singlePhaseElectroMagneticConverter[1].Phi.re
imc.rotorCage.electroMagneticConverter.singlePhaseElectroMagneticConverter[2].Phi.im
imc.stator.electroMagneticConverter.singlePhaseElectroMagneticConverter[1].Phi.re
imc.stator.electroMagneticConverter.singlePhaseElectroMagneticConverter[2].Phi.im
imc.stator.port_p.V_m.im
imc.stator.port_p.V_m.re
// imc.stator.zeroInductor.i0
imcQS.rotorCage.port_p.reference.gamma
loadInertia.phi
loadInertia.w
loadInertiaQS.phi
loadInertiaQS.w
Loading