HydroMotor

model HydroMotor
    extends HydraulicsByFluidon.Components.Base.PartialHydroMotor;
equation
    hydroMotorInt.volume = dispVolume;

    annotation (
        Documentation(info = "<html>\n            <p>Model of a hydro motor with fixed displacement volume and losses.\n            </p>\n            <p>\n                <center><img src=\"modelica://HydraulicsByFluidon/Resources/Images/Components/Motors/HydroMotor.png\"></center>\n            </p>\n            <p>\n                The main parameters of the motor are its <var>Displacement volume</var> and the <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></html>"),
        Icon(
            graphics = {
                Polygon(
                    fillPattern = FillPattern.Solid,
                    points = {
                        {0, 24}, 
                        {20, 56.6}, 
                        {10, 59.4}, 
                        {0, 60}, 
                        {-10, 59.4}, 
                        {-20, 56.6}, 
                        {0, 24}}), 
                Polygon(
                    rotation = 180,
                    fillPattern = FillPattern.Solid,
                    points = {
                        {0, 24}, 
                        {20, 56.6}, 
                        {10, 59.4}, 
                        {0, 60}, 
                        {-10, 59.4}, 
                        {-20, 56.6}, 
                        {0, 24}}), 
                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 HydroMotor;