Skip to content

Conversation

@AHaumer
Copy link
Contributor

@AHaumer AHaumer commented May 24, 2021

Up to now, the stray field of (symmetric) poylphase windings is modeled as a common inductance or permeance. During some master thesis, I came upon problems with field orineted control of polyphase machines (m>3) fed by swicthing power electronics. The solution was to split the stray inductance in a common part and an individual part (individually for everey phase) to limit current rise in certain cases. Since I assume that other users might encounter similar problems, I've cleaned up my solution to create that PR.
The ratio of common stray inductance with respect to total stray inductance is defined by a parameter ratioCommonLeakage with a default of 1, which is perrfectly backwards compatible. Note that for machines with three phases (Electrical.Machines) and for quasistatic machines (Magnetic.QuasiStatic.FundamentalWave) this parameter has no influence, and for performance reasons implementation in these two libaries is skipped. The parameter is essential only for Magnetic.FundamentalWave.
Note that the situation is described in detail in Magnetic.FundamentalWave.UsersGuide.WindingModel.
The example FundamentalWave.Examples.BasicMachines.InductionMachines.ComparisonPolyphase.IMC_DOL_CommonLeakage compares three identical 5-phase machines but ratioCommonLeakage={0, 0.5, 1},

@AHaumer AHaumer added enhancement New feature or enhancement L: Magnetic.FundamentalWave Issue addresses Modelica.Magnetic.FundamentalWave P: high High priority issue labels May 24, 2021
@AHaumer AHaumer added this to the MSL4.0.1 milestone May 24, 2021
@AHaumer AHaumer requested review from christiankral and dietmarw May 24, 2021 16:39
@AHaumer AHaumer self-assigned this May 24, 2021
@AHaumer AHaumer marked this pull request as draft May 24, 2021 18:06
@AHaumer
Copy link
Contributor Author

AHaumer commented May 24, 2021

I've corrected the implementation of individual stray permeances.
@christiankral : Shouldn't the comparison of two identical machine, one with stray permeance as common leakage and the other as individual leakages, give the same result? I'm afraid the parameter calculation is not correct ...
Now parameter calculation is correct.

@AHaumer AHaumer marked this pull request as ready for review May 25, 2021 14:42
@AHaumer AHaumer requested a review from beutlich May 25, 2021 14:42
@AHaumer
Copy link
Contributor Author

AHaumer commented May 25, 2021

Now I've moved the individual leakage from a magnetic implementation to an electrical inductor, and updated the documentation.
The test case evaluates correct.

@AHaumer
Copy link
Contributor Author

AHaumer commented May 25, 2021

We even have the choice between electrical implementation of the individual leakage as electrical polyphase inductor or magentic permeances (the second one see SymmetricPolyphaseWinding_M_).
@christiankral and @dietmarw which implementation would you prefer?
Both are working, both are clear, both are backwards compatible.

@AHaumer
Copy link
Contributor Author

AHaumer commented May 26, 2021

Ok after discussions with @christiankral we decided for a magnetic implementation of the indivudual leakage.
From my side this PR is ready for review and merging.

@dietmarw dietmarw modified the milestones: MSL4.0.1, MSL4.1.0 May 27, 2021
@dietmarw
Copy link
Member

Just to clarify, since this is an extension and not a bug-fix it should go into the next minor version which allows extensions.

@AHaumer
Copy link
Contributor Author

AHaumer commented May 27, 2021

Just to clarify, since this is an extension and not a bug-fix it should go into the next minor version which allows extensions.

Somehow it's a bug fix. The library promises polyphase machine models. If you design FOC for polyphase drives, the models won't work with switching power electronics (only with averaging PE models). Shall I add the "bug" label?

@dietmarw
Copy link
Member

It would not work since you are adding several new components and not just fixing the existing things. I think it is better and less work to simply include it in the next minor version. Nothing says that the bug fix version is going to happen earlier than the new minor version. In the past it used to be at the same time anyway.

@AHaumer
Copy link
Contributor Author

AHaumer commented May 27, 2021

It would not work since you are adding several new components and not just fixing the existing things. I think it is better and less work to simply include it in the next minor version. Nothing says that the bug fix version is going to happen earlier than the new minor version. In the past it used to be at the same time anyway.

I'm modifyng one component, and adding one new example that proofs that the modification works properly.

@christiankral
Copy link
Contributor

  • This PR is not 100% backwards compatible, as -- for example -- the plugs electroMagneticConverter.plug_p and electroMagneticConverter.plug_n are not available any more in FundamentalWave.BasicMachines.Components.SymmetricMultiPhaseWinding
  • So if we indicate this PR as a bug fix, the proposed non-backwards compatible change may be accepted
  • If we name it a feature there are two fully backwards compatible options from my point of view:
    1. Add the individiual leakage permeance as a conditional component to FundamentalWave.Components.MultiPhaseElectroMagneticConverter; this component then already includes the feature of the individual leakages
    2. Create a duplicate of FundamentalWave.Components.MultiPhaseElectroMagneticConverter, name it FundamentalWave.Components.MultiPhaseElectroMagneticConverterWithLeakage (similar to FluxTubes.Basic.ElectroMagneticConverterWithLeakageInductance), and add the (conditional) individual; permeances there; then model FundamentalWave.BasicMachines.Components.SymmetricMultiPhaseWinding has to rely on MultiPhaseElectroMagneticConverterWithLeakage instead of MultiPhaseElectroMagneticConverter

@AHaumer
Copy link
Contributor Author

AHaumer commented Jun 2, 2021

OK whether its a bug fix or an enhancement, backwards compatibility is important.
@christiankral I've choosen your option 1 (already committed);

  1. Add the individiual leakage permeance as a conditional component to `FundamentalWave.Components.MultiPhaseElectroMagneticConverter`; this component then already includes the feature of the individual leakages

Can we review and decide this PR?

Copy link
Member

@dietmarw dietmarw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added some minor cosmetic and typo fixes. With the backward compatible solution it now looks fine to merge.

Copy link
Contributor

@christiankral christiankral left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@AHaumer
Copy link
Contributor Author

AHaumer commented Jun 8, 2021

What's the problem with the license/cla - seems that the check got stuck ,,,

@dietmarw
Copy link
Member

dietmarw commented Jun 8, 2021

I'll rebase the branch and that should trigger the check once more.

@AHaumer AHaumer merged commit 78ea695 into modelica:master Jun 8, 2021
@beutlich beutlich changed the title Implemented split of stray inductance in common and individual part Implemente split of stray inductance in common and individual part Aug 28, 2024
@beutlich beutlich changed the title Implemente split of stray inductance in common and individual part Implement split of stray inductance in common and individual part Aug 28, 2024
@AHaumer AHaumer deleted the StrayInductance branch April 19, 2025 09:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or enhancement L: Magnetic.FundamentalWave Issue addresses Modelica.Magnetic.FundamentalWave P: high High priority issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants