From 5e4072451148c0230c82e6cbcb161f7515b0ad15 Mon Sep 17 00:00:00 2001 From: Amaury Johnan <amjohnen@gmail.com> Date: Thu, 20 Jun 2013 21:08:20 +0000 Subject: [PATCH] fix bug triangle p2 generation --- Numeric/pointsGenerators.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Numeric/pointsGenerators.cpp b/Numeric/pointsGenerators.cpp index f5eca95871..3c8de9f689 100644 --- a/Numeric/pointsGenerators.cpp +++ b/Numeric/pointsGenerators.cpp @@ -140,7 +140,7 @@ fullMatrix<double> gmshGenerateMonomialsTriangle(int order, bool serendip) monomials(index, 1) = monomials(i0, 1) + u_1 * i; } } - if (!serendip) { + if (!serendip && order > 2) { fullMatrix<double> inner = gmshGenerateMonomialsTriangle(order-3); inner.add(1); monomials.copy(inner, 0, nbMonomials - index, 0, 2, index, 0); @@ -380,8 +380,10 @@ fullMatrix<double> gmshGenerateMonomialsPrism(int order, bool forSerendipPoints) dudvQ.add(1); fullMatrix<double> dudvT; - if (order > 2) dudvT = gmshGenerateMonomialsTriangle(order - 3); - dudvT.add(1); + if (order > 2) { + dudvT = gmshGenerateMonomialsTriangle(order - 3); + dudvT.add(1); + } for (int iface = 0; iface < 5; ++iface) { int i0, i1, i2; @@ -715,8 +717,10 @@ fullMatrix<double> gmshGenerateMonomialsPyramid(int order, bool forSerendipPoint dudvQ.add(1); fullMatrix<double> dudvT; - if (order > 2) dudvT = gmshGenerateMonomialsTriangle(order - 3); - dudvT.add(1); + if (order > 2) { + dudvT = gmshGenerateMonomialsTriangle(order - 3); + dudvT.add(1); + } for (int iface = 0; iface < 5; ++iface) { int i0, i1, i2; -- GitLab