Ticket #5452: TestIndexReduction5.mo

File TestIndexReduction5.mo, 5.0 KB (added by Francesco Casella, 5 years ago)
Line 
1model TestIndexReduction5
2 extends Modelica.Icons.Example;
3 import Modelica.Constants.pi;
4 import Modelica.Electrical.MultiPhase.Functions.factorY2DC;
5 constant Integer m = 3 "Number of phases";
6 parameter Modelica.SIunits.Voltage VNominal = 400 "Nominal RMS voltage per phase";
7 parameter Modelica.SIunits.Frequency fNominal = 50 "Nominal frequency";
8 parameter Modelica.SIunits.Resistance RGrid = 10e-3 "Grid choke resistance";
9 parameter Modelica.SIunits.Resistance RLoad = 1 "Load resistance";
10 parameter Modelica.SIunits.Inductance LGrid = 500e-6 "Grid choke inductance";
11 parameter Modelica.SIunits.Voltage VDC = factorY2DC(m) * VNominal / sqrt(3) "Theoretical DC voltage";
12 parameter Modelica.SIunits.Capacitance CDC = 5e-3 "DC capacitor";
13 parameter Modelica.SIunits.Torque TLoad = 161.4 "Nominal load torque";
14 parameter Modelica.SIunits.AngularVelocity wLoad = 1440.45 * 2 * pi / 60 "Nominal load speed";
15 parameter Modelica.SIunits.Inertia JLoad = 0.29 "Load's moment of inertia";
16 Modelica.Electrical.MultiPhase.Sources.SineVoltage sineVoltage(final m = m, final phase = -Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m), final freqHz = fill(fNominal, m), final offset = zeros(m), final startTime = zeros(m), final V = fill(VNominal * sqrt(2 / 3), m)) annotation(
17 Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 270, origin = {-80, -30})));
18 Modelica.Electrical.MultiPhase.Basic.Star star(m = m) annotation(
19 Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 270, origin = {-80, -60})));
20 Modelica.Electrical.Analog.Basic.Ground ground annotation(
21 Placement(transformation(origin = {-80, -90}, extent = {{-10, -10}, {10, 10}})));
22 Modelica.Electrical.Machines.Sensors.CurrentQuasiRMSSensor gridCurrent annotation(
23 Placement(transformation(extent = {{-10, 10}, {10, -10}}, rotation = 270, origin = {-80, 0})));
24 Modelica.Electrical.MultiPhase.Basic.Resistor resistor(final m = m, final R = fill(RGrid, m), final T_ref = fill(20, m), final alpha = zeros(m), final T = fill(20, m)) annotation(
25 Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 90, origin = {-80, 30})));
26 Modelica.Electrical.MultiPhase.Basic.Inductor inductor(m = m, final L = fill(LGrid, m)) annotation(
27 Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 90, origin = {-80, 60})));
28 Modelica.Electrical.PowerConverters.ACDC.DiodeBridge2mPulse rectifier annotation(
29 Placement(transformation(extent = {{-68, 60}, {-48, 80}})));
30 Modelica.Electrical.Analog.Sources.ConstantVoltage vSource annotation(
31 Placement(visible = true, transformation(origin = {-26, 68}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
32equation
33 connect(sineVoltage.plug_n, star.plug_p) annotation(
34 Line(points = {{-80, -40}, {-80, -50}}, color = {0, 0, 255}));
35 connect(star.pin_n, ground.p) annotation(
36 Line(points = {{-80, -70}, {-80, -80}}, color = {0, 0, 255}));
37 connect(resistor.plug_n, inductor.plug_p) annotation(
38 Line(points = {{-80, 40}, {-80, 50}}, color = {0, 0, 255}));
39 connect(inductor.plug_n, rectifier.ac) annotation(
40 Line(points = {{-80, 70}, {-68, 70}}, color = {0, 0, 255}));
41 connect(resistor.plug_p, gridCurrent.plug_p) annotation(
42 Line(points = {{-80, 20}, {-80, 10}}, color = {0, 0, 255}));
43 connect(gridCurrent.plug_n, sineVoltage.plug_p) annotation(
44 Line(points = {{-80, -10}, {-80, -20}}, color = {0, 0, 255}));
45 connect(rectifier.dc_p, vSource.p) annotation(
46 Line(points = {{-48, 76}, {-42, 76}, {-42, 84}, {-26, 84}, {-26, 78}, {-26, 78}}, color = {0, 0, 255}));
47 connect(vSource.n, rectifier.dc_n) annotation(
48 Line(points = {{-26, 58}, {-42, 58}, {-42, 64}, {-48, 64}, {-48, 64}}, color = {0, 0, 255}));
49 annotation(
50 experiment(StopTime = 0.1, Interval = 5e-05, Tolerance = 1e-06),
51 Documentation(info = "<html>
52<p>
53This is a model of a complete inverter drive comprising:
54</p>
55<ul>
56<li>a grid model and a line choke</li>
57<li><a href=\"modelica://Modelica.Electrical.PowerConverters.ACDC.DiodeBridge2mPulse\">a diode rectifier</a></li>
58<li>a buffer capacitor</li>
59<li><a href=\"modelica://Modelica.Electrical.PowerConverters.DCAC.MultiPhase2Level\">a switching inverter</a></li>
60<li><a href=\"modelica://Modelica.Electrical.PowerConverters.DCAC.Control.PWM\">a pulse width modulation</a></li>
61<li><a href=\"modelica://Modelica.Electrical.Machines.Utilities.VfController\">a voltage/frequency characteristic</a></li>
62<li>the reference frequency ramped up</li>
63<li>an induction machine with squirrel cage</li>
64<li>a load inertia and quadratic speed dependent load torque (like a fan or pump)</li>
65</ul>
66<p>Please note: Be patient, two switching devices cause many event iteratons which cost performance.</p>
67<p>Note that due to the voltage drop the voltage at the machine can't reach the full voltage which means torque reduction.</p>
68<p>Default machine parameters are adapted to nominal phase voltage 400 V and nominal phase current 25 A.</p>
69</html>"),
70 uses(Modelica(version = "3.2.3")));
71end TestIndexReduction5;