Skip to content

Commit

Permalink
Fix final parameter propagation
Browse files Browse the repository at this point in the history
so that m = 3 is not propagated to the core parameter records
  • Loading branch information
christiankral committed Oct 17, 2022
1 parent f689d90 commit ca683c5
Show file tree
Hide file tree
Showing 5 changed files with 87 additions and 44 deletions.
Expand Up @@ -40,7 +40,7 @@ record IM_SlipRingData
"Locked-rotor voltage per phase"
annotation (Dialog(enable=not useTurnsRatio));
parameter Machines.Losses.CoreParameters rotorCoreParameters(
final m=3,
m=m,
PRef=0,
VRef=1,
wRef=1)
Expand Down
Expand Up @@ -30,7 +30,7 @@ record InductionMachineData "Common parameters for induction machines"
2*pi*fsNominal/p) "Friction loss parameter record"
annotation (Dialog(tab="Losses"));
parameter Machines.Losses.CoreParameters statorCoreParameters(
final m=m,
m=m,
PRef=0,
VRef=100,
wRef=2*pi*fsNominal)
Expand Down
@@ -1,11 +1,12 @@
within Modelica.Magnetic.FundamentalWave.Examples.BasicMachines.InductionMachines.ComparisonPolyphase;
model IMC_DOL_Polyphase
"Direct on line start of polyphase induction machine with squirrel cage"

import Modelica.Constants.pi;
extends Modelica.Icons.Example;
constant Integer m3=3 "Number of stator phases of three-phase system";
parameter Integer m=5 "Number of stator phases" annotation(Evaluate=true);
parameter SI.Voltage VsNominal=100
"Nominal RMS voltage per phase";
parameter SI.Voltage VsNominal=100 "Nominal RMS voltage per phase";
parameter SI.Frequency fNominal=aimcData3.fsNominal "Nominal frequency";
parameter SI.Time tOn=0.1 "Start time of machine";
parameter SI.Torque T_Load=161.4 "Nominal load torque";
Expand Down Expand Up @@ -45,29 +46,29 @@ model IMC_DOL_Polyphase
{40,76}})));
Magnetic.FundamentalWave.BasicMachines.InductionMachines.IM_SquirrelCage
aimcM(
Jr=aimcData3.Jr,
Jr=aimcDataM.Jr,
Js=aimcData3.Js,
p=aimcData3.p,
fsNominal=aimcData3.fsNominal,
TsRef=aimcData3.TsRef,
alpha20s(displayUnit="1/K") = aimcData3.alpha20s,
ratioCommonStatorLeakage=aimcData3.ratioCommonStatorLeakage,
frictionParameters=aimcData3.frictionParameters,
statorCoreParameters=aimcData3.statorCoreParameters,
strayLoadParameters=aimcData3.strayLoadParameters,
TrRef=aimcData3.TrRef,
p=aimcDataM.p,
fsNominal=aimcDataM.fsNominal,
TsRef=aimcDataM.TsRef,
alpha20s(displayUnit="1/K") = aimcDataM.alpha20s,
ratioCommonStatorLeakage=aimcDataM.ratioCommonStatorLeakage,
frictionParameters=aimcDataM.frictionParameters,
statorCoreParameters=aimcDataM.statorCoreParameters,
strayLoadParameters=aimcDataM.strayLoadParameters,
TrRef=aimcDataM.TrRef,
alpha20r(displayUnit="1/K") = aimcData3.alpha20r,
phiMechanical(fixed=true),
wMechanical(fixed=true),
m=m,
Rs=aimcData3.Rs*m/3,
Lssigma=aimcData3.Lssigma*m/3,
Lszero=aimcData3.Lszero*m/3,
Lm=aimcData3.Lm*m/3,
Lrsigma=aimcData3.Lrsigma*m/3,
Rr=aimcData3.Rr*m/3,
Rs=aimcDataM.Rs,
Lssigma=aimcDataM.Lssigma,
Lszero=aimcDataM.Lszero,
Lm=aimcDataM.Lm,
Lrsigma=aimcDataM.Lrsigma,
Rr=aimcDataM.Rr,
TsOperational=293.15,
effectiveStatorTurns=aimcData3.effectiveStatorTurns,
effectiveStatorTurns=aimcDataM.effectiveStatorTurns,
TrOperational=293.15)
annotation (Placement(transformation(extent={{20,40},{40,60}})));
Modelica.Mechanics.Rotational.Components.Inertia loadInertiaM(J=J_Load)
Expand Down Expand Up @@ -155,6 +156,18 @@ model IMC_DOL_Polyphase
origin={10,32})));
Modelica.Blocks.Math.Feedback feedback
annotation (Placement(transformation(extent={{80,10},{100,-10}})));
parameter
Electrical.Machines.Utilities.ParameterRecords.IM_SquirrelCageData
aimcDataM(
m=m,
Rs=0.03*m/3,
Lszero=3*(1 - sqrt(1 - 0.0667))/(2*pi*fNominal)*m/3,
Lssigma=3*(1 - sqrt(1 - 0.0667))/(2*pi*fNominal)*m/3,
statorCoreParameters(m=m),
Lm=3*sqrt(1 - 0.0667)/(2*pi*fNominal)*m/3,
Lrsigma=3*(1 - sqrt(1 - 0.0667))/(2*pi*fNominal)*m/3,
Rr=0.04*m/3) "Induction machine data of m-phase machine"
annotation (Placement(transformation(extent={{-100,0},{-80,20}})));
initial equation
aimc3.is[1:2] = zeros(2);
aimc3.ir[1:2] = zeros(2);
Expand Down
Expand Up @@ -2,6 +2,7 @@ within Modelica.Magnetic.FundamentalWave.Examples.BasicMachines.InductionMachine
model IMS_Start_Polyphase
"Starting of polyphase induction machine with slip rings"

