model Liquid
    extends HydraulicsByFluidon.Media.Base.BaseFluid;

    parameter HydraulicsByFluidon.Media.Types.LiquidTypes fluidType = HydraulicsByFluidon.Media.Types.LiquidTypes.HLP46 "Type of Liquid";
    parameter Modelica.SIunits.Temperature fluidTemperature = 293 "Fluid temperature";
    parameter Real proportionUndissolvedAir = 0.001 "Proportion of undissolved air";
    parameter Real polytropicExponent = 1.1 "Polytropic exponent";
    HydraulicsByFluidon.Interfaces.FluidPort fluidPort "Hydraulic port"
        annotation (Placement(transformation(extent = {
            {100, -10}, 
            {120, 10}})));
    fluidPort.fluidId = Integer(fluidType);
    fluidPort.mFlow = 0;
    fluidPort.fluidTemperature = fluidTemperature;
    fluidPort.polytropicExponent = polytropicExponent;
    fluidPort.proportionUndissolvedAir = proportionUndissolvedAir;

    annotation (
                preserveAspectRatio = true,
                extent = {
                    {-100, -100}, 
                    {100, 100}}),
            graphics = {
                    lineColor = {0, 93, 152},
                    fillColor = {0, 93, 152},
                    fillPattern = FillPattern.Solid,
                    extent = {
                        {-40, 30}, 
                        {40, -55}},
                    endAngle = 360), 
                    lineColor = {0, 93, 152},
                    fillColor = {0, 93, 152},
                    fillPattern = FillPattern.Solid,
                    points = {
                        {-37, 5}, 
                        {37, 5}, 
                        {0, 75}, 
                        {-37, 5}}), 
                    fillPattern = FillPattern.VerticalCylinder,
                    extent = {
                        {-100, -55}, 
                        {100, -95}},
                    textString = "%fluidType")}),
        Documentation(info = "<html>\n            <p>\n                Model of a hydraulic liquid. The model provides the other components (e.g. pipes) with temperature- and pressure-dependent fluid properties. In order for the fluid properties to reach the other components, the liquid model must be connected to the hydraulic circuit.\n            </p>\n            <p>\n                The user can choose between the following liquids:\n                <ul>\n                    <li><a href=\"modelica://HydraulicsByFluidon.Media.HLP32\">HLP 32</a></li>\n                    <li><a href=\"modelica://HydraulicsByFluidon.Media.HLP46\">HLP 46</a></li>\n                    <li><a href=\"modelica://HydraulicsByFluidon.Media.Oil5W30\">Oil 5W30</a></li>\n                    <li><a href=\"modelica://HydraulicsByFluidon.Media.PentosinCHF11S\">Pentosin CHF 11S</a></li>\n                    <li><a href=\"modelica://HydraulicsByFluidon.Media.Skydrol5\">Skydrol 5</a></li>\n                    <li><a href=\"modelica://HydraulicsByFluidon.Media.Water\">Water</a></li>\n                </ul>\n                The model provides the following fluid properties as functions of pressure and temperature:\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>Speed of sound</li>\n                    <li>Specific heat at constant pressure</li>\n                    <li>Isobaric thermal expansion coefficient</li>\n                    <li>Thermal conductivity</li>\n                </ul>\n                    As an example, the following diagram shows the variation of density with pressure and temperature for water.\n                </p>\n                <p>\n                    <center><img src=\"modelica://HydraulicsByFluidon/Resources/Images/Media/Liquid/LiquidDensity.png\" width=\"350\"></center>\n                </p>\n                <p>\n                    Due to the used mathematical approach, the fluid properties are only valid within a limited range of temperatures and pressures. If the deviations from the actual fluid properties are too large, the custom fluid can be used.\n                </p>\n                <p>\n                    If the effects of undissolved air are to be considered during the simulation, the user can provide the fraction of undissolved air at ambient pressure through the parameter <var>Proportion of undissolved air</var>. The stiffness of the gas bubbles is calculated based on the parameter <var>Polytropic exponent</var> which can assume values between 1.0 (isothermal change of state, slow compression/expansion) and 1.4 (isentropic change of state, fast compression/expansion).\n            </p></html>"));
end Liquid;