model FluidPropertySensor
import Modelica.Units.SI;
import HydraulicsByFluidon.Media.Base.FluidInterface;
extends HydraulicsByFluidon.Components.Sensors.Base.Sensor;
parameter HydraulicsByFluidon.Types.TFluidPropertyTypes propertyType = HydraulicsByFluidon.Types.TFluidPropertyTypes.rho "Output property";
equation
value = if propertyType == HydraulicsByFluidon.Types.TFluidPropertyTypes.rho then FluidInterface.calcRho(fluidPort.fluidId, fluidPort.p, fluidPort.fluidTemperature) else if propertyType == HydraulicsByFluidon.Types.TFluidPropertyTypes.nu then FluidInterface.calcNu(fluidPort.fluidId, fluidPort.p, fluidPort.fluidTemperature) else if propertyType == HydraulicsByFluidon.Types.TFluidPropertyTypes.eta then FluidInterface.calcEta(fluidPort.fluidId, fluidPort.p, fluidPort.fluidTemperature) else if propertyType == HydraulicsByFluidon.Types.TFluidPropertyTypes.Kt then FluidInterface.calcKt(fluidPort.fluidId, fluidPort.p, fluidPort.fluidTemperature) else if propertyType == HydraulicsByFluidon.Types.TFluidPropertyTypes.Ks then FluidInterface.calcKs(fluidPort.fluidId, fluidPort.p, fluidPort.fluidTemperature) else if propertyType == HydraulicsByFluidon.Types.TFluidPropertyTypes.cp then FluidInterface.calcCp(fluidPort.fluidId, fluidPort.p, fluidPort.fluidTemperature) else if propertyType == HydraulicsByFluidon.Types.TFluidPropertyTypes.gammap then FluidInterface.calcGammap(fluidPort.fluidId, fluidPort.p, fluidPort.fluidTemperature) else FluidInterface.calcAs(fluidPort.fluidId, fluidPort.p, fluidPort.fluidTemperature);
fluidPort.mFlow = 0;
annotation (
Icon(
coordinateSystem(initialScale = 0.1),
graphics = {
Line(
rotation = -45,
points = {
{0, 25},
{0, -25}},
color = {0, 93, 152}),
Polygon(
origin = {-32, -32},
lineColor = {0, 93, 152},
fillColor = {0, 93, 152},
fillPattern = FillPattern.Solid,
points = {
{59, 59},
{45, 51},
{51, 45},
{59, 59}}),
Text(
origin = {0, 22},
lineColor = {0, 93, 152},
fillColor = {0, 93, 152},
extent = {
{-30, -25},
{30, -55}},
textString = "fluid")}),
Documentation(info = "<html>\n <p>\n Following fluid properties are available:\n <ul>\n <li>Density</li>\n <li>Kinematic viscosity</li>\n <li>Dynamic viscosity</li>\n <li>Isothermal bulk modulus</li>\n <li>Isentropic bulk modulus</li>\n <li>Specific heat capacity at constant pressure</li>\n <li>Isobaric thermal expansion coefficient</li>\n <li>Sound speed</li>\n </ul>\n </p>\n <p>\n The chosen fluid property is measured at fluid temperature and pressure at the fluid port.\n </p>\n </html>"));
end FluidPropertySensor;