diff --git a/Geo/MHexahedron.h b/Geo/MHexahedron.h index 42d4255956363c90599bcaf4f055d6c7fcf7804f..b128eb268011564b351873d76ec7863eaed826aa 100644 --- a/Geo/MHexahedron.h +++ b/Geo/MHexahedron.h @@ -538,6 +538,8 @@ class MHexahedronN : public MHexahedron { if(_order == 7 && _vs.size() + 8 == 80) return MSH_HEX_80; if(_order == 8 && _vs.size() + 8 == 92) return MSH_HEX_92; if(_order == 9 && _vs.size() + 8 == 104) return MSH_HEX_104; + + Msg::Error("no tag matches a p%d hexahedron with %d vertices", _order, 8+_vs.size()); return 0; } virtual int getNumFacesRep(); diff --git a/Geo/MLine.h b/Geo/MLine.h index 1cb90314eb26197eb84d8ad77358abf465098a8b..a4b9883bce2188e2cecc076735d34f8115cdfa96 100644 --- a/Geo/MLine.h +++ b/Geo/MLine.h @@ -202,6 +202,7 @@ class MLineN : public MLine { if(_vs.size() == 7) return MSH_LIN_9; if(_vs.size() == 8) return MSH_LIN_10; if(_vs.size() == 9) return MSH_LIN_11; + Msg::Error("no tag matches a line with %d vertices", 8+_vs.size()); return 0; } virtual void getNode(int num, double &u, double &v, double &w) const diff --git a/Geo/MPyramid.h b/Geo/MPyramid.h index 2403d674ea74acdef3776761766ad27fac476657..82cd1f1400d2cd7cf640f8648b94c6892082e5f4 100644 --- a/Geo/MPyramid.h +++ b/Geo/MPyramid.h @@ -292,22 +292,25 @@ class MPyramidN : public MPyramid { } virtual int getTypeForMSH() const { + if(_order == 1 && _vs.size() + 5 == 5) return MSH_PYR_5; + if(_order == 2 && _vs.size() + 5 == 14) return MSH_PYR_14; + if(_order == 3 && _vs.size() + 5 == 30) return MSH_PYR_30; + if(_order == 4 && _vs.size() + 5 == 55) return MSH_PYR_55; + if(_order == 5 && _vs.size() + 5 == 91) return MSH_PYR_91; + if(_order == 6 && _vs.size() + 5 == 140) return MSH_PYR_140; + if(_order == 7 && _vs.size() + 5 == 204) return MSH_PYR_204; + if(_order == 8 && _vs.size() + 5 == 285) return MSH_PYR_285; + if(_order == 9 && _vs.size() + 5 == 385) return MSH_PYR_385; + if(_order == 2 && _vs.size() + 5 == 13) return MSH_PYR_13; - if(_order == 2 && _vs.size() + 5 == 14) return MSH_PYR_14; if(_order == 3 && _vs.size() + 5 == 21) return MSH_PYR_21; - if(_order == 3 && _vs.size() + 5 == 30) return MSH_PYR_30; if(_order == 4 && _vs.size() + 5 == 29) return MSH_PYR_29; - if(_order == 4 && _vs.size() + 5 == 55) return MSH_PYR_55; if(_order == 5 && _vs.size() + 5 == 37) return MSH_PYR_37; - if(_order == 5 && _vs.size() + 5 == 91) return MSH_PYR_91; if(_order == 6 && _vs.size() + 5 == 45) return MSH_PYR_45; - if(_order == 6 && _vs.size() + 5 == 140) return MSH_PYR_140; - if(_order == 7 && _vs.size() + 5 == 53) return MSH_PYR_53; - if(_order == 7 && _vs.size() + 5 == 204) return MSH_PYR_204; - if(_order == 8 && _vs.size() + 5 == 61) return MSH_PYR_61; - if(_order == 8 && _vs.size() + 5 == 285) return MSH_PYR_285; - if(_order == 9 && _vs.size() + 5 == 69) return MSH_PYR_69; - if(_order == 9 && _vs.size() + 5 == 385) return MSH_PYR_385; + if(_order == 7 && _vs.size() + 5 == 53) return MSH_PYR_53; + if(_order == 8 && _vs.size() + 5 == 61) return MSH_PYR_61; + if(_order == 9 && _vs.size() + 5 == 69) return MSH_PYR_69; + Msg::Error("no tag matches a p%d pyramid with %d vertices", _order, 5+_vs.size()); return 0; } virtual void reverse() diff --git a/Geo/MQuadrangle.h b/Geo/MQuadrangle.h index 14e3bf691e6e20196ff77ee97c4e513d0f4a0479..18e1b6588644a42e2a8b463ae0ebd5e435589782 100644 --- a/Geo/MQuadrangle.h +++ b/Geo/MQuadrangle.h @@ -402,20 +402,27 @@ class MQuadrangleN : public MQuadrangle { } virtual int getTypeForMSH() const { - if(_order==1 && _vs.size() + 4 == 4) return MSH_QUA_4; - if(_order==2 && _vs.size() + 4 == 8) return MSH_QUA_8; - if(_order==2 && _vs.size() + 4 == 9) return MSH_QUA_9; - if(_order==3 && _vs.size() + 4 == 12) return MSH_QUA_12; - if(_order==3 && _vs.size() + 4 == 16) return MSH_QUA_16; - if(_order==4 && _vs.size() + 4 == 16) return MSH_QUA_16I; - if(_order==4 && _vs.size() + 4 == 25) return MSH_QUA_25; - if(_order==5 && _vs.size() + 4 == 20) return MSH_QUA_20; - if(_order==5 && _vs.size() + 4 == 36) return MSH_QUA_36; - if(_order==6 && _vs.size() + 4 == 49) return MSH_QUA_49; - if(_order==7 && _vs.size() + 4 == 64) return MSH_QUA_64; - if(_order==8 && _vs.size() + 4 == 81) return MSH_QUA_81; - if(_order==9 && _vs.size() + 4 == 100) return MSH_QUA_100; + if(_order== 1 && _vs.size() + 4 == 4) return MSH_QUA_4; + if(_order== 2 && _vs.size() + 4 == 9) return MSH_QUA_9; + if(_order== 3 && _vs.size() + 4 == 16) return MSH_QUA_16; + if(_order== 4 && _vs.size() + 4 == 25) return MSH_QUA_25; + if(_order== 5 && _vs.size() + 4 == 36) return MSH_QUA_36; + if(_order== 6 && _vs.size() + 4 == 49) return MSH_QUA_49; + if(_order== 7 && _vs.size() + 4 == 64) return MSH_QUA_64; + if(_order== 8 && _vs.size() + 4 == 81) return MSH_QUA_81; + if(_order== 9 && _vs.size() + 4 == 100) return MSH_QUA_100; if(_order==10 && _vs.size() + 4 == 121) return MSH_QUA_121; + + if(_order== 2 && _vs.size() + 4 == 8) return MSH_QUA_8; + if(_order== 3 && _vs.size() + 4 == 12) return MSH_QUA_12; + if(_order== 4 && _vs.size() + 4 == 16) return MSH_QUA_16I; + if(_order== 5 && _vs.size() + 4 == 20) return MSH_QUA_20; + if(_order== 6 && _vs.size() + 4 == 24) return MSH_QUA_24; + if(_order== 7 && _vs.size() + 4 == 28) return MSH_QUA_28; + if(_order== 8 && _vs.size() + 4 == 32) return MSH_QUA_32; + if(_order== 9 && _vs.size() + 4 == 36) return MSH_QUA_36I; + if(_order==10 && _vs.size() + 4 == 40) return MSH_QUA_40; + Msg::Error("no tag matches a p%d quadrangle with %d vertices", _order, 4+_vs.size()); return 0; } virtual void reverse() diff --git a/Geo/MTetrahedron.h b/Geo/MTetrahedron.h index 1d85eb99caa708b2ac1eca5789bac033ea5e4be2..30dedd43161afbc459d75f43dda3be8d1c4559af 100644 --- a/Geo/MTetrahedron.h +++ b/Geo/MTetrahedron.h @@ -363,6 +363,7 @@ class MTetrahedronN : public MTetrahedron { if(_order == 8 && _vs.size() + 4 == 165) return MSH_TET_165; if(_order == 9 && _vs.size() + 4 == 220) return MSH_TET_220; if(_order == 10 && _vs.size() + 4 == 286) return MSH_TET_286; + if(_order == 3 && _vs.size() + 4 == 16) return MSH_TET_16; if(_order == 4 && _vs.size() + 4 == 22) return MSH_TET_22; if(_order == 5 && _vs.size() + 4 == 28) return MSH_TET_28; @@ -371,6 +372,7 @@ class MTetrahedronN : public MTetrahedron { if(_order == 8 && _vs.size() + 4 == 46) return MSH_TET_46; if(_order == 9 && _vs.size() + 4 == 52) return MSH_TET_52; if(_order == 10 && _vs.size() + 4 == 58) return MSH_TET_58; + Msg::Error("no tag matches a p%d tetrahedron with %d vertices", _order, 4+_vs.size()); return 0; } virtual void reverse() diff --git a/Geo/MTriangle.h b/Geo/MTriangle.h index eaab6370c4cd3b555b3e12b267759711c6cf3c35..7670de8dbbe8a82ac3f972fa12d6bc9ce919fd26 100644 --- a/Geo/MTriangle.h +++ b/Geo/MTriangle.h @@ -321,17 +321,24 @@ class MTriangleN : public MTriangle { { if(_order == 1 && _vs.size() == 0) return MSH_TRI_3; if(_order == 2 && _vs.size() == 3) return MSH_TRI_6; - if(_order == 3 && _vs.size() == 6) return MSH_TRI_9; if(_order == 3 && _vs.size() == 7) return MSH_TRI_10; - if(_order == 4 && _vs.size() == 9) return MSH_TRI_12; if(_order == 4 && _vs.size() == 12) return MSH_TRI_15; - if(_order == 5 && _vs.size() == 12) return MSH_TRI_15I; if(_order == 5 && _vs.size() == 18) return MSH_TRI_21; if(_order == 6 && _vs.size() == 25) return MSH_TRI_28; if(_order == 7 && _vs.size() == 33) return MSH_TRI_36; if(_order == 8 && _vs.size() == 42) return MSH_TRI_45; if(_order == 9 && _vs.size() == 52) return MSH_TRI_55; if(_order ==10 && _vs.size() == 63) return MSH_TRI_66; + + if(_order == 3 && _vs.size() == 6) return MSH_TRI_9; + if(_order == 4 && _vs.size() == 9) return MSH_TRI_12; + if(_order == 5 && _vs.size() == 12) return MSH_TRI_15I; + if(_order == 6 && _vs.size() == 15) return MSH_TRI_18; + if(_order == 7 && _vs.size() == 18) return MSH_TRI_21I; + if(_order == 8 && _vs.size() == 21) return MSH_TRI_24; + if(_order == 9 && _vs.size() == 24) return MSH_TRI_27; + if(_order ==10 && _vs.size() == 27) return MSH_TRI_30; + Msg::Error("no tag matches a p%d triangle with %d vertices", _order, 3+_vs.size()); return 0; } virtual void reverse()