Show
Ignore:
Timestamp:
02/26/08 09:25:23 (9 months ago)
Author:
dietmarw
Message:

updated the copyright notices to 2008 and corrected some Umlauts to HTML entities when present in the HTML environment

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/maintenance/3.0/Modelica/Mechanics/MultiBody/package.mo

    r1046 r1074  
    16163-dimensional mechanical components to model in a convenient way 
    1717<b>mechanical systems</b>, such as robots, mechanisms, vehicles. 
    18 Typical animations generated with this library are shown  
     18Typical animations generated with this library are shown 
    1919in the next figure: 
    2020</p> 
     
    3333 
    3434<p> 
    35 Copyright &copy; 1998-2007, Modelica Association and DLR. 
     35Copyright &copy; 1998-2008, Modelica Association and DLR. 
    3636</p> 
    3737<p> 
    3838<i>This Modelica package is <b>free</b> software; it can be redistributed and/or modified 
    3939under the terms of the <b>Modelica license</b>, see the license conditions 
    40 and the accompanying <b>disclaimer</b>  
     40and the accompanying <b>disclaimer</b> 
    4141<a href=\"Modelica://Modelica.UsersGuide.ModelicaLicense\">here</a>.</i> 
    4242</p><br> 
     
    9898</li> 
    9999<li> 
    100 <a href=\"Modelica://Modelica.Mechanics.MultiBody.UsersGuide.Tutorial.FirstExample\">A first example</a>  
     100<a href=\"Modelica://Modelica.Mechanics.MultiBody.UsersGuide.Tutorial.FirstExample\">A first example</a> 
    101101  describes in detail all the steps to build a simple pendulum model. 
    102102</li> 
     
    334334<p> 
    335335In principal, now special action is needed, if 
    336 loop structures occur (contrary to the ModelicaAdditions.MultiBody library).  
    337 An example is presented in the figure below. It is available as  
     336loop structures occur (contrary to the ModelicaAdditions.MultiBody library). 
     337An example is presented in the figure below. It is available as 
    338338<a href=\"Modelica://Modelica.Mechanics.MultiBody.Examples.Loops.Fourbar1\"> 
    339339MultiBody.Examples.Loops.Fourbar1</a> 
     
    343343</p> 
    344344<p> 
    345 This mechanism consists of 6 revolute joints, 1 prismatic joint and forms a  
    346 kinematical loop.  
    347 It has has one degree of freedom. In the next figure the default animation  
    348 is shown. Note, that the axes of the revolute joints are represented by the  
    349 red cylinders and that the axis of the prismatic joint is represented by the  
    350 red box on the lower right side.  
     345This mechanism consists of 6 revolute joints, 1 prismatic joint and forms a 
     346kinematical loop. 
     347It has has one degree of freedom. In the next figure the default animation 
     348is shown. Note, that the axes of the revolute joints are represented by the 
     349red cylinders and that the axis of the prismatic joint is represented by the 
     350red box on the lower right side. 
    351351</p> 
    352352<p align=\"center\"> 
     
    354354</p> 
    355355<p> 
    356 Whenever loop structures occur, non-linear algebraic  
    357 equations are present on \"position level\". It is then usually not possible by  
    358 structural analysis to select states during translation (which is possible for  
    359 non-loop structures). In the example above, Dymola detects a non-linear  
    360 algebraic loop of 57 equations and reduces this to a system of 7 coupled  
    361 algebraic equations. Note, that this is performed without using any  
    362 \"cut-joints\" as it is usually done in multi-body programs, but by just  
    363 appropriate symbolic equation manipulation. Via the dynamic dummy derivative  
    364 method the generalized coordinates on position and velocity level from one of  
    365 the 7 joints are dynamically selected as states during simulation. Whenever,  
    366 these two states are no longer appropriate, states from one of the other  
     356Whenever loop structures occur, non-linear algebraic 
     357equations are present on \"position level\". It is then usually not possible by 
     358structural analysis to select states during translation (which is possible for 
     359non-loop structures). In the example above, Dymola detects a non-linear 
     360algebraic loop of 57 equations and reduces this to a system of 7 coupled 
     361algebraic equations. Note, that this is performed without using any 
     362\"cut-joints\" as it is usually done in multi-body programs, but by just 
     363appropriate symbolic equation manipulation. Via the dynamic dummy derivative 
     364method the generalized coordinates on position and velocity level from one of 
     365the 7 joints are dynamically selected as states during simulation. Whenever, 
     366these two states are no longer appropriate, states from one of the other 
    367367joints are selected during simulation. 
    368368</p> 
    369369<p> 
    370 The efficiency of loop structures can usually be  
    371 enhanced, if states are statically fixed at translation time. For this  
    372 mechanism, the generalized coordinates of joint j1 (i.e., the  
    373 rotation angle of the revolute joint and its derivative) can always be used as  
    374 states. This can be stated by setting parameter \"enforceStates = <b>true</b>\"  
    375 in the \"Advanced\" menu of the desired joint. This flag sets the attribute  
    376 stateSelect of the generalized coordinates of the coresponding joint to  
    377 \"StateSelect.always\". When setting this flag to <b>true</b> for joint j1 in  
    378 the four bar mechanism, Dymola detects a non-linear algebraic loop of 40  
    379 equations and reduces this to a system of 5 coupled non-linear algebraic  
     370The efficiency of loop structures can usually be 
     371enhanced, if states are statically fixed at translation time. For this 
     372mechanism, the generalized coordinates of joint j1 (i.e., the 
     373rotation angle of the revolute joint and its derivative) can always be used as 
     374states. This can be stated by setting parameter \"enforceStates = <b>true</b>\" 
     375in the \"Advanced\" menu of the desired joint. This flag sets the attribute 
     376stateSelect of the generalized coordinates of the coresponding joint to 
     377\"StateSelect.always\". When setting this flag to <b>true</b> for joint j1 in 
     378the four bar mechanism, Dymola detects a non-linear algebraic loop of 40 
     379equations and reduces this to a system of 5 coupled non-linear algebraic 
    380380equations. 
    381381</p> 
     
    384384equations analytically. For a certain class of systems this can 
    385385be performed also with the MultiBody library. This technique 
    386 is described in section  
     386is described in section 
    387387\"<a href=\"AnalyticLoopHandling\">Analytic loop handling</a>\". 
    388388</p> 
     
    394394        annotation (Documentation(info="<HTML> 
    395395<p> 
    396 In the figure below, the model of a V6 engine is  
    397 shown that has a simple combustion model. It is available as  
     396In the figure below, the model of a V6 engine is 
     397shown that has a simple combustion model. It is available as 
    398398<a href=\"Modelica://Modelica.Mechanics.MultiBody.Examples.Loops.EngineV6\"> 
    399 MultiBody.Examples.Loops.EngineV6</a>.  
     399MultiBody.Examples.Loops.EngineV6</a>. 
    400400</p> 
    401401<p align=\"center\"> 
     
    403403</p> 
    404404<p> 
    405 The Modelica schematic of one cylinder  
    406 is given in the figure below. Connecting 6 instances of this  
     405The Modelica schematic of one cylinder 
     406is given in the figure below. Connecting 6 instances of this 
    407407cylinder appropriately together results in the engine schematic displayed 
    408408above. 
     
    412412</p> 
    413413<p> 
    414 In the next figure the animation of the engine is  
    415 shown. Every cylinder consists essentially of 1 prismatic and 2 revolute  
    416 joints that form a planar loop, since the axes of the two revolute joints are  
    417 parallel to each other and the axis of the prismatic joint is orthogonal to  
    418 the revolute joint axes. All 6 cylinders together form a coupled set of 6  
    419 loops that have together 1 degree of freedom.  
     414In the next figure the animation of the engine is 
     415shown. Every cylinder consists essentially of 1 prismatic and 2 revolute 
     416joints that form a planar loop, since the axes of the two revolute joints are 
     417parallel to each other and the axis of the prismatic joint is orthogonal to 
     418the revolute joint axes. All 6 cylinders together form a coupled set of 6 
     419loops that have together 1 degree of freedom. 
    420420</p> 
    421421<p align=\"center\"> 
     
    423423</p> 
    424424<p> 
    425 All planar loops, and especially the engine, result in  
     425All planar loops, and especially the engine, result in 
    426426a DAE (= Differential-Algebraic Equation system) 
    427 that does not have a unique solution. The reason is that, e.g., the cut  
    428 forces in direction of the axes of the revolute joints cannot be uniquely  
    429 computed. Any value fulfills the DAE equations. This is a structural property  
    430 that is determined by the symbolic algorithms. Since they detect that the DAE is  
    431 structurally singular, a further processing is not possible. Without  
    432 additional information it is also impossible that the symbolic algorithms  
    433 could be enhanced because if the axes of rotations of the revolute joints are  
    434 only slightly changed such that they are no longer parallel to each other, the  
    435 planar loop can no longer move and has 0 degrees of freedom. Algorithms based  
    436 on pure structural information cannot distinguish these two cases.  
    437 </p> 
    438 <p> 
    439 The usual remedy is to remove superfluous constraints,  
    440 e.g., along the axis of rotation of <b>one</b> revolute joint. Since this is  
     427that does not have a unique solution. The reason is that, e.g., the cut 
     428forces in direction of the axes of the revolute joints cannot be uniquely 
     429computed. Any value fulfills the DAE equations. This is a structural property 
     430that is determined by the symbolic algorithms. Since they detect that the DAE is 
     431structurally singular, a further processing is not possible. Without 
     432additional information it is also impossible that the symbolic algorithms 
     433could be enhanced because if the axes of rotations of the revolute joints are 
     434only slightly changed such that they are no longer parallel to each other, the 
     435planar loop can no longer move and has 0 degrees of freedom. Algorithms based 
     436on pure structural information cannot distinguish these two cases. 
     437</p> 
     438<p> 
     439The usual remedy is to remove superfluous constraints, 
     440e.g., along the axis of rotation of <b>one</b> revolute joint. Since this is 
    441441not easy for an inexperienced modeler, the special joint: 
    442442<a href=\"Modelica://Modelica.Mechanics.MultiBody.Joints.RevolutePlanarLoopConstraint\"> 
    443 RevolutePlanarLoopConstraint</a> is provided that removes these constraints.  
     443RevolutePlanarLoopConstraint</a> is provided that removes these constraints. 
    444444Exactly one revolute joint in a every planar loop must be replaced by this 
    445445joint type. In the engine example, this special joinst is used for 
     
    448448</p> 
    449449<p> 
    450 If a modeler is not aware of the problems with planar  
     450If a modeler is not aware of the problems with planar 
    451451loops and models them without special consideration, a Modelica 
    452 translator, such as Dymola, displays an error  
    453 message and points out that a planar loop may be the reason and suggests to  
     452translator, such as Dymola, displays an error 
     453message and points out that a planar loop may be the reason and suggests to 
    454454use the RevolutePlanarLoopConstraint joint. 
    455 This error message is due to an annotation in  
     455This error message is due to an annotation in 
    456456the Frame connector. 
    457457</p> 
     
    463463</pre> 
    464464<p> 
    465 If no assignment can be found for some  
    466 forces in a connector, the \"unassignedMessage\" is displayed. In most cases the  
    467 reason for this is a planar loop or two joints that constrain the same motion.  
     465If no assignment can be found for some 
     466forces in a connector, the \"unassignedMessage\" is displayed. In most cases the 
     467reason for this is a planar loop or two joints that constrain the same motion. 
    468468Both cases are discussed in the error message. 
    469469</p> 
    470470<p> 
    471 Note, that the non-linear algebraic equations occurring  
    472 in planar loops can be solved analytically in most cases and therefore it is  
     471Note, that the non-linear algebraic equations occurring 
     472in planar loops can be solved analytically in most cases and therefore it is 
    473473highly recommended to use the techniques discussed in section 
    474474\"<a href=\"AnalyticLoopHandling\">Analytic loop handling</a>\" 
     
    481481 
    482482        annotation (Documentation(info="<HTML> 
    483 It is well known that the non-linear  
    484 algebraic equations of most mechanical loops in technical devices can be  
    485 solved analytically. It is, however, difficult to perform this fully  
    486 automatically and therefore none of the commercial, general purpose multi-body  
    487 programs, such as MSC ADAMS, LMS DADS, SIMPACK, have this feature.  
    488 These programs solve loop structures with pure numerical methods. Multi-body  
    489 programs that are designed for real-time simulation of the dynamics of  
    490 specific vehicles, such as ve-DYNA, usually contain manual implementations  
    491 of a particular multi-body system (the vehicle) where the occurring loops are  
    492 either analytically solved, if this is possible, or are treated by table  
    493 look-up where the tables are constructed in a pre-processing phase. Without  
    494 these features the required real-time capability would be difficult to  
     483It is well known that the non-linear 
     484algebraic equations of most mechanical loops in technical devices can be 
     485solved analytically. It is, however, difficult to perform this fully 
     486automatically and therefore none of the commercial, general purpose multi-body 
     487programs, such as MSC ADAMS, LMS DADS, SIMPACK, have this feature. 
     488These programs solve loop structures with pure numerical methods. Multi-body 
     489programs that are designed for real-time simulation of the dynamics of 
     490specific vehicles, such as ve-DYNA, usually contain manual implementations 
     491of a particular multi-body system (the vehicle) where the occurring loops are 
     492either analytically solved, if this is possible, or are treated by table 
     493look-up where the tables are constructed in a pre-processing phase. Without 
     494these features the required real-time capability would be difficult to 
    495495achieve. 
    496496</p> 
     
    499499Prof. Hiller and his group in Duisburg, Germany, 
    500500have developed systematic methods to handle mechanical 
    501 loops analytically. The \"characteristic pair of joints\" method  
    502 basically cuts a loop at two joints and uses geometric  
    503 invariants to reduce the number of algebraic  
    504 equations, often down to one equation that can be solved analytically. Also  
    505 several multi-body codes have been developed that are based on this method,  
    506 e.g., MOBILE. Besides the very desired feature to solve non-linear  
    507 algebraic equations analytically, i.e., efficiently and in a robust way, there  
    508 are several drawbacks: It is difficult to apply this method automatically.  
    509 Even if this would be possible in a good way, there is always the problem that  
    510 it cannot be guaranteed that the statically selected states lead to no  
    511 singularity during simulation. Therefore, the \"characteristic pair of joints\"  
     501loops analytically. The \"characteristic pair of joints\" method 
     502basically cuts a loop at two joints and uses geometric 
     503invariants to reduce the number of algebraic 
     504equations, often down to one equation that can be solved analytically. Also 
     505several multi-body codes have been developed that are based on this method, 
     506e.g., MOBILE. Besides the very desired feature to solve non-linear 
     507algebraic equations analytically, i.e., efficiently and in a robust way, there 
     508are several drawbacks: It is difficult to apply this method automatically. 
     509Even if this would be possible in a good way, there is always the problem that 
     510it cannot be guaranteed that the statically selected states lead to no 
     511singularity during simulation. Therefore, the \"characteristic pair of joints\" 
    512512method is usually manually applied which requires know-how and experience. 
    513513</p> 
    514514<p> 
    515 In the MultiBody library the \"characteristic pair of  
    516 joints\" method is supported in a restricted form such that it can be applied  
    517 also by non-specialists. The idea is to provide aggregations of joints in package  
     515In the MultiBody library the \"characteristic pair of 
     516joints\" method is supported in a restricted form such that it can be applied 
     517also by non-specialists. The idea is to provide aggregations of joints in package 
    518518<a href=\"Modelica://Modelica.Mechanics.MultiBody.Joints.Assemblies\"> 
    519 MultiBody.Joints.Assemblies</a>.  
    520 as one object that either have <b>6</b> degrees of freedom or  
    521 <b>3</b> degrees of freedom (for usage in planar loops).  
    522 </p> 
    523 <p> 
    524 As an example, a variant of the four bar mechanism is given in  
     519MultiBody.Joints.Assemblies</a>. 
     520as one object that either have <b>6</b> degrees of freedom or 
     521<b>3</b> degrees of freedom (for usage in planar loops). 
     522</p> 
     523<p> 
     524As an example, a variant of the four bar mechanism is given in 
    525525the figure below. 
    526526</p> 
     
    531531Here, the mechanism is modeled with one revolute 
    532532joint, two spherical joints and one prismatic joint. 
    533 In the figure below, the two spherical joints  
    534 and the prismatic joint are collected together in an assembly object  
     533In the figure below, the two spherical joints 
     534and the prismatic joint are collected together in an assembly object 
    535535called \"jointSSP\" from 
    536536<a href=\"Modelica://Modelica.Mechanics.MultiBody.Joints.Assemblies.JointSSP\"> 
    537 MultiBody.Joints.Assemblies.JointSSP</a>.  
     537MultiBody.Joints.Assemblies.JointSSP</a>. 
    538538</p> 
    539539<p align=\"center\"> 
     
    541541</p> 
    542542<p> 
    543 The JointSSP joint aggregation has a frame at the  
    544 left side of the left spherical joint (frame_a) and a frame at the right side  
    545 of the prismatic joint (frame_b). JointSSP, as all other objects from the  
     543The JointSSP joint aggregation has a frame at the 
     544left side of the left spherical joint (frame_a) and a frame at the right side 
     545of the prismatic joint (frame_b). JointSSP, as all other objects from the 
    546546Joints.Assemblies package, has the property, that the <b>generalized 
    547 coordinates, and all other frames  
    548 defined in the assembly, can be calculated given the movement of frame_a and  
    549 of frame_b</b>. This is performed by <b>analytically</b> solving non-linear  
    550 systems of equations (details are given in section xxx). From a  
    551 structural point of view, the equations in an assembly object are written in  
     547coordinates, and all other frames 
     548defined in the assembly, can be calculated given the movement of frame_a and 
     549of frame_b</b>. This is performed by <b>analytically</b> solving non-linear 
     550systems of equations (details are given in section xxx). From a 
     551structural point of view, the equations in an assembly object are written in 
    552552the form 
    553553</p> 
     
    558558</p> 
    559559<p> 
    560 where<b> r</b><sup>a</sup>, <b>R</b><sup>a</sup>,<b>  
    561 r</b><sup>b</sup>, <b>R</b><sup>b</sup><b> </b>are the variables defining the  
    562 position and orientation of the frame_a and frame_b connector,  
    563 <b>q</b> are the generalized positional coordinates inside the  
     560where<b> r</b><sup>a</sup>, <b>R</b><sup>a</sup>,<b> 
     561r</b><sup>b</sup>, <b>R</b><sup>b</sup><b> </b>are the variables defining the 
     562position and orientation of the frame_a and frame_b connector, 
     563<b>q</b> are the generalized positional coordinates inside the 
    564564assembly, e.g., the angle of a revolute joint. Given angle 
    565 <span style=\"font-family:Symbol\">j</span> of revolute joint j1 from the four  
    566 bar mechanism, frame_a and frame_b of the assembly object can be computed by a  
     565<span style=\"font-family:Symbol\">j</span> of revolute joint j1 from the four 
     566bar mechanism, frame_a and frame_b of the assembly object can be computed by a 
    567567forward recursion 
    568568</p> 
     
    572572</p> 
    573573<p> 
    574 Since this is a structural property, the  
     574Since this is a structural property, the 
    575575symbolic algorithms can automatically select <span style=\"font-family:Symbol\"> 
    576 j</span> and its derivative as states and then all positional variables can be  
     576j</span> and its derivative as states and then all positional variables can be 
    577577computed in a forwards sequence. It is now understandable that a Modelica 
    578578translator, such as Dymola, can 
    579 transform the equations of the four bar mechanism to a recursive sequence of  
    580 statements that has no non-linear algebraic loops anymore(remember,  
     579transform the equations of the four bar mechanism to a recursive sequence of 
     580statements that has no non-linear algebraic loops anymore(remember, 
    581581the previous \"straightforward\" solution with 6 revolute joints and 1 
    582582prismatic joint has a nonlinear system of equations of order 5). 
    583583</p> 
    584584<p> 
    585 The aggregated joint  
    586 objects consist of a combination of either a revolute or prismatic joint and  
    587 of a rod that has either two spherical joints at its two ends or a spherical  
    588 and a universal joint, respectively. For all combinations, analytic solutions  
    589 can be determined. For planar loops, combinations of 1, 2 or 3 revolute joints  
    590 with parallel axes and of 2 or 1 prismatic joint with axes that are orthogonal  
    591 to the revolute joints can be treated analytically. The currently supported  
    592 combinations are listed in the table below.  
    593 The missing combinations (such as JointSUP  
    594 or Joint RPP) will be added in one of the next releases.  
     585The aggregated joint 
     586objects consist of a combination of either a revolute or prismatic joint and 
     587of a rod that has either two spherical joints at its two ends or a spherical 
     588and a universal joint, respectively. For all combinations, analytic solutions 
     589can be determined. For planar loops, combinations of 1, 2 or 3 revolute joints 
     590with parallel axes and of 2 or 1 prismatic joint with axes that are orthogonal 
     591to the revolute joints can be treated analytically. The currently supported 
     592combinations are listed in the table below. 
     593The missing combinations (such as JointSUP 
     594or Joint RPP) will be added in one of the next releases. 
    595595</p> 
    596596<div align=\"center\"> 
     
    634634<p> 
    635635On first view this seems to be quite restrictive. However, mechanical devices are usually built up with rods connected by spherical joints on each end, 
    636 and additionally with revolute and prismatic joints.  
    637 Therefore, the combinations of the above table occur frequently.  
    638 The universal joint is usually not present in actual devices but is used  
    639 (a) if two JointXXX components can be connected such that a revolute  
     636and additionally with revolute and prismatic joints. 
     637Therefore, the combinations of the above table occur frequently. 
     638The universal joint is usually not present in actual devices but is used 
     639(a) if two JointXXX components can be connected such that a revolute 
    640640and a universal joint together form a spherical joint 
    641 and (b) if the orientation of the connecting rod between two  
    642 spherical joints is needed, e.g., since a body shall be attached.  
    643 In this case one of the spherical joints might be replaced by a  
    644 universal joint. This approximation is fine as long as the mass  
     641and (b) if the orientation of the connecting rod between two 
     642spherical joints is needed, e.g., since a body shall be attached. 
     643In this case one of the spherical joints might be replaced by a 
     644universal joint. This approximation is fine as long as the mass 
    645645and inertia of the rod is not significant. 
    646646</p> 
    647647<p> 
    648 Let us discuss item (a) in more detail: The  
    649 MacPherson suspension in the next figure  
    650 is from the Modelica VehicleDynamics library.  
     648Let us discuss item (a) in more detail: The 
     649MacPherson suspension in the next figure 
     650is from the Modelica VehicleDynamics library. 
    651651<p align=\"center\"> 
    652652<IMG SRC=\"../Images/MultiBody/Tutorial/LoopStructures/MacPherson1.png\"> 
    653653</p> 
    654 It has three frame  
    655 connectors. The lower left one (frame_C) is fixed in the vehicle chassis. The  
    656 upper left one (frame_S) is driven by the steering mechanism, i.e., the  
    657 movement of both frames are given. The frame connector on the right (frame_U)  
    658 drives the wheel. The three frames are connected by a mechanism consisting  
    659 essentially of two rods with spherical joints on both ends. These are built up  
     654It has three frame 
     655connectors. The lower left one (frame_C) is fixed in the vehicle chassis. The 
     656upper left one (frame_S) is driven by the steering mechanism, i.e., the 
     657movement of both frames are given. The frame connector on the right (frame_U) 
     658drives the wheel. The three frames are connected by a mechanism consisting 
     659essentially of two rods with spherical joints on both ends. These are built up 
    660660by a jointUPS and a jointSSR assembly. 
    661 As can be seen, the universal joint from the jointUPS  
    662 assembly is connected to the revolute joint of the jointSSR assembly.  
    663 Therefore, we have 3 revolute joints connected together at one point and if  
    664 the axes of rotations are chosen appropriately, this describes a spherical  
    665 joint. In other words, the two connected assemblies define the desired two  
    666 rods with spherical joints on each ends.  
    667 </p> 
    668 <p> 
    669 The movement of the chassis, frame_C, is computed  
    670 somewhere else. When the generalized coordinates of revolute joint  
    671 \"innerJoint\" (lower left part in figure) are used as states, then frame_a and  
    672 frame_b of the jointUPS joint can be calculated. After the non-linear loop  
    673 with jointUPS is (analytically) solved, all frames on this assembly are  
    674 known, especially,  
    675 the one connected to frame_b of the jointSSR assembly. Since frame_b of  
    676 jointSSR is connected to frame_S which is computed from the steering  
    677 mechanism, again the two required frame movements of the jointSSR assembly are  
    678 calculated, meaning in turn that also all other frames on the jointSSR  
    679 assembly can be computed, especially, the one connected to frame_U that drives  
    680 the wheel. From this analysis it is clear that a tool is able to solve these  
     661As can be seen, the universal joint from the jointUPS 
     662assembly is connected to the revolute joint of the jointSSR assembly. 
     663Therefore, we have 3 revolute joints connected together at one point and if 
     664the axes of rotations are chosen appropriately, this describes a spherical 
     665joint. In other words, the two connected assemblies define the desired two 
     666rods with spherical joints on each ends. 
     667</p> 
     668<p> 
     669The movement of the chassis, frame_C, is computed 
     670somewhere else. When the generalized coordinates of revolute joint 
     671\"innerJoint\" (lower left part in figure) are used as states, then frame_a and 
     672frame_b of the jointUPS joint can be calculated. After the non-linear loop 
     673with jointUPS is (analytically) solved, all frames on this assembly are 
     674known, especially, 
     675the one connected to frame_b of the jointSSR assembly. Since frame_b of 
     676jointSSR is connected to frame_S which is computed from the steering 
     677mechanism, again the two required frame movements of the jointSSR assembly are 
     678calculated, meaning in turn that also all other frames on the jointSSR 
     679assembly can be computed, especially, the one connected to frame_U that drives 
     680the wheel. From this analysis it is clear that a tool is able to solve these 
    681681coupled loops analytically. 
    682682</p> 
    683683<p> 
    684 Another example is the model of the V6 engine,  
     684Another example is the model of the V6 engine, 
    685685see next figure for an animation view and the original definition 
    686686of one cylinder with elementary joints. 
     
    692692<IMG SRC=\"../Images/MultiBody/Tutorial/LoopStructures/EngineV6_2.png\"> 
    693693</p> 
    694   
     694 
    695695<p> 
    696696It is sufficient to rewrite the basic cylinder model 
    697 by replacing the joints with a JointRRP object that has two  
     697by replacing the joints with a JointRRP object that has two 
    698698revolute and one prismatic joint, see next figure. 
    699699</p> 
     
    702702</p> 
    703703<p> 
    704 Since 6  
    705 cylinders are connected together, 6 coupled loops with 6 JointRRP objects are  
    706 present. This model is available as  
     704Since 6 
     705cylinders are connected together, 6 coupled loops with 6 JointRRP objects are 
     706present. This model is available as 
    707707<a href=\"Modelica://Modelica.Mechanics.MultiBody.Examples.Loops.EngineV6_analytic\"> 
    708 MultiBody.Examples.Loops.Engine­V6_analytic</a>. 
     708MultiBody.Examples.Loops.EngineV6_analytic</a>. 
    709709</p> 
    710710<p> 
     
    716716</p> 
    717717<p> 
    718 It can be seen that the revolute joint  
    719 of the crank shaft (joint \"bearing\" in left part of figure) might be  
    720 selected as degree of freedom. Then the 4 connector frames of all cylinders  
    721 can be computed. As a result the computations of the cylinders are decoupled  
     718It can be seen that the revolute joint 
     719of the crank shaft (joint \"bearing\" in left part of figure) might be 
     720selected as degree of freedom. Then the 4 connector frames of all cylinders 
     721can be computed. As a result the computations of the cylinders are decoupled 
    722722from each other. Within one cylinder 
    723 the position of frame_a and frame_b of the jointRRP assembly  
    724 can be computed and therefore the generalized coordinates of the two revolute  
    725 and the prismatic joint in the jointRRP object can be determined. From this  
     723the position of frame_a and frame_b of the jointRRP assembly 
     724can be computed and therefore the generalized coordinates of the two revolute 
     725and the prismatic joint in the jointRRP object can be determined. From this 
    726726analysis it is not surprising that a Modelica translator, such as Dymola, 
    727 is able to transform the DAE  
    728 equations into a sequential evaluation without any non-linear loop.  
     727is able to transform the DAE 
     728equations into a sequential evaluation without any non-linear loop. 
    729729Compare this nice result with the model using only elementary joints 
    730 that leads to a DAE with 6 algebraic loops and 5 non-linear equations per  
     730that leads to a DAE with 6 algebraic loops and 5 non-linear equations per 
    731731loop. Additionally, a linear system of equations of order 43 is present. 
    732 The simulation time is about 5 times faster with the analytic loop handling.  
     732The simulation time is about 5 times faster with the analytic loop handling. 
    733733</p> 
    734734</HTML> 
     
    772772whether automatic conversion shall take place or not. 
    773773Problems are not to be expected. Still one should first make 
    774 a copy of such a model as backup before the conversion  
     774a copy of such a model as backup before the conversion 
    775775is performed. 
    776776</p> 
     
    787787be adapted manually. Still, this script is useful, since 
    788788many class names, parameters and modifiers are 
    789 automatically converted.  
     789automatically converted. 
    790790</p> 
    791791<p> 
     
    804804that are programmed with <b>equations</b> are only partly converted: 
    805805The Frame connectors will be converted to the \"new\" 
    806 Frame connectors of the MultiBody library, but the equations  
    807 that reference variables of the Frame connectors will  
    808 <b>not</b> be converted. For a manual conversion, the following  
     806Frame connectors of the MultiBody library, but the equations 
     807that reference variables of the Frame connectors will 
     808<b>not</b> be converted. For a manual conversion, the following 
    809809table might be helpful showing how the <b>variables</b> of the 
    810 \"old\" and the \"new\" <b>Frame connectors</b> are  
     810\"old\" and the \"new\" <b>Frame connectors</b> are 
    811811related to each other (resolve2 and angularVelocity2 are 
    812812functions from library Modelica.Mechanics.MultiBody.Frames): 
     
    862862(now Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.Orientation). 
    863863In 1.0 the orientation object is a record holding the 
    864 transformation matrix from frame 1 to frame 2 and the angular  
     864transformation matrix from frame 1 to frame 2 and the angular 
    865865velocity of the transformation matrix resolved in frame 2. 
    866866The reason is that this allows to compute the angular velocity 
     
    892892<dt>Otter M., Elmqvist H., and Mattsson S.E.:</dt> 
    893893<dd> <b>The New Modelica MultiBody Library</b>. 
    894      Modelica 2003 Conference, Link&ouml;ping, Sweden,