From 99669a17e1ca4f73ca1ea400389f30a22812a0d2 Mon Sep 17 00:00:00 2001 From: Jonathan Lambrechts <jonathan.lambrechts@uclouvain.be> Date: Thu, 28 Apr 2011 15:48:04 +0000 Subject: [PATCH] fix serendip polynomial basis for triangles and quads --- Numeric/polynomialBasis.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Numeric/polynomialBasis.cpp b/Numeric/polynomialBasis.cpp index e2bb340ccd..1614ed6a5b 100644 --- a/Numeric/polynomialBasis.cpp +++ b/Numeric/polynomialBasis.cpp @@ -1562,8 +1562,8 @@ const polynomialBasis *polynomialBases::find(int tag) case TYPE_TRI : F.numFaces = 3; F.dimension = 2; - F.monomials = generatePascalTriangle(F.order); - F.points = gmshGeneratePointsTriangle(F.order, F.serendip); + F.monomials = F.serendip ? generatePascalSerendipityTriangle(F.order) : generatePascalTriangle(F.order); + F.points = gmshGeneratePointsTriangle(F.order, F.serendip); if (F.order == 0) { generateClosureOrder0(F.closures, 6); generateClosureOrder0(F.fullClosures, 6); @@ -1576,7 +1576,7 @@ const polynomialBasis *polynomialBases::find(int tag) case TYPE_QUA : F.numFaces = 4; F.dimension = 2; - F.monomials = generatePascalQuad(F.order); + F.monomials = F.serendip ? generatePascalQuadSerendip(F.order) : generatePascalQuad(F.order); F.points = gmshGeneratePointsQuad(F.order, F.serendip); if (F.order == 0) { generateClosureOrder0(F.closures, 8); @@ -1590,7 +1590,7 @@ const polynomialBasis *polynomialBases::find(int tag) case TYPE_TET : F.numFaces = 4; F.dimension = 3; - F.monomials = generatePascalTetrahedron(F.order); + F.monomials = F.serendip ? generatePascalSerendipityTetrahedron(F.order) : generatePascalTetrahedron(F.order); F.points = gmshGeneratePointsTetrahedron(F.order, F.serendip); if (F.order == 0) { generateClosureOrder0(F.closures,24); @@ -1618,7 +1618,7 @@ const polynomialBasis *polynomialBases::find(int tag) case TYPE_HEX : F.numFaces = 6; F.dimension = 3; - F.monomials = generatePascalHex(F.order,F.serendip); + F.monomials = generatePascalHex(F.order, F.serendip); F.points = gmshGeneratePointsHex(F.order, F.serendip); // generateFaceClosureHex(F.closures, F.order); // generateFaceClosureHexFull(F.fullClosures, F.closureRef, F.order, F.serendip); -- GitLab