From c3123ac1115aca903cc8874d565fbdfaf24d816a Mon Sep 17 00:00:00 2001 From: HOS Date: Fri, 28 Oct 2022 15:23:42 +0200 Subject: [PATCH] Unit correctness. --- .../SynchronousMachines/SM_ElectricalExcited.mo | 9 +++++---- .../SynchronousMachines/SM_PermanentMagnet.mo | 9 +++++---- .../SynchronousMachines/SM_ReluctanceRotor.mo | 10 +++++----- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/Modelica/Electrical/Machines/BasicMachines/SynchronousMachines/SM_ElectricalExcited.mo b/Modelica/Electrical/Machines/BasicMachines/SynchronousMachines/SM_ElectricalExcited.mo index e52c687dae..6c795b34d4 100644 --- a/Modelica/Electrical/Machines/BasicMachines/SynchronousMachines/SM_ElectricalExcited.mo +++ b/Modelica/Electrical/Machines/BasicMachines/SynchronousMachines/SM_ElectricalExcited.mo @@ -2,7 +2,7 @@ within Modelica.Electrical.Machines.BasicMachines.SynchronousMachines; model SM_ElectricalExcited "Electrical excited synchronous machine with damper cage" extends Machines.Interfaces.PartialBasicInductionMachine( - Lssigma(start=0.1/(2*pi*fsNominal)), + Lssigma(start=0.1*unitR/(2*pi*fsNominal)), final idq_ss=airGap.i_ss, final idq_sr=airGap.i_sr, final idq_rs=airGap.i_rs, @@ -45,16 +45,16 @@ model SM_ElectricalExcited "Operational temperature of (optional) damper cage" annotation ( Dialog(group="Operational temperatures", enable=not useThermalPort and useDamperCage)); - parameter SI.Inductance Lmd(start=1.5/(2*pi*fsNominal)) + parameter SI.Inductance Lmd(start=1.5*unitR/(2*pi*fsNominal)) "Stator main field inductance per phase in d-axis" annotation (Dialog(tab="Nominal resistances and inductances")); - parameter SI.Inductance Lmq(start=1.5/(2*pi*fsNominal)) + parameter SI.Inductance Lmq(start=1.5*unitR/(2*pi*fsNominal)) "Stator main field inductance per phase in q-axis" annotation (Dialog(tab="Nominal resistances and inductances")); parameter Boolean useDamperCage(start=true) "Enable / disable damper cage" annotation (Evaluate=true, Dialog(tab= "Nominal resistances and inductances", group="Damper cage")); - parameter SI.Inductance Lrsigmad(start=0.05/(2*pi* + parameter SI.Inductance Lrsigmad(start=0.05*unitR/(2*pi* fsNominal)) "Damper stray inductance in d-axis" annotation ( Dialog( tab="Nominal resistances and inductances", @@ -156,6 +156,7 @@ model SM_ElectricalExcited rotation=90, origin={-80,40}))); protected + final constant SI.Resistance unitR=1; final parameter Real turnsRatio=sqrt(2)*VsNominal/(2*pi*fsNominal*Lmd* IeOpenCircuit) "Stator current / excitation current"; final parameter SI.Inductance Lesigma=Lmd*turnsRatio^2*3/ diff --git a/Modelica/Electrical/Machines/BasicMachines/SynchronousMachines/SM_PermanentMagnet.mo b/Modelica/Electrical/Machines/BasicMachines/SynchronousMachines/SM_PermanentMagnet.mo index 44462dcc55..e10ac7fb0c 100644 --- a/Modelica/Electrical/Machines/BasicMachines/SynchronousMachines/SM_PermanentMagnet.mo +++ b/Modelica/Electrical/Machines/BasicMachines/SynchronousMachines/SM_PermanentMagnet.mo @@ -1,7 +1,7 @@ within Modelica.Electrical.Machines.BasicMachines.SynchronousMachines; model SM_PermanentMagnet "Permanent magnet synchronous machine" extends Machines.Interfaces.PartialBasicInductionMachine( - Lssigma(start=0.1/(2*pi*fsNominal)), + Lssigma(start=0.1*unitR/(2*pi*fsNominal)), final idq_ss=airGap.i_ss, final idq_sr=airGap.i_sr, final idq_rs=airGap.i_rs, @@ -47,16 +47,16 @@ model SM_PermanentMagnet "Permanent magnet synchronous machine" and useDamperCage)); parameter SI.Voltage VsOpenCircuit(start=112.3) "Open circuit RMS voltage per phase @ fsNominal"; - parameter SI.Inductance Lmd(start=0.3/(2*pi*fsNominal)) + parameter SI.Inductance Lmd(start=0.3*unitR/(2*pi*fsNominal)) "Stator main field inductance per phase in d-axis" annotation (Dialog(tab="Nominal resistances and inductances")); - parameter SI.Inductance Lmq(start=0.3/(2*pi*fsNominal)) + parameter SI.Inductance Lmq(start=0.3*unitR/(2*pi*fsNominal)) "Stator main field inductance per phase in q-axis" annotation (Dialog(tab="Nominal resistances and inductances")); parameter Boolean useDamperCage(start=true) "Enable / disable damper cage" annotation (Evaluate=true, Dialog(tab= "Nominal resistances and inductances", group="Damper cage")); - parameter SI.Inductance Lrsigmad(start=0.05/(2*pi* + parameter SI.Inductance Lrsigmad(start=0.05*unitR/(2*pi* fsNominal)) "Damper stray inductance in d-axis" annotation ( Dialog( tab="Nominal resistances and inductances", @@ -114,6 +114,7 @@ model SM_PermanentMagnet "Permanent magnet synchronous machine" extent={{-10,-10},{10,10}}, rotation=270))); protected + final constant SI.Resistance unitR=1; final parameter SI.Current Ie=sqrt(2)*VsOpenCircuit/(Lmd* 2*pi*fsNominal) "Equivalent excitation current"; Modelica.Blocks.Interfaces.RealOutput damperCageLossPower(final diff --git a/Modelica/Electrical/Machines/BasicMachines/SynchronousMachines/SM_ReluctanceRotor.mo b/Modelica/Electrical/Machines/BasicMachines/SynchronousMachines/SM_ReluctanceRotor.mo index 7e4b0d3cee..15c15c3529 100644 --- a/Modelica/Electrical/Machines/BasicMachines/SynchronousMachines/SM_ReluctanceRotor.mo +++ b/Modelica/Electrical/Machines/BasicMachines/SynchronousMachines/SM_ReluctanceRotor.mo @@ -2,14 +2,13 @@ within Modelica.Electrical.Machines.BasicMachines.SynchronousMachines; model SM_ReluctanceRotor "Synchronous machine with reluctance rotor and damper cage" extends Machines.Interfaces.PartialBasicInductionMachine( - Lssigma(start=0.1/(2*pi*fsNominal)), + Lssigma(start=0.1*unitR/(2*pi*fsNominal)), final idq_ss=airGap.i_ss, final idq_sr=airGap.i_sr, final idq_rs=airGap.i_rs, final idq_rr=airGap.i_rr, redeclare final Machines.Thermal.SynchronousMachines.ThermalAmbientSMR thermalAmbient(final useDamperCage=useDamperCage, final Tr=TrOperational), - redeclare final Machines.Interfaces.InductionMachines.ThermalPortSMR thermalPort(final useDamperCage=useDamperCage), redeclare final Machines.Interfaces.InductionMachines.ThermalPortSMR @@ -40,16 +39,16 @@ model SM_ReluctanceRotor "Operational temperature of (optional) damper cage" annotation ( Dialog(group="Operational temperatures", enable=not useThermalPort and useDamperCage)); - parameter SI.Inductance Lmd(start=2.9/(2*pi*fsNominal)) + parameter SI.Inductance Lmd(start=2.9*unitR/(2*pi*fsNominal)) "Stator main field inductance per phase in d-axis" annotation (Dialog(tab="Nominal resistances and inductances")); - parameter SI.Inductance Lmq(start=0.9/(2*pi*fsNominal)) + parameter SI.Inductance Lmq(start=0.9*unitR/(2*pi*fsNominal)) "Stator main field inductance per phase in q-axis" annotation (Dialog(tab="Nominal resistances and inductances")); parameter Boolean useDamperCage(start=true) "Enable / disable damper cage" annotation (Evaluate=true, Dialog(tab= "Nominal resistances and inductances", group="Damper cage")); - parameter SI.Inductance Lrsigmad(start=0.05/(2*pi* + parameter SI.Inductance Lrsigmad(start=0.05*unitR/(2*pi* fsNominal)) "Damper stray inductance in d-axis" annotation ( Dialog( tab="Nominal resistances and inductances", @@ -95,6 +94,7 @@ model SM_ReluctanceRotor extent={{-10,-10},{10,10}}, rotation=270))); protected + final constant SI.Resistance unitR=1; Modelica.Blocks.Interfaces.RealOutput damperCageLossPower(final quantity="Power", final unit="W") "Damper losses"; equation