11within Modelica.Magnetic.FundamentalWave.BasicMachines.Components;
22model SymmetricPolyphaseWinding
33 "Symmetric winding model coupling electrical and magnetic domain"
4+ import Modelica.Constants.eps;
45 // Orientation changed
56 Modelica.Electrical.Polyphase.Interfaces.PositivePlug plug_p(final m= m)
67 "Positive plug" annotation (Placement(transformation(
@@ -23,8 +24,7 @@ model SymmetricPolyphaseWinding
2324 "Enable / disable (=fixed temperatures) thermal port"
2425 annotation (Evaluate=true);
2526 // Resistor model
26- parameter SI.Resistance RRef
27- "Winding resistance per phase at TRef" ;
27+ parameter SI.Resistance RRef "Winding resistance per phase at TRef" ;
2828 parameter SI.Temperature TRef(start= 293.15 )
2929 "Reference temperature of winding" ;
3030 parameter
@@ -34,17 +34,17 @@ model SymmetricPolyphaseWinding
3434 Modelica.Electrical.Machines.Thermal.convertAlpha(
3535 alpha20,
3636 TRef,
37- 293.15 ) "Temperature coefficient of winding at reference temperature" ;
37+ 293.15 )
38+ "Temperature coefficient of winding at reference temperature" ;
3839 parameter SI.Temperature TOperational(start= 293.15 )
3940 "Operational temperature of winding"
4041 annotation (Dialog(enable=not useHeatPort));
41- parameter SI.Inductance Lsigma
42- "Winding stray inductance per phase" ;
43- parameter SI.Inductance Lzero
44- "Zero sequence inductance of winding" ;
42+ parameter SI.Inductance Lsigma "Winding stray inductance per phase" ;
43+ parameter Real ratioCommonLeakage( final min = 0 , final max = 1 ) = 1
44+ "Ratio of common stray inductance / total stray inductance" ;
45+ parameter SI.Inductance Lzero "Zero sequence inductance of winding" ;
4546 parameter Real effectiveTurns= 1 "Effective number of turns per phase" ;
46- parameter SI.Conductance GcRef
47- "Electrical reference core loss reluctance" ;
47+ parameter SI.Conductance GcRef "Electrical reference core loss reluctance" ;
4848 final parameter Integer nBase= Modelica.Electrical.Polyphase.Functions.numberOfSymmetricBaseSystems(m)
4949 "Number of base systems" ;
5050 final parameter Integer mBase= integer (m/ nBase)
@@ -60,32 +60,33 @@ model SymmetricPolyphaseWinding
6060 "Magnitude of complex magnetic potential difference" ;
6161 SI.Angle arg_V_m= Modelica.ComplexMath.arg(V_m)
6262 "Argument of complex magnetic potential difference" ;
63- SI.ComplexMagneticFlux Phi= port_p.Phi
64- "Complex magnetic flux" ;
63+ SI.ComplexMagneticFlux Phi=port_p.Phi "Complex magnetic flux" ;
6564 SI.MagneticFlux abs_Phi=
66- Modelica.ComplexMath.abs (Phi)
67- "Magnitude of complex magnetic flux" ;
65+ Modelica.ComplexMath.abs (Phi) "Magnitude of complex magnetic flux" ;
6866 SI.Angle arg_Phi= Modelica.ComplexMath.arg(Phi)
6967 "Argument of complex magnetic flux" ;
7068
71- Magnetic.FundamentalWave.Components.PolyphaseElectroMagneticConverter electroMagneticConverter(
72- final m= m,
69+ Modelica.Magnetic.FundamentalWave.Components.PolyphaseElectroMagneticConverter
70+ electroMagneticConverter(
71+ m= m,
7372 final effectiveTurns= fill (effectiveTurns, m),
7473 final orientation=
75- Modelica.Electrical.Polyphase.Functions.symmetricOrientation(m))
76- "Symmetric winding"
77- annotation (Placement(transformation(extent={{-10,-40},{10,-20}})));
74+ Modelica.Electrical.Polyphase.Functions.symmetricOrientation(m),
75+ final useStrayPermeance= ratioCommonLeakage < (1 - eps),
76+ final Lsigma= (1 - ratioCommonLeakage)* Lsigma)
77+ "Symmetric winding"
78+ annotation (Placement(transformation(extent={{-10,-20},{10,0}})));
7879 Modelica.Electrical.Polyphase.Basic.ZeroInductor zeroInductor(final m= m, final Lzero= Lzero) if
7980 mBase<> 2 "Zero sequence inductance of winding"
8081 annotation (Placement(transformation(
81- origin={-30, 30},
82- extent={{- 10,-10},{10,10}},
83- rotation=270 )));
82+ origin={-70,- 30},
83+ extent={{10,-10},{- 10,10}},
84+ rotation=0 )));
8485 Modelica.Electrical.Polyphase.Ideal.Short short(final m= m) if mBase == 2
8586 annotation (Placement(transformation(
86- extent={{- 10,-10},{10,10}},
87- rotation=270 ,
88- origin={-10,30 })));
87+ extent={{10,-10},{- 10,10}},
88+ rotation=0 ,
89+ origin={-70,-50 })));
8990 Modelica.Electrical.Polyphase.Basic.Resistor resistor(
9091 final m= m,
9192 final useHeatPort= useHeatPort,
@@ -98,50 +99,52 @@ model SymmetricPolyphaseWinding
9899 extent={{-10,-10},{10,10}},
99100 rotation=270)));
100101 Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a heatPortWinding[m] if
101- useHeatPort "Heat ports of winding resistors"
102+ useHeatPort "Heat ports of winding resistors"
102103 annotation (Placement(transformation(extent={{-50,-110},{-30,-90}})));
103104 Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a heatPortCore if
104- useHeatPort "Heat port of core"
105+ useHeatPort "Heat port of core"
105106 annotation (Placement(transformation(extent={{30,-110},{50,-90}})));
106- Magnetic.FundamentalWave.Components.EddyCurrent core(final useHeatPort =
107- useHeatPort, final G= (m/ 2 )* GcRef* effectiveTurns^ 2 )
107+ Magnetic.FundamentalWave.Components.EddyCurrent core(
108+ final useHeatPort = useHeatPort, final G= (m/ 2 )* GcRef* effectiveTurns^ 2 )
108109 "Core loss model (currently eddy currents only)" annotation (Placement(
109110 transformation(extent={{-10,-10},{10,10}}, origin={50,-40})));
110- Modelica.Magnetic.FundamentalWave.Components.Permeance stray(
111- final G_m(d= 2 * Lsigma/ m/ effectiveTurns^ 2 , q= 2 * Lsigma/ m/ effectiveTurns^ 2 ))
112- "Stray permeance equivalent to ideally coupled stray inductances" annotation (Placement(transformation(
111+ Modelica.Magnetic.FundamentalWave.Components.Permeance stray(final G_m(
112+ d= 2 / m* ratioCommonLeakage* Lsigma/ effectiveTurns^ 2 ,
113+ q= 2 / m* ratioCommonLeakage* Lsigma/ effectiveTurns^ 2 )) if ratioCommonLeakage> eps
114+ "Common stray permeance equivalent to ideally coupled stray inductances"
115+ annotation (Placement(transformation(
113116 extent={{-10,-10},{10,10}},
114117 rotation=270,
115118 origin={80,30})));
116119
117120equation
118121 connect (plug_p, resistor.plug_p) annotation (Line(points={{-100,100},{-20,
119122 100},{-20,80}}, color={0,0,255}));
120- connect (resistor.plug_n, zeroInductor.plug_p) annotation (Line(points={{-20,60},
121- {-20,55},{-20,40},{-30,40}}, color={0,0,255}));
122- connect (electroMagneticConverter.plug_n, plug_n) annotation (Line(
123- points={{-10,-40},{-10,-40},{-100,-40},{-100,-100}}, color={0,0,
124- 255}));
125- connect (electroMagneticConverter.port_p, port_p) annotation (Line(
126- points={{10,-20},{10,100},{100,100}}, color={255,128,0}));
127123 connect (resistor.heatPort, heatPortWinding) annotation (Line(
128124 points={{-30,70},{-40,70},{-40,-100}}, color={191,0,0}));
129- connect (electroMagneticConverter.port_n, core.port_p) annotation (Line(
130- points={{10,-40},{40,-40}}, color={255,128,0}));
131125 connect (core.port_n, port_n) annotation (Line(
132126 points={{60,-40},{100,-40},{100,-100}}, color={255,128,0}));
133127 connect (core.heatPort, heatPortCore) annotation (Line(
134128 points={{40,-50},{40,-100}}, color={191,0,0}));
135129 connect (stray.port_n, core.port_n) annotation (Line(points={{80,20},{80,-40},{60,-40}}, color={255,128,0}));
136- connect (stray.port_p, electroMagneticConverter.port_p) annotation (Line(points={{80,40},{80,100},{10,100},{10,-20}}, color={255,128,0}));
137- connect (zeroInductor.plug_n, electroMagneticConverter.plug_p) annotation (
138- Line(points={{-30,20},{-20,20},{-20,-20},{-10,-20}}, color={0,0,255}));
139- connect (resistor.plug_n, short.plug_p)
140- annotation (Line(points={{-20,60},{-20,40},{-10,40}}, color={0,0,255}));
141- connect (electroMagneticConverter.plug_p, short.plug_n) annotation (Line(
142- points={{-10,-20},{-20,-20},{-20,20},{-10,20}}, color={0,0,255}));
143- annotation (defaultComponentName="winding" , Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,
144- -100},{100,100}}), graphics={
130+ connect (short.plug_n, plug_n) annotation (Line(points={{-80,-50},{-80,-40},{-100,
131+ -40},{-100,-100}}, color={0,0,255}));
132+ connect (plug_n, zeroInductor.plug_n) annotation (Line(points={{-100,-100},{-100,
133+ -40},{-80,-40},{-80,-30}}, color={0,0,255}));
134+ connect (port_p, stray.port_p)
135+ annotation (Line(points={{100,100},{80,100},{80,40}}, color={255,128,0}));
136+ connect (electroMagneticConverter.port_n, core.port_p)
137+ annotation (Line(points={{10,-20},{10,-40},{40,-40}}, color={255,128,0}));
138+ connect (zeroInductor.plug_p, electroMagneticConverter.plug_n) annotation (
139+ Line(points={{-60,-30},{-60,-40},{-20,-40},{-20,-20},{-10,-20}}, color={0,
140+ 0,255}));
141+ connect (short.plug_p, electroMagneticConverter.plug_n) annotation (Line(
142+ points={{-60,-50},{-60,-40},{-20,-40},{-20,-20},{-10,-20}}, color={0,0,255}));
143+ connect (resistor.plug_n, electroMagneticConverter.plug_p)
144+ annotation (Line(points={{-20,60},{-20,0},{-10,0}}, color={0,0,255}));
145+ connect (electroMagneticConverter.port_p, port_p)
146+ annotation (Line(points={{10,0},{10,100},{100,100}}, color={255,128,0}));
147+ annotation (defaultComponentName="winding" , Icon(graphics={
145148 Line(points={{100,-100},{94,-100},{84,-98},{76,-94},{64,-86},{50,
146149 -72},{42,-58},{36,-40},{30,-18},{30,0},{30,18},{34,36},{46,
147150 66},{62,84},{78,96},{90,100},{100,100}}, color={255,128,0}),
0 commit comments