From 747413f6c810795827f1821ebe516a58a581012a Mon Sep 17 00:00:00 2001 From: Nicolas Marsic <nicolas.marsic@gmail.com> Date: Thu, 13 Nov 2014 18:23:42 +0000 Subject: [PATCH] HUGE BUG FIX: correcting rev19884 introduced a new bug -- TriEdgeBasis functions associated to FACES were missing a -1 !! It seems like everything works now :-)! --- FunctionSpace/TetEdgeBasis.cpp | 12 +++--------- FunctionSpace/TriEdgeBasis.cpp | 17 +++++++---------- 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/FunctionSpace/TetEdgeBasis.cpp b/FunctionSpace/TetEdgeBasis.cpp index ddcfefd9b9..f90eeeaba0 100644 --- a/FunctionSpace/TetEdgeBasis.cpp +++ b/FunctionSpace/TetEdgeBasis.cpp @@ -172,22 +172,16 @@ TetEdgeBasis::TetEdgeBasis(size_t order){ // Type 1 - basis[s][i] = - new vector<Polynomial>((u * v).gradient()); - + basis[s][i] = new vector<Polynomial>((u * v).gradient()); i++; // Type 2 - basis[s][i] = - new vector<Polynomial>(subGradUV); - + basis[s][i] = new vector<Polynomial>(subGradUV); i++; // Type 3 if(l1 == 1){ - basis[s][i] = - new vector<Polynomial>(subGradL1L2V); - + basis[s][i] = new vector<Polynomial>(subGradL1L2V); i++; } } diff --git a/FunctionSpace/TriEdgeBasis.cpp b/FunctionSpace/TriEdgeBasis.cpp index 516c055bc0..6066dcd7e1 100644 --- a/FunctionSpace/TriEdgeBasis.cpp +++ b/FunctionSpace/TriEdgeBasis.cpp @@ -51,6 +51,9 @@ TriEdgeBasis::TriEdgeBasis(size_t order){ Polynomial(Polynomial(1, 0, 1, 0)) }; + // One // + Polynomial one(1, 0, 0, 0); + // Basis // basis = new vector<Polynomial>**[nOrientation]; @@ -118,7 +121,7 @@ TriEdgeBasis::TriEdgeBasis(size_t order){ lagrange[faceIdx[s][0][1]]); Polynomial v = lagrange[faceIdx[s][0][2]] * - legendre[l2].compose(lagrange[faceIdx[s][0][2]] * 2); + legendre[l2].compose(lagrange[faceIdx[s][0][2]] * 2 - one); // Preliminary Type 2 vector<Polynomial> gradU = u.gradient(); @@ -164,22 +167,16 @@ TriEdgeBasis::TriEdgeBasis(size_t order){ // Type 1 - basis[s][i] = - new vector<Polynomial>((u * v).gradient()); - + basis[s][i] = new vector<Polynomial>((u * v).gradient()); i++; // Type 2 - basis[s][i] = - new vector<Polynomial>(subGradUV); - + basis[s][i] = new vector<Polynomial>(subGradUV); i++; // Type 3 if(l1 == 1){ - basis[s][i] = - new vector<Polynomial>(subGradL1L2V); - + basis[s][i] = new vector<Polynomial>(subGradL1L2V); i++; } } -- GitLab