From d2aea60337d46e1d8a5107b73f071c1a5793d6ed Mon Sep 17 00:00:00 2001 From: Thomas Toulorge <thomas.toulorge@mines-paristech.fr> Date: Wed, 8 Mar 2017 14:21:33 +0000 Subject: [PATCH] Fixed CondNumBasis for pyramids (condition number now evaluated at mapping nodes except top vertex) --- Numeric/CondNumBasis.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Numeric/CondNumBasis.cpp b/Numeric/CondNumBasis.cpp index f145571840..1476b9418c 100644 --- a/Numeric/CondNumBasis.cpp +++ b/Numeric/CondNumBasis.cpp @@ -323,7 +323,9 @@ CondNumBasis::CondNumBasis(int tag, int cnOrder) : } const bool serendip = false; - FuncSpaceData data = ( ElementType::ParentTypeFromTag(tag) == TYPE_PYR )? FuncSpaceData(true, tag, true, _condNumOrder+1, _condNumOrder, &serendip) : FuncSpaceData(true, tag, _condNumOrder, &serendip); + FuncSpaceData data = (ElementType::ParentTypeFromTag(tag) == TYPE_PYR) ? + FuncSpaceData(true, tag, true, 1, _condNumOrder-1, &serendip) : + FuncSpaceData(true, tag, _condNumOrder, &serendip); fullMatrix<double> lagPoints; // Sampling points gmshGeneratePoints(data, lagPoints); @@ -386,7 +388,7 @@ int CondNumBasis::condNumOrder(int parentType, int order) case TYPE_TET : return (order == 1) ? 0 : order; case TYPE_PRI : return order; case TYPE_HEX : return order; - case TYPE_PYR : return (order == 1) ? 0 : order; + case TYPE_PYR : return order; case TYPE_TRIH : return 0; default : Msg::Error("Unknown element type %d, return order 0", parentType); -- GitLab