UserDefinedComponents

class UserDefinedComponents "User Defined Components"
    extends Modelica.Icons.Information;

    annotation (
        DocumentationClass = true,
        Documentation(info = "<html>\n<p>\nIn this section some hints are given to define your own\n1-dimensional translational components which are compatible with the\nelements of this package.\nIt is convenient to define a new\ncomponent by inheritance from one of the following base classes,\nwhich are defined in sublibrary Interfaces:\n</p>\n<table border=1 cellspacing=0 cellpadding=2>\n<tr><th>Name</th><th>Description</th></tr>\n<tr>\n  <td><a href=\"modelica://Modelica.Mechanics.Translational.Interfaces.PartialCompliant\">PartialCompliant</a>\n  </td>\n  <td>Compliant connection of two translational 1-dim. flanges\n                   (used for force laws such as a spring or a damper).</td>\n</tr>\n\n<tr>\n  <td><a href=\"modelica://Modelica.Mechanics.Translational.Interfaces.PartialCompliantWithRelativeStates\">PartialCompliantWithRelativeStates</a>\n  </td>\n  <td> Same as \"PartialCompliant\", but relative position and relative speed are\n                    defined as preferred states. Use this partial model if the force law\n                    needs anyway the relative speed. The advantage is that it is usually better\n                    to use relative positions between drive train components\n                    as states, especially, if the position is not limited.\n</td>\n</tr>\n\n<tr>\n  <td><a href=\"modelica://Modelica.Mechanics.Translational.Interfaces.PartialElementaryTwoFlangesAndSupport2\">PartialElementaryTwoFlangesAndSupport2</a>\n</td>\n  <td> Partial model for a 1-dim. translational component consisting of the flange of\n                    an input shaft, the flange of an output shaft and the support.\n  </td>\n</tr>\n\n<tr>\n  <td><a href=\"modelica://Modelica.Mechanics.Translational.Interfaces.PartialForce\">PartialForce</a>\n</td>\n  <td> Partial model of a force acting at the flange (accelerates the flange).\n  </td>\n</tr>\n\n<tr>\n  <td><a href=\"modelica://Modelica.Mechanics.Translational.Interfaces.PartialTwoFlanges\">PartialTwoFlanges</a>\n</td>\n  <td>General connection of two translational 1-dim. flanges.\n  </td>\n</tr>\n\n<tr>\n  <td><a href=\"modelica://Modelica.Mechanics.Translational.Interfaces.PartialAbsoluteSensor\">PartialAbsoluteSensor</a>\n</td>\n  <td>Measure absolute flange variables.\n  </td>\n</tr>\n\n<tr>\n  <td><a href=\"modelica://Modelica.Mechanics.Translational.Interfaces.PartialRelativeSensor\">PartialRelativeSensor</a>\n</td>\n  <td>Measure relative flange variables.\n  </td>\n</tr>\n</table>\n\n<p>\nThe difference between these base classes are the auxiliary\nvariables defined in the model and the relations between\nthe flange variables already defined in the base class.\nFor example, in model <strong>PartialCompliant</strong> there is no\nsupport flange, whereas in model\n<strong>PartialElementaryTwoFlangesAndSupport2</strong>\nthere is a support flange.\n</p>\n<p>\nThe equations of a mechanical component are vector equations, i.e.,\nthey need to be expressed in a common coordinate system.\nTherefore, for a component a <strong>local axis of movement</strong> has to be\ndefined. All vector quantities, such as cut-forces or\nvelocities have to be expressed according to this definition.\nExamples for such a definition are given in the following figure\nfor a mass component:\n</p>\n\n<p>\n<img src=\"modelica://Modelica/Resources/Images/Mechanics/Translational/driveAxis.png\" alt=\"driveAxis\">\n</p>\n\n<p>\nAs can be seen, all vectors are directed into the direction\nof the movement axis. The positions in the flanges are defined\ncorrespondingly.\n</p>\n<p>\nOn first view, one may assume that the selected local\ncoordinate system has an influence on the usage of the\ncomponent. But this is not the case, as shown in the next figure:\n</p>\n\n<p>\n<img src=\"modelica://Modelica/Resources/Images/Mechanics/Translational/masses.png\" alt=\"masses\">\n</p>\n\n<p>\nIn the figure the <strong>local</strong> axes of rotation of the components\nare shown. The connection of two masses in the left and in the\nright part of the figure are completely equivalent, i.e., the right\npart is just a different drawing of the left part. This is due to the\nfact, that by a connection, the two local coordinate systems are\nmade identical and the (automatically) generated connection equations\n(= positions are identical, cut-forces sum-up to zero) are also\nexpressed in this common coordinate system. Therefore, even if in\nthe left figure it seems to be that the velocity vector of\n<code>m2</code> goes from right to left, in reality it goes from\nleft to right as shown in the right part of the figure, where the\nlocal coordinate systems are drawn such that they are aligned.\nNote, that the simple rule stated in section 4 (Sign conventions)\nalso determines that\nthe velocity of <code>m2</code> in the left part of the\nfigure is directed from left to right.\n</p>\n<p>\nTo summarize, the local coordinate system selected for a component\nis just necessary, in order that the equations of this component\nare expressed correctly. The selection of the coordinate system\nis arbitrary and has no influence on the usage of the component.\nEspecially, the actual direction of, e.g., a cut-force is most\neasily determined by the rule of section 4. A more strict determination\nby aligning coordinate systems and then using the vector direction\nof the local coordinate systems, often requires a re-drawing of the\ndiagram and is therefore less convenient to use.\n</p>\n</html>"));
end UserDefinedComponents;