diff --git a/Geo/MElement.cpp b/Geo/MElement.cpp index bdc5c5132e16a4f74b2dde6ae891676cc2072f64..d5a221c8bded06e48f71dad51392b01ed452a2f9 100644 --- a/Geo/MElement.cpp +++ b/Geo/MElement.cpp @@ -1508,6 +1508,7 @@ int MElement::OrderFromTag(int tag) case MSH_PRI_198 : return 7; case MSH_PRI_258 : return 8; case MSH_PRI_326 : return 9; + case MSH_HEX_1 : return 0; case MSH_HEX_8 : return 1; case MSH_HEX_27 : return 2; case MSH_HEX_64 : return 3; diff --git a/Geo/MHexahedron.cpp b/Geo/MHexahedron.cpp index b6dc0cedc3d76bfc0b92ae4607bd6b0dc47b4dcb..37158d41dacda09b9444f8518fea5ac2c229004c 100644 --- a/Geo/MHexahedron.cpp +++ b/Geo/MHexahedron.cpp @@ -213,6 +213,7 @@ const JacobianBasis* MHexahedron::getJacobianFuncSpace(int o) const if ((nv == 0) && (o == -1)) { switch (order) { + case 0: return JacobianBasis::find(MSH_HEX_1); case 1: return JacobianBasis::find(MSH_HEX_8); case 2: return JacobianBasis::find(MSH_HEX_20); case 3: return JacobianBasis::find(MSH_HEX_56); @@ -227,6 +228,7 @@ const JacobianBasis* MHexahedron::getJacobianFuncSpace(int o) const } else { switch (order) { + case 0: return JacobianBasis::find(MSH_HEX_1); case 1: return JacobianBasis::find(MSH_HEX_8); case 2: return JacobianBasis::find(MSH_HEX_27); case 3: return JacobianBasis::find(MSH_HEX_64); diff --git a/Numeric/nodalBasis.cpp b/Numeric/nodalBasis.cpp index ada63ee20170611b20d7436f777ea512d14c4bd9..1065e813f2f1abfdc94f2155e0c03bcc12ce6547 100644 --- a/Numeric/nodalBasis.cpp +++ b/Numeric/nodalBasis.cpp @@ -1463,6 +1463,7 @@ nodalBasis::nodalBasis(int tag) case MSH_PRI_198 : parentType = TYPE_PRI; order = 7; serendip = true; break; case MSH_PRI_258 : parentType = TYPE_PRI; order = 8; serendip = true; break; case MSH_PRI_326 : parentType = TYPE_PRI; order = 9; serendip = true; break; + case MSH_HEX_1 : parentType = TYPE_HEX; order = 0; serendip = false; break; case MSH_HEX_8 : parentType = TYPE_HEX; order = 1; serendip = false; break; case MSH_HEX_27 : parentType = TYPE_HEX; order = 2; serendip = false; break; case MSH_HEX_64 : parentType = TYPE_HEX; order = 3; serendip = false; break; diff --git a/Numeric/nodalBasis.h b/Numeric/nodalBasis.h index 4584bba32e9d8f7565361f0fabd249b974635898..19b45a7ad8145d92081d6654120e55c08519d968 100644 --- a/Numeric/nodalBasis.h +++ b/Numeric/nodalBasis.h @@ -150,6 +150,7 @@ inline int nodalBasis::getTag(int parentTag, int order, bool serendip) break; case TYPE_HEX : switch(order) { + case 0 : return MSH_HEX_1; case 1 : return MSH_HEX_8; case 2 : return serendip ? MSH_HEX_20 : MSH_HEX_27; case 3 : return serendip ? MSH_HEX_56 : MSH_HEX_64;