From 90d672f26a1f970a196d093d7ca86343784c9de5 Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Tue, 23 Oct 2007 12:47:01 +0000 Subject: [PATCH] moved the vector transformation from the reference element out of the method interpolateVelocity() [[Imported from SVN: r1719]] --- src/quaternion.hh | 4 +--- src/rodassembler.cc | 9 +++++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/quaternion.hh b/src/quaternion.hh index 293e6b82..c2e233c3 100644 --- a/src/quaternion.hh +++ b/src/quaternion.hh @@ -340,7 +340,7 @@ public: \param omega must be between 0 and 1 */ static Quaternion<T> interpolateDerivative(const Quaternion<T>& a, const Quaternion<T>& b, - double omega, double intervalLength) { + double omega) { Quaternion<T> result(0); // Compute difference on T_a SO(3) @@ -349,8 +349,6 @@ public: Dune::FieldVector<double,3> v = xi; v *= omega; - xi /= intervalLength; - // ////////////////////////////////////////////////////////////// // v now contains the derivative at 'a'. The derivative at // the requested site is v pushed forward by Dexp. diff --git a/src/rodassembler.cc b/src/rodassembler.cc index a1fe9445..a942e256 100644 --- a/src/rodassembler.cc +++ b/src/rodassembler.cc @@ -324,7 +324,9 @@ getStrain(const Dune::array<Configuration,2>& localSolution, // Get the derivative of the rotation at the quadrature point by interpolating in $H$ Quaternion<double> q_s = Quaternion<double>::interpolateDerivative(localSolution[0].q, localSolution[1].q, - pos, 1/shapeGrad[1]); + pos); + // Transformation from the reference element + q_s *= inv[0][0]; // ///////////////////////////////////////////// // Sum it all up @@ -483,7 +485,10 @@ assembleGradient(const Entity& element, // Get the derivative of the rotation at the quadrature point by interpolating in $H$ Quaternion<double> q_s = Quaternion<double>::interpolateDerivative(solution[0].q, solution[1].q, - quadPos, integrationElement); + quadPos); + // Transformation from the reference element + q_s *= inv[0][0]; + // The current strain FieldVector<double,blocksize> strain = getStrain(solution, element, quadPos); -- GitLab