61 if (model_.unitQuaternions())
65 const label qi = model_.joints()[i].qIndex();
67 if (model_.joints()[i].unitQuaternion())
71 scalar magDv =
mag(dv);
81 model_.joints()[i].unitQuaternion(q0())*dQuat
86 model_.joints()[i].unitQuaternion(quat, q());
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
A list of keyword definitions, which are a keyword followed by a number of values (eg...
#define forAll(list, i)
Loop across all elements in list.
dimensionedScalar cos(const dimensionedScalar &ds)
Quaternion class used to perform rotations in 3D space.
defineTypeNameAndDebug(cuboid, 0)
Creates a single block of cells from point coordinates, numbers of cells in each direction and an exp...
quaternion & normalise(const scalar tol=ROOTVSMALL)
Inplace normalise the quaternion by its magnitude.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
rigidBodySolver(rigidBodyMotion &body)
defineRunTimeSelectionTable(rigidBody, dictionary)
virtual ~rigidBodySolver()
Destructor.
void correctQuaternionJoints()
Correct the quaternion joints based on the current change in q.