-
Notifications
You must be signed in to change notification settings - Fork 164
/
PolyphaseInductance.mo
123 lines (118 loc) · 5.33 KB
/
PolyphaseInductance.mo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
within Modelica.Magnetic.FundamentalWave.Examples.Components;
model PolyphaseInductance "Polyphase inductance"
extends Modelica.Icons.Example;
parameter Integer m=3 "Number of phases";
parameter Modelica.SIunits.Frequency f=1 "Supply frequency";
parameter Modelica.SIunits.Voltage VRMS=100 "RMS supply voltage";
parameter Modelica.SIunits.Resistance R=0.1 "Leader cable resistance";
parameter Real effectiveTurns=5 "Effective number of turns";
parameter Modelica.SIunits.Inductance L=1 "Load inductance";
final parameter Modelica.SIunits.Reluctance R_m=m*effectiveTurns^2/2/L
"Equivalent magnetic reluctance";
Modelica.Electrical.Analog.Basic.Ground ground_e
annotation (Placement(transformation(extent={{-70,10},{-50,30}})));
Modelica.Electrical.Analog.Basic.Ground ground_m
annotation (Placement(transformation(extent={{-70,-90},{-50,-70}})));
Modelica.Electrical.Polyphase.Basic.Star star_e(m=m) annotation (
Placement(transformation(
extent={{-10,-10},{10,10}},
rotation=270,
origin={-60,40})));
Modelica.Electrical.Polyphase.Basic.Star star_m(m=m) annotation (
Placement(transformation(
extent={{-10,-10},{10,10}},
rotation=270,
origin={-60,-60})));
Modelica.Electrical.Polyphase.Sources.SineVoltage voltageSource_e(
m=m,
f=fill(f, m),
V=fill(sqrt(2)*VRMS, m),
phase=-Modelica.Electrical.Polyphase.Functions.symmetricOrientation(
m) + fill(Modelica.Constants.pi/2, m)) annotation (Placement(
transformation(
extent={{-10,-10},{10,10}},
rotation=270,
origin={-60,70})));
Modelica.Electrical.Polyphase.Sources.SineVoltage voltageSource_m(
m=m,
f=fill(f, m),
V=fill(sqrt(2)*VRMS, m),
phase=-Modelica.Electrical.Polyphase.Functions.symmetricOrientation(
m) + fill(Modelica.Constants.pi/2, m)) annotation (Placement(
transformation(
extent={{-10,-10},{10,10}},
rotation=270,
origin={-60,-30})));
Modelica.Electrical.Polyphase.Basic.Resistor resistor_e(m=m, R=fill(R,
m))
annotation (Placement(transformation(extent={{-40,70},{-20,90}})));
Modelica.Electrical.Polyphase.Basic.Resistor resistor_m(m=m, R=fill(R,
m))
annotation (Placement(transformation(extent={{-40,-30},{-20,-10}})));
Modelica.Electrical.Polyphase.Basic.Inductor inductor_e(m=m, L=fill(L,
m)) annotation (Placement(transformation(
extent={{-10,-10},{10,10}},
rotation=270,
origin={0,70})));
Magnetic.FundamentalWave.Components.PolyphaseElectroMagneticConverter converter_m(
m=m,
orientation=Modelica.Electrical.Polyphase.Functions.symmetricOrientation(m),
effectiveTurns=fill(effectiveTurns, m))
annotation (Placement(transformation(extent={{0,-40},{20,-20}})));
Magnetic.FundamentalWave.Components.Reluctance reluctance_m(R_m(d=R_m, q=R_m))
annotation (Placement(transformation(
extent={{-10,-10},{10,10}},
rotation=270,
origin={60,-30})));
Magnetic.FundamentalWave.Components.Ground groundM_m
annotation (Placement(transformation(extent={{10,-90},{30,-70}})));
initial equation
resistor_e.i = zeros(m);
resistor_m.i[1:2] = zeros(2);
equation
connect(star_e.plug_p, voltageSource_e.plug_n) annotation (Line(
points={{-60,50},{-60,60}}, color={0,0,255}));
connect(voltageSource_e.plug_n, inductor_e.plug_n) annotation (Line(
points={{-60,60},{0,60}}, color={0,0,255}));
connect(converter_m.port_p, reluctance_m.port_p) annotation (Line(
points={{20,-20},{60,-20}}, color={255,128,0}));
connect(converter_m.port_n, reluctance_m.port_n) annotation (Line(
points={{20,-40},{60,-40}}, color={255,128,0}));
connect(converter_m.port_n, groundM_m.port_p) annotation (Line(
points={{20,-40},{20,-70}}, color={255,128,0}));
connect(voltageSource_m.plug_n, star_m.plug_p) annotation (Line(
points={{-60,-40},{-60,-50}}, color={0,0,255}));
connect(voltageSource_m.plug_n, converter_m.plug_n) annotation (Line(
points={{-60,-40},{0,-40}}, color={0,0,255}));
connect(voltageSource_e.plug_p, resistor_e.plug_p) annotation (Line(
points={{-60,80},{-40,80}}, color={0,0,255}));
connect(resistor_e.plug_n, inductor_e.plug_p) annotation (Line(
points={{-20,80},{0,80}}, color={0,0,255}));
connect(voltageSource_m.plug_p, resistor_m.plug_p) annotation (Line(
points={{-60,-20},{-40,-20}}, color={0,0,255}));
connect(resistor_m.plug_n, converter_m.plug_p) annotation (Line(
points={{-20,-20},{0,-20}}, color={0,0,255}));
connect(star_e.pin_n, ground_e.p) annotation (Line(
points={{-60,30},{-60,30}}, color={0,0,255}));
connect(star_m.pin_n, ground_m.p) annotation (Line(
points={{-60,-70},{-60,-70}}, color={0,0,255}));
annotation (experiment(StopTime=100, Interval=0.01), Documentation(info="<html>
<p>
This example compares an electric polyphase inductor with an equivalent fundamental wave reluctance circuit.
The phase inductance <code>L</code> and the magnetic fundamental wave reluctance <code>R_m</code> are related by:
</p>
<blockquote><pre>
R_m = m * effectiveTurns^2 / 2 / L
</pre></blockquote>
<p>
The two currents
</p>
<ul>
<li><code>resistor_e.i[1]</code></li>
<li><code>resistor_m.i[1]</code></li>
</ul>
<p>
show the same waveforms and thus prove the equivalence of the two different modelling approaches.
</p>
</html>"));
end PolyphaseInductance;