parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/package.mo [0.047s]
subdirs =Mechanics, Math, Electrical, C-Sources, Blocks
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Mechanics/package.mo [0.0s]
subdirs =
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Mechanics/Translational.mo [0.234s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Mechanics/Rotational.mo [0.438s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Math/package.mo [0.234s]
subdirs =
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/package.mo [0.0s]
subdirs =Analog
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/package.mo [0.0s]
subdirs =Examples
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/package.mo [0.0s]
subdirs =Utilities
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/Utilities/package.mo [0.0s]
subdirs =
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/Utilities/Transistor.mo [0.016s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/Utilities/RealSwitch.mo [0.0s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/Utilities/NonlinearResistor.mo [0.0s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/Utilities/Nand.mo [0.0309999999999999s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/ShowVariableResistor.mo [0.0s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/ShowSaturatingInductor.mo [0.016s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/Rectifier.mo [0.0150000000000001s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/NandGate.mo [0.016s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/HeatingRectifier.mo [0.0s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/HeatingNPN_OrGate.mo [0.016s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/HeatingMOSInverter.mo [0.0149999999999999s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/DifferenceAmplifier.mo [0.032s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/ChuaCircuit.mo [0.0s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/CharacteristicThyristors.mo [0.0149999999999999s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/CharacteristicIdealDiodes.mo [0.016s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Examples/CauerFilter.mo [0.0470000000000002s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Sources.mo [0.234s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Sensors.mo [0.016s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Semiconductors.mo [0.125s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Lines.mo [0.0469999999999999s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Interfaces.mo [0.0309999999999999s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Ideal.mo [0.156s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Electrical/Analog/Basic.mo [0.125s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Blocks/package.mo [0.016s]
subdirs =
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Blocks/Types.mo [0.0s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Blocks/Sources.mo [0.187s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Blocks/Nonlinear.mo [0.0309999999999997s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Blocks/Math.mo [0.188s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Blocks/Logical.mo [0.0310000000000001s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Blocks/Interfaces.mo [0.125s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Blocks/Discrete.mo [0.0309999999999997s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Blocks/Continuous.mo [0.0790000000000002s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/StateGraph.mo [0.203s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/SIunits.mo [0.125s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/SimpleVisual.mo [0.0150000000000001s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Icons.mo [0.032s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/Modelica/Constants.mo [0.0150000000000001s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/package.mo [0.0s]
subdirs =MultiBody, Images, help, Blocks
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/package.mo [0.016s]
subdirs =Examples
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Examples/package.mo [0.0s]
subdirs =Robots, Loops
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Examples/Robots/package.mo [0.0s]
subdirs =
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Examples/Robots/r3.mo [0.203s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Examples/Loops/package.mo [0.0s]
subdirs =
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Examples/Loops/Utilities.mo [0.016s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Examples/Loops/TwoLoop.mo [0.0150000000000001s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Examples/Loops/Fourbar2.mo [0.016s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Examples/Loops/Fourbar1.mo [0.0149999999999997s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Examples/Loops/Engine2.mo [0.0s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Examples/Loops/Engine1.mo [0.0s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Examples/Pendulum.mo [0.0s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Visualizers.mo [0.032s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Sensors.mo [0.0150000000000001s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Parts.mo [0.0630000000000002s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Joints.mo [0.0779999999999998s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Interfaces.mo [0.0470000000000002s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/Forces.mo [0.0469999999999997s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/MultiBody/CutJoints.mo [0.0620000000000003s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/Blocks/package.mo [0.0s]
subdirs =
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/Blocks/Nonlinear.mo [0.0469999999999997s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/Blocks/Multiplexer.mo [0.109s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/Blocks/Logical.mo [0.11s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/Blocks/Discrete.mo [0.0619999999999998s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/Blocks/Continuous.mo [0.016s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/Tables.mo [0.0780000000000003s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/PetriNets.mo [0.0629999999999997s]
parsing c:\bin\cygwin\home\adrpo\dev\OpenModelica\build\ModelicaLibrary/ModelicaAdditions/HeatFlow1D.mo [0.0620000000000003s]
true
true
""
"fclass ModelicaAdditions.MultiBody.Examples.Pendulum
parameter Real L = 0.8 "length of box";
parameter Real d = 1.0 "damping constant";
parameter Real inertial.g(quantity = "Acceleration", unit = "m/s2") = 9.81 "Gravity constant";
parameter Real inertial.ng[1] = 0 "Direction of gravity (gravity = g*ng)";
parameter Real inertial.ng[2] = -1 "Direction of gravity (gravity = g*ng)";
parameter Real inertial.ng[3] = 0 "Direction of gravity (gravity = g*ng)";
parameter String inertial.label1 = "x" "Label of horizontal axis in icon";
parameter String inertial.label2 = "y" "Label of vertical axis in icon";
Real inertial.gravity[1](quantity = "Acceleration", unit = "m/s2") "Gravity acceleration vector";
Real inertial.gravity[2](quantity = "Acceleration", unit = "m/s2") "Gravity acceleration vector";
Real inertial.gravity[3](quantity = "Acceleration", unit = "m/s2") "Gravity acceleration vector";
output Real inertial.frame_b.r0[1](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
output Real inertial.frame_b.r0[2](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
output Real inertial.frame_b.r0[3](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
Real inertial.frame_b.S[1,1] "Transformation matrix from frame_a to inertial system";
Real inertial.frame_b.S[1,2] "Transformation matrix from frame_a to inertial system";
Real inertial.frame_b.S[1,3] "Transformation matrix from frame_a to inertial system";
Real inertial.frame_b.S[2,1] "Transformation matrix from frame_a to inertial system";
Real inertial.frame_b.S[2,2] "Transformation matrix from frame_a to inertial system";
Real inertial.frame_b.S[2,3] "Transformation matrix from frame_a to inertial system";
Real inertial.frame_b.S[3,1] "Transformation matrix from frame_a to inertial system";
Real inertial.frame_b.S[3,2] "Transformation matrix from frame_a to inertial system";
Real inertial.frame_b.S[3,3] "Transformation matrix from frame_a to inertial system";
Real inertial.frame_b.v[1](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real inertial.frame_b.v[2](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real inertial.frame_b.v[3](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real inertial.frame_b.w[1](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real inertial.frame_b.w[2](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real inertial.frame_b.w[3](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real inertial.frame_b.a[1](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real inertial.frame_b.a[2](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real inertial.frame_b.a[3](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real inertial.frame_b.z[1](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real inertial.frame_b.z[2](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real inertial.frame_b.z[3](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real inertial.frame_b.f[1](quantity = "Force", unit = "N");
Real inertial.frame_b.f[2](quantity = "Force", unit = "N");
Real inertial.frame_b.f[3](quantity = "Force", unit = "N");
Real inertial.frame_b.t[1](quantity = "Torque", unit = "N.m");
Real inertial.frame_b.t[2](quantity = "Torque", unit = "N.m");
Real inertial.frame_b.t[3](quantity = "Torque", unit = "N.m");
constant Real boxBody.pi = 3.14159265358979;
constant Real boxBody.PI = 3.14159265358979;
protected Real boxBody.Sa[1,1](start = 1.0);
protected Real boxBody.Sa[1,2](start = 0.0);
protected Real boxBody.Sa[1,3](start = 0.0);
protected Real boxBody.Sa[2,1](start = 0.0);
protected Real boxBody.Sa[2,2](start = 1.0);
protected Real boxBody.Sa[2,3](start = 0.0);
protected Real boxBody.Sa[3,1](start = 0.0);
protected Real boxBody.Sa[3,2](start = 0.0);
protected Real boxBody.Sa[3,3](start = 1.0);
protected Real boxBody.r0a[1](quantity = "Length", unit = "m");
protected Real boxBody.r0a[2](quantity = "Length", unit = "m");
protected Real boxBody.r0a[3](quantity = "Length", unit = "m");
protected Real boxBody.va[1](quantity = "Velocity", unit = "m/s");
protected Real boxBody.va[2](quantity = "Velocity", unit = "m/s");
protected Real boxBody.va[3](quantity = "Velocity", unit = "m/s");
protected Real boxBody.wa[1](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real boxBody.wa[2](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real boxBody.wa[3](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real boxBody.aa[1](quantity = "Acceleration", unit = "m/s2");
protected Real boxBody.aa[2](quantity = "Acceleration", unit = "m/s2");
protected Real boxBody.aa[3](quantity = "Acceleration", unit = "m/s2");
protected Real boxBody.za[1](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real boxBody.za[2](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real boxBody.za[3](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real boxBody.fa[1](quantity = "Force", unit = "N");
protected Real boxBody.fa[2](quantity = "Force", unit = "N");
protected Real boxBody.fa[3](quantity = "Force", unit = "N");
protected Real boxBody.ta[1](quantity = "Torque", unit = "N.m");
protected Real boxBody.ta[2](quantity = "Torque", unit = "N.m");
protected Real boxBody.ta[3](quantity = "Torque", unit = "N.m");
protected Real boxBody.Sb[1,1](start = 1.0);
protected Real boxBody.Sb[1,2](start = 0.0);
protected Real boxBody.Sb[1,3](start = 0.0);
protected Real boxBody.Sb[2,1](start = 0.0);
protected Real boxBody.Sb[2,2](start = 1.0);
protected Real boxBody.Sb[2,3](start = 0.0);
protected Real boxBody.Sb[3,1](start = 0.0);
protected Real boxBody.Sb[3,2](start = 0.0);
protected Real boxBody.Sb[3,3](start = 1.0);
protected Real boxBody.r0b[1](quantity = "Length", unit = "m");
protected Real boxBody.r0b[2](quantity = "Length", unit = "m");
protected Real boxBody.r0b[3](quantity = "Length", unit = "m");
protected Real boxBody.vb[1](quantity = "Velocity", unit = "m/s");
protected Real boxBody.vb[2](quantity = "Velocity", unit = "m/s");
protected Real boxBody.vb[3](quantity = "Velocity", unit = "m/s");
protected Real boxBody.wb[1](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real boxBody.wb[2](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real boxBody.wb[3](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real boxBody.ab[1](quantity = "Acceleration", unit = "m/s2");
protected Real boxBody.ab[2](quantity = "Acceleration", unit = "m/s2");
protected Real boxBody.ab[3](quantity = "Acceleration", unit = "m/s2");
protected Real boxBody.zb[1](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real boxBody.zb[2](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real boxBody.zb[3](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real boxBody.fb[1](quantity = "Force", unit = "N");
protected Real boxBody.fb[2](quantity = "Force", unit = "N");
protected Real boxBody.fb[3](quantity = "Force", unit = "N");
protected Real boxBody.tb[1](quantity = "Torque", unit = "N.m");
protected Real boxBody.tb[2](quantity = "Torque", unit = "N.m");
protected Real boxBody.tb[3](quantity = "Torque", unit = "N.m");
input Real boxBody.frame_a.r0[1](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
input Real boxBody.frame_a.r0[2](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
input Real boxBody.frame_a.r0[3](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
Real boxBody.frame_a.S[1,1] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_a.S[1,2] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_a.S[1,3] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_a.S[2,1] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_a.S[2,2] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_a.S[2,3] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_a.S[3,1] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_a.S[3,2] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_a.S[3,3] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_a.v[1](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real boxBody.frame_a.v[2](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real boxBody.frame_a.v[3](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real boxBody.frame_a.w[1](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real boxBody.frame_a.w[2](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real boxBody.frame_a.w[3](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real boxBody.frame_a.a[1](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real boxBody.frame_a.a[2](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real boxBody.frame_a.a[3](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real boxBody.frame_a.z[1](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real boxBody.frame_a.z[2](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real boxBody.frame_a.z[3](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real boxBody.frame_a.f[1](quantity = "Force", unit = "N");
Real boxBody.frame_a.f[2](quantity = "Force", unit = "N");
Real boxBody.frame_a.f[3](quantity = "Force", unit = "N");
Real boxBody.frame_a.t[1](quantity = "Torque", unit = "N.m");
Real boxBody.frame_a.t[2](quantity = "Torque", unit = "N.m");
Real boxBody.frame_a.t[3](quantity = "Torque", unit = "N.m");
output Real boxBody.frame_b.r0[1](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
output Real boxBody.frame_b.r0[2](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
output Real boxBody.frame_b.r0[3](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
Real boxBody.frame_b.S[1,1] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_b.S[1,2] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_b.S[1,3] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_b.S[2,1] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_b.S[2,2] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_b.S[2,3] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_b.S[3,1] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_b.S[3,2] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_b.S[3,3] "Transformation matrix from frame_a to inertial system";
Real boxBody.frame_b.v[1](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real boxBody.frame_b.v[2](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real boxBody.frame_b.v[3](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real boxBody.frame_b.w[1](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real boxBody.frame_b.w[2](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real boxBody.frame_b.w[3](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real boxBody.frame_b.a[1](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real boxBody.frame_b.a[2](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real boxBody.frame_b.a[3](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real boxBody.frame_b.z[1](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real boxBody.frame_b.z[2](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real boxBody.frame_b.z[3](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real boxBody.frame_b.f[1](quantity = "Force", unit = "N");
Real boxBody.frame_b.f[2](quantity = "Force", unit = "N");
Real boxBody.frame_b.f[3](quantity = "Force", unit = "N");
Real boxBody.frame_b.t[1](quantity = "Torque", unit = "N.m");
Real boxBody.frame_b.t[2](quantity = "Torque", unit = "N.m");
Real boxBody.frame_b.t[3](quantity = "Torque", unit = "N.m");
parameter Real boxBody.r[1](quantity = "Length", unit = "m") = L "Vector from frame_a to frame_b, resolved in frame_a";
parameter Real boxBody.r[2](quantity = "Length", unit = "m") = 0.0 "Vector from frame_a to frame_b, resolved in frame_a";
parameter Real boxBody.r[3](quantity = "Length", unit = "m") = 0.0 "Vector from frame_a to frame_b, resolved in frame_a";
parameter Real boxBody.r0[1](quantity = "Length", unit = "m") = 0 "Vector from frame_a to left box plane, resolved in frame_a";
parameter Real boxBody.r0[2](quantity = "Length", unit = "m") = 0 "Vector from frame_a to left box plane, resolved in frame_a";
parameter Real boxBody.r0[3](quantity = "Length", unit = "m") = 0 "Vector from frame_a to left box plane, resolved in frame_a";
parameter Real boxBody.LengthDirection[1](quantity = "Length", unit = "m") = boxBody.r[1] - boxBody.r0[1] "Vector in length direction, resolved in frame_a";
parameter Real boxBody.LengthDirection[2](quantity = "Length", unit = "m") = boxBody.r[2] - boxBody.r0[2] "Vector in length direction, resolved in frame_a";
parameter Real boxBody.LengthDirection[3](quantity = "Length", unit = "m") = boxBody.r[3] - boxBody.r0[3] "Vector in length direction, resolved in frame_a";
parameter Real boxBody.WidthDirection[1](quantity = "Length", unit = "m") = 0 "Vector in width direction, resolved in frame_a";
parameter Real boxBody.WidthDirection[2](quantity = "Length", unit = "m") = 1 "Vector in width direction, resolved in frame_a";
parameter Real boxBody.WidthDirection[3](quantity = "Length", unit = "m") = 0 "Vector in width direction, resolved in frame_a";
parameter Real boxBody.Length(quantity = "Length", unit = "m") = sqrt({boxBody.r[1] - boxBody.r0[1],boxBody.r[2] - boxBody.r0[2],boxBody.r[3] - boxBody.r0[3]} * {boxBody.r[1] - boxBody.r0[1],boxBody.r[2] - boxBody.r0[2],boxBody.r[3] - boxBody.r0[3]}) "Length of box";
parameter Real boxBody.Width(quantity = "Length", unit = "m") = 0.1 "Width of box";
parameter Real boxBody.Height(quantity = "Length", unit = "m") = 0.1 "Height of box";
parameter Real boxBody.InnerWidth(quantity = "Length", unit = "m") = 0 "Width of inner box surface";
parameter Real boxBody.InnerHeight(quantity = "Length", unit = "m") = 0 "Height of inner box surface";
parameter Real boxBody.rho = 7.7 "Density of box material [g/cm^3]";
parameter Real boxBody.Material[1] = 1.0 "Color and specular coefficient";
parameter Real boxBody.Material[2] = 0.0 "Color and specular coefficient";
parameter Real boxBody.Material[3] = 0.0 "Color and specular coefficient";
parameter Real boxBody.Material[4] = 0.5 "Color and specular coefficient";
Real boxBody.mo(quantity = "Mass", unit = "kg", min = 0.0);
Real boxBody.mi(quantity = "Mass", unit = "kg", min = 0.0);
Real boxBody.l(quantity = "Length", unit = "m");
Real boxBody.w(quantity = "Length", unit = "m");
Real boxBody.h(quantity = "Length", unit = "m");
Real boxBody.wi(quantity = "Length", unit = "m");
Real boxBody.hi(quantity = "Length", unit = "m");
constant Real boxBody.frameTranslation.pi = 3.14159265358979;
constant Real boxBody.frameTranslation.PI = 3.14159265358979;
protected Real boxBody.frameTranslation.Sa[1,1](start = 1.0);
protected Real boxBody.frameTranslation.Sa[1,2](start = 0.0);
protected Real boxBody.frameTranslation.Sa[1,3](start = 0.0);
protected Real boxBody.frameTranslation.Sa[2,1](start = 0.0);
protected Real boxBody.frameTranslation.Sa[2,2](start = 1.0);
protected Real boxBody.frameTranslation.Sa[2,3](start = 0.0);
protected Real boxBody.frameTranslation.Sa[3,1](start = 0.0);
protected Real boxBody.frameTranslation.Sa[3,2](start = 0.0);
protected Real boxBody.frameTranslation.Sa[3,3](start = 1.0);
protected Real boxBody.frameTranslation.r0a[1](quantity = "Length", unit = "m");
protected Real boxBody.frameTranslation.r0a[2](quantity = "Length", unit = "m");
protected Real boxBody.frameTranslation.r0a[3](quantity = "Length", unit = "m");
protected Real boxBody.frameTranslation.va[1](quantity = "Velocity", unit = "m/s");
protected Real boxBody.frameTranslation.va[2](quantity = "Velocity", unit = "m/s");
protected Real boxBody.frameTranslation.va[3](quantity = "Velocity", unit = "m/s");
protected Real boxBody.frameTranslation.wa[1](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real boxBody.frameTranslation.wa[2](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real boxBody.frameTranslation.wa[3](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real boxBody.frameTranslation.aa[1](quantity = "Acceleration", unit = "m/s2");
protected Real boxBody.frameTranslation.aa[2](quantity = "Acceleration", unit = "m/s2");
protected Real boxBody.frameTranslation.aa[3](quantity = "Acceleration", unit = "m/s2");
protected Real boxBody.frameTranslation.za[1](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real boxBody.frameTranslation.za[2](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real boxBody.frameTranslation.za[3](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real boxBody.frameTranslation.fa[1](quantity = "Force", unit = "N");
protected Real boxBody.frameTranslation.fa[2](quantity = "Force", unit = "N");
protected Real boxBody.frameTranslation.fa[3](quantity = "Force", unit = "N");
protected Real boxBody.frameTranslation.ta[1](quantity = "Torque", unit = "N.m");
protected Real boxBody.frameTranslation.ta[2](quantity = "Torque", unit = "N.m");
protected Real boxBody.frameTranslation.ta[3](quantity = "Torque", unit = "N.m");
protected Real boxBody.frameTranslation.Sb[1,1](start = 1.0);
protected Real boxBody.frameTranslation.Sb[1,2](start = 0.0);
protected Real boxBody.frameTranslation.Sb[1,3](start = 0.0);
protected Real boxBody.frameTranslation.Sb[2,1](start = 0.0);
protected Real boxBody.frameTranslation.Sb[2,2](start = 1.0);
protected Real boxBody.frameTranslation.Sb[2,3](start = 0.0);
protected Real boxBody.frameTranslation.Sb[3,1](start = 0.0);
protected Real boxBody.frameTranslation.Sb[3,2](start = 0.0);
protected Real boxBody.frameTranslation.Sb[3,3](start = 1.0);
protected Real boxBody.frameTranslation.r0b[1](quantity = "Length", unit = "m");
protected Real boxBody.frameTranslation.r0b[2](quantity = "Length", unit = "m");
protected Real boxBody.frameTranslation.r0b[3](quantity = "Length", unit = "m");
protected Real boxBody.frameTranslation.vb[1](quantity = "Velocity", unit = "m/s");
protected Real boxBody.frameTranslation.vb[2](quantity = "Velocity", unit = "m/s");
protected Real boxBody.frameTranslation.vb[3](quantity = "Velocity", unit = "m/s");
protected Real boxBody.frameTranslation.wb[1](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real boxBody.frameTranslation.wb[2](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real boxBody.frameTranslation.wb[3](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real boxBody.frameTranslation.ab[1](quantity = "Acceleration", unit = "m/s2");
protected Real boxBody.frameTranslation.ab[2](quantity = "Acceleration", unit = "m/s2");
protected Real boxBody.frameTranslation.ab[3](quantity = "Acceleration", unit = "m/s2");
protected Real boxBody.frameTranslation.zb[1](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real boxBody.frameTranslation.zb[2](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real boxBody.frameTranslation.zb[3](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real boxBody.frameTranslation.fb[1](quantity = "Force", unit = "N");
protected Real boxBody.frameTranslation.fb[2](quantity = "Force", unit = "N");
protected Real boxBody.frameTranslation.fb[3](quantity = "Force", unit = "N");
protected Real boxBody.frameTranslation.tb[1](quantity = "Torque", unit = "N.m");
protected Real boxBody.frameTranslation.tb[2](quantity = "Torque", unit = "N.m");
protected Real boxBody.frameTranslation.tb[3](quantity = "Torque", unit = "N.m");
input Real boxBody.frameTranslation.frame_a.r0[1](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
input Real boxBody.frameTranslation.frame_a.r0[2](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
input Real boxBody.frameTranslation.frame_a.r0[3](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
Real boxBody.frameTranslation.frame_a.S[1,1] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_a.S[1,2] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_a.S[1,3] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_a.S[2,1] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_a.S[2,2] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_a.S[2,3] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_a.S[3,1] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_a.S[3,2] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_a.S[3,3] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_a.v[1](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real boxBody.frameTranslation.frame_a.v[2](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real boxBody.frameTranslation.frame_a.v[3](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real boxBody.frameTranslation.frame_a.w[1](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real boxBody.frameTranslation.frame_a.w[2](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real boxBody.frameTranslation.frame_a.w[3](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real boxBody.frameTranslation.frame_a.a[1](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real boxBody.frameTranslation.frame_a.a[2](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real boxBody.frameTranslation.frame_a.a[3](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real boxBody.frameTranslation.frame_a.z[1](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real boxBody.frameTranslation.frame_a.z[2](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real boxBody.frameTranslation.frame_a.z[3](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real boxBody.frameTranslation.frame_a.f[1](quantity = "Force", unit = "N");
Real boxBody.frameTranslation.frame_a.f[2](quantity = "Force", unit = "N");
Real boxBody.frameTranslation.frame_a.f[3](quantity = "Force", unit = "N");
Real boxBody.frameTranslation.frame_a.t[1](quantity = "Torque", unit = "N.m");
Real boxBody.frameTranslation.frame_a.t[2](quantity = "Torque", unit = "N.m");
Real boxBody.frameTranslation.frame_a.t[3](quantity = "Torque", unit = "N.m");
output Real boxBody.frameTranslation.frame_b.r0[1](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
output Real boxBody.frameTranslation.frame_b.r0[2](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
output Real boxBody.frameTranslation.frame_b.r0[3](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
Real boxBody.frameTranslation.frame_b.S[1,1] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_b.S[1,2] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_b.S[1,3] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_b.S[2,1] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_b.S[2,2] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_b.S[2,3] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_b.S[3,1] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_b.S[3,2] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_b.S[3,3] "Transformation matrix from frame_a to inertial system";
Real boxBody.frameTranslation.frame_b.v[1](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real boxBody.frameTranslation.frame_b.v[2](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real boxBody.frameTranslation.frame_b.v[3](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real boxBody.frameTranslation.frame_b.w[1](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real boxBody.frameTranslation.frame_b.w[2](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real boxBody.frameTranslation.frame_b.w[3](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real boxBody.frameTranslation.frame_b.a[1](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real boxBody.frameTranslation.frame_b.a[2](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real boxBody.frameTranslation.frame_b.a[3](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real boxBody.frameTranslation.frame_b.z[1](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real boxBody.frameTranslation.frame_b.z[2](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real boxBody.frameTranslation.frame_b.z[3](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real boxBody.frameTranslation.frame_b.f[1](quantity = "Force", unit = "N");
Real boxBody.frameTranslation.frame_b.f[2](quantity = "Force", unit = "N");
Real boxBody.frameTranslation.frame_b.f[3](quantity = "Force", unit = "N");
Real boxBody.frameTranslation.frame_b.t[1](quantity = "Torque", unit = "N.m");
Real boxBody.frameTranslation.frame_b.t[2](quantity = "Torque", unit = "N.m");
Real boxBody.frameTranslation.frame_b.t[3](quantity = "Torque", unit = "N.m");
parameter Real boxBody.frameTranslation.r[1](quantity = "Length", unit = "m") = boxBody.r[1] "Vector from frame_a to frame_b resolved in frame_a";
parameter Real boxBody.frameTranslation.r[2](quantity = "Length", unit = "m") = boxBody.r[2] "Vector from frame_a to frame_b resolved in frame_a";
parameter Real boxBody.frameTranslation.r[3](quantity = "Length", unit = "m") = boxBody.r[3] "Vector from frame_a to frame_b resolved in frame_a";
protected Real boxBody.frameTranslation.vaux[1](quantity = "Velocity", unit = "m/s");
protected Real boxBody.frameTranslation.vaux[2](quantity = "Velocity", unit = "m/s");
protected Real boxBody.frameTranslation.vaux[3](quantity = "Velocity", unit = "m/s");
protected Real boxBody.body.Sa[1,1](start = 1.0);
protected Real boxBody.body.Sa[1,2](start = 0.0);
protected Real boxBody.body.Sa[1,3](start = 0.0);
protected Real boxBody.body.Sa[2,1](start = 0.0);
protected Real boxBody.body.Sa[2,2](start = 1.0);
protected Real boxBody.body.Sa[2,3](start = 0.0);
protected Real boxBody.body.Sa[3,1](start = 0.0);
protected Real boxBody.body.Sa[3,2](start = 0.0);
protected Real boxBody.body.Sa[3,3](start = 1.0);
protected Real boxBody.body.r0a[1](quantity = "Length", unit = "m");
protected Real boxBody.body.r0a[2](quantity = "Length", unit = "m");
protected Real boxBody.body.r0a[3](quantity = "Length", unit = "m");
protected Real boxBody.body.va[1](quantity = "Velocity", unit = "m/s");
protected Real boxBody.body.va[2](quantity = "Velocity", unit = "m/s");
protected Real boxBody.body.va[3](quantity = "Velocity", unit = "m/s");
protected Real boxBody.body.wa[1](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real boxBody.body.wa[2](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real boxBody.body.wa[3](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real boxBody.body.aa[1](quantity = "Acceleration", unit = "m/s2");
protected Real boxBody.body.aa[2](quantity = "Acceleration", unit = "m/s2");
protected Real boxBody.body.aa[3](quantity = "Acceleration", unit = "m/s2");
protected Real boxBody.body.za[1](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real boxBody.body.za[2](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real boxBody.body.za[3](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real boxBody.body.fa[1](quantity = "Force", unit = "N");
protected Real boxBody.body.fa[2](quantity = "Force", unit = "N");
protected Real boxBody.body.fa[3](quantity = "Force", unit = "N");
protected Real boxBody.body.ta[1](quantity = "Torque", unit = "N.m");
protected Real boxBody.body.ta[2](quantity = "Torque", unit = "N.m");
protected Real boxBody.body.ta[3](quantity = "Torque", unit = "N.m");
input Real boxBody.body.frame_a.r0[1](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
input Real boxBody.body.frame_a.r0[2](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
input Real boxBody.body.frame_a.r0[3](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
Real boxBody.body.frame_a.S[1,1] "Transformation matrix from frame_a to inertial system";
Real boxBody.body.frame_a.S[1,2] "Transformation matrix from frame_a to inertial system";
Real boxBody.body.frame_a.S[1,3] "Transformation matrix from frame_a to inertial system";
Real boxBody.body.frame_a.S[2,1] "Transformation matrix from frame_a to inertial system";
Real boxBody.body.frame_a.S[2,2] "Transformation matrix from frame_a to inertial system";
Real boxBody.body.frame_a.S[2,3] "Transformation matrix from frame_a to inertial system";
Real boxBody.body.frame_a.S[3,1] "Transformation matrix from frame_a to inertial system";
Real boxBody.body.frame_a.S[3,2] "Transformation matrix from frame_a to inertial system";
Real boxBody.body.frame_a.S[3,3] "Transformation matrix from frame_a to inertial system";
Real boxBody.body.frame_a.v[1](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real boxBody.body.frame_a.v[2](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real boxBody.body.frame_a.v[3](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real boxBody.body.frame_a.w[1](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real boxBody.body.frame_a.w[2](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real boxBody.body.frame_a.w[3](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real boxBody.body.frame_a.a[1](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real boxBody.body.frame_a.a[2](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real boxBody.body.frame_a.a[3](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real boxBody.body.frame_a.z[1](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real boxBody.body.frame_a.z[2](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real boxBody.body.frame_a.z[3](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real boxBody.body.frame_a.f[1](quantity = "Force", unit = "N");
Real boxBody.body.frame_a.f[2](quantity = "Force", unit = "N");
Real boxBody.body.frame_a.f[3](quantity = "Force", unit = "N");
Real boxBody.body.frame_a.t[1](quantity = "Torque", unit = "N.m");
Real boxBody.body.frame_a.t[2](quantity = "Torque", unit = "N.m");
Real boxBody.body.frame_a.t[3](quantity = "Torque", unit = "N.m");
Real boxBody.body.m(quantity = "Mass", unit = "kg", min = 0.0);
Real boxBody.body.rCM[1](quantity = "Length", unit = "m");
Real boxBody.body.rCM[2](quantity = "Length", unit = "m");
Real boxBody.body.rCM[3](quantity = "Length", unit = "m");
Real boxBody.body.I[1,1](quantity = "MomentOfInertia", unit = "kg.m2");
Real boxBody.body.I[1,2](quantity = "MomentOfInertia", unit = "kg.m2");
Real boxBody.body.I[1,3](quantity = "MomentOfInertia", unit = "kg.m2");
Real boxBody.body.I[2,1](quantity = "MomentOfInertia", unit = "kg.m2");
Real boxBody.body.I[2,2](quantity = "MomentOfInertia", unit = "kg.m2");
Real boxBody.body.I[2,3](quantity = "MomentOfInertia", unit = "kg.m2");
Real boxBody.body.I[3,1](quantity = "MomentOfInertia", unit = "kg.m2");
Real boxBody.body.I[3,2](quantity = "MomentOfInertia", unit = "kg.m2");
Real boxBody.body.I[3,3](quantity = "MomentOfInertia", unit = "kg.m2");
constant Real revolute.pi = 3.14159265358979;
constant Real revolute.PI = 3.14159265358979;
protected Real revolute.Sa[1,1](start = 1.0);
protected Real revolute.Sa[1,2](start = 0.0);
protected Real revolute.Sa[1,3](start = 0.0);
protected Real revolute.Sa[2,1](start = 0.0);
protected Real revolute.Sa[2,2](start = 1.0);
protected Real revolute.Sa[2,3](start = 0.0);
protected Real revolute.Sa[3,1](start = 0.0);
protected Real revolute.Sa[3,2](start = 0.0);
protected Real revolute.Sa[3,3](start = 1.0);
protected Real revolute.r0a[1](quantity = "Length", unit = "m");
protected Real revolute.r0a[2](quantity = "Length", unit = "m");
protected Real revolute.r0a[3](quantity = "Length", unit = "m");
protected Real revolute.va[1](quantity = "Velocity", unit = "m/s");
protected Real revolute.va[2](quantity = "Velocity", unit = "m/s");
protected Real revolute.va[3](quantity = "Velocity", unit = "m/s");
protected Real revolute.wa[1](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real revolute.wa[2](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real revolute.wa[3](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real revolute.aa[1](quantity = "Acceleration", unit = "m/s2");
protected Real revolute.aa[2](quantity = "Acceleration", unit = "m/s2");
protected Real revolute.aa[3](quantity = "Acceleration", unit = "m/s2");
protected Real revolute.za[1](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real revolute.za[2](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real revolute.za[3](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real revolute.fa[1](quantity = "Force", unit = "N");
protected Real revolute.fa[2](quantity = "Force", unit = "N");
protected Real revolute.fa[3](quantity = "Force", unit = "N");
protected Real revolute.ta[1](quantity = "Torque", unit = "N.m");
protected Real revolute.ta[2](quantity = "Torque", unit = "N.m");
protected Real revolute.ta[3](quantity = "Torque", unit = "N.m");
protected Real revolute.Sb[1,1](start = 1.0);
protected Real revolute.Sb[1,2](start = 0.0);
protected Real revolute.Sb[1,3](start = 0.0);
protected Real revolute.Sb[2,1](start = 0.0);
protected Real revolute.Sb[2,2](start = 1.0);
protected Real revolute.Sb[2,3](start = 0.0);
protected Real revolute.Sb[3,1](start = 0.0);
protected Real revolute.Sb[3,2](start = 0.0);
protected Real revolute.Sb[3,3](start = 1.0);
protected Real revolute.r0b[1](quantity = "Length", unit = "m");
protected Real revolute.r0b[2](quantity = "Length", unit = "m");
protected Real revolute.r0b[3](quantity = "Length", unit = "m");
protected Real revolute.vb[1](quantity = "Velocity", unit = "m/s");
protected Real revolute.vb[2](quantity = "Velocity", unit = "m/s");
protected Real revolute.vb[3](quantity = "Velocity", unit = "m/s");
protected Real revolute.wb[1](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real revolute.wb[2](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real revolute.wb[3](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
protected Real revolute.ab[1](quantity = "Acceleration", unit = "m/s2");
protected Real revolute.ab[2](quantity = "Acceleration", unit = "m/s2");
protected Real revolute.ab[3](quantity = "Acceleration", unit = "m/s2");
protected Real revolute.zb[1](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real revolute.zb[2](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real revolute.zb[3](quantity = "AngularAcceleration", unit = "rad/s2");
protected Real revolute.fb[1](quantity = "Force", unit = "N");
protected Real revolute.fb[2](quantity = "Force", unit = "N");
protected Real revolute.fb[3](quantity = "Force", unit = "N");
protected Real revolute.tb[1](quantity = "Torque", unit = "N.m");
protected Real revolute.tb[2](quantity = "Torque", unit = "N.m");
protected Real revolute.tb[3](quantity = "Torque", unit = "N.m");
input Real revolute.frame_a.r0[1](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
input Real revolute.frame_a.r0[2](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
input Real revolute.frame_a.r0[3](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
Real revolute.frame_a.S[1,1] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_a.S[1,2] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_a.S[1,3] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_a.S[2,1] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_a.S[2,2] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_a.S[2,3] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_a.S[3,1] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_a.S[3,2] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_a.S[3,3] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_a.v[1](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real revolute.frame_a.v[2](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real revolute.frame_a.v[3](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real revolute.frame_a.w[1](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real revolute.frame_a.w[2](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real revolute.frame_a.w[3](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real revolute.frame_a.a[1](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real revolute.frame_a.a[2](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real revolute.frame_a.a[3](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real revolute.frame_a.z[1](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real revolute.frame_a.z[2](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real revolute.frame_a.z[3](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real revolute.frame_a.f[1](quantity = "Force", unit = "N");
Real revolute.frame_a.f[2](quantity = "Force", unit = "N");
Real revolute.frame_a.f[3](quantity = "Force", unit = "N");
Real revolute.frame_a.t[1](quantity = "Torque", unit = "N.m");
Real revolute.frame_a.t[2](quantity = "Torque", unit = "N.m");
Real revolute.frame_a.t[3](quantity = "Torque", unit = "N.m");
output Real revolute.frame_b.r0[1](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
output Real revolute.frame_b.r0[2](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
output Real revolute.frame_b.r0[3](quantity = "Length", unit = "m") "Position vector from inertial system to frame origin, resolved in inertial system";
Real revolute.frame_b.S[1,1] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_b.S[1,2] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_b.S[1,3] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_b.S[2,1] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_b.S[2,2] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_b.S[2,3] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_b.S[3,1] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_b.S[3,2] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_b.S[3,3] "Transformation matrix from frame_a to inertial system";
Real revolute.frame_b.v[1](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real revolute.frame_b.v[2](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real revolute.frame_b.v[3](quantity = "Velocity", unit = "m/s") "Absolute velocity of frame origin, resolved in frame_a";
Real revolute.frame_b.w[1](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real revolute.frame_b.w[2](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real revolute.frame_b.w[3](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Absolute angular velocity of frame_a, resolved in frame_a";
Real revolute.frame_b.a[1](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real revolute.frame_b.a[2](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real revolute.frame_b.a[3](quantity = "Acceleration", unit = "m/s2") "Absolute acceleration of frame origin, resolved in frame_a";
Real revolute.frame_b.z[1](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real revolute.frame_b.z[2](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real revolute.frame_b.z[3](quantity = "AngularAcceleration", unit = "rad/s2") "Absolute angular acceleration of frame_a, resolved in frame_a";
Real revolute.frame_b.f[1](quantity = "Force", unit = "N");
Real revolute.frame_b.f[2](quantity = "Force", unit = "N");
Real revolute.frame_b.f[3](quantity = "Force", unit = "N");
Real revolute.frame_b.t[1](quantity = "Torque", unit = "N.m");
Real revolute.frame_b.t[2](quantity = "Torque", unit = "N.m");
Real revolute.frame_b.t[3](quantity = "Torque", unit = "N.m");
Real revolute.S_rel[1,1];
Real revolute.S_rel[1,2];
Real revolute.S_rel[1,3];
Real revolute.S_rel[2,1];
Real revolute.S_rel[2,2];
Real revolute.S_rel[2,3];
Real revolute.S_rel[3,1];
Real revolute.S_rel[3,2];
Real revolute.S_rel[3,3];
Real revolute.r_rela[1](quantity = "Length", unit = "m");
Real revolute.r_rela[2](quantity = "Length", unit = "m");
Real revolute.r_rela[3](quantity = "Length", unit = "m");
Real revolute.v_rela[1](quantity = "Velocity", unit = "m/s");
Real revolute.v_rela[2](quantity = "Velocity", unit = "m/s");
Real revolute.v_rela[3](quantity = "Velocity", unit = "m/s");
Real revolute.w_rela[1](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
Real revolute.w_rela[2](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
Real revolute.w_rela[3](quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min");
Real revolute.a_rela[1](quantity = "Acceleration", unit = "m/s2");
Real revolute.a_rela[2](quantity = "Acceleration", unit = "m/s2");
Real revolute.a_rela[3](quantity = "Acceleration", unit = "m/s2");
Real revolute.z_rela[1](quantity = "AngularAcceleration", unit = "rad/s2");
Real revolute.z_rela[2](quantity = "AngularAcceleration", unit = "rad/s2");
Real revolute.z_rela[3](quantity = "AngularAcceleration", unit = "rad/s2");
parameter Real revolute.n[1] = 0 "Axis of rotation resolved in frame_a (= same as in frame_b)";
parameter Real revolute.n[2] = 0 "Axis of rotation resolved in frame_a (= same as in frame_b)";
parameter Real revolute.n[3] = 1 "Axis of rotation resolved in frame_a (= same as in frame_b)";
parameter Real revolute.q0 = 0 "Rotation angle offset (see info) [deg]";
parameter Boolean revolute.startValueFixed = false "true, if start values of q, qd are fixed";
Real revolute.q(quantity = "Angle", unit = "rad", displayUnit = "deg", fixed = revolute.startValueFixed);
Real revolute.qd(quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min", fixed = revolute.startValueFixed);
Real revolute.qdd(quantity = "AngularAcceleration", unit = "rad/s2");
Real revolute.qq(quantity = "Angle", unit = "rad", displayUnit = "deg");
Real revolute.nn[1];
Real revolute.nn[2];
Real revolute.nn[3];
Real revolute.sinq;
Real revolute.cosq;
Real revolute.axis.phi(quantity = "Angle", unit = "rad", displayUnit = "deg") "Absolute rotation angle of flange";
Real revolute.axis.tau(quantity = "Torque", unit = "N.m") "Cut torque in the flange";
Real revolute.bearing.phi(quantity = "Angle", unit = "rad", displayUnit = "deg") "Absolute rotation angle of flange";
Real revolute.bearing.tau(quantity = "Torque", unit = "N.m") "Cut torque in the flange";
Real damper.phi_rel(quantity = "Angle", unit = "rad", displayUnit = "deg", start = 0.0) "Relative rotation angle (= flange_b.phi - flange_a.phi)";
Real damper.tau(quantity = "Torque", unit = "N.m") "Torque between flanges (= flange_b.tau)";
Real damper.flange_a.phi(quantity = "Angle", unit = "rad", displayUnit = "deg") "Absolute rotation angle of flange";
Real damper.flange_a.tau(quantity = "Torque", unit = "N.m") "Cut torque in the flange";
Real damper.flange_b.phi(quantity = "Angle", unit = "rad", displayUnit = "deg") "Absolute rotation angle of flange";
Real damper.flange_b.tau(quantity = "Torque", unit = "N.m") "Cut torque in the flange";
parameter Real damper.d(unit = "N.m.s/rad", min = 0.0) = d "Damping constant";
Real damper.w_rel(quantity = "AngularVelocity", unit = "rad/s", displayUnit = "rev/min") "Relative angular velocity between flange_b and flange_a";
equation
  inertial.gravity[1] = inertial.g * inertial.ng[1];
  inertial.gravity[2] = inertial.g * inertial.ng[2];
  inertial.gravity[3] = inertial.g * inertial.ng[3];
  inertial.frame_b.S[1,1] = 1.0;
  inertial.frame_b.S[1,2] = 0.0;
  inertial.frame_b.S[1,3] = 0.0;
  inertial.frame_b.S[2,1] = 0.0;
  inertial.frame_b.S[2,2] = 1.0;
  inertial.frame_b.S[2,3] = 0.0;
  inertial.frame_b.S[3,1] = 0.0;
  inertial.frame_b.S[3,2] = 0.0;
  inertial.frame_b.S[3,3] = 1.0;
  inertial.frame_b.r0[1] = 0.0;
  inertial.frame_b.r0[2] = 0.0;
  inertial.frame_b.r0[3] = 0.0;
  inertial.frame_b.v[1] = 0.0;
  inertial.frame_b.v[2] = 0.0;
  inertial.frame_b.v[3] = 0.0;
  inertial.frame_b.w[1] = 0.0;
  inertial.frame_b.w[2] = 0.0;
  inertial.frame_b.w[3] = 0.0;
  inertial.frame_b.a[1] = -inertial.gravity[1];
  inertial.frame_b.a[2] = -inertial.gravity[2];
  inertial.frame_b.a[3] = -inertial.gravity[3];
  inertial.frame_b.z[1] = 0.0;
  inertial.frame_b.z[2] = 0.0;
  inertial.frame_b.z[3] = 0.0;
  boxBody.frame_a.r0[1] = boxBody.r0a[1];
  boxBody.frame_a.r0[2] = boxBody.r0a[2];
  boxBody.frame_a.r0[3] = boxBody.r0a[3];
  boxBody.frame_a.S[1,1] = boxBody.Sa[1,1];
  boxBody.frame_a.S[1,2] = boxBody.Sa[1,2];
  boxBody.frame_a.S[1,3] = boxBody.Sa[1,3];
  boxBody.frame_a.S[2,1] = boxBody.Sa[2,1];
  boxBody.frame_a.S[2,2] = boxBody.Sa[2,2];
  boxBody.frame_a.S[2,3] = boxBody.Sa[2,3];
  boxBody.frame_a.S[3,1] = boxBody.Sa[3,1];
  boxBody.frame_a.S[3,2] = boxBody.Sa[3,2];
  boxBody.frame_a.S[3,3] = boxBody.Sa[3,3];
  boxBody.frame_a.v[1] = boxBody.va[1];
  boxBody.frame_a.v[2] = boxBody.va[2];
  boxBody.frame_a.v[3] = boxBody.va[3];
  boxBody.frame_a.w[1] = boxBody.wa[1];
  boxBody.frame_a.w[2] = boxBody.wa[2];
  boxBody.frame_a.w[3] = boxBody.wa[3];
  boxBody.frame_a.a[1] = boxBody.aa[1];
  boxBody.frame_a.a[2] = boxBody.aa[2];
  boxBody.frame_a.a[3] = boxBody.aa[3];
  boxBody.frame_a.z[1] = boxBody.za[1];
  boxBody.frame_a.z[2] = boxBody.za[2];
  boxBody.frame_a.z[3] = boxBody.za[3];
  boxBody.frame_a.f[1] = boxBody.fa[1];
  boxBody.frame_a.f[2] = boxBody.fa[2];
  boxBody.frame_a.f[3] = boxBody.fa[3];
  boxBody.frame_a.t[1] = boxBody.ta[1];
  boxBody.frame_a.t[2] = boxBody.ta[2];
  boxBody.frame_a.t[3] = boxBody.ta[3];
  boxBody.frame_b.r0[1] = boxBody.r0b[1];
  boxBody.frame_b.r0[2] = boxBody.r0b[2];
  boxBody.frame_b.r0[3] = boxBody.r0b[3];
  boxBody.frame_b.S[1,1] = boxBody.Sb[1,1];
  boxBody.frame_b.S[1,2] = boxBody.Sb[1,2];
  boxBody.frame_b.S[1,3] = boxBody.Sb[1,3];
  boxBody.frame_b.S[2,1] = boxBody.Sb[2,1];
  boxBody.frame_b.S[2,2] = boxBody.Sb[2,2];
  boxBody.frame_b.S[2,3] = boxBody.Sb[2,3];
  boxBody.frame_b.S[3,1] = boxBody.Sb[3,1];
  boxBody.frame_b.S[3,2] = boxBody.Sb[3,2];
  boxBody.frame_b.S[3,3] = boxBody.Sb[3,3];
  boxBody.frame_b.v[1] = boxBody.vb[1];
  boxBody.frame_b.v[2] = boxBody.vb[2];
  boxBody.frame_b.v[3] = boxBody.vb[3];
  boxBody.frame_b.w[1] = boxBody.wb[1];
  boxBody.frame_b.w[2] = boxBody.wb[2];
  boxBody.frame_b.w[3] = boxBody.wb[3];
  boxBody.frame_b.a[1] = boxBody.ab[1];
  boxBody.frame_b.a[2] = boxBody.ab[2];
  boxBody.frame_b.a[3] = boxBody.ab[3];
  boxBody.frame_b.z[1] = boxBody.zb[1];
  boxBody.frame_b.z[2] = boxBody.zb[2];
  boxBody.frame_b.z[3] = boxBody.zb[3];
  boxBody.frame_b.f[1] = -boxBody.fb[1];
  boxBody.frame_b.f[2] = -boxBody.fb[2];
  boxBody.frame_b.f[3] = -boxBody.fb[3];
  boxBody.frame_b.t[1] = -boxBody.tb[1];
  boxBody.frame_b.t[2] = -boxBody.tb[2];
  boxBody.frame_b.t[3] = -boxBody.tb[3];
  boxBody.frameTranslation.frame_a.r0[1] = boxBody.frameTranslation.r0a[1];
  boxBody.frameTranslation.frame_a.r0[2] = boxBody.frameTranslation.r0a[2];
  boxBody.frameTranslation.frame_a.r0[3] = boxBody.frameTranslation.r0a[3];
  boxBody.frameTranslation.frame_a.S[1,1] = boxBody.frameTranslation.Sa[1,1];
  boxBody.frameTranslation.frame_a.S[1,2] = boxBody.frameTranslation.Sa[1,2];
  boxBody.frameTranslation.frame_a.S[1,3] = boxBody.frameTranslation.Sa[1,3];
  boxBody.frameTranslation.frame_a.S[2,1] = boxBody.frameTranslation.Sa[2,1];
  boxBody.frameTranslation.frame_a.S[2,2] = boxBody.frameTranslation.Sa[2,2];
  boxBody.frameTranslation.frame_a.S[2,3] = boxBody.frameTranslation.Sa[2,3];
  boxBody.frameTranslation.frame_a.S[3,1] = boxBody.frameTranslation.Sa[3,1];
  boxBody.frameTranslation.frame_a.S[3,2] = boxBody.frameTranslation.Sa[3,2];
  boxBody.frameTranslation.frame_a.S[3,3] = boxBody.frameTranslation.Sa[3,3];
  boxBody.frameTranslation.frame_a.v[1] = boxBody.frameTranslation.va[1];
  boxBody.frameTranslation.frame_a.v[2] = boxBody.frameTranslation.va[2];
  boxBody.frameTranslation.frame_a.v[3] = boxBody.frameTranslation.va[3];
  boxBody.frameTranslation.frame_a.w[1] = boxBody.frameTranslation.wa[1];
  boxBody.frameTranslation.frame_a.w[2] = boxBody.frameTranslation.wa[2];
  boxBody.frameTranslation.frame_a.w[3] = boxBody.frameTranslation.wa[3];
  boxBody.frameTranslation.frame_a.a[1] = boxBody.frameTranslation.aa[1];
  boxBody.frameTranslation.frame_a.a[2] = boxBody.frameTranslation.aa[2];
  boxBody.frameTranslation.frame_a.a[3] = boxBody.frameTranslation.aa[3];
  boxBody.frameTranslation.frame_a.z[1] = boxBody.frameTranslation.za[1];
  boxBody.frameTranslation.frame_a.z[2] = boxBody.frameTranslation.za[2];
  boxBody.frameTranslation.frame_a.z[3] = boxBody.frameTranslation.za[3];
  boxBody.frameTranslation.frame_a.f[1] = boxBody.frameTranslation.fa[1];
  boxBody.frameTranslation.frame_a.f[2] = boxBody.frameTranslation.fa[2];
  boxBody.frameTranslation.frame_a.f[3] = boxBody.frameTranslation.fa[3];
  boxBody.frameTranslation.frame_a.t[1] = boxBody.frameTranslation.ta[1];
  boxBody.frameTranslation.frame_a.t[2] = boxBody.frameTranslation.ta[2];
  boxBody.frameTranslation.frame_a.t[3] = boxBody.frameTranslation.ta[3];
  boxBody.frameTranslation.frame_b.r0[1] = boxBody.frameTranslation.r0b[1];
  boxBody.frameTranslation.frame_b.r0[2] = boxBody.frameTranslation.r0b[2];
  boxBody.frameTranslation.frame_b.r0[3] = boxBody.frameTranslation.r0b[3];
  boxBody.frameTranslation.frame_b.S[1,1] = boxBody.frameTranslation.Sb[1,1];
  boxBody.frameTranslation.frame_b.S[1,2] = boxBody.frameTranslation.Sb[1,2];
  boxBody.frameTranslation.frame_b.S[1,3] = boxBody.frameTranslation.Sb[1,3];
  boxBody.frameTranslation.frame_b.S[2,1] = boxBody.frameTranslation.Sb[2,1];
  boxBody.frameTranslation.frame_b.S[2,2] = boxBody.frameTranslation.Sb[2,2];
  boxBody.frameTranslation.frame_b.S[2,3] = boxBody.frameTranslation.Sb[2,3];
  boxBody.frameTranslation.frame_b.S[3,1] = boxBody.frameTranslation.Sb[3,1];
  boxBody.frameTranslation.frame_b.S[3,2] = boxBody.frameTranslation.Sb[3,2];
  boxBody.frameTranslation.frame_b.S[3,3] = boxBody.frameTranslation.Sb[3,3];
  boxBody.frameTranslation.frame_b.v[1] = boxBody.frameTranslation.vb[1];
  boxBody.frameTranslation.frame_b.v[2] = boxBody.frameTranslation.vb[2];
  boxBody.frameTranslation.frame_b.v[3] = boxBody.frameTranslation.vb[3];
  boxBody.frameTranslation.frame_b.w[1] = boxBody.frameTranslation.wb[1];
  boxBody.frameTranslation.frame_b.w[2] = boxBody.frameTranslation.wb[2];
  boxBody.frameTranslation.frame_b.w[3] = boxBody.frameTranslation.wb[3];
  boxBody.frameTranslation.frame_b.a[1] = boxBody.frameTranslation.ab[1];
  boxBody.frameTranslation.frame_b.a[2] = boxBody.frameTranslation.ab[2];
  boxBody.frameTranslation.frame_b.a[3] = boxBody.frameTranslation.ab[3];
  boxBody.frameTranslation.frame_b.z[1] = boxBody.frameTranslation.zb[1];
  boxBody.frameTranslation.frame_b.z[2] = boxBody.frameTranslation.zb[2];
  boxBody.frameTranslation.frame_b.z[3] = boxBody.frameTranslation.zb[3];
  boxBody.frameTranslation.frame_b.f[1] = -boxBody.frameTranslation.fb[1];
  boxBody.frameTranslation.frame_b.f[2] = -boxBody.frameTranslation.fb[2];
  boxBody.frameTranslation.frame_b.f[3] = -boxBody.frameTranslation.fb[3];
  boxBody.frameTranslation.frame_b.t[1] = -boxBody.frameTranslation.tb[1];
  boxBody.frameTranslation.frame_b.t[2] = -boxBody.frameTranslation.tb[2];
  boxBody.frameTranslation.frame_b.t[3] = -boxBody.frameTranslation.tb[3];
  boxBody.frameTranslation.Sb[1,1] = boxBody.frameTranslation.Sa[1,1];
  boxBody.frameTranslation.Sb[1,2] = boxBody.frameTranslation.Sa[1,2];
  boxBody.frameTranslation.Sb[1,3] = boxBody.frameTranslation.Sa[1,3];
  boxBody.frameTranslation.Sb[2,1] = boxBody.frameTranslation.Sa[2,1];
  boxBody.frameTranslation.Sb[2,2] = boxBody.frameTranslation.Sa[2,2];
  boxBody.frameTranslation.Sb[2,3] = boxBody.frameTranslation.Sa[2,3];
  boxBody.frameTranslation.Sb[3,1] = boxBody.frameTranslation.Sa[3,1];
  boxBody.frameTranslation.Sb[3,2] = boxBody.frameTranslation.Sa[3,2];
  boxBody.frameTranslation.Sb[3,3] = boxBody.frameTranslation.Sa[3,3];
  boxBody.frameTranslation.wb[1] = boxBody.frameTranslation.wa[1];
  boxBody.frameTranslation.wb[2] = boxBody.frameTranslation.wa[2];
  boxBody.frameTranslation.wb[3] = boxBody.frameTranslation.wa[3];
  boxBody.frameTranslation.zb[1] = boxBody.frameTranslation.za[1];
  boxBody.frameTranslation.zb[2] = boxBody.frameTranslation.za[2];
  boxBody.frameTranslation.zb[3] = boxBody.frameTranslation.za[3];
  boxBody.frameTranslation.r0b[1] = boxBody.frameTranslation.r0a[1] + boxBody.frameTranslation.Sa[1,1] * boxBody.frameTranslation.r[1] + boxBody.frameTranslation.Sa[1,2] * boxBody.frameTranslation.r[2] + boxBody.frameTranslation.Sa[1,3] * boxBody.frameTranslation.r[3];
  boxBody.frameTranslation.r0b[2] = boxBody.frameTranslation.r0a[2] + boxBody.frameTranslation.Sa[2,1] * boxBody.frameTranslation.r[1] + boxBody.frameTranslation.Sa[2,2] * boxBody.frameTranslation.r[2] + boxBody.frameTranslation.Sa[2,3] * boxBody.frameTranslation.r[3];
  boxBody.frameTranslation.r0b[3] = boxBody.frameTranslation.r0a[3] + boxBody.frameTranslation.Sa[3,1] * boxBody.frameTranslation.r[1] + boxBody.frameTranslation.Sa[3,2] * boxBody.frameTranslation.r[2] + boxBody.frameTranslation.Sa[3,3] * boxBody.frameTranslation.r[3];
  boxBody.frameTranslation.vaux[1] = boxBody.frameTranslation.wa[2] * boxBody.frameTranslation.r[3] - boxBody.frameTranslation.wa[3] * boxBody.frameTranslation.r[2];
  boxBody.frameTranslation.vaux[2] = boxBody.frameTranslation.wa[3] * boxBody.frameTranslation.r[1] - boxBody.frameTranslation.wa[1] * boxBody.frameTranslation.r[3];
  boxBody.frameTranslation.vaux[3] = boxBody.frameTranslation.wa[1] * boxBody.frameTranslation.r[2] - boxBody.frameTranslation.wa[2] * boxBody.frameTranslation.r[1];
  boxBody.frameTranslation.vb[1] = boxBody.frameTranslation.va[1] + boxBody.frameTranslation.vaux[1];
  boxBody.frameTranslation.vb[2] = boxBody.frameTranslation.va[2] + boxBody.frameTranslation.vaux[2];
  boxBody.frameTranslation.vb[3] = boxBody.frameTranslation.va[3] + boxBody.frameTranslation.vaux[3];
  boxBody.frameTranslation.ab[1] = boxBody.frameTranslation.aa[1] + boxBody.frameTranslation.za[2] * boxBody.frameTranslation.r[3] + -boxBody.frameTranslation.za[3] * boxBody.frameTranslation.r[2] + boxBody.frameTranslation.wa[2] * boxBody.frameTranslation.vaux[3] + -boxBody.frameTranslation.wa[3] * boxBody.frameTranslation.vaux[2];
  boxBody.frameTranslation.ab[2] = boxBody.frameTranslation.aa[2] + boxBody.frameTranslation.za[3] * boxBody.frameTranslation.r[1] + -boxBody.frameTranslation.za[1] * boxBody.frameTranslation.r[3] + boxBody.frameTranslation.wa[3] * boxBody.frameTranslation.vaux[1] + -boxBody.frameTranslation.wa[1] * boxBody.frameTranslation.vaux[3];
  boxBody.frameTranslation.ab[3] = boxBody.frameTranslation.aa[3] + boxBody.frameTranslation.za[1] * boxBody.frameTranslation.r[2] + -boxBody.frameTranslation.za[2] * boxBody.frameTranslation.r[1] + boxBody.frameTranslation.wa[1] * boxBody.frameTranslation.vaux[2] + -boxBody.frameTranslation.wa[2] * boxBody.frameTranslation.vaux[1];
  boxBody.frameTranslation.fa[1] = boxBody.frameTranslation.fb[1];
  boxBody.frameTranslation.fa[2] = boxBody.frameTranslation.fb[2];
  boxBody.frameTranslation.fa[3] = boxBody.frameTranslation.fb[3];
  boxBody.frameTranslation.ta[1] = boxBody.frameTranslation.tb[1] + boxBody.frameTranslation.r[2] * boxBody.frameTranslation.fa[3] + -boxBody.frameTranslation.r[3] * boxBody.frameTranslation.fa[2];
  boxBody.frameTranslation.ta[2] = boxBody.frameTranslation.tb[2] + boxBody.frameTranslation.r[3] * boxBody.frameTranslation.fa[1] + -boxBody.frameTranslation.r[1] * boxBody.frameTranslation.fa[3];
  boxBody.frameTranslation.ta[3] = boxBody.frameTranslation.tb[3] + boxBody.frameTranslation.r[1] * boxBody.frameTranslation.fa[2] + -boxBody.frameTranslation.r[2] * boxBody.frameTranslation.fa[1];
  boxBody.body.frame_a.r0[1] = boxBody.body.r0a[1];
  boxBody.body.frame_a.r0[2] = boxBody.body.r0a[2];
  boxBody.body.frame_a.r0[3] = boxBody.body.r0a[3];
  boxBody.body.frame_a.S[1,1] = boxBody.body.Sa[1,1];
  boxBody.body.frame_a.S[1,2] = boxBody.body.Sa[1,2];
  boxBody.body.frame_a.S[1,3] = boxBody.body.Sa[1,3];
  boxBody.body.frame_a.S[2,1] = boxBody.body.Sa[2,1];
  boxBody.body.frame_a.S[2,2] = boxBody.body.Sa[2,2];
  boxBody.body.frame_a.S[2,3] = boxBody.body.Sa[2,3];
  boxBody.body.frame_a.S[3,1] = boxBody.body.Sa[3,1];
  boxBody.body.frame_a.S[3,2] = boxBody.body.Sa[3,2];
  boxBody.body.frame_a.S[3,3] = boxBody.body.Sa[3,3];
  boxBody.body.frame_a.v[1] = boxBody.body.va[1];
  boxBody.body.frame_a.v[2] = boxBody.body.va[2];
  boxBody.body.frame_a.v[3] = boxBody.body.va[3];
  boxBody.body.frame_a.w[1] = boxBody.body.wa[1];
  boxBody.body.frame_a.w[2] = boxBody.body.wa[2];
  boxBody.body.frame_a.w[3] = boxBody.body.wa[3];
  boxBody.body.frame_a.a[1] = boxBody.body.aa[1];
  boxBody.body.frame_a.a[2] = boxBody.body.aa[2];
  boxBody.body.frame_a.a[3] = boxBody.body.aa[3];
  boxBody.body.frame_a.z[1] = boxBody.body.za[1];
  boxBody.body.frame_a.z[2] = boxBody.body.za[2];
  boxBody.body.frame_a.z[3] = boxBody.body.za[3];
  boxBody.body.frame_a.f[1] = boxBody.body.fa[1];
  boxBody.body.frame_a.f[2] = boxBody.body.fa[2];
  boxBody.body.frame_a.f[3] = boxBody.body.fa[3];
  boxBody.body.frame_a.t[1] = boxBody.body.ta[1];
  boxBody.body.frame_a.t[2] = boxBody.body.ta[2];
  boxBody.body.frame_a.t[3] = boxBody.body.ta[3];
  boxBody.body.fa[1] = boxBody.body.m * (boxBody.body.aa[1] + boxBody.body.za[2] * boxBody.body.rCM[3] + -boxBody.body.za[3] * boxBody.body.rCM[2] + boxBody.body.wa[2] * (boxBody.body.wa[1] * boxBody.body.rCM[2] - boxBody.body.wa[2] * boxBody.body.rCM[1]) + -boxBody.body.wa[3] * (boxBody.body.wa[3] * boxBody.body.rCM[1] - boxBody.body.wa[1] * boxBody.body.rCM[3]));
  boxBody.body.fa[2] = boxBody.body.m * (boxBody.body.aa[2] + boxBody.body.za[3] * boxBody.body.rCM[1] + -boxBody.body.za[1] * boxBody.body.rCM[3] + boxBody.body.wa[3] * (boxBody.body.wa[2] * boxBody.body.rCM[3] - boxBody.body.wa[3] * boxBody.body.rCM[2]) + -boxBody.body.wa[1] * (boxBody.body.wa[1] * boxBody.body.rCM[2] - boxBody.body.wa[2] * boxBody.body.rCM[1]));
  boxBody.body.fa[3] = boxBody.body.m * (boxBody.body.aa[3] + boxBody.body.za[1] * boxBody.body.rCM[2] + -boxBody.body.za[2] * boxBody.body.rCM[1] + boxBody.body.wa[1] * (boxBody.body.wa[3] * boxBody.body.rCM[1] - boxBody.body.wa[1] * boxBody.body.rCM[3]) + -boxBody.body.wa[2] * (boxBody.body.wa[2] * boxBody.body.rCM[3] - boxBody.body.wa[3] * boxBody.body.rCM[2]));
  boxBody.body.ta[1] = boxBody.body.I[1,1] * boxBody.body.za[1] + boxBody.body.I[1,2] * boxBody.body.za[2] + boxBody.body.I[1,3] * boxBody.body.za[3] + boxBody.body.wa[2] * (boxBody.body.I[3,1] * boxBody.body.wa[1] + boxBody.body.I[3,2] * boxBody.body.wa[2] + boxBody.body.I[3,3] * boxBody.body.wa[3]) + -boxBody.body.wa[3] * (boxBody.body.I[2,1] * boxBody.body.wa[1] + boxBody.body.I[2,2] * boxBody.body.wa[2] + boxBody.body.I[2,3] * boxBody.body.wa[3]) + boxBody.body.rCM[2] * boxBody.body.fa[3] + -boxBody.body.rCM[3] * boxBody.body.fa[2];
  boxBody.body.ta[2] = boxBody.body.I[2,1] * boxBody.body.za[1] + boxBody.body.I[2,2] * boxBody.body.za[2] + boxBody.body.I[2,3] * boxBody.body.za[3] + boxBody.body.wa[3] * (boxBody.body.I[1,1] * boxBody.body.wa[1] + boxBody.body.I[1,2] * boxBody.body.wa[2] + boxBody.body.I[1,3] * boxBody.body.wa[3]) + -boxBody.body.wa[1] * (boxBody.body.I[3,1] * boxBody.body.wa[1] + boxBody.body.I[3,2] * boxBody.body.wa[2] + boxBody.body.I[3,3] * boxBody.body.wa[3]) + boxBody.body.rCM[3] * boxBody.body.fa[1] + -boxBody.body.rCM[1] * boxBody.body.fa[3];
  boxBody.body.ta[3] = boxBody.body.I[3,1] * boxBody.body.za[1] + boxBody.body.I[3,2] * boxBody.body.za[2] + boxBody.body.I[3,3] * boxBody.body.za[3] + boxBody.body.wa[1] * (boxBody.body.I[2,1] * boxBody.body.wa[1] + boxBody.body.I[2,2] * boxBody.body.wa[2] + boxBody.body.I[2,3] * boxBody.body.wa[3]) + -boxBody.body.wa[2] * (boxBody.body.I[1,1] * boxBody.body.wa[1] + boxBody.body.I[1,2] * boxBody.body.wa[2] + boxBody.body.I[1,3] * boxBody.body.wa[3]) + boxBody.body.rCM[1] * boxBody.body.fa[2] + -boxBody.body.rCM[2] * boxBody.body.fa[1];
  boxBody.l = boxBody.Length;
  boxBody.w = boxBody.Width;
  boxBody.h = boxBody.Height;
  boxBody.wi = boxBody.InnerWidth;
  boxBody.hi = boxBody.InnerHeight;
  boxBody.mo = 1000.0 * boxBody.rho * boxBody.l * boxBody.w * boxBody.h;
  boxBody.mi = 1000.0 * boxBody.rho * boxBody.l * boxBody.wi * boxBody.hi;
  boxBody.body.m = boxBody.mo - boxBody.mi;
  boxBody.body.rCM[1] = boxBody.r0[1] + 0.5 * boxBody.l * boxBody.LengthDirection[1];
  boxBody.body.rCM[2] = boxBody.r0[2] + 0.5 * boxBody.l * boxBody.LengthDirection[2];
  boxBody.body.rCM[3] = boxBody.r0[3] + 0.5 * boxBody.l * boxBody.LengthDirection[3];
  boxBody.body.I[1,1] = (boxBody.mo * (boxBody.w ^ 2.0 + boxBody.h ^ 2.0) - boxBody.mi * (boxBody.wi ^ 2.0 + boxBody.hi ^ 2.0)) / 12.0;
  boxBody.body.I[1,2] = 0;
  boxBody.body.I[1,3] = 0;
  boxBody.body.I[2,1] = 0;
  boxBody.body.I[2,2] = (boxBody.mo * (boxBody.l ^ 2.0 + boxBody.h ^ 2.0) - boxBody.mi * (boxBody.l ^ 2.0 + boxBody.hi ^ 2.0)) / 12.0;
  boxBody.body.I[2,3] = 0;
  boxBody.body.I[3,1] = 0;
  boxBody.body.I[3,2] = 0;
  boxBody.body.I[3,3] = (boxBody.mo * (boxBody.l ^ 2.0 + boxBody.w ^ 2.0) - boxBody.mi * (boxBody.l ^ 2.0 + boxBody.wi ^ 2.0)) / 12.0;
  boxBody.frameTranslation.frame_b.t[1] + -boxBody.frame_b.t[1] = 0.0;
  boxBody.frameTranslation.frame_b.t[2] + -boxBody.frame_b.t[2] = 0.0;
  boxBody.frameTranslation.frame_b.t[3] + -boxBody.frame_b.t[3] = 0.0;
  boxBody.frameTranslation.frame_b.f[1] + -boxBody.frame_b.f[1] = 0.0;
  boxBody.frameTranslation.frame_b.f[2] + -boxBody.frame_b.f[2] = 0.0;
  boxBody.frameTranslation.frame_b.f[3] + -boxBody.frame_b.f[3] = 0.0;
  boxBody.frameTranslation.frame_b.z[1] = boxBody.frame_b.z[1];
  boxBody.frameTranslation.frame_b.z[2] = boxBody.frame_b.z[2];
  boxBody.frameTranslation.frame_b.z[3] = boxBody.frame_b.z[3];
  boxBody.frameTranslation.frame_b.a[1] = boxBody.frame_b.a[1];
  boxBody.frameTranslation.frame_b.a[2] = boxBody.frame_b.a[2];
  boxBody.frameTranslation.frame_b.a[3] = boxBody.frame_b.a[3];
  boxBody.frameTranslation.frame_b.w[1] = boxBody.frame_b.w[1];
  boxBody.frameTranslation.frame_b.w[2] = boxBody.frame_b.w[2];
  boxBody.frameTranslation.frame_b.w[3] = boxBody.frame_b.w[3];
  boxBody.frameTranslation.frame_b.v[1] = boxBody.frame_b.v[1];
  boxBody.frameTranslation.frame_b.v[2] = boxBody.frame_b.v[2];
  boxBody.frameTranslation.frame_b.v[3] = boxBody.frame_b.v[3];
  boxBody.frameTranslation.frame_b.S[1,1] = boxBody.frame_b.S[1,1];
  boxBody.frameTranslation.frame_b.S[1,2] = boxBody.frame_b.S[1,2];
  boxBody.frameTranslation.frame_b.S[1,3] = boxBody.frame_b.S[1,3];
  boxBody.frameTranslation.frame_b.S[2,1] = boxBody.frame_b.S[2,1];
  boxBody.frameTranslation.frame_b.S[2,2] = boxBody.frame_b.S[2,2];
  boxBody.frameTranslation.frame_b.S[2,3] = boxBody.frame_b.S[2,3];
  boxBody.frameTranslation.frame_b.S[3,1] = boxBody.frame_b.S[3,1];
  boxBody.frameTranslation.frame_b.S[3,2] = boxBody.frame_b.S[3,2];
  boxBody.frameTranslation.frame_b.S[3,3] = boxBody.frame_b.S[3,3];
  boxBody.frameTranslation.frame_b.r0[1] = boxBody.frame_b.r0[1];
  boxBody.frameTranslation.frame_b.r0[2] = boxBody.frame_b.r0[2];
  boxBody.frameTranslation.frame_b.r0[3] = boxBody.frame_b.r0[3];
  boxBody.body.frame_a.t[1] + -boxBody.frame_a.t[1] + boxBody.frameTranslation.frame_a.t[1] = 0.0;
  boxBody.body.frame_a.t[2] + -boxBody.frame_a.t[2] + boxBody.frameTranslation.frame_a.t[2] = 0.0;
  boxBody.body.frame_a.t[3] + -boxBody.frame_a.t[3] + boxBody.frameTranslation.frame_a.t[3] = 0.0;
  boxBody.body.frame_a.f[1] + -boxBody.frame_a.f[1] + boxBody.frameTranslation.frame_a.f[1] = 0.0;
  boxBody.body.frame_a.f[2] + -boxBody.frame_a.f[2] + boxBody.frameTranslation.frame_a.f[2] = 0.0;
  boxBody.body.frame_a.f[3] + -boxBody.frame_a.f[3] + boxBody.frameTranslation.frame_a.f[3] = 0.0;
  boxBody.body.frame_a.z[1] = boxBody.frame_a.z[1];
  boxBody.frame_a.z[1] = boxBody.frameTranslation.frame_a.z[1];
  boxBody.body.frame_a.z[2] = boxBody.frame_a.z[2];
  boxBody.frame_a.z[2] = boxBody.frameTranslation.frame_a.z[2];
  boxBody.body.frame_a.z[3] = boxBody.frame_a.z[3];
  boxBody.frame_a.z[3] = boxBody.frameTranslation.frame_a.z[3];
  boxBody.body.frame_a.a[1] = boxBody.frame_a.a[1];
  boxBody.frame_a.a[1] = boxBody.frameTranslation.frame_a.a[1];
  boxBody.body.frame_a.a[2] = boxBody.frame_a.a[2];
  boxBody.frame_a.a[2] = boxBody.frameTranslation.frame_a.a[2];
  boxBody.body.frame_a.a[3] = boxBody.frame_a.a[3];
  boxBody.frame_a.a[3] = boxBody.frameTranslation.frame_a.a[3];
  boxBody.body.frame_a.w[1] = boxBody.frame_a.w[1];
  boxBody.frame_a.w[1] = boxBody.frameTranslation.frame_a.w[1];
  boxBody.body.frame_a.w[2] = boxBody.frame_a.w[2];
  boxBody.frame_a.w[2] = boxBody.frameTranslation.frame_a.w[2];
  boxBody.body.frame_a.w[3] = boxBody.frame_a.w[3];
  boxBody.frame_a.w[3] = boxBody.frameTranslation.frame_a.w[3];
  boxBody.body.frame_a.v[1] = boxBody.frame_a.v[1];
  boxBody.frame_a.v[1] = boxBody.frameTranslation.frame_a.v[1];
  boxBody.body.frame_a.v[2] = boxBody.frame_a.v[2];
  boxBody.frame_a.v[2] = boxBody.frameTranslation.frame_a.v[2];
  boxBody.body.frame_a.v[3] = boxBody.frame_a.v[3];
  boxBody.frame_a.v[3] = boxBody.frameTranslation.frame_a.v[3];
  boxBody.body.frame_a.S[1,1] = boxBody.frame_a.S[1,1];
  boxBody.frame_a.S[1,1] = boxBody.frameTranslation.frame_a.S[1,1];
  boxBody.body.frame_a.S[1,2] = boxBody.frame_a.S[1,2];
  boxBody.frame_a.S[1,2] = boxBody.frameTranslation.frame_a.S[1,2];
  boxBody.body.frame_a.S[1,3] = boxBody.frame_a.S[1,3];
  boxBody.frame_a.S[1,3] = boxBody.frameTranslation.frame_a.S[1,3];
  boxBody.body.frame_a.S[2,1] = boxBody.frame_a.S[2,1];
  boxBody.frame_a.S[2,1] = boxBody.frameTranslation.frame_a.S[2,1];
  boxBody.body.frame_a.S[2,2] = boxBody.frame_a.S[2,2];
  boxBody.frame_a.S[2,2] = boxBody.frameTranslation.frame_a.S[2,2];
  boxBody.body.frame_a.S[2,3] = boxBody.frame_a.S[2,3];
  boxBody.frame_a.S[2,3] = boxBody.frameTranslation.frame_a.S[2,3];
  boxBody.body.frame_a.S[3,1] = boxBody.frame_a.S[3,1];
  boxBody.frame_a.S[3,1] = boxBody.frameTranslation.frame_a.S[3,1];
  boxBody.body.frame_a.S[3,2] = boxBody.frame_a.S[3,2];
  boxBody.frame_a.S[3,2] = boxBody.frameTranslation.frame_a.S[3,2];
  boxBody.body.frame_a.S[3,3] = boxBody.frame_a.S[3,3];
  boxBody.frame_a.S[3,3] = boxBody.frameTranslation.frame_a.S[3,3];
  boxBody.body.frame_a.r0[1] = boxBody.frame_a.r0[1];
  boxBody.frame_a.r0[1] = boxBody.frameTranslation.frame_a.r0[1];
  boxBody.body.frame_a.r0[2] = boxBody.frame_a.r0[2];
  boxBody.frame_a.r0[2] = boxBody.frameTranslation.frame_a.r0[2];
  boxBody.body.frame_a.r0[3] = boxBody.frame_a.r0[3];
  boxBody.frame_a.r0[3] = boxBody.frameTranslation.frame_a.r0[3];
  revolute.frame_a.r0[1] = revolute.r0a[1];
  revolute.frame_a.r0[2] = revolute.r0a[2];
  revolute.frame_a.r0[3] = revolute.r0a[3];
  revolute.frame_a.S[1,1] = revolute.Sa[1,1];
  revolute.frame_a.S[1,2] = revolute.Sa[1,2];
  revolute.frame_a.S[1,3] = revolute.Sa[1,3];
  revolute.frame_a.S[2,1] = revolute.Sa[2,1];
  revolute.frame_a.S[2,2] = revolute.Sa[2,2];
  revolute.frame_a.S[2,3] = revolute.Sa[2,3];
  revolute.frame_a.S[3,1] = revolute.Sa[3,1];
  revolute.frame_a.S[3,2] = revolute.Sa[3,2];
  revolute.frame_a.S[3,3] = revolute.Sa[3,3];
  revolute.frame_a.v[1] = revolute.va[1];
  revolute.frame_a.v[2] = revolute.va[2];
  revolute.frame_a.v[3] = revolute.va[3];
  revolute.frame_a.w[1] = revolute.wa[1];
  revolute.frame_a.w[2] = revolute.wa[2];
  revolute.frame_a.w[3] = revolute.wa[3];
  revolute.frame_a.a[1] = revolute.aa[1];
  revolute.frame_a.a[2] = revolute.aa[2];
  revolute.frame_a.a[3] = revolute.aa[3];
  revolute.frame_a.z[1] = revolute.za[1];
  revolute.frame_a.z[2] = revolute.za[2];
  revolute.frame_a.z[3] = revolute.za[3];
  revolute.frame_a.f[1] = revolute.fa[1];
  revolute.frame_a.f[2] = revolute.fa[2];
  revolute.frame_a.f[3] = revolute.fa[3];
  revolute.frame_a.t[1] = revolute.ta[1];
  revolute.frame_a.t[2] = revolute.ta[2];
  revolute.frame_a.t[3] = revolute.ta[3];
  revolute.frame_b.r0[1] = revolute.r0b[1];
  revolute.frame_b.r0[2] = revolute.r0b[2];
  revolute.frame_b.r0[3] = revolute.r0b[3];
  revolute.frame_b.S[1,1] = revolute.Sb[1,1];
  revolute.frame_b.S[1,2] = revolute.Sb[1,2];
  revolute.frame_b.S[1,3] = revolute.Sb[1,3];
  revolute.frame_b.S[2,1] = revolute.Sb[2,1];
  revolute.frame_b.S[2,2] = revolute.Sb[2,2];
  revolute.frame_b.S[2,3] = revolute.Sb[2,3];
  revolute.frame_b.S[3,1] = revolute.Sb[3,1];
  revolute.frame_b.S[3,2] = revolute.Sb[3,2];
  revolute.frame_b.S[3,3] = revolute.Sb[3,3];
  revolute.frame_b.v[1] = revolute.vb[1];
  revolute.frame_b.v[2] = revolute.vb[2];
  revolute.frame_b.v[3] = revolute.vb[3];
  revolute.frame_b.w[1] = revolute.wb[1];
  revolute.frame_b.w[2] = revolute.wb[2];
  revolute.frame_b.w[3] = revolute.wb[3];
  revolute.frame_b.a[1] = revolute.ab[1];
  revolute.frame_b.a[2] = revolute.ab[2];
  revolute.frame_b.a[3] = revolute.ab[3];
  revolute.frame_b.z[1] = revolute.zb[1];
  revolute.frame_b.z[2] = revolute.zb[2];
  revolute.frame_b.z[3] = revolute.zb[3];
  revolute.frame_b.f[1] = -revolute.fb[1];
  revolute.frame_b.f[2] = -revolute.fb[2];
  revolute.frame_b.f[3] = -revolute.fb[3];
  revolute.frame_b.t[1] = -revolute.tb[1];
  revolute.frame_b.t[2] = -revolute.tb[2];
  revolute.frame_b.t[3] = -revolute.tb[3];
  revolute.axis.phi = revolute.q;
  revolute.bearing.phi = 0.0;
  revolute.qd = der(revolute.q);
  revolute.qdd = der(revolute.qd);
  revolute.nn[1] = revolute.n[1] / sqrt(revolute.n[1] ^ 2.0 + revolute.n[2] ^ 2.0 + revolute.n[3] ^ 2.0);
  revolute.nn[2] = revolute.n[2] / sqrt(revolute.n[1] ^ 2.0 + revolute.n[2] ^ 2.0 + revolute.n[3] ^ 2.0);
  revolute.nn[3] = revolute.n[3] / sqrt(revolute.n[1] ^ 2.0 + revolute.n[2] ^ 2.0 + revolute.n[3] ^ 2.0);
  revolute.qq = revolute.q - 0.0174532925199433 * revolute.q0;
  revolute.sinq = sin(revolute.qq);
  revolute.cosq = cos(revolute.qq);
  revolute.S_rel[1,1] = revolute.nn[1] * revolute.nn[1] + (1.0 - revolute.nn[1] * revolute.nn[1]) * revolute.cosq - 0.0 * revolute.sinq;
  revolute.S_rel[1,2] = revolute.nn[1] * revolute.nn[2] + (0.0 - revolute.nn[1] * revolute.nn[2]) * revolute.cosq - (-revolute.nn[3]) * revolute.sinq;
  revolute.S_rel[1,3] = revolute.nn[1] * revolute.nn[3] + (0.0 - revolute.nn[1] * revolute.nn[3]) * revolute.cosq - revolute.nn[2] * revolute.sinq;
  revolute.S_rel[2,1] = revolute.nn[2] * revolute.nn[1] + (0.0 - revolute.nn[2] * revolute.nn[1]) * revolute.cosq - revolute.nn[3] * revolute.sinq;
  revolute.S_rel[2,2] = revolute.nn[2] * revolute.nn[2] + (1.0 - revolute.nn[2] * revolute.nn[2]) * revolute.cosq - 0.0 * revolute.sinq;
  revolute.S_rel[2,3] = revolute.nn[2] * revolute.nn[3] + (0.0 - revolute.nn[2] * revolute.nn[3]) * revolute.cosq - (-revolute.nn[1]) * revolute.sinq;
  revolute.S_rel[3,1] = revolute.nn[3] * revolute.nn[1] + (0.0 - revolute.nn[3] * revolute.nn[1]) * revolute.cosq - (-revolute.nn[2]) * revolute.sinq;
  revolute.S_rel[3,2] = revolute.nn[3] * revolute.nn[2] + (0.0 - revolute.nn[3] * revolute.nn[2]) * revolute.cosq - revolute.nn[1] * revolute.sinq;
  revolute.S_rel[3,3] = revolute.nn[3] * revolute.nn[3] + (1.0 - revolute.nn[3] * revolute.nn[3]) * revolute.cosq - 0.0 * revolute.sinq;
  revolute.r_rela[1] = 0.0;
  revolute.r_rela[2] = 0.0;
  revolute.r_rela[3] = 0.0;
  revolute.v_rela[1] = 0.0;
  revolute.v_rela[2] = 0.0;
  revolute.v_rela[3] = 0.0;
  revolute.a_rela[1] = 0.0;
  revolute.a_rela[2] = 0.0;
  revolute.a_rela[3] = 0.0;
  revolute.w_rela[1] = revolute.nn[1] * revolute.qd;
  revolute.w_rela[2] = revolute.nn[2] * revolute.qd;
  revolute.w_rela[3] = revolute.nn[3] * revolute.qd;
  revolute.z_rela[1] = revolute.nn[1] * revolute.qdd;
  revolute.z_rela[2] = revolute.nn[2] * revolute.qdd;
  revolute.z_rela[3] = revolute.nn[3] * revolute.qdd;
  revolute.Sb[1,1] = revolute.Sa[1,1] * revolute.S_rel[1,1] + revolute.Sa[1,2] * revolute.S_rel[1,2] + revolute.Sa[1,3] * revolute.S_rel[1,3];
  revolute.Sb[1,2] = revolute.Sa[1,1] * revolute.S_rel[2,1] + revolute.Sa[1,2] * revolute.S_rel[2,2] + revolute.Sa[1,3] * revolute.S_rel[2,3];
  revolute.Sb[1,3] = revolute.Sa[1,1] * revolute.S_rel[3,1] + revolute.Sa[1,2] * revolute.S_rel[3,2] + revolute.Sa[1,3] * revolute.S_rel[3,3];
  revolute.Sb[2,1] = revolute.Sa[2,1] * revolute.S_rel[1,1] + revolute.Sa[2,2] * revolute.S_rel[1,2] + revolute.Sa[2,3] * revolute.S_rel[1,3];
  revolute.Sb[2,2] = revolute.Sa[2,1] * revolute.S_rel[2,1] + revolute.Sa[2,2] * revolute.S_rel[2,2] + revolute.Sa[2,3] * revolute.S_rel[2,3];
  revolute.Sb[2,3] = revolute.Sa[2,1] * revolute.S_rel[3,1] + revolute.Sa[2,2] * revolute.S_rel[3,2] + revolute.Sa[2,3] * revolute.S_rel[3,3];
  revolute.Sb[3,1] = revolute.Sa[3,1] * revolute.S_rel[1,1] + revolute.Sa[3,2] * revolute.S_rel[1,2] + revolute.Sa[3,3] * revolute.S_rel[1,3];
  revolute.Sb[3,2] = revolute.Sa[3,1] * revolute.S_rel[2,1] + revolute.Sa[3,2] * revolute.S_rel[2,2] + revolute.Sa[3,3] * revolute.S_rel[2,3];
  revolute.Sb[3,3] = revolute.Sa[3,1] * revolute.S_rel[3,1] + revolute.Sa[3,2] * revolute.S_rel[3,2] + revolute.Sa[3,3] * revolute.S_rel[3,3];
  revolute.r0b[1] = revolute.r0a[1];
  revolute.r0b[2] = revolute.r0a[2];
  revolute.r0b[3] = revolute.r0a[3];
  revolute.vb[1] = revolute.S_rel[1,1] * revolute.va[1] + revolute.S_rel[1,2] * revolute.va[2] + revolute.S_rel[1,3] * revolute.va[3];
  revolute.vb[2] = revolute.S_rel[2,1] * revolute.va[1] + revolute.S_rel[2,2] * revolute.va[2] + revolute.S_rel[2,3] * revolute.va[3];
  revolute.vb[3] = revolute.S_rel[3,1] * revolute.va[1] + revolute.S_rel[3,2] * revolute.va[2] + revolute.S_rel[3,3] * revolute.va[3];
  revolute.wb[1] = revolute.S_rel[1,1] * (revolute.wa[1] + revolute.w_rela[1]) + revolute.S_rel[1,2] * (revolute.wa[2] + revolute.w_rela[2]) + revolute.S_rel[1,3] * (revolute.wa[3] + revolute.w_rela[3]);
  revolute.wb[2] = revolute.S_rel[2,1] * (revolute.wa[1] + revolute.w_rela[1]) + revolute.S_rel[2,2] * (revolute.wa[2] + revolute.w_rela[2]) + revolute.S_rel[2,3] * (revolute.wa[3] + revolute.w_rela[3]);
  revolute.wb[3] = revolute.S_rel[3,1] * (revolute.wa[1] + revolute.w_rela[1]) + revolute.S_rel[3,2] * (revolute.wa[2] + revolute.w_rela[2]) + revolute.S_rel[3,3] * (revolute.wa[3] + revolute.w_rela[3]);
  revolute.ab[1] = revolute.S_rel[1,1] * revolute.aa[1] + revolute.S_rel[1,2] * revolute.aa[2] + revolute.S_rel[1,3] * revolute.aa[3];
  revolute.ab[2] = revolute.S_rel[2,1] * revolute.aa[1] + revolute.S_rel[2,2] * revolute.aa[2] + revolute.S_rel[2,3] * revolute.aa[3];
  revolute.ab[3] = revolute.S_rel[3,1] * revolute.aa[1] + revolute.S_rel[3,2] * revolute.aa[2] + revolute.S_rel[3,3] * revolute.aa[3];
  revolute.zb[1] = revolute.S_rel[1,1] * (revolute.za[1] + revolute.z_rela[1] + revolute.wa[2] * revolute.w_rela[3] + -revolute.wa[3] * revolute.w_rela[2]) + revolute.S_rel[1,2] * (revolute.za[2] + revolute.z_rela[2] + revolute.wa[3] * revolute.w_rela[1] + -revolute.wa[1] * revolute.w_rela[3]) + revolute.S_rel[1,3] * (revolute.za[3] + revolute.z_rela[3] + revolute.wa[1] * revolute.w_rela[2] + -revolute.wa[2] * revolute.w_rela[1]);
  revolute.zb[2] = revolute.S_rel[2,1] * (revolute.za[1] + revolute.z_rela[1] + revolute.wa[2] * revolute.w_rela[3] + -revolute.wa[3] * revolute.w_rela[2]) + revolute.S_rel[2,2] * (revolute.za[2] + revolute.z_rela[2] + revolute.wa[3] * revolute.w_rela[1] + -revolute.wa[1] * revolute.w_rela[3]) + revolute.S_rel[2,3] * (revolute.za[3] + revolute.z_rela[3] + revolute.wa[1] * revolute.w_rela[2] + -revolute.wa[2] * revolute.w_rela[1]);
  revolute.zb[3] = revolute.S_rel[3,1] * (revolute.za[1] + revolute.z_rela[1] + revolute.wa[2] * revolute.w_rela[3] + -revolute.wa[3] * revolute.w_rela[2]) + revolute.S_rel[3,2] * (revolute.za[2] + revolute.z_rela[2] + revolute.wa[3] * revolute.w_rela[1] + -revolute.wa[1] * revolute.w_rela[3]) + revolute.S_rel[3,3] * (revolute.za[3] + revolute.z_rela[3] + revolute.wa[1] * revolute.w_rela[2] + -revolute.wa[2] * revolute.w_rela[1]);
  revolute.fa[1] = revolute.S_rel[1,1] * revolute.fb[1] + revolute.S_rel[2,1] * revolute.fb[2] + revolute.S_rel[3,1] * revolute.fb[3];
  revolute.fa[2] = revolute.S_rel[1,2] * revolute.fb[1] + revolute.S_rel[2,2] * revolute.fb[2] + revolute.S_rel[3,2] * revolute.fb[3];
  revolute.fa[3] = revolute.S_rel[1,3] * revolute.fb[1] + revolute.S_rel[2,3] * revolute.fb[2] + revolute.S_rel[3,3] * revolute.fb[3];
  revolute.ta[1] = revolute.S_rel[1,1] * revolute.tb[1] + revolute.S_rel[2,1] * revolute.tb[2] + revolute.S_rel[3,1] * revolute.tb[3];
  revolute.ta[2] = revolute.S_rel[1,2] * revolute.tb[1] + revolute.S_rel[2,2] * revolute.tb[2] + revolute.S_rel[3,2] * revolute.tb[3];
  revolute.ta[3] = revolute.S_rel[1,3] * revolute.tb[1] + revolute.S_rel[2,3] * revolute.tb[2] + revolute.S_rel[3,3] * revolute.tb[3];
  revolute.axis.tau = revolute.nn[1] * revolute.tb[1] + revolute.nn[2] * revolute.tb[2] + revolute.nn[3] * revolute.tb[3];
  damper.w_rel = der(damper.phi_rel);
  damper.tau = damper.d * damper.w_rel;
  damper.phi_rel = damper.flange_b.phi - damper.flange_a.phi;
  damper.flange_b.tau = damper.tau;
  damper.flange_a.tau = -damper.tau;
  damper.flange_a.tau + revolute.bearing.tau = 0.0;
  damper.flange_a.phi = revolute.bearing.phi;
  damper.flange_b.tau + revolute.axis.tau = 0.0;
  damper.flange_b.phi = revolute.axis.phi;
  revolute.frame_b.t[1] + boxBody.frame_a.t[1] = 0.0;
  revolute.frame_b.t[2] + boxBody.frame_a.t[2] = 0.0;
  revolute.frame_b.t[3] + boxBody.frame_a.t[3] = 0.0;
  revolute.frame_b.f[1] + boxBody.frame_a.f[1] = 0.0;
  revolute.frame_b.f[2] + boxBody.frame_a.f[2] = 0.0;
  revolute.frame_b.f[3] + boxBody.frame_a.f[3] = 0.0;
  revolute.frame_b.z[1] = boxBody.frame_a.z[1];
  revolute.frame_b.z[2] = boxBody.frame_a.z[2];
  revolute.frame_b.z[3] = boxBody.frame_a.z[3];
  revolute.frame_b.a[1] = boxBody.frame_a.a[1];
  revolute.frame_b.a[2] = boxBody.frame_a.a[2];
  revolute.frame_b.a[3] = boxBody.frame_a.a[3];
  revolute.frame_b.w[1] = boxBody.frame_a.w[1];
  revolute.frame_b.w[2] = boxBody.frame_a.w[2];
  revolute.frame_b.w[3] = boxBody.frame_a.w[3];
  revolute.frame_b.v[1] = boxBody.frame_a.v[1];
  revolute.frame_b.v[2] = boxBody.frame_a.v[2];
  revolute.frame_b.v[3] = boxBody.frame_a.v[3];
  revolute.frame_b.S[1,1] = boxBody.frame_a.S[1,1];
  revolute.frame_b.S[1,2] = boxBody.frame_a.S[1,2];
  revolute.frame_b.S[1,3] = boxBody.frame_a.S[1,3];
  revolute.frame_b.S[2,1] = boxBody.frame_a.S[2,1];
  revolute.frame_b.S[2,2] = boxBody.frame_a.S[2,2];
  revolute.frame_b.S[2,3] = boxBody.frame_a.S[2,3];
  revolute.frame_b.S[3,1] = boxBody.frame_a.S[3,1];
  revolute.frame_b.S[3,2] = boxBody.frame_a.S[3,2];
  revolute.frame_b.S[3,3] = boxBody.frame_a.S[3,3];
  revolute.frame_b.r0[1] = boxBody.frame_a.r0[1];
  revolute.frame_b.r0[2] = boxBody.frame_a.r0[2];
  revolute.frame_b.r0[3] = boxBody.frame_a.r0[3];
  inertial.frame_b.t[1] + revolute.frame_a.t[1] = 0.0;
  inertial.frame_b.t[2] + revolute.frame_a.t[2] = 0.0;
  inertial.frame_b.t[3] + revolute.frame_a.t[3] = 0.0;
  inertial.frame_b.f[1] + revolute.frame_a.f[1] = 0.0;
  inertial.frame_b.f[2] + revolute.frame_a.f[2] = 0.0;
  inertial.frame_b.f[3] + revolute.frame_a.f[3] = 0.0;
  inertial.frame_b.z[1] = revolute.frame_a.z[1];
  inertial.frame_b.z[2] = revolute.frame_a.z[2];
  inertial.frame_b.z[3] = revolute.frame_a.z[3];
  inertial.frame_b.a[1] = revolute.frame_a.a[1];
  inertial.frame_b.a[2] = revolute.frame_a.a[2];
  inertial.frame_b.a[3] = revolute.frame_a.a[3];
  inertial.frame_b.w[1] = revolute.frame_a.w[1];
  inertial.frame_b.w[2] = revolute.frame_a.w[2];
  inertial.frame_b.w[3] = revolute.frame_a.w[3];
  inertial.frame_b.v[1] = revolute.frame_a.v[1];
  inertial.frame_b.v[2] = revolute.frame_a.v[2];
  inertial.frame_b.v[3] = revolute.frame_a.v[3];
  inertial.frame_b.S[1,1] = revolute.frame_a.S[1,1];
  inertial.frame_b.S[1,2] = revolute.frame_a.S[1,2];
  inertial.frame_b.S[1,3] = revolute.frame_a.S[1,3];
  inertial.frame_b.S[2,1] = revolute.frame_a.S[2,1];
  inertial.frame_b.S[2,2] = revolute.frame_a.S[2,2];
  inertial.frame_b.S[2,3] = revolute.frame_a.S[2,3];
  inertial.frame_b.S[3,1] = revolute.frame_a.S[3,1];
  inertial.frame_b.S[3,2] = revolute.frame_a.S[3,2];
  inertial.frame_b.S[3,3] = revolute.frame_a.S[3,3];
  inertial.frame_b.r0[1] = revolute.frame_a.r0[1];
  inertial.frame_b.r0[2] = revolute.frame_a.r0[2];
  inertial.frame_b.r0[3] = revolute.frame_a.r0[3];
  boxBody.frame_b.f[1] = 0.0;
  boxBody.frame_b.f[2] = 0.0;
  boxBody.frame_b.f[3] = 0.0;
  boxBody.frame_b.t[1] = 0.0;
  boxBody.frame_b.t[2] = 0.0;
  boxBody.frame_b.t[3] = 0.0;
end ModelicaAdditions.MultiBody.Examples.Pendulum;
"
""
record SimulationResult
    resultFile = "ModelicaAdditions.MultiBody.Examples.Pendulum_res.plt"
end SimulationResult;
""
true
""
