Introduction

class Introduction "Introduction"
    extends Modelica.Icons.Information;

    annotation (
        DocumentationClass = true,
        Documentation(info = "<html>\n<p>\nIn principal, no special action is needed, if\nloop structures occur (contrary to the ModelicaAdditions.MultiBody library).\nAn example is presented in the figure below. It is available as\n<a href=\"modelica://Modelica.Mechanics.MultiBody.Examples.Loops.Fourbar1\">\nMultiBody.Examples.Loops.Fourbar1</a>\n</p>\n\n<blockquote>\n<img src=\"modelica://Modelica/Resources/Images/Mechanics/MultiBody/UsersGuide/Tutorial/LoopStructures/Fourbar1a.png\">\n</blockquote>\n\n<p>\nThis mechanism consists of&nbsp;6 revolute joints and&nbsp;1 prismatic joint and forms a\nkinematical loop.\nIt has one degree of freedom. In the next figure the default animation\nis shown. Note, that the axes of the revolute joints are represented by the\nred cylinders and that the axis of the prismatic joint is represented by the\nred box on the lower right side.\n</p>\n\n<blockquote>\n<img src=\"modelica://Modelica/Resources/Images/Mechanics/MultiBody/UsersGuide/Tutorial/LoopStructures/Fourbar1b.png\" width=300>\n</blockquote>\n\n<p>\nWhenever loop structures occur, non-linear algebraic\nequations are present on \"position level\". It is then usually not possible by\nstructural analysis to select states during translation (which is possible for\nnon-loop structures). In the example above, a non-linear\nalgebraic loop of 54 equations can be detected and reduced to a system of&nbsp;6 coupled\nalgebraic equations. Note, that this is performed without using any\n\"cut-joints\" as it is usually done in multi-body programs, but by just\nappropriate symbolic equation manipulation. Via the dynamic dummy derivative\nmethod the generalized coordinates on position and velocity level from one of\nthe&nbsp;7 joints are dynamically selected as states during simulation. Whenever,\nthese two states are no longer appropriate, states from one of the other\njoints are selected during simulation.\n</p>\n<p>\nThe efficiency of loop structures can usually be\nenhanced, if states are statically fixed at translation time. For this\nmechanism, the generalized coordinates of joint j1 (i.e., the\nrotation angle of the revolute joint and its derivative;\nthe joint is visualized as a red cylinder at the x-axis in the animation figure above)\ncan always be used as states.\nIn the abovementioned example, this is already stated by setting parameter\n\"stateSelect&nbsp;=&nbsp;<strong>StateSelect.always</strong>\"\nin the \"Advanced\" menu of that joint.\nWhen setting this flag for joint j1 in that way in\nthe four bar mechanism, a non-linear algebraic loop of 40\nequations can be detected and reduced to a system of&nbsp;5 coupled non-linear algebraic\nequations.\n</p>\n<p>\nIn many mechanisms it is possible to solve the non-linear algebraic\nequations analytically. For a certain class of systems this can\nbe performed also with the MultiBody library. This technique\nis described in section\n\"<a href=\"modelica://Modelica.Mechanics.MultiBody.UsersGuide.Tutorial.LoopStructures.AnalyticLoopHandling\">Analytic loop handling</a>\".\n</p>\n</html>"));
end Introduction;