Permeability

model Permeability "Determines permeability from flux and magnetic potential difference"
    parameter Modelica.SIunits.Area A "Area of cross section penetrated by flux";
    parameter Modelica.SIunits.Length l "Length associated with magnetic potential difference";
    Modelica.Blocks.Interfaces.RealInput Phi "Magnetic flux"
        annotation (Placement(transformation(extent = {
            {-140, 40}, 
            {-100, 80}})));
    Modelica.Blocks.Interfaces.RealInput V_m "Magnetic potential difference"
        annotation (Placement(transformation(extent = {
            {-140, -80}, 
            {-100, -40}})));
    Modelica.Blocks.Interfaces.RealOutput mu "Absolute permeability"
        annotation (Placement(transformation(extent = {
            {100, 50}, 
            {120, 70}})));
    Modelica.Blocks.Interfaces.RealOutput mur "Relative Permeability"
        annotation (Placement(transformation(extent = {
            {100, -70}, 
            {120, -50}})));
equation
    if noEvent(abs(V_m) < Modelica.Constants.eps) then 
        mu = 0;
        mur = 0;
    else 
        mu = Phi / V_m * l / A;
        mur = mu / Modelica.Constants.mue_0;
    end if;

    annotation (
        Diagram(coordinateSystem(preserveAspectRatio = false)),
        Icon(
            coordinateSystem(preserveAspectRatio = false),
            graphics = {
                Rectangle(
                    extent = {
                        {-100, 100}, 
                        {100, -100}},
                    lineColor = {0, 0, 127},
                    fillColor = {255, 255, 255},
                    fillPattern = FillPattern.Solid), 
                Text(
                    extent = {
                        {60, -60}, 
                        {-60, 60}},
                    fillColor = {255, 170, 85},
                    fillPattern = FillPattern.Solid,
                    textString = "mu")}),
        Documentation(info = "<html>\n<p>This model determines the absolute and relative permeability from two real inputs:</p>\n<ul>\n<li>RMS magnetic potential difference,\n<img src=\"modelica://Modelica/Resources/Images/Magnetic/QuasiStatic/FluxTubes/realV_m.png\" alt=\"V_m\"></li>\n<li>RMS magnetic flux,\n<img src=\"modelica://Modelica/Resources/Images/Magnetic/QuasiStatic/FluxTubes/realPhi.png\" alt=\"Phi\"></li>\n</ul>\n<p>In order to calculate the permeabilities, the area of cross section,\n<img src=\"modelica://Modelica/Resources/Images/Magnetic/QuasiStatic/FluxTubes/A.png\" alt=\"l\">,\nand the geometric length,\n<img src=\"modelica://Modelica/Resources/Images/Magnetic/QuasiStatic/FluxTubes/l.png\" alt=\"l\">,\nof the flux path have to be take into account</p>\n<dl><dd>\n<img src=\"modelica://Modelica/Resources/Images/Magnetic/QuasiStatic/FluxTubes/permeabilities.png\" alt=\"Permeabilities\">\n</dd></dl>\n<p>In case that the magnetic potential difference is close to zero, permeabilities yield:</p>\n<dl><dd>\n<img src=\"modelica://Modelica/Resources/Images/Magnetic/QuasiStatic/FluxTubes/permeabilities-0.png\" alt=\"Permeabilities=0\">\n</dd></dl>\n</html>"));
end Permeability;