diff --git a/dune/gfe/rigidbodymotion.hh b/dune/gfe/rigidbodymotion.hh index a68e796f2277b2ef07acac1dafb2e55b7ed8edd4..a039c1510c815afa2a1d54eedb6c8e167a22f00f 100644 --- a/dune/gfe/rigidbodymotion.hh +++ b/dune/gfe/rigidbodymotion.hh @@ -120,7 +120,8 @@ public: result[i] = a.r[i] - b.r[i]; // Subtract orientations on the tangent space of 'a' - typename Rotation<ctype,N>::TangentVector v = Rotation<ctype,N>::difference(a.q, b.q).axial(); + auto diffSkew = Rotation<ctype,N>::difference(b.q, a.q); + typename Rotation<ctype,N>::TangentVector v = Rotation<ctype, N>::skewToTangentVector(a.q, diffSkew); // Compute difference on T_a SO(3) for (int i=0; i<Rotation<ctype,N>::TangentVector::dimension; i++)