Salome HOME
Update by request of Nathalie GORE
[modules/smesh.git] / src / Tools / blocFissure / gmu / getStatsMaillageFissure.py
index 49a93052fc81a71cc91947d8557b24dc60aafc38..2f1a6813d2c4be4aeb0dedb24713c3390a021b52 100644 (file)
@@ -21,8 +21,6 @@
 
 import os
 import logging
-import SMESH
-
 
 def getStatsMaillageFissure(maillage, referencesMaillageFissure, maillageFissureParams):
   """"Statistiques maillage"""
@@ -52,8 +50,8 @@ def getStatsMaillageFissure(maillage, referencesMaillageFissure, maillageFissure
     ok_maillage = True
     with open(fichierStatMaillageFissure, "w") as fic_stat :
 
-      # Le nombre d'arêtes, de quadrangles ou d'hexaèdres doit être rigoureusement identique
-      for key in ('Entity_Quad_Edge', 'Entity_Quad_Quadrangle', 'Entity_Quad_Hexa'):
+      # Le nombre de quadrangles ou d'hexaèdres doit être rigoureusement identique
+      for key in ('Entity_Quad_Quadrangle', 'Entity_Quad_Hexa'):
         if d_resu[key] != referencesMaillageFissure[key]:
           text = "Ecart"
           ok_maillage = False
@@ -64,12 +62,14 @@ def getStatsMaillageFissure(maillage, referencesMaillageFissure, maillageFissure
         fic_stat.write(text+"\n")
         text_2 += "                                          {} = {}, \\\n".format(key,d_resu[key])
 
-      # Le nombre de noeuds, de triangles, de tétarèdres ou de pyramides peut varier du fait des algorithmes. On tolère 1% d'écart.
-      tolerance = 0.01
-      for key in ('Entity_Node', 'Entity_Quad_Triangle', 'Entity_Quad_Tetra', 'Entity_Quad_Pyramid', 'Entity_Quad_Penta'):
-        if (d_resu[key] < (1.0 - tolerance)*referencesMaillageFissure[key]) \
-        or (d_resu[key] > (1.0 + tolerance)*referencesMaillageFissure[key]):
-          text = "Ecart"
+      # Le nombre de noeuds, d'arêtes, de triangles, de tétraèdres ou de pyramides peut varier du fait des algorithmes. On tolère 5% d'écart.
+      tolerance = 0.05
+      for key in ('Entity_Node', 'Entity_Quad_Edge', 'Entity_Quad_Triangle', 'Entity_Quad_Tetra', 'Entity_Quad_Pyramid', 'Entity_Quad_Penta'):
+        if d_resu[key] == referencesMaillageFissure[key]:
+          text = "Valeur_OK"
+        elif (d_resu[key] < (1.0 - tolerance)*referencesMaillageFissure[key]) \
+          or (d_resu[key] > (1.0 + tolerance)*referencesMaillageFissure[key]):
+          text = "Ecart de plus de {}%".format(tolerance*100.)
           ok_maillage = False
         else:
           text = "Valeur_OK à moins de {}%".format(tolerance*100.)