model MagneticFluxSensor "Sensor to measure magnetic flux"
extends Modelica.Icons.RotationalSensor;
extends Interfaces.PartialTwoPort;
Modelica.SIunits.ComplexMagneticPotentialDifference V_m "Complex magnetic potential difference";
Modelica.ComplexBlocks.Interfaces.ComplexOutput Phi "Complex magnetic flux from por_ p to port_n as output signal"
annotation (Placement(transformation(
origin = {0, -100},
extent = {
{10, -10},
{-10, 10}},
rotation = 90)));
Modelica.SIunits.MagneticFlux abs_Phi = Modelica.ComplexMath.'abs'(Phi) "Magnitude of complex magnetic flux";
Modelica.SIunits.Angle arg_Phi = Modelica.ComplexMath.arg(Phi) "Argument of complex magnetic flux";
equation
port_p.Phi + port_n.Phi = Complex(0, 0);
V_m = Complex(0, 0);
port_p.Phi = Phi;
port_p.V_m - port_n.V_m = V_m;
annotation (
defaultComponentName = "magFluxSensor",
Icon(
coordinateSystem(
preserveAspectRatio = false,
extent = {
{-100, -100},
{100, 100}},
grid = {2, 2}),
graphics = {
Text(
extent = {
{-29, -11},
{30, -70}},
textString = "Phi"),
Line(points = {
{-72, 0},
{-90, 0}}),
Text(
extent = {
{-140, 120},
{140, 80}},
textString = "%name",
lineColor = {0, 0, 255}),
Line(points = {
{70, 0},
{90, 0}}),
Line(points = {
{0, -90},
{0, -70}})}),
Documentation(info = "<html>\n<p>Sensor for magnetic flux.</p>\n\n<h4>See also</h4>\n<p>\n<a href=\"modelica://Modelica.Magnetic.FundamentalWave.Sensors.MagneticPotentialDifferenceSensor\">MagneticPotentialDifferenceSensor</a>\n</p>\n</html>"));
end MagneticFluxSensor;