ZeroInductor

model ZeroInductor "Linear zero sequence inductor"
    extends Modelica.Electrical.MultiPhase.Interfaces.OnePort;

    parameter Modelica.SIunits.Inductance Lzero "Zero sequence inductance";
    Modelica.SIunits.Current i0;
    Modelica.SIunits.Voltage v0;
equation
    m * i0 = sum(i);
    v = fill(v0, m);
    v0 = Lzero * der(i0);

    annotation (
        defaultComponentName = "inductor",
        Documentation(info = "<html>\n<p>\nModel of a multi phase zero sequence inductor.\n</p>\n<h4>Implementation</h4>\n<pre>\n  v = Lzero*sum(der(i)) = Lzero*der(sum(i))\n</pre>\n\n</html>"),
        Icon(graphics = {
            Line(
                points = {
                    {-90, 0}, 
                    {-50, 0}},
                color = {0, 0, 255}), 
            Line(
                points = {
                    {52, 0}, 
                    {90, 0}},
                color = {0, 0, 255}), 
            Ellipse(
                extent = {
                    {-50, 30}, 
                    {-8, -32}},
                lineColor = {0, 0, 255}), 
            Ellipse(
                extent = {
                    {-20, 30}, 
                    {22, -32}},
                lineColor = {0, 0, 255}), 
            Ellipse(
                extent = {
                    {10, 30}, 
                    {52, -32}},
                lineColor = {0, 0, 255}), 
            Text(
                extent = {
                    {-150, 50}, 
                    {150, 90}},
                textString = "%name",
                lineColor = {0, 0, 255}), 
            Text(
                extent = {
                    {-150, -80}, 
                    {150, -40}},
                textString = "m=%m")}));
end ZeroInductor;