diff --git a/src/dynamicFvMesh/Make/files b/src/dynamicFvMesh/Make/files
index 31036fca6e..42105a9a60 100644
--- a/src/dynamicFvMesh/Make/files
+++ b/src/dynamicFvMesh/Make/files
@@ -14,6 +14,7 @@ $(solidBodyMotionFunctions)/SDA/SDA.C
$(solidBodyMotionFunctions)/tabulated6DoFMotion/tabulated6DoFMotion.C
$(solidBodyMotionFunctions)/linearMotion/linearMotion.C
$(solidBodyMotionFunctions)/rotatingMotion/rotatingMotion.C
+$(solidBodyMotionFunctions)/axisRotationMotion/axisRotationMotion.C
$(solidBodyMotionFunctions)/multiMotion/multiMotion.C
$(solidBodyMotionFunctions)/oscillatingLinearMotion/oscillatingLinearMotion.C
$(solidBodyMotionFunctions)/oscillatingRotatingMotion/oscillatingRotatingMotion.C
diff --git a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.C b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.C
new file mode 100644
index 0000000000..456441026f
--- /dev/null
+++ b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.C
@@ -0,0 +1,113 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "axisRotationMotion.H"
+#include "addToRunTimeSelectionTable.H"
+#include "unitConversion.H"
+
+using namespace Foam::constant::mathematical;
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace solidBodyMotionFunctions
+{
+ defineTypeNameAndDebug(axisRotationMotion, 0);
+ addToRunTimeSelectionTable
+ (
+ solidBodyMotionFunction,
+ axisRotationMotion,
+ dictionary
+ );
+}
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
+
+Foam::solidBodyMotionFunctions::axisRotationMotion::axisRotationMotion
+(
+ const dictionary& SBMFCoeffs,
+ const Time& runTime
+)
+:
+ solidBodyMotionFunction(SBMFCoeffs, runTime)
+{
+ read(SBMFCoeffs);
+}
+
+
+// * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * * //
+
+Foam::solidBodyMotionFunctions::axisRotationMotion::~axisRotationMotion()
+{}
+
+
+// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
+
+Foam::septernion
+Foam::solidBodyMotionFunctions::axisRotationMotion::transformation() const
+{
+ scalar t = time_.value();
+
+ // Motion around a centre of gravity
+
+ // Rotation around centre of gravity (in radians)
+ vector omega
+ (
+ t*degToRad(radialVelocity_.x()),
+ t*degToRad(radialVelocity_.y()),
+ t*degToRad(radialVelocity_.z())
+ );
+
+ scalar magOmega = mag(omega);
+
+ scalar cosHalfTheta = cos(0.5*magOmega);
+
+ quaternion R(cosHalfTheta, omega/magOmega);
+ septernion TR(septernion(CofG_)*R*septernion(-CofG_));
+
+ Info<< "solidBodyMotionFunctions::axisRotationMotion::transformation(): "
+ << "Time = " << t << " transformation: " << TR << endl;
+
+ return TR;
+}
+
+
+bool Foam::solidBodyMotionFunctions::axisRotationMotion::read
+(
+ const dictionary& SBMFCoeffs
+)
+{
+ solidBodyMotionFunction::read(SBMFCoeffs);
+
+ SBMFCoeffs_.lookup("CofG") >> CofG_;
+ SBMFCoeffs_.lookup("radialVelocity") >> radialVelocity_;
+
+ return true;
+}
+
+// ************************************************************************* //
diff --git a/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.H b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.H
new file mode 100644
index 0000000000..d372d82480
--- /dev/null
+++ b/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/axisRotationMotion/axisRotationMotion.H
@@ -0,0 +1,115 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+Class
+ Foam::solidBodyMotionFunctions::axisRotationMotion
+
+Description
+ Constant velocity rotation around CoG. Similar to rotatingMotion but
+ motion specified as rotation vector.
+
+SourceFiles
+ axisRotationMotion.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef axisRotationMotion_H
+#define axisRotationMotion_H
+
+#include "solidBodyMotionFunction.H"
+#include "primitiveFields.H"
+#include "point.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace solidBodyMotionFunctions
+{
+
+/*---------------------------------------------------------------------------*\
+ Class axisRotationMotion Declaration
+\*---------------------------------------------------------------------------*/
+
+class axisRotationMotion
+:
+ public solidBodyMotionFunction
+{
+ // Private data
+
+ //- Centre of gravity
+ point CofG_;
+
+ //- Rotational velocity (deg/s)
+ vector radialVelocity_;
+
+
+ // Private Member Functions
+
+ //- Disallow copy construct
+ axisRotationMotion(const axisRotationMotion&);
+
+ //- Disallow default bitwise assignment
+ void operator=(const axisRotationMotion&);
+
+
+public:
+
+ //- Runtime type information
+ TypeName("axisRotationMotion");
+
+
+ // Constructors
+
+ //- Construct from components
+ axisRotationMotion
+ (
+ const dictionary& SBMFCoeffs,
+ const Time& runTime
+ );
+
+
+ //- Destructor
+ virtual ~axisRotationMotion();
+
+
+ // Member Functions
+
+ //- Return the solid-body motion transformation septernion
+ virtual septernion transformation() const;
+
+ //- Update properties from given dictionary
+ virtual bool read(const dictionary& SBMFCoeffs);
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace solidBodyMotionFunctions
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //