From 3defd9eb21b5d2eb62f55a05023615674eec8eac Mon Sep 17 00:00:00 2001 From: Oliver Sander <oliver.sander@tu-dresden.de> Date: Thu, 4 Oct 2018 11:46:54 +0200 Subject: [PATCH] Bugfix: H1-distance between SO(3)-valued functions was computed wrongly 'Only' a stupid typo: '=' instead of '+='. --- src/compute-disc-error.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compute-disc-error.cc b/src/compute-disc-error.cc index 7f3cde11..2ae7ec0d 100644 --- a/src/compute-disc-error.cc +++ b/src/compute-disc-error.cc @@ -317,8 +317,8 @@ void measureDiscreteEOC(const GridView gridView, for (int k=0; k<dim; k++) for (int l=0; l<4; l++) { - refDerivative[i][j][k] = derivativeQuaternionToMatrixRef[i][j][l] * referenceDerQuat[l][k]; - numDerivative[i][j][k] = derivativeQuaternionToMatrixNum[i][j][l] * numericalDerQuat[l][k]; + refDerivative[i][j][k] += derivativeQuaternionToMatrixRef[i][j][l] * referenceDerQuat[l][k]; + numDerivative[i][j][k] += derivativeQuaternionToMatrixNum[i][j][l] * numericalDerQuat[l][k]; } auto derDiff = refDerivative - numDerivative; // compute the difference @@ -511,8 +511,8 @@ void measureAnalyticalEOC(const GridView gridView, for (int k=0; k<dim; k++) for (int l=0; l<blocksize; l++) { - numDerivative[i][j][k] = derivativeQuaternionToMatrixNum[i][j][l] * num_di[l][k]; - refDerivative[i][j][k] = derivativeQuaternionToMatrixRef[i][j][l] * ref_di[l][k]; + numDerivative[i][j][k] += derivativeQuaternionToMatrixNum[i][j][l] * num_di[l][k]; + refDerivative[i][j][k] += derivativeQuaternionToMatrixRef[i][j][l] * ref_di[l][k]; } // integrate error -- GitLab