@@ -500,19 +500,45 @@ instantiateModel(Test); getErrorString();
500500// mass.r_0[1] = mass.frame_a.r_0[1];
501501// mass.r_0[2] = mass.frame_a.r_0[2];
502502// mass.r_0[3] = mass.frame_a.r_0[3];
503- // mass.Q[1] = 0.0;
504- // mass.Q[2] = 0.0;
505- // mass.Q[3] = 0.0;
506- // mass.Q[4] = 1.0;
507- // mass.phi[1] = 0.0;
508- // mass.phi[2] = 0.0;
509- // mass.phi[3] = 0.0;
510- // mass.phi_d[1] = 0.0;
511- // mass.phi_d[2] = 0.0;
512- // mass.phi_d[3] = 0.0;
513- // mass.phi_dd[1] = 0.0;
514- // mass.phi_dd[2] = 0.0;
515- // mass.phi_dd[3] = 0.0;
503+ // if true then
504+ // mass.Q[1] = 0.0;
505+ // mass.Q[2] = 0.0;
506+ // mass.Q[3] = 0.0;
507+ // mass.Q[4] = 1.0;
508+ // mass.phi[1] = 0.0;
509+ // mass.phi[2] = 0.0;
510+ // mass.phi[3] = 0.0;
511+ // mass.phi_d[1] = 0.0;
512+ // mass.phi_d[2] = 0.0;
513+ // mass.phi_d[3] = 0.0;
514+ // mass.phi_dd[1] = 0.0;
515+ // mass.phi_dd[2] = 0.0;
516+ // mass.phi_dd[3] = 0.0;
517+ // elseif mass.useQuaternions then
518+ // mass.frame_a.R = Modelica.Mechanics.MultiBody.Frames.from_Q({mass.Q[1], mass.Q[2], mass.Q[3], mass.Q[4]}, Modelica.Mechanics.MultiBody.Frames.Quaternions.angularVelocity2({mass.Q[1], mass.Q[2], mass.Q[3], mass.Q[4]}, {der(mass.Q[1]), der(mass.Q[2]), der(mass.Q[3]), der(mass.Q[4])}));
519+ // {0.0} = Modelica.Mechanics.MultiBody.Frames.Quaternions.orientationConstraint({mass.Q[1], mass.Q[2], mass.Q[3], mass.Q[4]});
520+ // mass.phi[1] = 0.0;
521+ // mass.phi[2] = 0.0;
522+ // mass.phi[3] = 0.0;
523+ // mass.phi_d[1] = 0.0;
524+ // mass.phi_d[2] = 0.0;
525+ // mass.phi_d[3] = 0.0;
526+ // mass.phi_dd[1] = 0.0;
527+ // mass.phi_dd[2] = 0.0;
528+ // mass.phi_dd[3] = 0.0;
529+ // else
530+ // mass.phi_d[1] = der(mass.phi[1]);
531+ // mass.phi_d[2] = der(mass.phi[2]);
532+ // mass.phi_d[3] = der(mass.phi[3]);
533+ // mass.phi_dd[1] = der(mass.phi_d[1]);
534+ // mass.phi_dd[2] = der(mass.phi_d[2]);
535+ // mass.phi_dd[3] = der(mass.phi_d[3]);
536+ // mass.frame_a.R = Modelica.Mechanics.MultiBody.Frames.axesRotations({mass.sequence_angleStates[1], mass.sequence_angleStates[2], mass.sequence_angleStates[3]}, {mass.phi[1], mass.phi[2], mass.phi[3]}, {mass.phi_d[1], mass.phi_d[2], mass.phi_d[3]});
537+ // mass.Q[1] = 0.0;
538+ // mass.Q[2] = 0.0;
539+ // mass.Q[3] = 0.0;
540+ // mass.Q[4] = 1.0;
541+ // end if;
516542// mass.g_0 = Modelica.Mechanics.MultiBody.World$world.gravityAcceleration({mass.frame_a.r_0[1], mass.frame_a.r_0[2], mass.frame_a.r_0[3]} + Modelica.Mechanics.MultiBody.Frames.resolve1(mass.frame_a.R, {mass.r_CM[1], mass.r_CM[2], mass.r_CM[3]}), Modelica.Mechanics.MultiBody.Types.GravityTypes.UniformGravity, {0.0, -9.81, 0.0}, 398600000000000.0);
517543// mass.v_0[1] = der(mass.frame_a.r_0[1]);
518544// mass.v_0[2] = der(mass.frame_a.r_0[2]);
0 commit comments