import Modelica.Constants.pi;
extends Modelica.Icons.Example;
constant Integer m3=3 "Number of stator phases of three-phase system";
parameter Integer m=5 "Number of stator phases" annotation(Evaluate=true);
Expand Down Expand Up @@ -33,9 +34,9 @@ model IMS_Start_Polyphase
TsRef=aimsData3.TsRef,
alpha20s(displayUnit="1/K") = aimsData3.alpha20s,
ratioCommonStatorLeakage=aimsData3.ratioCommonStatorLeakage,
frictionParameters=aimsData3.frictionParameters,
statorCoreParameters=aimsData3.statorCoreParameters,
strayLoadParameters=aimsData3.strayLoadParameters,
frictionParameters=aimsDataM.frictionParameters,
statorCoreParameters=aimsDataM.statorCoreParameters,
strayLoadParameters=aimsDataM.strayLoadParameters,
phiMechanical(fixed=true),
wMechanical(fixed=true),
ratioCommonRotorLeakage=aimsData3.ratioCommonRotorLeakage,
Expand All @@ -44,7 +45,7 @@ model IMS_Start_Polyphase
useTurnsRatio=aimsData3.useTurnsRatio,
VsNominal=aimsData3.VsNominal,
VrLockedRotor=aimsData3.VrLockedRotor,
rotorCoreParameters=aimsData3.rotorCoreParameters,
rotorCoreParameters=aimsDataM.rotorCoreParameters,
TurnsRatio=aimsData3.turnsRatio,
mr=mr,
m=m,
Expand Down Expand Up @@ -172,6 +173,19 @@ model IMS_Start_Polyphase
annotation (Placement(transformation(extent={{40,80},{60,100}})));
Modelica.Blocks.Math.Feedback feedback
annotation (Placement(transformation(extent={{80,10},{100,-10}})));
parameter
Electrical.Machines.Utilities.ParameterRecords.IM_SlipRingData aimsDataM(
m=m,
Rs=0.03*m/3,
Lszero=3*(1 - sqrt(1 - 0.0667))/(2*pi*fNominal)*m/3,
Lssigma=3*(1 - sqrt(1 - 0.0667))/(2*pi*fNominal)*m/3,
statorCoreParameters(m=m),
Lm=3*sqrt(1 - 0.0667)/(2*pi*fNominal),
Lrsigma=3*(1 - sqrt(1 - 0.0667))/(2*pi*fNominal)/aimsDataM.turnsRatio^2,
Lrzero=3*(1 - sqrt(1 - 0.0667))/(2*pi*fNominal)/aimsDataM.turnsRatio^2,
Rr=0.04/aimsDataM.turnsRatio^2,
rotorCoreParameters(m=m)) "Induction machine data of m-phase machine"
annotation (Placement(transformation(extent={{-100,0},{-80,20}})));
initial equation
aims3.is[1:2] = zeros(2);
aims3.ir[1:3] = zeros(3);
Expand Down
Expand Up @@ -2,6 +2,7 @@ within Modelica.Magnetic.FundamentalWave.Examples.BasicMachines.SynchronousMachi
model SMPM_Inverter_Polyphase
"Starting of polyphase permanent magnet synchronous machine with inverter"

