From c2f992841eaa27245c164661d08d9d78796340a1 Mon Sep 17 00:00:00 2001 From: Sebastien Blaise <sebastien.blaise@uclouvain.be> Date: Tue, 27 Oct 2015 07:55:49 +0000 Subject: [PATCH] condNumBasis: fix for pyramidal elements: condNumBasis for MSH_PYR_5 uses more than one node --- Numeric/CondNumBasis.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Numeric/CondNumBasis.cpp b/Numeric/CondNumBasis.cpp index 0b8d2063c3..cf46578ae8 100644 --- a/Numeric/CondNumBasis.cpp +++ b/Numeric/CondNumBasis.cpp @@ -316,17 +316,16 @@ CondNumBasis::CondNumBasis(int tag, int cnOrder) : _condNumOrder(cnOrder >= 0 ? cnOrder : condNumOrder(tag)) { const bool serendip = false; - FuncSpaceData data(true, tag, _condNumOrder, &serendip); + FuncSpaceData data = ( ElementType::ParentTypeFromTag(tag) == TYPE_PYR )? FuncSpaceData(true, tag, true, _condNumOrder+2, _condNumOrder, &serendip) : FuncSpaceData(true, tag, _condNumOrder, &serendip); _gradBasis = BasisFactory::getGradientBasis(data); - fullMatrix<double> lagPoints; // Sampling points gmshGeneratePoints(data, lagPoints); _nCondNumNodes = lagPoints.size1(); _nMapNodes = BasisFactory::getNodalBasis(tag)->getNumShapeFunctions(); // Store shape function gradients of mapping at condition number nodes - _gradBasis = BasisFactory::getGradientBasis(tag, _condNumOrder); + _gradBasis = BasisFactory::getGradientBasis(data); // Compute shape function gradients of primary mapping at barycenter, // in order to compute normal to straight element -- GitLab