View Issue Details

IDProjectCategoryView StatusLast Update
0001306OpenFOAMBugpublic2014-05-28 11:57
Reporterfeymark Assigned Tohenry  
PriorityhighSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
PlatformLinuxOSArch LinuxOS Version(please specify)
Summary0001306: rotatingMotion uses wrong quaternion
DescriptionIn
$WM_PROJECT_DIR/src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.C
we have,

    // Rotation around axis
    vector eulerAngles = omega_->integrate(0, t)*axis_;

    quaternion R(eulerAngles.x(), eulerAngles.y(), eulerAngles.z());
    septernion TR(septernion(origin_)*R*septernion(-origin_));

clearly these are not the correct euler angles. What should be used is,

    // Rotation around axis
    scalar angle = omega_->integrate(0, t);

    quaternion R(axis_, angle);
    septernion TR(septernion(origin_)*R*septernion(-origin_));

Regards,
Andreas
Steps To ReproduceTry any type of rotation other than around a single axis.
TagsNo tags attached.

Activities

henry

2014-05-28 11:57

manager   ~0003089

Thanks for the bug-report
Resolved by commit 1ef6ff4f509374f6c460c230a20bce6f7cfb8d51

Issue History

Date Modified Username Field Change
2014-05-27 10:52 feymark New Issue
2014-05-28 11:57 henry Note Added: 0003089
2014-05-28 11:57 henry Status new => resolved
2014-05-28 11:57 henry Resolution open => fixed
2014-05-28 11:57 henry Assigned To => henry