InternalSupport

model InternalSupport "Adapter model to utilize conditional support connector"
    input Modelica.SIunits.Torque tau "External support torque (must be computed via torque balance in model where InternalSupport is used; = flange.tau)";
    Modelica.SIunits.Angle phi "External support angle (= flange.phi)";
    Flange_a flange "Internal support flange (must be connected to the conditional support connector for useSupport=true and to conditional fixed model for useSupport=false)"
        annotation (Placement(transformation(extent = {
            {-10, -10}, 
            {10, 10}})));
equation
    flange.phi = phi;
    flange.tau = tau;

    annotation (
        Icon(
            coordinateSystem(
                preserveAspectRatio = true,
                extent = {
                    {-100, -100}, 
                    {100, 100}}),
            graphics = {
                Ellipse(
                    extent = {
                        {-20, 20}, 
                        {20, -20}},
                    lineColor = {135, 135, 135},
                    fillColor = {175, 175, 175},
                    fillPattern = FillPattern.Solid), 
                Text(
                    extent = {
                        {-200, 80}, 
                        {200, 40}},
                    lineColor = {0, 0, 255},
                    textString = "%name")}),
        Documentation(info = "<html>\n<p>\nThis is an adapter model to utilize a conditional support connector\nin an elementary component, i.e., where the component equations are\ndefined textually:\n</p>\n\n<ul>\n<li> If <em>useSupport = true</em>, the flange has to be connected to the conditional\n     support connector.</li>\n<li> If <em>useSupport = false</em>, the flange has to be connected to the conditional\n     fixed model.</li>\n</ul>\n\n<p>\nVariable <strong>tau</strong> is defined as <strong>input</strong> and must be provided when using\nthis component as a modifier (computed via a torque balance in\nthe model where InternalSupport is used). Usually, model InternalSupport is\nutilized via the partial models:\n</p>\n\n<blockquote>\n<a href=\"modelica://Modelica.Mechanics.Rotational.Interfaces.PartialElementaryOneFlangeAndSupport\">\nPartialElementaryOneFlangeAndSupport</a>,<br>\n<a href=\"modelica://Modelica.Mechanics.Rotational.Interfaces.PartialElementaryTwoFlangesAndSupport\">\nPartialElementaryTwoFlangesAndSupport</a>,<br>\n<a href=\"modelica://Modelica.Mechanics.Rotational.Interfaces.PartialElementaryRotationalToTranslational\">\nPartialElementaryRotationalToTranslational</a>.\n</blockquote>\n\n<p>\nNote, the support angle can always be accessed as internalSupport.phi, and\nthe support torque can always be accessed as internalSupport.tau.\n</p>\n</html>"));
end InternalSupport;