IdealGear

model IdealGear "Ideal gear without inertia"
    extends Modelica.Mechanics.Rotational.Icons.Gear;
    extends Modelica.Mechanics.Rotational.Interfaces.PartialElementaryTwoFlangesAndSupport2;

    parameter Real ratio(start = 1) "Transmission ratio (flange_a.phi/flange_b.phi)";
    Modelica.SIunits.Angle phi_a "Angle between left shaft flange and support";
    Modelica.SIunits.Angle phi_b "Angle between right shaft flange and support";
equation
    0 = ratio * flange_a.tau + flange_b.tau;
    phi_a = ratio * phi_b;
    phi_a = flange_a.phi - phi_support;
    phi_b = flange_b.phi - phi_support;

    annotation (
        Documentation(info = "<html>\n<p>\nThis element characterizes any type of gear box which is fixed in the\nground and which has one driving shaft and one driven shaft.\nThe gear is <strong>ideal</strong>, i.e., it does not have inertia, elasticity, damping\nor backlash. If these effects have to be considered, the gear has to be\nconnected to other elements in an appropriate way.\n</p>\n\n</html>"),
        Icon(
            coordinateSystem(
                preserveAspectRatio = true,
                extent = {
                    {-100, -100}, 
                    {100, 100}}),
            graphics = {
                Text(
                    extent = {
                        {-153, 145}, 
                        {147, 105}},
                    lineColor = {0, 0, 255},
                    textString = "%name"), 
                Text(
                    extent = {
                        {-146, -49}, 
                        {154, -79}},
                    textString = "ratio=%ratio")}));
end IdealGear;