Failed
tests / testsuite-gcc / openmodelica_xml.XmlDumpComment.mos (from (result.xml))
Stacktrace
Output mismatch (see stdout for details)
Standard Output
+ XmlDumpComment ... equation mismatch [time: 0] ==== Log /tmp/omc-rtest-unknown/openmodelica/xml/XmlDumpComment.mos_temp2711/log-XmlDumpComment.mos true true "class XmlDumpComment parameter Real A \"test & in xml\"; parameter Real B; Real x(start = 0.0) \"evaluated to 0 if A < B\"; Real y(start = 0.0); Real z; equation x = if A < B then 0.0 else 1.0; y = der(x); z = x + y; end XmlDumpComment; " "Flat" (true,"XmlDumpComment.xml") "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <dae xmlns:p1=\"http://www.w3.org/1998/Math/MathML\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"http://home.dei.polimi.it/donida/Projects/AutoEdit/Images/DAE.xsd\"> <variables dimension=\"5\"> <knownVariables dimension=\"4\"> <variablesList> <variable id=\"1\" name=\"y\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> <bindExpression string=\"0.0\"> </bindExpression> <classesNames> <element> XmlDumpComment </element> </classesNames> <attributesValues> <initialValue string=\"0.0\"> </initialValue> </attributesValues> </variable> <variable id=\"2\" name=\"x\" variability=\"continuousDummyState\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"evaluated to 0 if A < B\"> <bindExpression string=\"if A < B then 0.0 else 1.0\"> </bindExpression> <classesNames> <element> XmlDumpComment </element> </classesNames> <attributesValues> <initialValue string=\"0.0\"> </initialValue> </attributesValues> </variable> <variable id=\"3\" name=\"A\" variability=\"parameter\" direction=\"none\" type=\"Real\" fixed=\"true\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"test & in xml\"> <classesNames> <element> XmlDumpComment </element> </classesNames> </variable> <variable id=\"4\" name=\"B\" variability=\"parameter\" direction=\"none\" type=\"Real\" fixed=\"true\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> <classesNames> <element> XmlDumpComment </element> </classesNames> </variable> </variablesList> </knownVariables> <aliasVariables dimension=\"1\"> <variablesList> <variable id=\"1\" name=\"z\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> <bindExpression string=\"x\"> </bindExpression> <classesNames> <element> XmlDumpComment </element> </classesNames> </variable> </variablesList> </aliasVariables> </variables> <functions> </functions> </dae>" "Optimiser" false "Error: Failed to load package Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum (3.2.1) using MODELICAPATH /var/lib/jenkins/workspace/OpenModelica_maintenance_v1.13/build/lib/omlibrary. " (false,"") "" Equation mismatch: diff says: --- /tmp/omc-rtest-unknown/openmodelica/xml/XmlDumpComment.mos_temp2711/equations-expected2019-01-09 22:34:16.009508387 +0000 +++ /tmp/omc-rtest-unknown/openmodelica/xml/XmlDumpComment.mos_temp2711/equations-got2019-01-09 22:34:16.193507855 +0000 @@ -80,22741 +80,10 @@ </variables> <functions> </functions> </dae>" "Optimiser" -true +false +"Error: Failed to load package Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum (3.2.1) using MODELICAPATH /var/lib/jenkins/workspace/OpenModelica_maintenance_v1.13/build/lib/omlibrary. +" +(false,"") "" -(true,"Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum.xml") -"<?xml version=\"1.0\" encoding=\"UTF-8\"?> -<dae xmlns:p1=\"http://www.w3.org/1998/Math/MathML\" -xmlns:xlink=\"http://www.w3.org/1999/xlink\" -xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" -xsi:noNamespaceSchemaLocation=\"http://home.dei.polimi.it/donida/Projects/AutoEdit/Images/DAE.xsd\"> -<variables dimension=\"1087\"> -<orderedVariables dimension=\"106\"> -<variablesList> -<variable id=\"1\" name=\"world.x_label.cylinders[2].lengthDirection[3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$x_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"2\" name=\"world.x_label.cylinders[2].lengthDirection[2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$x_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"3\" name=\"world.x_label.cylinders[2].lengthDirection[1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$x_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"4\" name=\"world.x_label.cylinders[2].r[3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Position vector from origin of world frame to origin of object frame, resolved in world frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$x_label$cylinders -</element> -</classesNames> -<attributesValues> -<quantity string=\""Length"\"> -</quantity> -<unit string=\""m"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"5\" name=\"world.x_label.cylinders[2].r[2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Position vector from origin of world frame to origin of object frame, resolved in world frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$x_label$cylinders -</element> -</classesNames> -<attributesValues> -<quantity string=\""Length"\"> -</quantity> -<unit string=\""m"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"6\" name=\"world.x_label.cylinders[2].r[1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Position vector from origin of world frame to origin of object frame, resolved in world frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$x_label$cylinders -</element> -</classesNames> -<attributesValues> -<quantity string=\""Length"\"> -</quantity> -<unit string=\""m"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"7\" name=\"world.x_label.cylinders[1].lengthDirection[3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$x_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"8\" name=\"world.x_label.cylinders[1].lengthDirection[2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$x_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"9\" name=\"world.x_label.cylinders[1].lengthDirection[1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$x_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"10\" name=\"world.x_label.R_lines[3,3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -</classesNames> -</variable> -<variable id=\"11\" name=\"world.x_label.R_lines[3,2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -</classesNames> -</variable> -<variable id=\"12\" name=\"world.x_label.R_lines[3,1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -</classesNames> -</variable> -<variable id=\"13\" name=\"world.x_label.R_lines[2,3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -</classesNames> -</variable> -<variable id=\"14\" name=\"world.x_label.R_lines[2,2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -</classesNames> -</variable> -<variable id=\"15\" name=\"world.x_label.R_lines[2,1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -</classesNames> -</variable> -<variable id=\"16\" name=\"world.x_label.R_lines[1,3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -</classesNames> -</variable> -<variable id=\"17\" name=\"world.x_label.R_lines[1,2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -</classesNames> -</variable> -<variable id=\"18\" name=\"world.x_label.R_lines[1,1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$x_label -</element> -</classesNames> -</variable> -<variable id=\"19\" name=\"world.y_label.cylinders[2].lengthDirection[3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$y_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"20\" name=\"world.y_label.cylinders[2].lengthDirection[2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$y_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"21\" name=\"world.y_label.cylinders[2].lengthDirection[1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$y_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"22\" name=\"world.y_label.cylinders[2].r[3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Position vector from origin of world frame to origin of object frame, resolved in world frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$y_label$cylinders -</element> -</classesNames> -<attributesValues> -<quantity string=\""Length"\"> -</quantity> -<unit string=\""m"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"23\" name=\"world.y_label.cylinders[2].r[2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Position vector from origin of world frame to origin of object frame, resolved in world frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$y_label$cylinders -</element> -</classesNames> -<attributesValues> -<quantity string=\""Length"\"> -</quantity> -<unit string=\""m"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"24\" name=\"world.y_label.cylinders[2].r[1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Position vector from origin of world frame to origin of object frame, resolved in world frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$y_label$cylinders -</element> -</classesNames> -<attributesValues> -<quantity string=\""Length"\"> -</quantity> -<unit string=\""m"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"25\" name=\"world.y_label.cylinders[1].lengthDirection[3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$y_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"26\" name=\"world.y_label.cylinders[1].lengthDirection[2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$y_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"27\" name=\"world.y_label.cylinders[1].lengthDirection[1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$y_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"28\" name=\"world.y_label.R_lines[3,3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -</classesNames> -</variable> -<variable id=\"29\" name=\"world.y_label.R_lines[3,2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -</classesNames> -</variable> -<variable id=\"30\" name=\"world.y_label.R_lines[3,1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -</classesNames> -</variable> -<variable id=\"31\" name=\"world.y_label.R_lines[2,3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -</classesNames> -</variable> -<variable id=\"32\" name=\"world.y_label.R_lines[2,2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -</classesNames> -</variable> -<variable id=\"33\" name=\"world.y_label.R_lines[2,1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -</classesNames> -</variable> -<variable id=\"34\" name=\"world.y_label.R_lines[1,3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -</classesNames> -</variable> -<variable id=\"35\" name=\"world.y_label.R_lines[1,2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -</classesNames> -</variable> -<variable id=\"36\" name=\"world.y_label.R_lines[1,1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$y_label -</element> -</classesNames> -</variable> -<variable id=\"37\" name=\"world.z_label.cylinders[3].lengthDirection[3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$z_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"38\" name=\"world.z_label.cylinders[3].lengthDirection[2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$z_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"39\" name=\"world.z_label.cylinders[3].lengthDirection[1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$z_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"40\" name=\"world.z_label.cylinders[3].r[3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Position vector from origin of world frame to origin of object frame, resolved in world frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$z_label$cylinders -</element> -</classesNames> -<attributesValues> -<quantity string=\""Length"\"> -</quantity> -<unit string=\""m"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"41\" name=\"world.z_label.cylinders[3].r[2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Position vector from origin of world frame to origin of object frame, resolved in world frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$z_label$cylinders -</element> -</classesNames> -<attributesValues> -<quantity string=\""Length"\"> -</quantity> -<unit string=\""m"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"42\" name=\"world.z_label.cylinders[3].r[1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Position vector from origin of world frame to origin of object frame, resolved in world frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$z_label$cylinders -</element> -</classesNames> -<attributesValues> -<quantity string=\""Length"\"> -</quantity> -<unit string=\""m"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"43\" name=\"world.z_label.cylinders[2].lengthDirection[3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$z_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"44\" name=\"world.z_label.cylinders[2].lengthDirection[2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$z_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"45\" name=\"world.z_label.cylinders[2].lengthDirection[1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$z_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"46\" name=\"world.z_label.cylinders[2].r[3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Position vector from origin of world frame to origin of object frame, resolved in world frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$z_label$cylinders -</element> -</classesNames> -<attributesValues> -<quantity string=\""Length"\"> -</quantity> -<unit string=\""m"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"47\" name=\"world.z_label.cylinders[2].r[2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Position vector from origin of world frame to origin of object frame, resolved in world frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$z_label$cylinders -</element> -</classesNames> -<attributesValues> -<quantity string=\""Length"\"> -</quantity> -<unit string=\""m"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"48\" name=\"world.z_label.cylinders[2].r[1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Position vector from origin of world frame to origin of object frame, resolved in world frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$z_label$cylinders -</element> -</classesNames> -<attributesValues> -<quantity string=\""Length"\"> -</quantity> -<unit string=\""m"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"49\" name=\"world.z_label.cylinders[1].lengthDirection[3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$z_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"50\" name=\"world.z_label.cylinders[1].lengthDirection[2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$z_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"51\" name=\"world.z_label.cylinders[1].lengthDirection[1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Vector in length direction, resolved in object frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Advanced.Shape$world$z_label$cylinders -</element> -</classesNames> -<attributesValues> -<unit string=\""1"\"> -</unit> -</attributesValues> -</variable> -<variable id=\"52\" name=\"world.z_label.R_lines[3,3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -</classesNames> -</variable> -<variable id=\"53\" name=\"world.z_label.R_lines[3,2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -</classesNames> -</variable> -<variable id=\"54\" name=\"world.z_label.R_lines[3,1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -</classesNames> -</variable> -<variable id=\"55\" name=\"world.z_label.R_lines[2,3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -</classesNames> -</variable> -<variable id=\"56\" name=\"world.z_label.R_lines[2,2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -</classesNames> -</variable> -<variable id=\"57\" name=\"world.z_label.R_lines[2,1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -</classesNames> -</variable> -<variable id=\"58\" name=\"world.z_label.R_lines[1,3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -</classesNames> -</variable> -<variable id=\"59\" name=\"world.z_label.R_lines[1,2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -</classesNames> -</variable> -<variable id=\"60\" name=\"world.z_label.R_lines[1,1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.World$world -</element> -<element> -Modelica.Mechanics.MultiBody.Visualizers.Internal.Lines$world$z_label -</element> -</classesNames> -</variable> -<variable id=\"61\" name=\"body.z_a[3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Absolute angular acceleration of frame_a resolved in frame_a\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.Parts.Body$body -</element> -</classesNames> -<attributesValues> -<quantity string=\""AngularAcceleration"\"> -</quantity> -<unit string=\""rad/s2"\"> -</unit> -<initialValue string=\"body.z_0_start[3]\"> -</initialValue> -<fixed string=\"false\"> -</fixed> -</attributesValues> -</variable> -<variable id=\"62\" name=\"body.z_a[2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Absolute angular acceleration of frame_a resolved in frame_a\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.Parts.Body$body -</element> -</classesNames> -<attributesValues> -<quantity string=\""AngularAcceleration"\"> -</quantity> -<unit string=\""rad/s2"\"> -</unit> -<initialValue string=\"body.z_0_start[2]\"> -</initialValue> -<fixed string=\"false\"> -</fixed> -</attributesValues> -</variable> -<variable id=\"63\" name=\"body.z_a[1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Absolute angular acceleration of frame_a resolved in frame_a\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.Parts.Body$body -</element> -</classesNames> -<attributesValues> -<quantity string=\""AngularAcceleration"\"> -</quantity> -<unit string=\""rad/s2"\"> -</unit> -<initialValue string=\"body.z_0_start[1]\"> -</initialValue> -<fixed string=\"false\"> -</fixed> -</attributesValues> -</variable> -<variable id=\"64\" name=\"body.w_a[3]\" variability=\"continuousDummyState\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Absolute angular velocity of frame_a resolved in frame_a\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.Parts.Body$body -</element> -</classesNames> -<attributesValues> -<quantity string=\""AngularVelocity"\"> -</quantity> -<unit string=\""rad/s"\"> -</unit> -<stateSelect> -Avoid -</stateSelect> -<initialValue string=\"body.w_0_start[3]\"> -</initialValue> -<fixed string=\"false\"> -</fixed> -</attributesValues> -</variable> -<variable id=\"65\" name=\"body.w_a[2]\" variability=\"continuousDummyState\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Absolute angular velocity of frame_a resolved in frame_a\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.Parts.Body$body -</element> -</classesNames> -<attributesValues> -<quantity string=\""AngularVelocity"\"> -</quantity> -<unit string=\""rad/s"\"> -</unit> -<stateSelect> -Avoid -</stateSelect> -<initialValue string=\"body.w_0_start[2]\"> -</initialValue> -<fixed string=\"false\"> -</fixed> -</attributesValues> -</variable> -<variable id=\"66\" name=\"body.w_a[1]\" variability=\"continuousDummyState\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Absolute angular velocity of frame_a resolved in frame_a\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.Parts.Body$body -</element> -</classesNames> -<attributesValues> -<quantity string=\""AngularVelocity"\"> -</quantity> -<unit string=\""rad/s"\"> -</unit> -<stateSelect> -Avoid -</stateSelect> -<initialValue string=\"body.w_0_start[1]\"> -</initialValue> -<fixed string=\"false\"> -</fixed> -</attributesValues> -</variable> -<variable id=\"67\" name=\"body.frame_a.R.T[3,3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Transformation matrix from world frame to local frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.Parts.Body$body -</element> -<element> -Modelica.Mechanics.MultiBody.Interfaces.Frame_a -</element> -<element> -Modelica.Mechanics.MultiBody.Frames.Orientation -</element> -</classesNames> -</variable> -<variable id=\"68\" name=\"body.frame_a.R.T[3,2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Transformation matrix from world frame to local frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.Parts.Body$body -</element> -<element> -Modelica.Mechanics.MultiBody.Interfaces.Frame_a -</element> -<element> -Modelica.Mechanics.MultiBody.Frames.Orientation -</element> -</classesNames> -</variable> -<variable id=\"69\" name=\"body.frame_a.R.T[3,1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Transformation matrix from world frame to local frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.Parts.Body$body -</element> -<element> -Modelica.Mechanics.MultiBody.Interfaces.Frame_a -</element> -<element> -Modelica.Mechanics.MultiBody.Frames.Orientation -</element> -</classesNames> -</variable> -<variable id=\"70\" name=\"body.frame_a.R.T[2,3]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Transformation matrix from world frame to local frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.Parts.Body$body -</element> -<element> -Modelica.Mechanics.MultiBody.Interfaces.Frame_a -</element> -<element> -Modelica.Mechanics.MultiBody.Frames.Orientation -</element> -</classesNames> -</variable> -<variable id=\"71\" name=\"body.frame_a.R.T[2,2]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Transformation matrix from world frame to local frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.MultiBody.Parts.Body$body -</element> -<element> -Modelica.Mechanics.MultiBody.Interfaces.Frame_a -</element> -<element> -Modelica.Mechanics.MultiBody.Frames.Orientation -</element> -</classesNames> -</variable> -<variable id=\"72\" name=\"body.frame_a.R.T[2,1]\" variability=\"continuous\" direction=\"none\" type=\"Real\" fixed=\"false\" flow=\"NonConnector\" stream=\"NonStreamConnector\" comment=\"Transformation matrix from world frame to local frame\"> -<classesNames> -<element> -Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum -</element> -<element> -Modelica.Mechanics.Mu ...[truncated 747140 chars]... PARAM, [DEFAULT VALUE])))[3] w VAR UNBOUND}).Modelica.Mechanics.MultiBody.Frames.nullRotationfunction Modelica.Mechanics.MultiBody.Frames.nullRotation "Inline before index reduction" "Return orientation object that does not rotate a frame" -output Modelica.Mechanics.MultiBody.Frames.Orientation R "Orientation object such that frame 1 and frame 2 are identical"; -algorithm -R := Modelica.Mechanics.MultiBody.Frames.Orientation({{1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 0.0, 1.0}}, {0.0, 0.0, 0.0}); -end Modelica.Mechanics.MultiBody.Frames.nullRotation; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.planarRotation\"> -<ModelicaImplementation>function(e :: array(Real(String unit PARAM DAE.EQBOUND("1", SOME("1"), C_PARAM, [DEFAULT VALUE])))[3] * angle :: Real(String quantity PARAM DAE.EQBOUND("Angle", SOME("Angle"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("rad", SOME("rad"), C_PARAM, [DEFAULT VALUE]), String displayUnit PARAM DAE.EQBOUND("deg", SOME("deg"), C_PARAM, [DEFAULT VALUE])) * der_angle :: Real(String quantity PARAM DAE.EQBOUND("AngularVelocity", SOME("AngularVelocity"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("rad/s", SOME("rad/s"), C_PARAM, [DEFAULT VALUE]))) => composite(record{array(array(Real)[3])[3] T VAR UNBOUND, array(Real(String quantity PARAM DAE.EQBOUND("AngularVelocity", SOME("AngularVelocity"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("rad/s", SOME("rad/s"), C_PARAM, [DEFAULT VALUE])))[3] w VAR UNBOUND}).Modelica.Mechanics.MultiBody.Frames.planarRotationfunction Modelica.Mechanics.MultiBody.Frames.planarRotation "Inline before index reduction" "Return orientation object of a planar rotation" -input Real[3] e(unit = "1") "Normalized axis of rotation (must have length=1)"; -input Real angle(quantity = "Angle", unit = "rad", displayUnit = "deg") "Rotation angle to rotate frame 1 into frame 2 along axis e"; -input Real der_angle(quantity = "AngularVelocity", unit = "rad/s") "= der(angle)"; -output Modelica.Mechanics.MultiBody.Frames.Orientation R "Orientation object to rotate frame 1 into frame 2"; -algorithm -R := Modelica.Mechanics.MultiBody.Frames.Orientation({{e[1] ^ 2.0 + (1.0 - e[1] ^ 2.0) * cos(angle), (e[1] - e[1] * cos(angle)) * e[2] + e[3] * sin(angle), (e[1] - e[1] * cos(angle)) * e[3] - e[2] * sin(angle)}, {(e[2] - e[2] * cos(angle)) * e[1] - e[3] * sin(angle), e[2] ^ 2.0 + (1.0 - e[2] ^ 2.0) * cos(angle), (e[2] - e[2] * cos(angle)) * e[3] + e[1] * sin(angle)}, {(e[3] - e[3] * cos(angle)) * e[1] + e[2] * sin(angle), (e[3] - e[3] * cos(angle)) * e[2] - e[1] * sin(angle), e[3] ^ 2.0 + (1.0 - e[3] ^ 2.0) * cos(angle)}}, {e[1] * der_angle, e[2] * der_angle, e[3] * der_angle}); -end Modelica.Mechanics.MultiBody.Frames.planarRotation; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.planarRotationAngle\"> -<ModelicaImplementation>function(e :: array(Real(String unit PARAM DAE.EQBOUND("1", SOME("1"), C_PARAM, [DEFAULT VALUE])))[3] * v1 :: array(Real)[3] * v2 :: array(Real)[3]) => Real(String quantity PARAM DAE.EQBOUND("Angle", SOME("Angle"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("rad", SOME("rad"), C_PARAM, [DEFAULT VALUE]), String displayUnit PARAM DAE.EQBOUND("deg", SOME("deg"), C_PARAM, [DEFAULT VALUE])).Modelica.Mechanics.MultiBody.Frames.planarRotationAnglefunction Modelica.Mechanics.MultiBody.Frames.planarRotationAngle "Inline before index reduction" "Return angle of a planar rotation, given the rotation axis and the representations of a vector in frame 1 and frame 2" -input Real[3] e(unit = "1") "Normalized axis of rotation to rotate frame 1 around e into frame 2 (must have length=1)"; -input Real[3] v1 "A vector v resolved in frame 1 (shall not be parallel to e)"; -input Real[3] v2 "Vector v resolved in frame 2, i.e., v2 = resolve2(planarRotation(e,angle),v1)"; -output Real angle(quantity = "Angle", unit = "rad", displayUnit = "deg") "Rotation angle to rotate frame 1 into frame 2 along axis e in the range: -pi <= angle <= pi"; -algorithm -angle := atan2((e[1] * v1[3] - e[3] * v1[1]) * v2[2] - (e[1] * v1[2] - e[2] * v1[1]) * v2[3] - (e[2] * v1[3] - e[3] * v1[2]) * v2[1], v1[1] * v2[1] + v1[2] * v2[2] + v1[3] * v2[3] + ((-e[2]) * v1[2] - e[3] * v1[3] - e[1] * v1[1]) * (e[1] * v2[1] + e[2] * v2[2] + e[3] * v2[3])); -end Modelica.Mechanics.MultiBody.Frames.planarRotationAngle; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.resolve1\"> -<ModelicaImplementation>function(R :: composite(record{array(array(Real)[3])[3] T VAR UNBOUND, array(Real(String quantity PARAM DAE.EQBOUND("AngularVelocity", SOME("AngularVelocity"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("rad/s", SOME("rad/s"), C_PARAM, [DEFAULT VALUE])))[3] w VAR UNBOUND}) * v2 :: array(Real)[3]) => array(Real)[3].Modelica.Mechanics.MultiBody.Frames.resolve1function Modelica.Mechanics.MultiBody.Frames.resolve1 "Inline after index reduction" "Transform vector from frame 2 to frame 1" -input Modelica.Mechanics.MultiBody.Frames.Orientation R "Orientation object to rotate frame 1 into frame 2"; -input Real[3] v2 "Vector in frame 2"; -output Real[3] v1 "Vector in frame 1"; -algorithm -v1 := {R.T[1,1] * v2[1] + R.T[2,1] * v2[2] + R.T[3,1] * v2[3], R.T[1,2] * v2[1] + R.T[2,2] * v2[2] + R.T[3,2] * v2[3], R.T[1,3] * v2[1] + R.T[2,3] * v2[2] + R.T[3,3] * v2[3]}; -end Modelica.Mechanics.MultiBody.Frames.resolve1; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.resolve2\"> -<ModelicaImplementation>function(R :: composite(record{array(array(Real)[3])[3] T VAR UNBOUND, array(Real(String quantity PARAM DAE.EQBOUND("AngularVelocity", SOME("AngularVelocity"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("rad/s", SOME("rad/s"), C_PARAM, [DEFAULT VALUE])))[3] w VAR UNBOUND}) * v1 :: array(Real)[3]) => array(Real)[3].Modelica.Mechanics.MultiBody.Frames.resolve2function Modelica.Mechanics.MultiBody.Frames.resolve2 "Inline after index reduction" "Transform vector from frame 1 to frame 2" -input Modelica.Mechanics.MultiBody.Frames.Orientation R "Orientation object to rotate frame 1 into frame 2"; -input Real[3] v1 "Vector in frame 1"; -output Real[3] v2 "Vector in frame 2"; -algorithm -v2 := {R.T[1,1] * v1[1] + R.T[1,2] * v1[2] + R.T[1,3] * v1[3], R.T[2,1] * v1[1] + R.T[2,2] * v1[2] + R.T[2,3] * v1[3], R.T[3,1] * v1[1] + R.T[3,2] * v1[2] + R.T[3,3] * v1[3]}; -end Modelica.Mechanics.MultiBody.Frames.resolve2; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.to_Q\"> -<ModelicaImplementation>function(R :: composite(record{array(array(Real)[3])[3] T VAR UNBOUND, array(Real(String quantity PARAM DAE.EQBOUND("AngularVelocity", SOME("AngularVelocity"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("rad/s", SOME("rad/s"), C_PARAM, [DEFAULT VALUE])))[3] w VAR UNBOUND}) * Q_guess :: array(Real)[4]) => array(Real)[4].Modelica.Mechanics.MultiBody.Frames.to_Qfunction Modelica.Mechanics.MultiBody.Frames.to_Q "Inline before index reduction" "Return quaternion orientation object Q from orientation object R" -input Modelica.Mechanics.MultiBody.Frames.Orientation R "Orientation object to rotate frame 1 into frame 2"; -input Real[4] Q_guess = {0.0, 0.0, 0.0, 1.0} "Guess value for output Q (there are 2 solutions; the one closer to Q_guess is used"; -output Real[4] Q "Quaternions orientation object to rotate frame 1 into frame 2"; -algorithm -Q := Modelica.Mechanics.MultiBody.Frames.Quaternions.from_T({{R.T[1,1], R.T[1,2], R.T[1,3]}, {R.T[2,1], R.T[2,2], R.T[2,3]}, {R.T[3,1], R.T[3,2], R.T[3,3]}}, {Q_guess[1], Q_guess[2], Q_guess[3], Q_guess[4]}); -end Modelica.Mechanics.MultiBody.Frames.to_Q; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.Internal.resolve1_der\"> -<ModelicaImplementation>function(R :: composite(record{array(array(Real)[3])[3] T VAR UNBOUND, array(Real(String quantity PARAM DAE.EQBOUND("AngularVelocity", SOME("AngularVelocity"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("rad/s", SOME("rad/s"), C_PARAM, [DEFAULT VALUE])))[3] w VAR UNBOUND}) * v2 :: array(Real)[3] * v2_der :: array(Real)[3]) => array(Real)[3].Modelica.Mechanics.MultiBody.Frames.Internal.resolve1_derfunction Modelica.Mechanics.MultiBody.Frames.Internal.resolve1_der "Inline before index reduction" "Derivative of function Frames.resolve1(..)" -input Modelica.Mechanics.MultiBody.Frames.Orientation R "Orientation object to rotate frame 1 into frame 2"; -input Real[3] v2 "Vector resolved in frame 2"; -input Real[3] v2_der "= der(v2)"; -output Real[3] v1_der "Derivative of vector v resolved in frame 1"; -algorithm -v1_der := Modelica.Mechanics.MultiBody.Frames.resolve1(R, {v2_der[1] + R.w[2] * v2[3] - R.w[3] * v2[2], v2_der[2] + R.w[3] * v2[1] - R.w[1] * v2[3], v2_der[3] + R.w[1] * v2[2] - R.w[2] * v2[1]}); -end Modelica.Mechanics.MultiBody.Frames.Internal.resolve1_der; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.Internal.resolve2_der\"> -<ModelicaImplementation>function(R :: composite(record{array(array(Real)[3])[3] T VAR UNBOUND, array(Real(String quantity PARAM DAE.EQBOUND("AngularVelocity", SOME("AngularVelocity"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("rad/s", SOME("rad/s"), C_PARAM, [DEFAULT VALUE])))[3] w VAR UNBOUND}) * v1 :: array(Real)[3] * v1_der :: array(Real)[3]) => array(Real)[3].Modelica.Mechanics.MultiBody.Frames.Internal.resolve2_derfunction Modelica.Mechanics.MultiBody.Frames.Internal.resolve2_der "Inline before index reduction" "Derivative of function Frames.resolve2(..)" -input Modelica.Mechanics.MultiBody.Frames.Orientation R "Orientation object to rotate frame 1 into frame 2"; -input Real[3] v1 "Vector resolved in frame 1"; -input Real[3] v1_der "= der(v1)"; -output Real[3] v2_der "Derivative of vector v resolved in frame 2"; -algorithm -v2_der := Modelica.Mechanics.MultiBody.Frames.resolve2(R, {v1_der[1], v1_der[2], v1_der[3]}) - cross({R.w[1], R.w[2], R.w[3]}, Modelica.Mechanics.MultiBody.Frames.resolve2(R, {v1[1], v1[2], v1[3]})); -end Modelica.Mechanics.MultiBody.Frames.Internal.resolve2_der; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.Orientation.equalityConstraint\"> -<ModelicaImplementation>function(R1 :: composite(record{array(array(Real)[3])[3] T VAR UNBOUND, array(Real(String quantity PARAM DAE.EQBOUND("AngularVelocity", SOME("AngularVelocity"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("rad/s", SOME("rad/s"), C_PARAM, [DEFAULT VALUE])))[3] w VAR UNBOUND}) * R2 :: composite(record{array(array(Real)[3])[3] T VAR UNBOUND, array(Real(String quantity PARAM DAE.EQBOUND("AngularVelocity", SOME("AngularVelocity"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("rad/s", SOME("rad/s"), C_PARAM, [DEFAULT VALUE])))[3] w VAR UNBOUND})) => array(Real)[3].Modelica.Mechanics.MultiBody.Frames.Orientation.equalityConstraintfunction Modelica.Mechanics.MultiBody.Frames.Orientation.equalityConstraint "Inline before index reduction" "Return the constraint residues to express that two frames have the same orientation" -input Modelica.Mechanics.MultiBody.Frames.Orientation R1 "Orientation object to rotate frame 0 into frame 1"; -input Modelica.Mechanics.MultiBody.Frames.Orientation R2 "Orientation object to rotate frame 0 into frame 2"; -output Real[3] residue "The rotation angles around x-, y-, and z-axis of frame 1 to rotate frame 1 into frame 2 for a small rotation (should be zero)"; -algorithm -residue := {atan2((R1.T[1,2] * R1.T[2,3] - R1.T[1,3] * R1.T[2,2]) * R2.T[2,1] + (R1.T[1,3] * R1.T[2,1] - R1.T[1,1] * R1.T[2,3]) * R2.T[2,2] + (R1.T[1,1] * R1.T[2,2] - R1.T[1,2] * R1.T[2,1]) * R2.T[2,3], R1.T[1,1] * R2.T[1,1] + R1.T[1,2] * R2.T[1,2] + R1.T[1,3] * R2.T[1,3]), atan2((R1.T[1,1] * R1.T[2,3] - R1.T[1,3] * R1.T[2,1]) * R2.T[1,2] - (R1.T[1,1] * R1.T[2,2] - R1.T[1,2] * R1.T[2,1]) * R2.T[1,3] - (R1.T[1,2] * R1.T[2,3] - R1.T[1,3] * R1.T[2,2]) * R2.T[1,1], R1.T[2,1] * R2.T[2,1] + R1.T[2,2] * R2.T[2,2] + R1.T[2,3] * R2.T[2,3]), atan2(R1.T[2,1] * R2.T[1,1] + R1.T[2,2] * R2.T[1,2] + R1.T[2,3] * R2.T[1,3], R1.T[3,1] * R2.T[3,1] + R1.T[3,2] * R2.T[3,2] + R1.T[3,3] * R2.T[3,3])}; -end Modelica.Mechanics.MultiBody.Frames.Orientation.equalityConstraint; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.Quaternions.angularVelocity2\"> -<ModelicaImplementation>function(Q :: array(Real)[4] * der_Q :: array(Real(String unit PARAM DAE.EQBOUND("1/s", SOME("1/s"), C_PARAM, [DEFAULT VALUE])))[4]) => array(Real(String quantity PARAM DAE.EQBOUND("AngularVelocity", SOME("AngularVelocity"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("rad/s", SOME("rad/s"), C_PARAM, [DEFAULT VALUE])))[3].Modelica.Mechanics.MultiBody.Frames.Quaternions.angularVelocity2function Modelica.Mechanics.MultiBody.Frames.Quaternions.angularVelocity2 "Inline before index reduction" "Compute angular velocity resolved in frame 2 from quaternions orientation object and its derivative" -input Real[4] Q "Quaternions orientation object to rotate frame 1 into frame 2"; -input Real[4] der_Q(unit = "1/s") "Derivative of Q"; -output Real[3] w(quantity = "AngularVelocity", unit = "rad/s") "Angular velocity of frame 2 with respect to frame 1 resolved in frame 2"; -algorithm -w := {(Q[4] * der_Q[1] + Q[3] * der_Q[2] - Q[2] * der_Q[3] - Q[1] * der_Q[4]) * 2.0, (Q[4] * der_Q[2] - Q[3] * der_Q[1] + Q[1] * der_Q[3] - Q[2] * der_Q[4]) * 2.0, (Q[2] * der_Q[1] - Q[1] * der_Q[2] + Q[4] * der_Q[3] - Q[3] * der_Q[4]) * 2.0}; -end Modelica.Mechanics.MultiBody.Frames.Quaternions.angularVelocity2; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.Quaternions.from_T\"> -<ModelicaImplementation>function(T :: array(array(Real)[3])[3] * Q_guess :: array(Real)[4]) => array(Real)[4].Modelica.Mechanics.MultiBody.Frames.Quaternions.from_Tfunction Modelica.Mechanics.MultiBody.Frames.Quaternions.from_T"Inline if necessary" "Return quaternion orientation object Q from transformation matrix T" -input Real[3, 3] T "Transformation matrix to transform vector from frame 1 to frame 2 (v2=T*v1)"; -input Real[4] Q_guess = {0.0, 0.0, 0.0, 1.0} "Guess value for Q (there are 2 solutions; the one close to Q_guess is used"; -output Real[4] Q "Quaternions orientation object to rotate frame 1 into frame 2 (Q and -Q have same transformation matrix)"; -protected Real paux; -protected Real paux4; -protected Real c1; -protected Real c2; -protected Real c3; -protected Real c4; -protected constant Real p4limit = 0.1; -protected constant Real c4limit = 0.04000000000000001; -algorithm -c1 := 1.0 + T[1,1] + (-T[2,2]) - T[3,3]; -c2 := 1.0 + T[2,2] + (-T[1,1]) - T[3,3]; -c3 := 1.0 + T[3,3] + (-T[1,1]) - T[2,2]; -c4 := 1.0 + T[1,1] + T[2,2] + T[3,3]; -if c4 > 0.04000000000000001 or c4 > c1 and c4 > c2 and c4 > c3 then -paux := 0.5 * sqrt(c4); -paux4 := 4.0 * paux; -Q := {(T[2,3] - T[3,2]) / paux4, (T[3,1] - T[1,3]) / paux4, (T[1,2] - T[2,1]) / paux4, paux}; -elseif c1 > c2 and c1 > c3 and c1 > c4 then -paux := 0.5 * sqrt(c1); -paux4 := 4.0 * paux; -Q := {paux, (T[1,2] + T[2,1]) / paux4, (T[1,3] + T[3,1]) / paux4, (T[2,3] - T[3,2]) / paux4}; -elseif c2 > c1 and c2 > c3 and c2 > c4 then -paux := 0.5 * sqrt(c2); -paux4 := 4.0 * paux; -Q := {(T[1,2] + T[2,1]) / paux4, paux, (T[2,3] + T[3,2]) / paux4, (T[3,1] - T[1,3]) / paux4}; -else -paux := 0.5 * sqrt(c3); -paux4 := 4.0 * paux; -Q := {(T[1,3] + T[3,1]) / paux4, (T[2,3] + T[3,2]) / paux4, paux, (T[1,2] - T[2,1]) / paux4}; -end if; -if Q[1] * Q_guess[1] + Q[2] * Q_guess[2] + Q[3] * Q_guess[3] + Q[4] * Q_guess[4] < 0.0 then -Q := {-Q[1], -Q[2], -Q[3], -Q[4]}; -end if; -end Modelica.Mechanics.MultiBody.Frames.Quaternions.from_T; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.Quaternions.nullRotation\"> -<ModelicaImplementation>function() => array(Real)[4].Modelica.Mechanics.MultiBody.Frames.Quaternions.nullRotationfunction Modelica.Mechanics.MultiBody.Frames.Quaternions.nullRotation "Inline before index reduction" "Return quaternion orientation object that does not rotate a frame" -output Real[4] Q "Quaternions orientation object to rotate frame 1 into frame 2"; -algorithm -Q := {0.0, 0.0, 0.0, 1.0}; -end Modelica.Mechanics.MultiBody.Frames.Quaternions.nullRotation; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.Quaternions.orientationConstraint\"> -<ModelicaImplementation>function(Q :: array(Real)[4]) => array(Real)[1].Modelica.Mechanics.MultiBody.Frames.Quaternions.orientationConstraintfunction Modelica.Mechanics.MultiBody.Frames.Quaternions.orientationConstraint "Inline before index reduction" "Return residues of orientation constraints (shall be zero)" -input Real[4] Q "Quaternions orientation object to rotate frame 1 into frame 2"; -output Real[1] residue "Residue constraint (shall be zero)"; -algorithm -residue := {-1.0 + Q[1] ^ 2.0 + Q[2] ^ 2.0 + Q[3] ^ 2.0 + Q[4] ^ 2.0}; -end Modelica.Mechanics.MultiBody.Frames.Quaternions.orientationConstraint; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.absoluteRotation\"> -<ModelicaImplementation>function(T1 :: array(array(Real)[3])[3] * T_rel :: array(array(Real)[3])[3]) => array(array(Real)[3])[3].Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.absoluteRotationfunction Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.absoluteRotation "Inline before index reduction" "Return absolute orientation object from another absolute and a relative orientation object" -input Real[3, 3] T1 "Orientation object to rotate frame 0 into frame 1"; -input Real[3, 3] T_rel "Orientation object to rotate frame 1 into frame 2"; -output Real[3, 3] T2 "Orientation object to rotate frame 0 into frame 2"; -algorithm -T2 := {{T_rel[1,1] * T1[1,1] + T_rel[1,2] * T1[2,1] + T_rel[1,3] * T1[3,1], T_rel[1,1] * T1[1,2] + T_rel[1,2] * T1[2,2] + T_rel[1,3] * T1[3,2], T_rel[1,1] * T1[1,3] + T_rel[1,2] * T1[2,3] + T_rel[1,3] * T1[3,3]}, {T_rel[2,1] * T1[1,1] + T_rel[2,2] * T1[2,1] + T_rel[2,3] * T1[3,1], T_rel[2,1] * T1[1,2] + T_rel[2,2] * T1[2,2] + T_rel[2,3] * T1[3,2], T_rel[2,1] * T1[1,3] + T_rel[2,2] * T1[2,3] + T_rel[2,3] * T1[3,3]}, {T_rel[3,1] * T1[1,1] + T_rel[3,2] * T1[2,1] + T_rel[3,3] * T1[3,1], T_rel[3,1] * T1[1,2] + T_rel[3,2] * T1[2,2] + T_rel[3,3] * T1[3,2], T_rel[3,1] * T1[1,3] + T_rel[3,2] * T1[2,3] + T_rel[3,3] * T1[3,3]}}; -end Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.absoluteRotation; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.axisRotation\"> -<ModelicaImplementation>function(axis :: Integer(Integer min PARAM DAE.EQBOUND(1, SOME(1), C_PARAM, [DEFAULT VALUE]), Integer max PARAM DAE.EQBOUND(3, SOME(3), C_PARAM, [DEFAULT VALUE])) * angle :: Real(String quantity PARAM DAE.EQBOUND("Angle", SOME("Angle"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("rad", SOME("rad"), C_PARAM, [DEFAULT VALUE]), String displayUnit PARAM DAE.EQBOUND("deg", SOME("deg"), C_PARAM, [DEFAULT VALUE]))) => array(array(Real)[3])[3].Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.axisRotationfunction Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.axisRotation "Inline before index reduction" "Return rotation object to rotate around one frame axis" -input Integer axis(min = 1, max = 3) "Rotate around 'axis' of frame 1"; -input Real angle(quantity = "Angle", unit = "rad", displayUnit = "deg") "Rotation angle to rotate frame 1 into frame 2 along 'axis' of frame 1"; -output Real[3, 3] T "Orientation object to rotate frame 1 into frame 2"; -algorithm -T := if axis == 1 then {{1.0, 0.0, 0.0}, {0.0, cos(angle), sin(angle)}, {0.0, -sin(angle), cos(angle)}} else if axis == 2 then {{cos(angle), 0.0, -sin(angle)}, {0.0, 1.0, 0.0}, {sin(angle), 0.0, cos(angle)}} else {{cos(angle), sin(angle), 0.0}, {-sin(angle), cos(angle), 0.0}, {0.0, 0.0, 1.0}}; -end Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.axisRotation; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.from_nxy\"> -<ModelicaImplementation>function(n_x :: array(Real(String unit PARAM DAE.EQBOUND("1", SOME("1"), C_PARAM, [DEFAULT VALUE])))[3] * n_y :: array(Real(String unit PARAM DAE.EQBOUND("1", SOME("1"), C_PARAM, [DEFAULT VALUE])))[3]) => array(array(Real)[3])[3].Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.from_nxyfunction Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.from_nxy"Inline if necessary" "Return orientation object from n_x and n_y vectors" -input Real[3] n_x(unit = "1") "Vector in direction of x-axis of frame 2, resolved in frame 1"; -input Real[3] n_y(unit = "1") "Vector in direction of y-axis of frame 2, resolved in frame 1"; -output Real[3, 3] T "Orientation object to rotate frame 1 into frame 2"; -protected Real abs_n_x = sqrt(n_x[1] ^ 2.0 + n_x[2] ^ 2.0 + n_x[3] ^ 2.0); -protected Real[3] e_x(unit = "1") = if abs_n_x < 1e-10 then {1.0, 0.0, 0.0} else {n_x[1] / abs_n_x, n_x[2] / abs_n_x, n_x[3] / abs_n_x}; -protected Real[3] n_z_aux(unit = "1") = {e_x[2] * n_y[3] - e_x[3] * n_y[2], e_x[3] * n_y[1] - e_x[1] * n_y[3], e_x[1] * n_y[2] - e_x[2] * n_y[1]}; -protected Real[3] n_y_aux(unit = "1") = if n_z_aux[1] ^ 2.0 + n_z_aux[2] ^ 2.0 + n_z_aux[3] ^ 2.0 > 1e-06 then {n_y[1], n_y[2], n_y[3]} else if abs(e_x[1]) > 1e-06 then {0.0, 1.0, 0.0} else {1.0, 0.0, 0.0}; -protected Real[3] e_z_aux(unit = "1") = {e_x[2] * n_y_aux[3] - e_x[3] * n_y_aux[2], e_x[3] * n_y_aux[1] - e_x[1] * n_y_aux[3], e_x[1] * n_y_aux[2] - e_x[2] * n_y_aux[1]}; -protected Real[3] e_z(unit = "1") = {e_z_aux[1] / sqrt(e_z_aux[1] ^ 2.0 + e_z_aux[2] ^ 2.0 + e_z_aux[3] ^ 2.0), e_z_aux[2] / sqrt(e_z_aux[1] ^ 2.0 + e_z_aux[2] ^ 2.0 + e_z_aux[3] ^ 2.0), e_z_aux[3] / sqrt(e_z_aux[1] ^ 2.0 + e_z_aux[2] ^ 2.0 + e_z_aux[3] ^ 2.0)}; -algorithm -T := {{e_x[1], e_x[2], e_x[3]}, {e_z[2] * e_x[3] - e_z[3] * e_x[2], e_z[3] * e_x[1] - e_z[1] * e_x[3], e_z[1] * e_x[2] - e_z[2] * e_x[1]}, {e_z[1], e_z[2], e_z[3]}}; -end Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.from_nxy; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.planarRotation\"> -<ModelicaImplementation>function(e :: array(Real(String unit PARAM DAE.EQBOUND("1", SOME("1"), C_PARAM, [DEFAULT VALUE])))[3] * angle :: Real(String quantity PARAM DAE.EQBOUND("Angle", SOME("Angle"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("rad", SOME("rad"), C_PARAM, [DEFAULT VALUE]), String displayUnit PARAM DAE.EQBOUND("deg", SOME("deg"), C_PARAM, [DEFAULT VALUE]))) => array(array(Real)[3])[3].Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.planarRotationfunction Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.planarRotation "Inline before index reduction" "Return orientation object of a planar rotation" -input Real[3] e(unit = "1") "Normalized axis of rotation (must have length=1)"; -input Real angle(quantity = "Angle", unit = "rad", displayUnit = "deg") "Rotation angle to rotate frame 1 into frame 2 along axis e"; -output Real[3, 3] T "Orientation object to rotate frame 1 into frame 2"; -algorithm -T := {{e[1] ^ 2.0 + (1.0 - e[1] ^ 2.0) * cos(angle), (e[1] - e[1] * cos(angle)) * e[2] + e[3] * sin(angle), (e[1] - e[1] * cos(angle)) * e[3] - e[2] * sin(angle)}, {(e[2] - e[2] * cos(angle)) * e[1] - e[3] * sin(angle), e[2] ^ 2.0 + (1.0 - e[2] ^ 2.0) * cos(angle), (e[2] - e[2] * cos(angle)) * e[3] + e[1] * sin(angle)}, {(e[3] - e[3] * cos(angle)) * e[1] + e[2] * sin(angle), (e[3] - e[3] * cos(angle)) * e[2] - e[1] * sin(angle), e[3] ^ 2.0 + (1.0 - e[3] ^ 2.0) * cos(angle)}}; -end Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.planarRotation; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.resolve1\"> -<ModelicaImplementation>function(T :: array(array(Real)[3])[3] * v2 :: array(Real)[3]) => array(Real)[3].Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.resolve1function Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.resolve1 "Inline before index reduction" "Transform vector from frame 2 to frame 1" -input Real[3, 3] T "Orientation object to rotate frame 1 into frame 2"; -input Real[3] v2 "Vector in frame 2"; -output Real[3] v1 "Vector in frame 1"; -algorithm -v1 := {T[1,1] * v2[1] + T[2,1] * v2[2] + T[3,1] * v2[3], T[1,2] * v2[1] + T[2,2] * v2[2] + T[3,2] * v2[3], T[1,3] * v2[1] + T[2,3] * v2[2] + T[3,3] * v2[3]}; -end Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.resolve1; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.resolve2\"> -<ModelicaImplementation>function(T :: array(array(Real)[3])[3] * v1 :: array(Real)[3]) => array(Real)[3].Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.resolve2function Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.resolve2 "Inline before index reduction" "Transform vector from frame 1 to frame 2" -input Real[3, 3] T "Orientation object to rotate frame 1 into frame 2"; -input Real[3] v1 "Vector in frame 1"; -output Real[3] v2 "Vector in frame 2"; -algorithm -v2 := {T[1,1] * v1[1] + T[1,2] * v1[2] + T[1,3] * v1[3], T[2,1] * v1[1] + T[2,2] * v1[2] + T[2,3] * v1[3], T[3,1] * v1[1] + T[3,2] * v1[2] + T[3,3] * v1[3]}; -end Modelica.Mechanics.MultiBody.Frames.TransformationMatrices.resolve2; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.Mechanics.MultiBody.World$world.gravityAcceleration\"> -<ModelicaImplementation>function(r :: array(Real(String quantity PARAM DAE.EQBOUND("Length", SOME("Length"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("m", SOME("m"), C_PARAM, [DEFAULT VALUE])))[3] * gravityType :: Enumeration(Enumeration NoGravity CONST UNBOUND, Enumeration UniformGravity CONST UNBOUND, Enumeration PointGravity CONST UNBOUND) * g :: array(Real(String quantity PARAM DAE.EQBOUND("Acceleration", SOME("Acceleration"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("m/s2", SOME("m/s2"), C_PARAM, [DEFAULT VALUE])))[3] * mue :: Real) => array(Real(String quantity PARAM DAE.EQBOUND("Acceleration", SOME("Acceleration"), C_PARAM, [DEFAULT VALUE]), String unit PARAM DAE.EQBOUND("m/s2", SOME("m/s2"), C_PARAM, [DEFAULT VALUE])))[3].Modelica.Mechanics.MultiBody.World$world.gravityAccelerationfunction Modelica.Mechanics.MultiBody.World$world.gravityAcceleration "Inline before index reduction" "Standard gravity fields (no/parallel/point field)" -input Real[3] r(quantity = "Length", unit = "m") "Position vector from world frame to actual point, resolved in world frame"; -output Real[3] gravity(quantity = "Acceleration", unit = "m/s2") "Gravity acceleration at position r, resolved in world frame"; -input enumeration(NoGravity, UniformGravity, PointGravity) gravityType = gravityType "Type of gravity field"; -input Real[3] g(quantity = "Acceleration", unit = "m/s2") = {0.0, -g, 0.0} "Constant gravity acceleration, resolved in world frame, if gravityType=UniformGravity"; -input Real mue(unit = "m3/s2") = mue "Field constant of point gravity field, if gravityType=PointGravity"; -algorithm -gravity := if gravityType == Modelica.Mechanics.MultiBody.Types.GravityTypes.UniformGravity then {g[1], g[2], g[3]} else if gravityType == Modelica.Mechanics.MultiBody.Types.GravityTypes.PointGravity then {(-mue) * r[1] / (Modelica.Math.Vectors.length({r[1], r[2], r[3]}) * (r[1] ^ 2.0 + r[2] ^ 2.0 + r[3] ^ 2.0)), (-mue) * r[2] / (Modelica.Math.Vectors.length({r[1], r[2], r[3]}) * (r[1] ^ 2.0 + r[2] ^ 2.0 + r[3] ^ 2.0)), (-mue) * r[3] / (Modelica.Math.Vectors.length({r[1], r[2], r[3]}) * (r[1] ^ 2.0 + r[2] ^ 2.0 + r[3] ^ 2.0))} else {0.0, 0.0, 0.0}; -end Modelica.Mechanics.MultiBody.World$world.gravityAcceleration; - - -</ModelicaImplementation> -</function> -<function name=\"Modelica.SIunits.Conversions.to_unit1\"> -<ModelicaImplementation>function(r :: Real) => Real(String unit PARAM DAE.EQBOUND("1", SOME("1"), C_PARAM, [DEFAULT VALUE])).Modelica.SIunits.Conversions.to_unit1function Modelica.SIunits.Conversions.to_unit1 "Inline before index reduction" "Change the unit of a Real number to unit=\\"1\\"" -input Real r "Real number"; -output Real result(unit = "1") "Real number r with unit=\\"1\\""; -algorithm -result := r; -end Modelica.SIunits.Conversions.to_unit1; - - -</ModelicaImplementation> -</function> -</functions> -<additionalInfo> -<originalIncidenceMatrix> -<MathML> -<math xmlns=\"http://www.w3.org/1998/Math/MathML\"> -<matrix> -<matrixrow id=\"1\"> -<ci>18 -</ci> -<ci>17 -</ci> -<ci>16 -</ci> -<ci>15 -</ci> -<ci>14 -</ci> -<ci>13 -</ci> -<ci>12 -</ci> -<ci>11 -</ci> -<ci>10 -</ci> -</matrixrow> -<matrixrow id=\"2\"> -<ci>18 -</ci> -<ci>15 -</ci> -<ci>9 -</ci> -</matrixrow> -<matrixrow id=\"3\"> -<ci>17 -</ci> -<ci>14 -</ci> -<ci>8 -</ci> -</matrixrow> -<matrixrow id=\"4\"> -<ci>16 -</ci> -<ci>13 -</ci> -<ci>7 -</ci> -</matrixrow> -<matrixrow id=\"5\"> -<ci>15 -</ci> -<ci>6 -</ci> -</matrixrow> -<matrixrow id=\"6\"> -<ci>14 -</ci> -<ci>5 -</ci> -</matrixrow> -<matrixrow id=\"7\"> -<ci>13 -</ci> -<ci>4 -</ci> -</matrixrow> -<matrixrow id=\"8\"> -<ci>18 -</ci> -<ci>15 -</ci> -<ci>3 -</ci> -</matrixrow> -<matrixrow id=\"9\"> -<ci>17 -</ci> -<ci>14 -</ci> -<ci>2 -</ci> -</matrixrow> -<matrixrow id=\"10\"> -<ci>16 -</ci> -<ci>13 -</ci> -<ci>1 -</ci> -</matrixrow> -<matrixrow id=\"1\"> -<ci>28 -</ci> -<ci>27 -</ci> -<ci>26 -</ci> -<ci>25 -</ci> -<ci>24 -</ci> -<ci>23 -</ci> -<ci>22 -</ci> -<ci>21 -</ci> -<ci>20 -</ci> -</matrixrow> -<matrixrow id=\"2\"> -<ci>28 -</ci> -<ci>25 -</ci> -<ci>19 -</ci> -</matrixrow> -<matrixrow id=\"3\"> -<ci>27 -</ci> -<ci>24 -</ci> -<ci>18 -</ci> -</matrixrow> -<matrixrow id=\"4\"> -<ci>26 -</ci> -<ci>23 -</ci> -<ci>17 -</ci> -</matrixrow> -<matrixrow id=\"5\"> -<ci>25 -</ci> -<ci>16 -</ci> -</matrixrow> -<matrixrow id=\"6\"> -<ci>24 -</ci> -<ci>15 -</ci> -</matrixrow> -<matrixrow id=\"7\"> -<ci>23 -</ci> -<ci>14 -</ci> -</matrixrow> -<matrixrow id=\"8\"> -<ci>28 -</ci> -<ci>25 -</ci> -<ci>13 -</ci> -</matrixrow> -<matrixrow id=\"9\"> -<ci>27 -</ci> -<ci>24 -</ci> -<ci>12 -</ci> -</matrixrow> -<matrixrow id=\"10\"> -<ci>26 -</ci> -<ci>23 -</ci> -<ci>11 -</ci> -</matrixrow> -<matrixrow id=\"1\"> -<ci>44 -</ci> -<ci>43 -</ci> -<ci>42 -</ci> -<ci>41 -</ci> -<ci>40 -</ci> -<ci>39 -</ci> -<ci>38 -</ci> -<ci>37 -</ci> -<ci>36 -</ci> -</matrixrow> -<matrixrow id=\"2\"> -<ci>35 -</ci> -<ci>29 -</ci> -</matrixrow> -<matrixrow id=\"3\"> -<ci>34 -</ci> -<ci>28 -</ci> -</matrixrow> -<matrixrow id=\"4\"> -<ci>33 -</ci> -<ci>27 -</ci> -</matrixrow> -<matrixrow id=\"5\"> -<ci>32 -</ci> -<ci>26 -</ci> -</matrixrow> -<matrixrow id=\"6\"> -<ci>31 -</ci> -<ci>25 -</ci> -</matrixrow> -<matrixrow id=\"7\"> -<ci>30 -</ci> -<ci>24 -</ci> -</matrixrow> -<matrixrow id=\"8\"> -<ci>44 -</ci> -<ci>29 -</ci> -</matrixrow> -<matrixrow id=\"9\"> -<ci>43 -</ci> -<ci>28 -</ci> -</matrixrow> -<matrixrow id=\"10\"> -<ci>42 -</ci> -<ci>27 -</ci> -</matrixrow> -<matrixrow id=\"11\"> -<ci>41 -</ci> -<ci>26 -</ci> -</matrixrow> -<matrixrow id=\"12\"> -<ci>40 -</ci> -<ci>25 -</ci> -</matrixrow> -<matrixrow id=\"13\"> -<ci>39 -</ci> -<ci>24 -</ci> -</matrixrow> -<matrixrow id=\"14\"> -<ci>44 -</ci> -<ci>41 -</ci> -<ci>23 -</ci> -</matrixrow> -<matrixrow id=\"15\"> -<ci>43 -</ci> -<ci>40 -</ci> -<ci>22 -</ci> -</matrixrow> -<matrixrow id=\"16\"> -<ci>42 -</ci> -<ci>39 -</ci> -<ci>21 -</ci> -</matrixrow> -<matrixrow id=\"1\"> -<ci>62 -</ci> -<ci>-61 -</ci> -</matrixrow> -<matrixrow id=\"2\"> -<ci>61 -</ci> -<ci>60 -</ci> -</matrixrow> -<matrixrow id=\"3\"> -<ci>78 -</ci> -<ci>60 -</ci> -</matrixrow> -<matrixrow id=\"4\"> -<ci>79 -</ci> -<ci>60 -</ci> -</matrixrow> -<matrixrow id=\"5\"> -<ci>80 -</ci> -<ci>60 -</ci> -</matrixrow> -<matrixrow id=\"6\"> -<ci>51 -</ci> -<ci>-62 -</ci> -</matrixrow> -<matrixrow id=\"7\"> -<ci>50 -</ci> -<ci>-62 -</ci> -</matrixrow> -<matrixrow id=\"8\"> -<ci>49 -</ci> -<ci>-62 -</ci> -</matrixrow> -<matrixrow id=\"9\"> -<ci>48 -</ci> -<ci>-62 -</ci> -</matrixrow> -<matrixrow id=\"10\"> -<ci>47 -</ci> -<ci>-62 -</ci> -</matrixrow> -<matrixrow id=\"11\"> -<ci>46 -</ci> -<ci>-62 -</ci> -</matrixrow> -<matrixrow id=\"12\"> -<ci>45 -</ci> -<ci>-62 -</ci> -</matrixrow> -<matrixrow id=\"13\"> -<ci>44 -</ci> -<ci>-62 -</ci> -</matrixrow> -<matrixrow id=\"14\"> -<ci>43 -</ci> -<ci>-62 -</ci> -</matrixrow> -<matrixrow id=\"15\"> -<ci>78 -</ci> -<ci>39 -</ci> -</matrixrow> -<matrixrow id=\"16\"> -<ci>79 -</ci> -<ci>38 -</ci> -</matrixrow> -<matrixrow id=\"17\"> -<ci>80 -</ci> -<ci>37 -</ci> -</matrixrow> -<matrixrow id=\"18\"> -<ci>74 -</ci> -<ci>68 -</ci> -<ci>67 -</ci> -<ci>66 -</ci> -<ci>51 -</ci> -<ci>48 -</ci> -<ci>45 -</ci> -</matrixrow> -<matrixrow id=\"19\"> -<ci>73 -</ci> -<ci>68 -</ci> -<ci>67 -</ci> -<ci>66 -</ci> -<ci>50 -</ci> -<ci>47 -</ci> -<ci>44 -</ci> -</matrixrow> -<matrixrow id=\"20\"> -<ci>72 -</ci> -<ci>68 -</ci> -<ci>67 -</ci> -<ci>66 -</ci> -<ci>49 -</ci> -<ci>46 -</ci> -<ci>43 -</ci> -</matrixrow> -<matrixrow id=\"21\"> -<ci>71 -</ci> -<ci>65 -</ci> -<ci>64 -</ci> -<ci>63 -</ci> -<ci>51 -</ci> -<ci>48 -</ci> -<ci>45 -</ci> -</matrixrow> -<matrixrow id=\"22\"> -<ci>70 -</ci> -<ci>65 -</ci> -<ci>64 -</ci> -<ci>63 -</ci> -<ci>50 -</ci> -<ci>47 -</ci> -<ci>44 -</ci> -</matrixrow> -<matrixrow id=\"23\"> -<ci>69 -</ci> -<ci>65 -</ci> -<ci>64 -</ci> -<ci>63 -</ci> -<ci>49 -</ci> -<ci>46 -</ci> -<ci>43 -</ci> -</matrixrow> -<matrixrow id=\"24\"> -<ci>65 -</ci> -<ci>64 -</ci> -<ci>63 -</ci> -<ci>59 -</ci> -</matrixrow> -<matrixrow id=\"25\"> -<ci>59 -</ci> -<ci>54 -</ci> -</matrixrow> -<matrixrow id=\"26\"> -<ci>59 -</ci> -<ci>54 -</ci> -<ci>52 -</ci> -</matrixrow> -<matrixrow id=\"27\"> -<ci>60 -</ci> -<ci>53 -</ci> -</matrixrow> -<matrixrow id=\"28\"> -<ci>82 -</ci> -<ci>54 -</ci> -</matrixrow> -<matrixrow id=\"29\"> -<ci>81 -</ci> -<ci>53 -</ci> -</matrixrow> -<matrixrow id=\"30\"> -<ci>75 -</ci> -<ci>39 -</ci> -</matrixrow> -<matrixrow id=\"31\"> -<ci>76 -</ci> -<ci>38 -</ci> -</matrixrow> -<matrixrow id=\"32\"> -<ci>77 -</ci> -<ci>37 -</ci> -</matrixrow> -<matrixrow id=\"33\"> -<ci>68 -</ci> -<ci>50 -</ci> -<ci>42 -</ci> -<ci>41 -</ci> -<ci>40 -</ci> -<ci>38 -</ci> -<ci>37 -</ci> -</matrixrow> -<matrixrow id=\"34\"> -<ci>67 -</ci> -<ci>47 -</ci> -<ci>42 -</ci> -<ci>41 -</ci> -<ci>40 -</ci> -<ci>39 -</ci> -<ci>37 -</ci> -</matrixrow> -<matrixrow id=\"35\"> -<ci>66 -</ci> -<ci>44 -</ci> -<ci>42 -</ci> -<ci>41 -</ci> -<ci>40 -</ci> -<ci>39 -</ci> -<ci>38 -</ci> -</matrixrow> -<matrixrow id=\"36\"> -<ci>67 -</ci> -<ci>66 -</ci> -<ci>65 -</ci> -<ci>42 -</ci> -<ci>41 -</ci> -<ci>40 -</ci> -<ci>39 -</ci> -<ci>38 -</ci> -<ci>37 -</ci> -</matrixrow> -<matrixrow id=\"37\"> -<ci>68 -</ci> -<ci>66 -</ci> -<ci>64 -</ci> -<ci>42 -</ci> -<ci>41 -</ci> -<ci>40 -</ci> -<ci>39 -</ci> -<ci>38 -</ci> -<ci>37 -</ci> -</matrixrow> -<matrixrow id=\"38\"> -<ci>68 -</ci> -<ci>67 -</ci> -<ci>63 -</ci> -<ci>42 -</ci> -<ci>41 -</ci> -<ci>40 -</ci> -<ci>39 -</ci> -<ci>38 -</ci> -<ci>37 -</ci> -</matrixrow> -<matrixrow id=\"39\"> -<ci>54 -</ci> -<ci>-61 -</ci> -</matrixrow> -<matrixrow id=\"40\"> -<ci>56 -</ci> -<ci>40 -</ci> -</matrixrow> -<matrixrow id=\"41\"> -<ci>57 -</ci> -<ci>41 -</ci> -</matrixrow> -<matrixrow id=\"42\"> -<ci>58 -</ci> -<ci>42 -</ci> -</matrixrow> -<matrixrow id=\"43\"> -<ci>56 -</ci> -<ci>-61 -</ci> -</matrixrow> -<matrixrow id=\"44\"> -<ci>57 -</ci> -<ci>-61 -</ci> -</matrixrow> -<matrixrow id=\"45\"> -<ci>58 -</ci> -<ci>-61 -</ci> -</matrixrow> -<matrixrow id=\"46\"> -<ci>55 -</ci> -<ci>-62 -</ci> -</matrixrow> -</matrix> -</math> -</MathML> -</originalIncidenceMatrix> -<solvingInfo> -<matchingAlgorithm> -<solvedIn variableId=\"1\" equationId=\"10\" /> -<solvedIn variableId=\"2\" equationId=\"9\" /> -<solvedIn variableId=\"3\" equationId=\"8\" /> -<solvedIn variableId=\"4\" equationId=\"7\" /> -<solvedIn variableId=\"5\" equationId=\"6\" /> -<solvedIn variableId=\"6\" equationId=\"5\" /> -<solvedIn variableId=\"7\" equationId=\"4\" /> -<solvedIn variableId=\"8\" equationId=\"3\" /> -<solvedIn variableId=\"9\" equationId=\"2\" /> -<solvedIn variableId=\"10\" equationId=\"1\" /> -<solvedIn variableId=\"11\" equationId=\"1\" /> -<solvedIn variableId=\"12\" equationId=\"1\" /> -<solvedIn variableId=\"13\" equationId=\"1\" /> -<solvedIn variableId=\"14\" equationId=\"1\" /> -<solvedIn variableId=\"15\" equationId=\"1\" /> -<solvedIn variableId=\"16\" equationId=\"1\" /> -<solvedIn variableId=\"17\" equationId=\"1\" /> -<solvedIn variableId=\"18\" equationId=\"1\" /> -<solvedIn variableId=\"19\" equationId=\"28\" /> -<solvedIn variableId=\"20\" equationId=\"27\" /> -<solvedIn variableId=\"21\" equationId=\"26\" /> -<solvedIn variableId=\"22\" equationId=\"25\" /> -<solvedIn variableId=\"23\" equationId=\"24\" /> -<solvedIn variableId=\"24\" equationId=\"23\" /> -<solvedIn variableId=\"25\" equationId=\"22\" /> -<solvedIn variableId=\"26\" equationId=\"21\" /> -<solvedIn variableId=\"27\" equationId=\"20\" /> -<solvedIn variableId=\"28\" equationId=\"19\" /> -<solvedIn variableId=\"29\" equationId=\"19\" /> -<solvedIn variableId=\"30\" equationId=\"19\" /> -<solvedIn variableId=\"31\" equationId=\"19\" /> -<solvedIn variableId=\"32\" equationId=\"19\" /> -<solvedIn variableId=\"33\" equationId=\"19\" /> -<solvedIn variableId=\"34\" equationId=\"19\" /> -<solvedIn variableId=\"35\" equationId=\"19\" /> -<solvedIn variableId=\"36\" equationId=\"19\" /> -<solvedIn variableId=\"37\" equationId=\"52\" /> -<solvedIn variableId=\"38\" equationId=\"51\" /> -<solvedIn variableId=\"39\" equationId=\"50\" /> -<solvedIn variableId=\"40\" equationId=\"49\" /> -<solvedIn variableId=\"41\" equationId=\"48\" /> -<solvedIn variableId=\"42\" equationId=\"47\" /> -<solvedIn variableId=\"43\" equationId=\"46\" /> -<solvedIn variableId=\"44\" equationId=\"45\" /> -<solvedIn variableId=\"45\" equationId=\"44\" /> -<solvedIn variableId=\"46\" equationId=\"43\" /> -<solvedIn variableId=\"47\" equationId=\"42\" /> -<solvedIn variableId=\"48\" equationId=\"41\" /> -<solvedIn variableId=\"49\" equationId=\"40\" /> -<solvedIn variableId=\"50\" equationId=\"39\" /> -<solvedIn variableId=\"51\" equationId=\"38\" /> -<solvedIn variableId=\"52\" equationId=\"37\" /> -<solvedIn variableId=\"53\" equationId=\"37\" /> -<solvedIn variableId=\"54\" equationId=\"37\" /> -<solvedIn variableId=\"55\" equationId=\"37\" /> -<solvedIn variableId=\"56\" equationId=\"37\" /> -<solvedIn variableId=\"57\" equationId=\"37\" /> -<solvedIn variableId=\"58\" equationId=\"37\" /> -<solvedIn variableId=\"59\" equationId=\"37\" /> -<solvedIn variableId=\"60\" equationId=\"37\" /> -<solvedIn variableId=\"61\" equationId=\"77\" /> -<solvedIn variableId=\"62\" equationId=\"76\" /> -<solvedIn variableId=\"63\" equationId=\"94\" /> -<solvedIn variableId=\"64\" equationId=\"100\" /> -<solvedIn variableId=\"65\" equationId=\"101\" /> -<solvedIn variableId=\"66\" equationId=\"102\" /> -<solvedIn variableId=\"67\" equationId=\"74\" /> -<solvedIn variableId=\"68\" equationId=\"73\" /> -<solvedIn variableId=\"69\" equationId=\"72\" /> -<solvedIn variableId=\"70\" equationId=\"71\" /> -<solvedIn variableId=\"71\" equationId=\"70\" /> -<solvedIn variableId=\"72\" equationId=\"69\" /> -<solvedIn variableId=\"73\" equationId=\"68\" /> -<solvedIn variableId=\"74\" equationId=\"67\" /> -<solvedIn variableId=\"75\" equationId=\"66\" /> -<solvedIn variableId=\"76\" equationId=\"86\" /> -<solvedIn variableId=\"77\" equationId=\"87\" /> -<solvedIn variableId=\"78\" equationId=\"99\" /> -<solvedIn variableId=\"79\" equationId=\"106\" /> -<solvedIn variableId=\"80\" equationId=\"103\" /> -<solvedIn variableId=\"81\" equationId=\"104\" /> -<solvedIn variableId=\"82\" equationId=\"105\" /> -<solvedIn variableId=\"83\" equationId=\"85\" /> -<solvedIn variableId=\"84\" equationId=\"63\" /> -<solvedIn variableId=\"85\" equationId=\"62\" /> -<solvedIn variableId=\"86\" equationId=\"61\" /> -<solvedIn variableId=\"87\" equationId=\"98\" /> -<solvedIn variableId=\"88\" equationId=\"97\" /> -<solvedIn variableId=\"89\" equationId=\"84\" /> -<solvedIn variableId=\"90\" equationId=\"95\" /> -<solvedIn variableId=\"91\" equationId=\"96\" /> -<solvedIn variableId=\"92\" equationId=\"93\" /> -<solvedIn variableId=\"93\" equationId=\"83\" /> -<solvedIn variableId=\"94\" equationId=\"82\" /> -<solvedIn variableId=\"95\" equationId=\"81\" /> -<solvedIn variableId=\"96\" equationId=\"80\" /> -<solvedIn variableId=\"97\" equationId=\"79\" /> -<solvedIn variableId=\"98\" equationId=\"78\" /> -<solvedIn variableId=\"99\" equationId=\"90\" /> -<solvedIn variableId=\"100\" equationId=\"91\" /> -<solvedIn variableId=\"101\" equationId=\"92\" /> -<solvedIn variableId=\"102\" equationId=\"75\" /> -<solvedIn variableId=\"103\" equationId=\"64\" /> -<solvedIn variableId=\"104\" equationId=\"65\" /> -<solvedIn variableId=\"105\" equationId=\"89\" /> -<solvedIn variableId=\"106\" equationId=\"88\" /> -</matchingAlgorithm> -<bltRepresentation> -<bltRepresentation> -<bltBlock id=\"1\"> -<involvedEquation equationId=\"1\" /> -</bltBlock> -<bltBlock id=\"2\"> -<involvedEquation equationId=\"6\" /> -</bltBlock> -<bltBlock id=\"3\"> -<involvedEquation equationId=\"2\" /> -</bltBlock> -<bltBlock id=\"4\"> -<involvedEquation equationId=\"5\" /> -</bltBlock> -<bltBlock id=\"5\"> -<involvedEquation equationId=\"8\" /> -</bltBlock> -<bltBlock id=\"6\"> -<involvedEquation equationId=\"3\" /> -</bltBlock> -<bltBlock id=\"7\"> -<involvedEquation equationId=\"9\" /> -</bltBlock> -<bltBlock id=\"8\"> -<involvedEquation equationId=\"7\" /> -</bltBlock> -<bltBlock id=\"9\"> -<involvedEquation equationId=\"4\" /> -</bltBlock> -<bltBlock id=\"10\"> -<involvedEquation equationId=\"10\" /> -</bltBlock> -</bltRepresentation> -<bltRepresentation> -<bltBlock id=\"19\"> -<involvedEquation equationId=\"19\" /> -</bltBlock> -<bltBlock id=\"20\"> -<involvedEquation equationId=\"24\" /> -</bltBlock> -<bltBlock id=\"21\"> -<involvedEquation equationId=\"20\" /> -</bltBlock> -<bltBlock id=\"22\"> -<involvedEquation equationId=\"23\" /> -</bltBlock> -<bltBlock id=\"23\"> -<involvedEquation equationId=\"26\" /> -</bltBlock> -<bltBlock id=\"24\"> -<involvedEquation equationId=\"21\" /> -</bltBlock> -<bltBlock id=\"25\"> -<involvedEquation equationId=\"27\" /> -</bltBlock> -<bltBlock id=\"26\"> -<involvedEquation equationId=\"25\" /> -</bltBlock> -<bltBlock id=\"27\"> -<involvedEquation equationId=\"22\" /> -</bltBlock> -<bltBlock id=\"28\"> -<involvedEquation equationId=\"28\" /> -</bltBlock> -</bltRepresentation> -<bltRepresentation> -<bltBlock id=\"37\"> -<involvedEquation equationId=\"37\" /> -</bltBlock> -<bltBlock id=\"38\"> -<involvedEquation equationId=\"45\" /> -</bltBlock> -<bltBlock id=\"39\"> -<involvedEquation equationId=\"39\" /> -</bltBlock> -<bltBlock id=\"40\"> -<involvedEquation equationId=\"44\" /> -</bltBlock> -<bltBlock id=\"41\"> -<involvedEquation equationId=\"38\" /> -</bltBlock> -<bltBlock id=\"42\"> -<involvedEquation equationId=\"48\" /> -</bltBlock> -<bltBlock id=\"43\"> -<involvedEquation equationId=\"42\" /> -</bltBlock> -<bltBlock id=\"44\"> -<involvedEquation equationId=\"51\" /> -</bltBlock> -<bltBlock id=\"45\"> -<involvedEquation equationId=\"47\" /> -</bltBlock> -<bltBlock id=\"46\"> -<involvedEquation equationId=\"41\" /> -</bltBlock> -<bltBlock id=\"47\"> -<involvedEquation equationId=\"50\" /> -</bltBlock> -<bltBlock id=\"48\"> -<involvedEquation equationId=\"46\" /> -</bltBlock> -<bltBlock id=\"49\"> -<involvedEquation equationId=\"40\" /> -</bltBlock> -<bltBlock id=\"50\"> -<involvedEquation equationId=\"49\" /> -</bltBlock> -<bltBlock id=\"51\"> -<involvedEquation equationId=\"43\" /> -</bltBlock> -<bltBlock id=\"52\"> -<involvedEquation equationId=\"52\" /> -</bltBlock> -</bltRepresentation> -<bltRepresentation> -<bltBlock id=\"61\"> -<involvedEquation equationId=\"106\" /> -</bltBlock> -<bltBlock id=\"62\"> -<involvedEquation equationId=\"105\" /> -</bltBlock> -<bltBlock id=\"63\"> -<involvedEquation equationId=\"104\" /> -</bltBlock> -<bltBlock id=\"64\"> -<involvedEquation equationId=\"103\" /> -</bltBlock> -<bltBlock id=\"65\"> -<involvedEquation equationId=\"102\" /> -</bltBlock> -<bltBlock id=\"66\"> -<involvedEquation equationId=\"101\" /> -</bltBlock> -<bltBlock id=\"67\"> -<involvedEquation equationId=\"100\" /> -</bltBlock> -<bltBlock id=\"68\"> -<involvedEquation equationId=\"99\" /> -</bltBlock> -<bltBlock id=\"69\"> -<involvedEquation equationId=\"88\" /> -</bltBlock> -<bltBlock id=\"70\"> -<involvedEquation equationId=\"85\" /> -</bltBlock> -<bltBlock id=\"71\"> -<involvedEquation equationId=\"86\" /> -</bltBlock> -<bltBlock id=\"72\"> -<involvedEquation equationId=\"74\" /> -</bltBlock> -<bltBlock id=\"73\"> -<involvedEquation equationId=\"73\" /> -</bltBlock> -<bltBlock id=\"74\"> -<involvedEquation equationId=\"72\" /> -</bltBlock> -<bltBlock id=\"75\"> -<involvedEquation equationId=\"71\" /> -</bltBlock> -<bltBlock id=\"76\"> -<involvedEquation equationId=\"70\" /> -</bltBlock> -<bltBlock id=\"77\"> -<involvedEquation equationId=\"69\" /> -</bltBlock> -<bltBlock id=\"78\"> -<involvedEquation equationId=\"68\" /> -</bltBlock> -<bltBlock id=\"79\"> -<involvedEquation equationId=\"67\" /> -</bltBlock> -<bltBlock id=\"80\"> -<involvedEquation equationId=\"66\" /> -</bltBlock> -<bltBlock id=\"81\"> -<involvedEquation equationId=\"63\" /> -<involvedEquation equationId=\"65\" /> -<involvedEquation equationId=\"77\" /> -<involvedEquation equationId=\"98\" /> -<involvedEquation equationId=\"84\" /> -<involvedEquation equationId=\"96\" /> -<involvedEquation equationId=\"94\" /> -<involvedEquation equationId=\"97\" /> -<involvedEquation equationId=\"95\" /> -<involvedEquation equationId=\"75\" /> -<involvedEquation equationId=\"93\" /> -<involvedEquation equationId=\"64\" /> -<involvedEquation equationId=\"76\" /> -</bltBlock> -<bltBlock id=\"82\"> -<involvedEquation equationId=\"91\" /> -</bltBlock> -<bltBlock id=\"83\"> -<involvedEquation equationId=\"92\" /> -</bltBlock> -<bltBlock id=\"84\"> -<involvedEquation equationId=\"90\" /> -</bltBlock> -<bltBlock id=\"85\"> -<involvedEquation equationId=\"78\" /> -</bltBlock> -<bltBlock id=\"86\"> -<involvedEquation equationId=\"79\" /> -</bltBlock> -<bltBlock id=\"87\"> -<involvedEquation equationId=\"80\" /> -</bltBlock> -<bltBlock id=\"88\"> -<involvedEquation equationId=\"81\" /> -</bltBlock> -<bltBlock id=\"89\"> -<involvedEquation equationId=\"82\" /> -</bltBlock> -<bltBlock id=\"90\"> -<involvedEquation equationId=\"83\" /> -</bltBlock> -<bltBlock id=\"91\"> -<involvedEquation equationId=\"87\" /> -</bltBlock> -<bltBlock id=\"92\"> -<involvedEquation equationId=\"89\" /> -</bltBlock> -<bltBlock id=\"93\"> -<involvedEquation equationId=\"62\" /> -</bltBlock> -<bltBlock id=\"94\"> -<involvedEquation equationId=\"61\" /> -</bltBlock> -</bltRepresentation> -</bltRepresentation> -</solvingInfo> -</additionalInfo> -</dae>" Equation mismatch: omc-diff says: Failed 't' 'f' Line 85: Text differs: expected: true got: false == 1 out of 1 tests failed [openmodelica/xml/XmlDumpComment.mos_temp2711, time: 1]