diff --git a/Numeric/bezierBasis.cpp b/Numeric/bezierBasis.cpp index edf3952873b4abf208a6e8610864bf42cccfcae1..92a25a4116ef8fd0734e6fe60a167b11acb224e9 100644 --- a/Numeric/bezierBasis.cpp +++ b/Numeric/bezierBasis.cpp @@ -362,7 +362,7 @@ fullMatrix<double> generateBez2LagMatrixPyramid { if(exponent.size1() != point.size1() || exponent.size2() != point.size2() || exponent.size2() != 3){ - Msg::Fatal("Wrong sizes for bez2lag matrix generation %d %d -- %d %d", + Msg::Fatal("Wrong sizes for pyramid's bez2lag matrix generation %d %d -- %d %d", exponent.size1(),point.size1(), exponent.size2(),point.size2()); return fullMatrix<double>(1, 1); @@ -518,7 +518,7 @@ void bezierBasis::_construct(int parentType, int p) if (parentType == TYPE_PYR) { _numLagCoeff = p == 0 ? 4 : 8; - _exponents = gmshGenerateMonomialsPyramidGeneral(false, 2, _order); + _exponents = gmshGenerateMonomialsPyramidGeneral(false, _order+2, _order); subPoints = generateSubPointsPyr(_order); _numDivisions = static_cast<int>(subPoints.size()); diff --git a/Numeric/pointsGenerators.cpp b/Numeric/pointsGenerators.cpp index f060da4ead30be3f0ad92ca8986f382be84fc885..485bf985756e970c14ffd47fe1f0186cb123cd86 100644 --- a/Numeric/pointsGenerators.cpp +++ b/Numeric/pointsGenerators.cpp @@ -906,7 +906,7 @@ fullMatrix<double> gmshGenerateMonomialsPyramidGeneral( } // Between bottom & top - for (int k = nk-1; k > 0; ++k) { + for (int k = nk-1; k > 0; --k) { int currentnij = pyr ? k+nij : nij; for (int i = 0; i <= currentnij; ++i) { for (int j = 0; j <= currentnij; ++j, ++index) {