import Modelica.Constants.pi;
extends Modelica.Icons.Example;
constant Integer m3=3 "Number of stator phases of three-phase system";
parameter Integer m=5 "Number of stator phases" annotation(Evaluate=true);
Expand Down Expand Up @@ -54,13 +55,13 @@ model SMPM_Inverter_Polyphase
extent={{-10,-74},{10,-54}})));
Magnetic.FundamentalWave.BasicMachines.SynchronousMachines.SM_PermanentMagnet
smpmM(
Jr=smpmData3.Jr,
Jr=smpmDataM.Jr,
Js=smpmData3.Js,
p=smpmData3.p,
fsNominal=smpmData3.fsNominal,
TsRef=smpmData3.TsRef,
alpha20s(displayUnit="1/K") = smpmData3.alpha20s,
ratioCommonStatorLeakage=smpmData3.ratioCommonStatorLeakage,
p=smpmDataM.p,
fsNominal=smpmDataM.fsNominal,
TsRef=smpmDataM.TsRef,
alpha20s(displayUnit="1/K") = smpmDataM.alpha20s,
ratioCommonStatorLeakage=smpmDataM.ratioCommonStatorLeakage,
phiMechanical(fixed=true),
wMechanical(fixed=true),
useDamperCage=smpmData3.useDamperCage,
Expand All @@ -70,20 +71,20 @@ model SMPM_Inverter_Polyphase
Rrq=smpmData3.Rrq,
TrRef=smpmData3.TrRef,
alpha20r(displayUnit="1/K") = smpmData3.alpha20r,
VsOpenCircuit=smpmData3.VsOpenCircuit,
frictionParameters=smpmData3.frictionParameters,
statorCoreParameters=smpmData3.statorCoreParameters,
strayLoadParameters=smpmData3.strayLoadParameters,
permanentMagnetLossParameters=smpmData3.permanentMagnetLossParameters,
VsOpenCircuit=smpmDataM.VsOpenCircuit,
frictionParameters=smpmDataM.frictionParameters,
statorCoreParameters=smpmDataM.statorCoreParameters,
strayLoadParameters=smpmDataM.strayLoadParameters,
permanentMagnetLossParameters=smpmDataM.permanentMagnetLossParameters,
m=m,
Rs=smpmData3.Rs*m/3,
Lssigma=smpmData3.Lssigma*m/3,
Lszero=smpmData3.Lszero*m/3,
Lmd=smpmData3.Lmd*m/3,
Lmq=smpmData3.Lmq*m/3,
Rs=smpmDataM.Rs,
Lssigma=smpmDataM.Lssigma,
Lszero=smpmDataM.Lszero,
Lmd=smpmDataM.Lmd,
Lmq=smpmDataM.Lmq,
ir(each fixed=true),
TsOperational=293.15,
effectiveStatorTurns=smpmData3.effectiveStatorTurns,
effectiveStatorTurns=smpmDataM.effectiveStatorTurns,
TrOperational=293.15)
annotation (Placement(transformation(extent={{-10,-30},{10,-10}})));

Expand Down Expand Up @@ -145,8 +146,9 @@ model SMPM_Inverter_Polyphase
{80,-70}})));
parameter
Modelica.Electrical.Machines.Utilities.ParameterRecords.SM_PermanentMagnetData
smpmData3 "Synchronous machine data of three phase machine"
annotation (Placement(transformation(extent={{-100,-100},{-80,-80}})));
smpmData3(m=m3)
"Synchronous machine data of three phase machine"
annotation (Placement(transformation(extent={{-60,-100},{-40,-80}})));
Modelica.Electrical.Polyphase.Sources.SignalVoltage signalVoltageM(
final m=m) annotation (Placement(transformation(
origin={30,50},
Expand Down Expand Up @@ -179,6 +181,20 @@ model SMPM_Inverter_Polyphase
origin={-50,0})));
Modelica.Blocks.Math.Gain gain(k=(m/m3))
annotation (Placement(transformation(extent={{-20,10},{-40,30}})));
parameter
Electrical.Machines.Utilities.ParameterRecords.SM_PermanentMagnetData smpmDataM(
m=m,
Rs=0.03*m/3,
Lszero=0.1/(2*pi*fsNominal)*m/3,
Lssigma=0.1/(2*pi*fsNominal)*m/3,
statorCoreParameters(m=m),
Lmd=0.3/(2*pi*fsNominal)*m/3,
Lmq=0.3/(2*pi*fsNominal)*m/3,
Lrsigmad=0.05/(2*pi*fsNominal)*m/3,
Lrsigmaq=0.05/(2*pi*fsNominal)*m/3,
Rrd=0.04*m/3,
Rrq=0.04*m/3) "Synchronous machine data of m-phase machine"
annotation (Placement(transformation(extent={{-60,-40},{-40,-20}})));
initial equation
smpm3.is[1:2] = zeros(2);
smpmM.is[1:2] = zeros(2);
Expand Down

0 comments on commit ca683c5

Please sign in to comment.