From ddd6fe68c23600c414dc5e08b91e386675f8e22e Mon Sep 17 00:00:00 2001
From: Matti Pellika <matti.pellikka@tut.fi>
Date: Wed, 9 Mar 2011 04:41:38 +0000
Subject: [PATCH] A fix.

---
 Geo/MElement.cpp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/Geo/MElement.cpp b/Geo/MElement.cpp
index 5c52edb5b7..285243f2a9 100644
--- a/Geo/MElement.cpp
+++ b/Geo/MElement.cpp
@@ -565,8 +565,12 @@ double MElement::integrateFlux(double val[], int face, int pOrder, int order)
   getFaceVertices(face, v);
   MElementFactory f;
   int type = 0;
-  if(getType() == TYPE_TRI) type = getTriangleType(getPolynomialOrder());
-  if(getType() == TYPE_QUA) type = getQuadType(getPolynomialOrder());
+  if(getType() == TYPE_TRI || getType() == TYPE_TET) type = getTriangleType(getPolynomialOrder());
+  else if(getType() == TYPE_QUA || getType() == TYPE_HEX) type = getQuadType(getPolynomialOrder());
+  else if(getType() == TYPE_PYR && face < 4) type = getTriangleType(getPolynomialOrder());
+  else if(getType() == TYPE_PYR && face >= 4) type = getQuadType(getPolynomialOrder());
+  else if(getType() == TYPE_PRI && face < 2) type = getTriangleType(getPolynomialOrder());
+  else if(getType() == TYPE_PRI && face >= 2) type = getQuadType(getPolynomialOrder());
   MElement* fe = f.create(type, v);
 
   double intv[3];
-- 
GitLab