-
Notifications
You must be signed in to change notification settings - Fork 176
Fix SI units by introducing reference phase impedance ZsRef #4052
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Note that there are similar-looking examples of unit-errors in other classes that isn't corrected in this PR, like Modelica.Magnetic.FundamentalWave.BasicMachines.SynchronousMachines It would likely be possible to correct them as well in a similar way (but then there are messier ones as well - as the SquirrelCage). |
|
This PR shall actually affect the machine models of three different packages as they all have the same shortcomings:
Addirtionally I would like to discuss some aspects of this PR with @AHaumer first: I see three different "simple" fixes of this issue: Option 1Follow the proposal of this PR but change Option 2Add parameters of the reference phase voltage and current to the machine models, according to the documentation and the original intention of the used paramerterization: parameter Modelica.Units.SI.Voltage VsRef = 100 " RMS reference phase voltage";
parameter Modelica.Units.SI.Current IsRef = 100 " RMS reference phase current";
final parameter Modelica.Units.SI.Impedance ZsRef = VsRef / IsRef "Reference phase impedance";Use parameter However, option 2. has the drawback, that additional parameters are used in the machine models. Even though this parameters do not change the model behavior it will most likely happen that a user model then shows the new parameters The parameters Option 3Replace the division by |
|
I agree that Option 2 is suboptimal if the new reference parameter has no function other than creating a new ZsRef to fix the unit. Although having them might finally explain to the user better what the Lx calculations in the data records of the examples are based on. So in I think:
|
|
An option 4 would be to use: (Possibly with better description.) It avoids the extra variables of option 2. |
|
I agree with @HansOlsson. I think option 4 is the way to go. |
|
In order to provide a consistent solution
|
|
One more thing to think of: In the slip ring induction machine model the rotor locked rotor voltage is based on the stator reference voltage of 100 V: parameter SI.Voltage VsNominal(start=100)
"Nominal stator voltage per phase"
annotation (Dialog(enable=not useTurnsRatio));
parameter SI.Voltage VrLockedRotor(start=100*(2*pi*
fsNominal*Lm)/sqrt(Rs^2 + (2*pi*fsNominal*(Lm + Lssigma))^2))
"Locked-rotor voltage per phase"
annotation (Dialog(enable=not useTurnsRatio));This units of the start value of parameter SI.Voltage VrLockedRotor(start=VsNominal*(2*pi*
fsNominal*Lm)/sqrt(Rs^2 + (2*pi*fsNominal*(Lm + Lssigma))^2))
... It is, however, not backwards compatible (if @AHaumer @HansOlsson @dietmarw Any comments here? |
|
This pull request requires second reviewer to approve the fix to merge it successfully. |
|
@AHaumer Would you please review the fix? |
AHaumer
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fine with me.
|
@christiankral would you look into the fix and give a yes so we can go ahead and merge the PR? |
christiankral
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.

Fix the unit for the inductances.
Eliminates non-local unit errors based on modelica/ModelicaSpecification#3266 (combined with other unit-changes.)