model FixedDisplacementPump
extends HydraulicsByFluidon.Components.Pumps.Base.PartialDisplacementPump;
equation
pumpInt.volume = dispVolume * min(1, min(fluidPortA.p, fluidPortB.p) / minSuctionPressure);
annotation (
Documentation(info = "<html>\n <p>\n Model of a pump with fixed displacement volume and losses.\n </p>\n <p>\n <center><img src=\"modelica://HydraulicsByFluidon/Resources/Images/Components/Pumps/FixedDisplacementPump.png\"></center>\n </p>\n <p>\n The main parameters of the pump are its maximum <var>Displacement volume</var> and the \n <var>Rotational moment of inertia</var>.\n </p>\n <p>\n The losses are parameterised by providing volumetric and mechanical efficiencies <var>Volumetric efficiency</var> and <var>Mechanical efficiency</var> for a given operating point. \n The operating point is characterised by a reference pressure difference <var>Reference pressure difference</var> and a corresponding shaft speed <var>Reference speed</var>. \n Based on the entered values, the parameters of a laminar throttle (volumetric losses) and a linear damper (representing the\n mechanical losses) are determined automatically. Unlike the efficiencies, the parameters of these two elements typically do not vary\n significantly with the operating conditions.\n </p>\n <p>\n The parameter <var>Ratio external Leakage / total Leakage</var> allows to split the leakage between internal and external leakage. A gear pump e. g. typically has no \n external leakage, <var>Ratio external Leakage / total Leakage</var> has to be set to 0. In contrast, a piston pump has a significant external leakage\n (0.5 < <var>Ratio external Leakage / total Leakage</var> <= 1).\n </p>\n <p>\n <i>minSuctionPressure</i> takes into account that a pump requires a minimaum suction pressure for full flow. Below this pressure, \n the flow rate is reduced. In this model, the reduction is assumed to be simplified as a linear function of suction pressure in \n relation to <i>minSuctionPressure</i>.\n </p>\n <p>\n <center><img align=\"middle\" src=\"modelica://HydraulicsByFluidon/Resources/Images/Components/Pumps/PumpSuctionPressure.png\"></center>\n </p>\n </html>"),
Icon(
graphics = {
Line(points = {
{-100, 10},
{-59, 10}}),
Line(points = {
{-100, -10},
{-59, -10}}),
Line(points = {
{59, 10},
{100, 10}}),
Line(points = {
{59, -10},
{100, -10}}),
Line(
origin = {91, 0},
points = {
{-9, -30},
{-4, -20},
{1, 0},
{-4, 20},
{-9, 30}},
smooth = Smooth.Bezier),
Polygon(
origin = {44, -65},
rotation = 30,
fillPattern = FillPattern.Solid,
points = {
{80, 80},
{85, 60},
{75, 60},
{80, 80}}),
Polygon(
origin = {183, -15},
rotation = 150,
fillPattern = FillPattern.Solid,
points = {
{80, 80},
{85, 60},
{75, 60},
{80, 80}})},
coordinateSystem(initialScale = 0.1)));
end FixedDisplacementPump;