From c36677f1d98cf7d1b46f7456dadf5a3cb491a305 Mon Sep 17 00:00:00 2001
From: Henry <Henry>
Date: Wed, 28 May 2014 11:54:42 +0100
Subject: [PATCH] rotatingMotion: Corrected construction of quaternion for
 non-coordinate axis rotation Resolves bug-report
 http://www.openfoam.org/mantisbt/view.php?id=1306

---
 .../rotatingMotion/rotatingMotion.C                         | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.C b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.C
index 7d716e687a7..0ce2b8dbe84 100644
--- a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.C
+++ b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -75,9 +75,9 @@ Foam::solidBodyMotionFunctions::rotatingMotion::transformation() const
     scalar t = time_.value();
 
     // Rotation around axis
-    vector eulerAngles = omega_->integrate(0, t)*axis_;
+    scalar angle = omega_->integrate(0, t);
 
-    quaternion R(eulerAngles.x(), eulerAngles.y(), eulerAngles.z());
+    quaternion R(axis_, angle);
     septernion TR(septernion(origin_)*R*septernion(-origin_));
 
     Info<< "solidBodyMotionFunctions::rotatingMotion::transformation(): "
-- 
GitLab