VariableInductor

model VariableInductor "Multiphase variable inductor"
    extends Interfaces.TwoPlug;

    Modelica.Blocks.Interfaces.RealInput L[m](each unit = "H") "Variable inductance"
        annotation (Placement(
            transformation(
                origin = {0, 120},
                extent = {
                    {-20, -20}, 
                    {20, 20}},
                rotation = 270),
            iconTransformation(
                extent = {
                    {-20, -20}, 
                    {20, 20}},
                rotation = 270,
                origin = {0, 120})));
    QuasiStationary.SinglePhase.Basic.VariableInductor variableInductor[m] annotation (Placement(transformation(extent = {
        {-10, -10}, 
        {10, 10}})));
equation
    connect(variableInductor.L,L) annotation (Line(
        points = {
            {0, 12}, 
            {0, 12}, 
            {0, 120}},
        color = {0, 0, 127}));
    connect(variableInductor.pin_n,plugToPins_n.pin_n) annotation (Line(
        points = {
            {10, 0}, 
            {39, 0}, 
            {39, 0}, 
            {68, 0}},
        color = {85, 170, 255}));
    connect(variableInductor.pin_p,plugToPins_p.pin_p) annotation (Line(
        points = {
            {-10, 0}, 
            {-24.5, 0}, 
            {-24.5, 0}, 
            {-39, 0}, 
            {-39, 0}, 
            {-68, 0}},
        color = {85, 170, 255}));

    annotation (
        defaultComponentName = "inductor",
        Icon(graphics = {
            Line(
                points = {
                    {60, 0}, 
                    {90, 0}},
                color = {85, 170, 255}), 
            Line(
                points = {
                    {-90, 0}, 
                    {-60, 0}},
                color = {85, 170, 255}), 
            Line(
                points = {
                    {-60, 0}, 
                    {-59, 6}, 
                    {-52, 14}, 
                    {-38, 14}, 
                    {-31, 6}, 
                    {-30, 0}},
                color = {0, 128, 255},
                smooth = Smooth.Bezier), 
            Line(
                points = {
                    {-30, 0}, 
                    {-29, 6}, 
                    {-22, 14}, 
                    {-8, 14}, 
                    {-1, 6}, 
                    {0, 0}},
                color = {0, 128, 255},
                smooth = Smooth.Bezier), 
            Line(
                points = {
                    {0, 0}, 
                    {1, 6}, 
                    {8, 14}, 
                    {22, 14}, 
                    {29, 6}, 
                    {30, 0}},
                color = {0, 128, 255},
                smooth = Smooth.Bezier), 
            Line(
                points = {
                    {30, 0}, 
                    {31, 6}, 
                    {38, 14}, 
                    {52, 14}, 
                    {59, 6}, 
                    {60, 0}},
                color = {0, 128, 255},
                smooth = Smooth.Bezier), 
            Text(
                extent = {
                    {-150, 90}, 
                    {150, 50}},
                textString = "%name",
                lineColor = {0, 0, 255}), 
            Text(
                extent = {
                    {150, -80}, 
                    {-150, -40}},
                textString = "m=%m")}),
        Documentation(info = "<html>\n<p>\nThe linear inductors connect the complex voltages <code><u>v</u></code> with the complex\ncurrents <code><u>i</u></code> by <code><u>i</u>*j*&omega;*L = <u>v</u></code>,\nusing <code>m</code> <a href=\"modelica://Modelica.Electrical.QuasiStationary.SinglePhase.Basic.VariableInductor\">single phase variable Inductors</a>.\nThe inductances <code>L</code> are given as <code>m</code> input signals.\n</p>\n\n<h4>See also</h4>\n<p>\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.SinglePhase.Basic.Inductor\">Inductor</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.MultiPhase.Basic.Resistor\">Resistor</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.MultiPhase.Basic.Conductor\">Conductor</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.MultiPhase.Basic.Capacitor\">Capacitor</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.MultiPhase.Basic.Inductor\">Inductor</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.MultiPhase.Basic.Impedance\">Impedance</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.MultiPhase.Basic.Admittance\">Admittance</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.MultiPhase.Basic.VariableResistor\">Variable resistor</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.MultiPhase.Basic.VariableConductor\">Variable conductor</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.MultiPhase.Basic.VariableCapacitor\">Variable capacitor</a>\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.MultiPhase.Basic.VariableImpedance\">Variable impedance</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.MultiPhase.Basic.VariableAdmittance\">Variable admittance</a>\n</p>\n</html>"));
end VariableInductor;