Skip to content
Snippets Groups Projects
Commit cea26a54 authored by Oliver Sander's avatar Oliver Sander Committed by sander@FU-BERLIN.DE
Browse files

Use a loop to get cleaner code

[[Imported from SVN: r8335]]
parent 4f4b44df
No related branches found
No related tags found
No related merge requests found
...@@ -161,47 +161,26 @@ void testDerivativeOfInterpolatedPosition() ...@@ -161,47 +161,26 @@ void testDerivativeOfInterpolatedPosition()
double intervalLength = l/(double(3)); double intervalLength = l/(double(3));
Dune::FieldVector<double,3> variation; Dune::FieldVector<double,3> variation;
variation = 0; variation[0] = eps; for (int m=0; m<3; m++) {
fdGrad[0] = Rotation<double,3>::interpolateDerivative(q[i].mult(Rotation<double,3>::exp(SkewMatrix<double,3>(variation))), variation = 0;
q[j], s); variation[m] = eps;
variation = 0; variation[0] = -eps; fdGrad[m] = Rotation<double,3>::interpolateDerivative(q[i].mult(Rotation<double,3>::exp(SkewMatrix<double,3>(variation))),
fdGrad[0] -= Rotation<double,3>::interpolateDerivative(q[i].mult(Rotation<double,3>::exp(SkewMatrix<double,3>(variation))), q[j], s);
q[j], s); variation = 0;
fdGrad[0] /= 2*eps; variation[m] = -eps;
fdGrad[m] -= Rotation<double,3>::interpolateDerivative(q[i].mult(Rotation<double,3>::exp(SkewMatrix<double,3>(variation))),
variation = 0; variation[1] = eps; q[j], s);
fdGrad[1] = Rotation<double,3>::interpolateDerivative(q[i].mult(Rotation<double,3>::exp(SkewMatrix<double,3>(variation))), fdGrad[m] /= 2*eps;
q[j], s);
variation = 0; variation[1] = -eps; variation = 0;
fdGrad[1] -= Rotation<double,3>::interpolateDerivative(q[i].mult(Rotation<double,3>::exp(SkewMatrix<double,3>(variation))), variation[m] = eps;
q[j], s); fdGrad[3+m] = Rotation<double,3>::interpolateDerivative(q[i], q[j].mult(Rotation<double,3>::exp(SkewMatrix<double,3>(variation))), s);
fdGrad[1] /= 2*eps; variation = 0;
variation[m] = -eps;
variation = 0; variation[2] = eps; fdGrad[3+m] -= Rotation<double,3>::interpolateDerivative(q[i], q[j].mult(Rotation<double,3>::exp(SkewMatrix<double,3>(variation))), s);
fdGrad[2] = Rotation<double,3>::interpolateDerivative(q[i].mult(Rotation<double,3>::exp(SkewMatrix<double,3>(variation))), fdGrad[3+m] /= 2*eps;
q[j], s);
variation = 0; variation[2] = -eps; }
fdGrad[2] -= Rotation<double,3>::interpolateDerivative(q[i].mult(Rotation<double,3>::exp(SkewMatrix<double,3>(variation))),
q[j], s);
fdGrad[2] /= 2*eps;
variation = 0; variation[0] = eps;
fdGrad[3] = Rotation<double,3>::interpolateDerivative(q[i], q[j].mult(Rotation<double,3>::exp(SkewMatrix<double,3>(variation))), s);
variation = 0; variation[0] = -eps;
fdGrad[3] -= Rotation<double,3>::interpolateDerivative(q[i], q[j].mult(Rotation<double,3>::exp(SkewMatrix<double,3>(variation))), s);
fdGrad[3] /= 2*eps;
variation = 0; variation[1] = eps;
fdGrad[4] = Rotation<double,3>::interpolateDerivative(q[i], q[j].mult(Rotation<double,3>::exp(SkewMatrix<double,3>(variation))), s);
variation = 0; variation[1] = -eps;
fdGrad[4] -= Rotation<double,3>::interpolateDerivative(q[i], q[j].mult(Rotation<double,3>::exp(SkewMatrix<double,3>(variation))), s);
fdGrad[4] /= 2*eps;
variation = 0; variation[2] = -eps;
fdGrad[5] = Rotation<double,3>::interpolateDerivative(q[i], q[j].mult(Rotation<double,3>::exp(SkewMatrix<double,3>(variation))), s);
variation = 0; variation[2] = -eps;
fdGrad[5] -= Rotation<double,3>::interpolateDerivative(q[i], q[j].mult(Rotation<double,3>::exp(SkewMatrix<double,3>(variation))), s);
fdGrad[5] /= 2*eps;
// Compute analytical velocity vector gradient // Compute analytical velocity vector gradient
RodLocalStiffness<OneDGrid,double>::interpolationVelocityDerivative(q[i], q[j], s, intervalLength, grad); RodLocalStiffness<OneDGrid,double>::interpolationVelocityDerivative(q[i], q[j], s, intervalLength, grad);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment