Salome HOME
remplacement de print et corrections mineures
authorPaul RASCLE <paul.rascle@edf.fr>
Fri, 29 Aug 2014 13:11:49 +0000 (15:11 +0200)
committerPaul RASCLE <paul.rascle@edf.fr>
Fri, 29 Aug 2014 13:11:49 +0000 (15:11 +0200)
src/Tools/blocFissure/CasTests/execution_Cas.py
src/Tools/blocFissure/gmu/creeZoneDefautMaillage.py
src/Tools/blocFissure/gmu/fusionMaillageAttributionDefaut.py
src/Tools/blocFissure/gmu/insereFissureLongue.py
src/Tools/blocFissure/gmu/listOfExtraFunctions.py
src/Tools/blocFissure/gmu/peauInterne.py
src/Tools/blocFissure/gmu/quadranglesToShapeNoCorner.py

index 138aebf..6334844 100644 (file)
@@ -129,7 +129,7 @@ runall = False
 if runall:
   torun = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,]
 else: #prob 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27   
-  torun = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1,]
+  torun = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,]
   
 for i in range(len(problemes)):
   if torun[i]:
index 9fcb7d5..dee9bf8 100644 (file)
@@ -12,7 +12,7 @@ def creeZoneDefautMaillage(maillagesSains, shapeDefaut, tailleDefaut,
                            nomZones, coordsNoeudsFissure):
   """
   Identification de la zone à remailler, opérations sur le maillage
-  de l'objet sain
+  de l'objet sain.
   La zone à remailler est définie à partir d'un objet géométrique
   ou à partir d'un jeu de points et d'une distance d'influence.
   @param maillagesSains : (le maillage de l'objet initial, booleen isHexa)
index d7736d2..89fef3a 100644 (file)
@@ -2,7 +2,7 @@
 """
 Created on Tue Jun 24 09:14:13 2014
 
-@author: I48174
+@author: I48174 (Olivier HOAREAU)
 """
 
 import logging
@@ -48,16 +48,19 @@ def fusionMaillageDefaut(maillageSain, maillageDefautCible, maillageInterneCible
         # A partir des lignes de la face,
         # on recrée un objet GEOM temporaire par filling.
         filling = geompy.MakeFilling(geompy.MakeCompound(setOfLines), 2, 5, 0.0001, 0.0001, 0, GEOM.FOM_Default, True)
-        geompy.addToStudy(filling, 'filling_{0}'.format(i + 1))
+        #logging.debug("face de filling")
+        #geompy.addToStudy(filling, 'filling_{0}'.format(i + 1))
         
-        tmpPartition = geompy.MakePartition([filling], [shapeDefaut], [], [], geompy.ShapeType["FACE"], 0, [], 0, True)
+        tmpPartition = geompy.MakePartition([filling], [shapeDefaut], [], [], geompy.ShapeType["FACE"], 0, [], 0)
         tmpExplodeRef = geompy.ExtractShapes(filling, geompy.ShapeType["EDGE"], True)
         tmpExplodeNum = geompy.ExtractShapes(tmpPartition, geompy.ShapeType["EDGE"], True)
         if len(tmpExplodeRef) == len(tmpExplodeNum):
+            logging.debug("face de filling non coupee")
             geompy.addToStudy(filling, "faceNonCoupee_{0}".format(i + 1))
             facesNonCoupees.append(filling)
             maillagesNonCoupes.append(listOfNewMeshes[i])
         else:
+            logging.debug("face de filling coupee")
             geompy.addToStudy(filling, "faceCoupee_{0}".format(i + 1))
             facesCoupees.append(filling)
             maillagesCoupes.append(listOfNewMeshes[i])
index ec8307c..8f95158 100644 (file)
@@ -79,7 +79,7 @@ def insereFissureLongue(geometriesSaines, maillagesSains,
   facePorteFissure =  shapeDefaut
   WirePorteFondFissure = wiretube
   fillingFaceExterne = facesDefaut[0]
-  print fillingFaceExterne
+  logging.debug("fillingFaceExterne %s", fillingFaceExterne)
   geompy.addToStudy(fillingFaceExterne, "fillingFaceExterne")
   edgesFilling = geompy.ExtractShapes(fillingFaceExterne, geompy.ShapeType["EDGE"], False)
 
index 5353962..fbdd5cf 100644 (file)
@@ -2,7 +2,7 @@
 """
 Created on Mon Jun 23 14:49:36 2014
 
-@author: I48174
+@author: I48174 (Olivier HOAREAU)
 """
 
 import logging
@@ -14,10 +14,11 @@ def lookForCorner(maillageAScanner):
     """ Cette fonction permet de scanner la liste de noeuds qui composent le
         maillage passé en paramètre. On recherche un ou plusieurs coins, ce
         qui implique les caractéristiques suivantes:
-            - le noeud doit appartenir au moins à trois éléments distinctes
-            - chaque élément doit appartenir à un ensemble distincte
+            - le noeud doit appartenir au moins à trois éléments distincts
+            - chaque élément doit appartenir à un ensemble distinct
         La fonction renvoie une liste de coins par l'intermédiaire de l'IDs
-        chaque noeud. La liste contient en général au maximum deux coins. """
+        chaque noeud. La liste contient en général au maximum deux coins.
+    """
     
     logging.info("start")
     
@@ -27,19 +28,16 @@ def lookForCorner(maillageAScanner):
         # On parcours la liste de noeuds
         listOfElements = maillageAScanner.GetNodeInverseElements(ND)
         if len(listOfElements) >=3:
-            # On teste le nombre d'éléments qui partage le même noeud
+            # On teste le nombre d'éléments qui partagent le même noeud
             # --- Filtre selon le critère 'coplanar' --- #
             listOfCriterion = [smesh.GetCriterion(SMESH.FACE, SMESH.FT_CoplanarFaces, \
-            SMESH.FT_Undefined, elem, SMESH.FT_Undefined, SMESH.FT_Undefined, 30) \
-            for elem in listOfElements]
-            listOfFilters = [smesh.GetFilterFromCriteria([criteria]) \
-            for criteria in listOfCriterion]
-            # ------------------------------------------ #
-            listOfSets = [maillageAScanner.GetIdsFromFilter(filter) \
-            for filter in listOfFilters]
+                               SMESH.FT_Undefined, elem, SMESH.FT_Undefined, SMESH.FT_Undefined, 30) \
+                               for elem in listOfElements]
+            listOfFilters = [smesh.GetFilterFromCriteria([criteria]) for criteria in listOfCriterion]
+            listOfSets = [maillageAScanner.GetIdsFromFilter(filter) for filter in listOfFilters]
             if listOfSets.count(listOfSets[0]) == len(listOfSets):
                 # Si toutes les listes d'éléments sont similaires, on retourne
-                # au début pour éviter de travailler sur des éléments inutils.
+                # au début pour éviter de travailler sur des éléments inutiles.
                 # Exemple : un noeud appartenant à 4 éléments sur la même face.
                 continue
             for s in listOfSets:
@@ -56,7 +54,7 @@ def createLinesFromMesh(maillageSupport):
     
     """ Cette fonction permet de générer une liste de lignes à partir du 
         maillage support passé en paramètre. On démarre à partir d'un coin
-        simple et on parcourt tout les noeuds pour former un ligne. Soit la
+        simple et on parcourt tout les noeuds pour former une ligne. Soit la
         figure ci-dessous :
             
             1_____4_____7    On part du coin N1, et on cherche les noeuds
@@ -69,7 +67,8 @@ def createLinesFromMesh(maillageSupport):
             |     |     |    dernière ligne, à savoir le noeud N9, on considère
             3_____6_____9    que toutes les lignes sont créées.
             
-        La fonction retourne une liste de lignes utilisées par la suite. """
+        La fonction retourne une liste de lignes utilisées par la suite.
+    """
     
     logging.info("start")
     
@@ -173,7 +172,8 @@ def createNewMeshesFromCorner(maillageSupport, listOfCorners):
     """ Cette fonction permet de générer un nouveau maillage plus facile à
         utiliser. On démarre d'un coin et on récupère les trois éléments
         auquel le noeud appartient. Grâce à un filtre 'coplanar' sur les trois
-        éléments, on peut générer des faces distinctes. """
+        éléments, on peut générer des faces distinctes.
+    """
     
     logging.info("start")
     
@@ -184,9 +184,8 @@ def createNewMeshesFromCorner(maillageSupport, listOfCorners):
         for i, elem in enumerate(elems):
             # --- Filtre selon le critère 'coplanar' --- #
             critere = smesh.GetCriterion(SMESH.FACE, SMESH.FT_CoplanarFaces, \
-            SMESH.FT_Undefined, elem, SMESH.FT_Undefined, SMESH.FT_Undefined, 30)
+                                         SMESH.FT_Undefined, elem, SMESH.FT_Undefined, SMESH.FT_Undefined, 30)
             filtre = smesh.GetFilterFromCriteria([critere])
-            # ------------------------------------------ #
             grp = maillageSupport.GroupOnFilter(SMESH.FACE, 'grp', filtre)
             # On copie le maillage en fonction du filtre
             msh = smesh.CopyMesh(grp, 'new_{0}'.format(i + 1), False, True)
index 3899a72..b191504 100644 (file)
@@ -21,7 +21,7 @@ def peauInterne(fichierMaillage, shapeDefaut, nomZones):
   groups = maillageSain.GetGroups()
   zoneDefaut = None
   for grp in groups:
-    #print " ",grp.GetName()
+    logging.debug("groupe %s",grp.GetName())
     if grp.GetName() == nomZones + "_vol":
       zoneDefaut = grp
       break
@@ -47,9 +47,9 @@ def peauInterne(fichierMaillage, shapeDefaut, nomZones):
   
   maillageDefautCible = smesh.CopyMesh(zoneDefaut_skin, 'maillageCible', 0, 0)
   listOfCorner = lookForCorner(maillageDefautCible)
-  print "listOfCorner = ", listOfCorner
+  logging.debug("listOfCorner = %s", listOfCorner)
   if len(listOfCorner) > 0:
-      print " /!\ SUITE DU SCRIPT EN CONSTRUCTION /!\\"
+      logging.info("présence de coins à la surface externe de la zone à reconstruire")
       zoneDefaut_skin, internalBoundary = fusionMaillageDefaut(maillageSain, maillageDefautCible, internalBoundary, zoneDefaut_skin, shapeDefaut, listOfCorner)
 
   return maillageSain, internalBoundary, zoneDefaut, zoneDefaut_skin, zoneDefaut_internalFaces, zoneDefaut_internalEdges
index 15b74a5..a305a05 100644 (file)
@@ -50,7 +50,6 @@ def quadranglesToShapeNoCorner(meshQuad, shapeFissureParams, centreFondFiss):
     idStart = idNode # le noeud de coin
     elemStart = elem # l'élément quadrangle au coin
     xyz = meshQuad.GetNodeXYZ(idStart)
-    print "xyz = ", xyz
     logging.debug("idStart %s, coords %s", idStart, str(xyz))
   
     nodelines =[] # on va constituer une liste de lignes de points
@@ -128,9 +127,9 @@ def quadranglesToShapeNoCorner(meshQuad, shapeFissureParams, centreFondFiss):
       logging.debug("nodeline %s", nodeline)
       logging.debug("elemline %s", elemline)
       nodelines.append(nodeline)
-    print "nodelines = ", nodelines
+    logging.debug("nodelines = %s", nodelines)
     longueur = [len(val) for val in nodelines]
-    print "longueur = ", longueur
+    logging.debug("longueur = %s", longueur)
     # on a constitué une liste de lignes de points connexes
     logging.debug("dimensions [%s, %s]", len(nodelines),  len(nodeline))   
     
@@ -305,7 +304,7 @@ def quadranglesToShapeNoCorner(meshQuad, shapeFissureParams, centreFondFiss):
       noeuds_bords.append(noeudsBords)
       idFilToCont.append(icont)
       bords_Partages += bordsPartages
-      print "bords_Partages = ", bords_Partages
+      logging.debug("bords_Partages = %s", bords_Partages)
       pass # --- loop on mats
     # --- reconstruction des faces continues à partir des listes de noeuds
     #     les courbes doivent suivre la courbure pour éviter les oscillations