VariableInductor

model VariableInductor "Single phase variable inductor"
    import Modelica.ComplexMath.j;

    extends Interfaces.OnePort;

    Modelica.Blocks.Interfaces.RealInput L(unit = "H") "Variable inductances"
        annotation (Placement(
            transformation(
                origin = {0, 120},
                extent = {
                    {-20, -20}, 
                    {20, 20}},
                rotation = 270),
            iconTransformation(
                extent = {
                    {-20, -20}, 
                    {20, 20}},
                rotation = 270,
                origin = {0, 120})));
equation
    v = j * omega * L * i;

    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})}),
        Documentation(info = "<html>\n\n<p>\nThe linear inductor connects the branch voltage <code><u>v</u></code> with the\nbranch current <code><u>i</u></code> by <code><u>v</u> = j*&omega;*L*<u>i</u></code>. The inductance <code>L</code> is given as input signal.\n</p>\n\n<h4>Note</h4>\n<p>\nThe abstraction of a variable inductor at quasi stationary operation assumes:\n</p>\n\n<p>\n<img src=\"modelica://Modelica/Resources/Images/Electrical/QuasiStationary/SinglePhase/Basic/dl_dt.png\"\n     alt=\"dl_dt.png\">\n</p>\n\n<h4>See also</h4>\n<p>\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.SinglePhase.Basic.Resistor\">Resistor</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.SinglePhase.Basic.Conductor\">Conductor</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.SinglePhase.Basic.Capacitor\">Capacitor</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.SinglePhase.Basic.Inductor\">Inductor</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.SinglePhase.Basic.Impedance\">Impedance</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.SinglePhase.Basic.Admittance\">Admittance</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.SinglePhase.Basic.VariableResistor\">Variable resistor</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.SinglePhase.Basic.VariableConductor\">Variable conductor</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.SinglePhase.Basic.VariableCapacitor\">Variable capacitor</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.SinglePhase.Basic.VariableImpedance\">Variable impedance</a>,\n<a href=\"modelica://Modelica.Electrical.QuasiStationary.SinglePhase.Basic.VariableAdmittance\">Variable admittance</a>,\n</p>\n</html>"));
end VariableInductor;