Add inverter models with current limiting
m-bossart opened this issue · 3 comments
The existing inverter models do not include current limiting. It would be good to include some models from the literature that have current limiting. @ciaranrob has started an implementation.
One key question is how to make the addition of current limiting modular and extensible? Does it make sense to define a new model (e.g. CurrentLimitedVoltageModeControl
) which is essentially equivalent to VoltageModeControl
with the addition of an Imax
parameter or is there a better way? @jd-lara @rodrigomha do you have thoughts on this?
That proposed option is okay for now, but it is not reasonable to do that more than once, so if we want to try other limiters we need a long-term solution.
I think the proper solution requires some major changes.
An intermediate solution would be similar of how the outer control work: create a struct for InnerControl
that contains the VoltageControl
, CurrentLimiter
and CurrentControl
.
Then, you can probably dispatch the combinations that you want in a clever way (using _mdl_ode_functions
to dispatch internally any combination you want) or repeat code.
This would require to do a bunch of things:
- Define a
NoCurrentLimiter
struct - Define a
NoVoltageControl
struct - Split
VoltageModeControl
into something likeVoltageControlVImpedance
,NoCurrentLimiter
andStandardCurrentControl
- Split
CurrentModeControl
into something likeNoVoltageControl
,NoCurrentLimiter
andStandardCurrentControl
What do you think @jd-lara ?
looking into this issue it seems we need to modify the structures of the inverters to incorporate current limiter DynamicComponents. We need to PoC this for PSY 3.0.
This closed in #383