#-----------------------------------------------------------------------------
 # [Data Block]

 begin: data;
     problem: initial value;
 end: data;

 #-----------------------------------------------------------------------------
 # [Problem Block]

 begin: initial value;
     initial time: 0.0;
     final time: 8.0;
     time step: 0.01;
     max iterations: 100;
     tolerance: 1e-06;
     derivatives tolerance: 0.0001;
     derivatives max iterations: 100;
     derivatives coefficient: auto;
 end: initial value;

 #-----------------------------------------------------------------------------
 # [Control Data Block]

 begin: control data;
     max iterations: 1000;
     default orientation: orientation matrix;
     omega rotates: no;
     print: none;
     initial stiffness: 1.0, 1.0;
     structural nodes: 5;
     rigid bodies: 3;
     joints: 6;
 end: control data;

 #-----------------------------------------------------------------------------
 # [Design Variables]

     #Generic bodies

         #body: 2
             set: integer body_2 = 2; #body label
             set: real mass_2 = 0.24147734685710437; #mass [kg]
             set: real volume_2 = 3.056675276672207e-05; #volume [m^3]

         #body: 4
             set: integer body_4 = 4; #body label
             set: real mass_4 = 0.11253654770310718; #mass [kg]
             set: real volume_4 = 1.4245132620646478e-05; #volume [m^3]

         #body: 5
             set: integer body_5 = 5; #body label
             set: real mass_5 = 0.11253654770310723; #mass [kg]
             set: real volume_5 = 1.4245132620646483e-05; #volume [m^3]

     #Nodes

         #node: 1
             set: integer structural_node_1 = 1; #node label

         #node: 2
             set: integer structural_node_2 = 2; #node label

         #node: 3
             set: integer structural_node_3 = 3; #node label

         #node: 4
             set: integer structural_node_4 = 4; #node label

         #node: 5
             set: integer structural_node_5 = 5; #node label

     #Joints

         #joint: 1
             set: integer joint_1 = 1; #joint label

         #joint: 2
             set: integer joint_2 = 2; #joint label

         #joint: 3
             set: integer joint_3 = 3; #joint label

         #joint: 4
             set: integer joint_4 = 4; #joint label

         #joint: 5
             set: integer joint_5 = 5; #joint label

         #joint: 7
             set: integer joint_7 = 7; #joint label

     #Nodes: initial conditions

         #node: 1
             set: real Px_1 = 0.16912189837562464; #X component of the absolute position [m]
             set: real Py_1 = -0.10055206743263254; #Y component of the absolute position [m]
             set: real Pz_1 = 0.07867737409397452; #Z component of the absolute position [m]

             set: real Vx_1 = 0.0; #X component of the absolute velocity [m/s]
             set: real Vy_1 = 0.0; #Y component of the absolute velocity [m/s]
             set: real Vz_1 = 0.0; #Z component of the absolute velocity [m/s]

             set: real Wx_1 = 0.0; #X component of the absolute angular velocity [rad/s]
             set: real Wy_1 = 0.0; #Y component of the absolute angular velocity [rad/s]
             set: real Wz_1 = 0.0; #Z component of the absolute angular velocity [rad/s]

         #node: 2
             set: real Px_2 = 0.018683478687078307; #X component of the absolute position [m]
             set: real Py_2 = -0.05533171845235879; #Y component of the absolute position [m]
             set: real Pz_2 = 0.1768528076947657; #Z component of the absolute position [m]

             set: real Vx_2 = 0.0; #X component of the absolute velocity [m/s]
             set: real Vy_2 = 0.0; #Y component of the absolute velocity [m/s]
             set: real Vz_2 = 0.0; #Z component of the absolute velocity [m/s]

             set: real Wx_2 = 0.0; #X component of the absolute angular velocity [rad/s]
             set: real Wy_2 = 0.0; #Y component of the absolute angular velocity [rad/s]
             set: real Wz_2 = 0.0; #Z component of the absolute angular velocity [rad/s]

         #node: 3
             set: real Px_3 = 0.2890983348369078; #X component of the absolute position [m]
             set: real Py_3 = -0.06156645049450425; #Y component of the absolute position [m]
             set: real Pz_3 = 0.09724597715885096; #Z component of the absolute position [m]

             set: real Vx_3 = 0.0; #X component of the absolute velocity [m/s]
             set: real Vy_3 = 0.0; #Y component of the absolute velocity [m/s]
             set: real Vz_3 = 0.0; #Z component of the absolute velocity [m/s]

             set: real Wx_3 = 0.0; #X component of the absolute angular velocity [rad/s]
             set: real Wy_3 = 0.0; #Y component of the absolute angular velocity [rad/s]
             set: real Wz_3 = 0.0; #Z component of the absolute angular velocity [rad/s]

         #node: 4
             set: real Px_4 = 0.11637356459110539; #X component of the absolute position [m]
             set: real Py_4 = -0.019655254070140387; #Y component of the absolute position [m]
             set: real Pz_4 = 0.20651079866339145; #Z component of the absolute position [m]

             set: real Vx_4 = 0.0; #X component of the absolute velocity [m/s]
             set: real Vy_4 = 0.0; #Y component of the absolute velocity [m/s]
             set: real Vz_4 = 0.0; #Z component of the absolute velocity [m/s]

             set: real Wx_4 = 0.0; #X component of the absolute angular velocity [rad/s]
             set: real Wy_4 = 0.0; #Y component of the absolute angular velocity [rad/s]
             set: real Wz_4 = 0.0; #Z component of the absolute angular velocity [rad/s]

         #node: 5
             set: real Px_5 = 0.15064540729834192; #X component of the absolute position [m]
             set: real Py_5 = -0.020536937096322302; #Y component of the absolute position [m]
             set: real Pz_5 = 0.06548008210568429; #Z component of the absolute position [m]

             set: real Vx_5 = 0.0; #X component of the absolute velocity [m/s]
             set: real Vy_5 = 0.0; #Y component of the absolute velocity [m/s]
             set: real Vz_5 = 0.0; #Z component of the absolute velocity [m/s]

             set: real Wx_5 = 0.0; #X component of the absolute angular velocity [rad/s]
             set: real Wy_5 = 0.0; #Y component of the absolute angular velocity [rad/s]
             set: real Wz_5 = 0.0; #Z component of the absolute angular velocity [rad/s]

 #-----------------------------------------------------------------------------
 # [Intermediate Variables]

     #Moments of inertia and relative center of mass

         #body 2: 
             set: real Ixx_2 = 6.927961737800001e-05; #moment of inertia [kg*m^2]
             set: real Iyy_2 = 5.6689424982e-05; #moment of inertia [kg*m^2]
             set: real Izz_2 = 2.9053392577e-05; #moment of inertia [kg*m^2]

             set: real Rx_2 = 0.0; #X component of the relative center of mass [m]
             set: real Ry_2 = 0.0; #Y component of the relative center of mass [m]
             set: real Rz_2 = 0.0; #Z component of the relative center of mass [m]

         #body 4: 
             set: real Ixx_4 = 7.9157004521e-05; #moment of inertia [kg*m^2]
             set: real Iyy_4 = 7.769349168e-05; #moment of inertia [kg*m^2]
             set: real Izz_4 = 3.339121993e-06; #moment of inertia [kg*m^2]

             set: real Rx_4 = 0.0; #X component of the relative center of mass [m]
             set: real Ry_4 = 0.0; #Y component of the relative center of mass [m]
             set: real Rz_4 = 0.0; #Z component of the relative center of mass [m]

         #body 5: 
             set: real Ixx_5 = 7.9157004521e-05; #moment of inertia [kg*m^2]
             set: real Iyy_5 = 7.769349168e-05; #moment of inertia [kg*m^2]
             set: real Izz_5 = 3.339121993e-06; #moment of inertia [kg*m^2]

             set: real Rx_5 = 0.0; #X component of the relative center of mass [m]
             set: real Ry_5 = 0.0; #Y component of the relative center of mass [m]
             set: real Rz_5 = 0.0; #Z component of the relative center of mass [m]

 #-----------------------------------------------------------------------------
 # [Nodes Block]

 begin: nodes;

     structural: structural_node_1,
                 static,
                 Px_1, Py_1, Pz_1, #<absolute_position> [m]
                 3, -0.3539135011019427, 0.9158836712023025, 0.18947911379030236, 2, -0.5084786583487672, -0.018385530501657588, -0.8608782877224926, #<absolute_orientation_matrix>
                 Vx_1, Vy_1, Vz_1, #<absolute_velocity> [m/s]
                 Wx_1, Wy_1, Wz_1; #<absolute_angular_velocity> [rad/s]

     structural: structural_node_2,
                 dynamic,
                 Px_2, Py_2, Pz_2, #<absolute_position> [m]
                 3, 0.0, 0.0, 1.0, 2, 0.0, 1.0, 0.0, #<absolute_orientation_matrix>
                 Vx_2, Vy_2, Vz_2, #<absolute_velocity> [m/s]
                 Wx_2, Wy_2, Wz_2; #<absolute_angular_velocity> [rad/s]

     structural: structural_node_3,
                 static,
                 Px_3, Py_3, Pz_3, #<absolute_position> [m]
                 3, 0.0, 0.0, 1.0, 2, 0.0, 1.0, 0.0, #<absolute_orientation_matrix>
                 Vx_3, Vy_3, Vz_3, #<absolute_velocity> [m/s]
                 Wx_3, Wy_3, Wz_3; #<absolute_angular_velocity> [rad/s]

     structural: structural_node_4,
                 dynamic,
                 Px_4, Py_4, Pz_4, #<absolute_position> [m]
                 3, 0.0, 0.0, 1.0, 2, 0.0, 1.0, 0.0, #<absolute_orientation_matrix>
                 Vx_4, Vy_4, Vz_4, #<absolute_velocity> [m/s]
                 Wx_4, Wy_4, Wz_4; #<absolute_angular_velocity> [rad/s]

     structural: structural_node_5,
                 dynamic,
                 Px_5, Py_5, Pz_5, #<absolute_position> [m]
                 3, 0.0, 0.0, 1.0, 2, 0.0, 1.0, 0.0, #<absolute_orientation_matrix>
                 Vx_5, Vy_5, Vz_5, #<absolute_velocity> [m/s]
                 Wx_5, Wy_5, Wz_5; #<absolute_angular_velocity> [rad/s]

 end: nodes;

 #-----------------------------------------------------------------------------
 # [Elements Block]

 begin: elements;

     #-----------------------------------------------------------------------------
     # [Bodies]

         body: body_2,
               structural_node_2, #<node_label> 
               mass_2, #<mass> [kg]
               Rx_2, Ry_2, Rz_2, #<relative_center_of_mass> [m]
               diag, Ixx_2, Iyy_2, Izz_2, #<inertia matrix> [kg*m^2]
               orientation, 3, -0.35, 0.91, 0.21, 2, 0.78, 0.4, -0.47; 

         body: body_4,
               structural_node_4, #<node_label> 
               mass_4, #<mass> [kg]
               Rx_4, Ry_4, Rz_4, #<relative_center_of_mass> [m]
               diag, Ixx_4, Iyy_4, Izz_4, #<inertia matrix> [kg*m^2]
               orientation, 3, 0.78, 0.4, -0.47, 2, -0.36, 0.91, 0.19; 

         body: body_5,
               structural_node_5, #<node_label> 
               mass_5, #<mass> [kg]
               Rx_5, Ry_5, Rz_5, #<relative_center_of_mass> [m]
               diag, Ixx_5, Iyy_5, Izz_5, #<inertia matrix> [kg*m^2]
               orientation, 3, -0.36, 0.91, 0.19, 2, 0.78, 0.4, -0.47; 

     #-----------------------------------------------------------------------------
     # [Joints]

     joint: joint_1,
         clamp,
         structural_node_1, #<node_label>
             0.16912189837562464, -0.10055206743263254, 0.07867737409397452, #<absolute_pin_position> [m]
             3, -0.3539135011019427, 0.9158836712023025, 0.18947911379030236, 2, -0.5084786583487672, -0.018385530501657588, -0.8608782877224926; #<absolute_orientation_matrix> 

     joint: joint_2,
         axial rotation,
         structural_node_1, #<node_1_label>
             1.0407603667772492e-11, -0.05247682460581396, -0.00025357557055826873, #<relative_offset_1> [m]
             orientation, 3, 1.1102230246251565e-16, -1.0, 0.0, 2, guess, #<relative_orientation_matrix_1>
         structural_node_2, #<node_2_label>
             0.006998226646402806, -0.00490348349806041, 0.007426083408032554, #<relative_offset_2> [m]
             orientation, 3, 0.5084786344413901, 0.01838554762064229, 0.8608783014778036, 2, guess, #<relative_orientation_matrix_2>
         string, "model::drive(1, Time)"; #<angular_velocity> [rad/s]

     joint: joint_3,
         clamp,
         structural_node_3, #<node_label>
             0.2890983348369078, -0.06156645049450425, 0.09724597715885096, #<absolute_pin_position> [m]
             3, 0.0, 0.0, 1.0, 2, 0.0, 1.0, 0.0; #<absolute_orientation_matrix> 

     joint: joint_4,
         revolute hinge,
         structural_node_2, #<node_1_label>
             -0.0011629534118987692, 0.02262071327533141, 0.01746668757489371, #<relative_position_1> [m]
             orientation, 3, 0.5084786344412178, 0.018385547620640152, 0.8608783014779054, 2, guess, #<relative_pin_orientation_matrix_1>
         structural_node_4, #<node_2_label>
            -0.031347177833029705, -0.01617494903756937, 0.018860685712244078, #<relative_position_2> [m]
            orientation, 3, 0.5084786455601428, 0.018385495401303797, 0.860878296025734, 2, guess; #<relative_pin_orientation_matrix_2>

     joint: joint_5,
         revolute hinge,
         structural_node_4, #<node_1_label>
             0.03388957106083931, 0.016266876514581658, -0.01455629423212079, #<relative_position_1> [m]
             orientation, 3, 0.50847864556046, 0.0183854954014063, 0.8608782960255446, 2, guess, #<relative_pin_orientation_matrix_1>
         structural_node_5, #<node_2_label>
            -0.016813818553224735, 0.036484433510506876, 0.003343892503690739, #<relative_position_2> [m]
            orientation, 3, 0.5084787180221569, 0.01838550036990011, 0.8608782531198544, 2, guess; #<relative_pin_orientation_matrix_2>

     joint: joint_7,
         revolute hinge,
         structural_node_3, #<node_1_label>
             1.1368683772161603e-16, 0.0, -1.4210854715202004e-17, #<relative_position_1> [m]
             orientation, 3, 0.5094306516594838, 0.018659363391322903, 0.8603093858070039, 2, guess, #<relative_pin_orientation_matrix_1>
         structural_node_5, #<node_2_label>
            0.014271424963118534, -0.03657636101236503, -0.007648283769292526, #<relative_position_2> [m]
            orientation, 3, 0.5084787180221835, 0.018385500369866165, 0.8608782531198396, 2, guess; #<relative_pin_orientation_matrix_2>

     #-----------------------------------------------------------------------------
     # [Drive callers]

     drive caller: 1, name,"drive:1", ramp, 5.0, 0.25, 4.0, 0.0;

 end: elements;

