]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
Tri dans le repérage des arêtes de peau
authorGérald NICOLAS <gerald.nicolas@edf.fr>
Mon, 19 Apr 2021 13:53:53 +0000 (15:53 +0200)
committerGérald NICOLAS <gerald.nicolas@edf.fr>
Tue, 27 Apr 2021 06:43:49 +0000 (08:43 +0200)
src/Tools/blocFissure/gmu/construitFissureGenerale.py
src/Tools/blocFissure/gmu/construitFissureGenerale_b.py
src/Tools/blocFissure/gmu/identifieEdgesPeau.py
src/Tools/blocFissure/gmu/identifieEdgesPeau_a.py
src/Tools/blocFissure/gmu/identifieEdgesPeau_b.py
src/Tools/blocFissure/gmu/identifieEdgesPeau_c.py
src/Tools/blocFissure/gmu/identifieElementsGeometriquesPeau.py
src/Tools/blocFissure/gmu/mailleFacesFissure.py
src/Tools/blocFissure/gmu/mailleFacesPeau.py

index a2aa580c469f0a96d99055c81ba768d2c06db3ec..90e0f60f7484659b7b4bc5ee6e18721cd54d6f00 100644 (file)
@@ -132,8 +132,8 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \
 
   # --- inventaire des faces de peau coupées par la fissure
 
-  ptEdgeFond, fsFissuExt, edFisExtPe, edFisExtPi, \
-    facesPeaux, edCircPeau, ptCircPeau, gpedgeBord, gpedgeVifs, edFissPeau, ptFisExtPi, \
+  ptEdgeFond, fsFissuExt, edFisExtPe, edFisExtPi, facesPeaux, edCircPeau, \
+    gpedgeBord, gpedgeVifs, edFissPeau, ptFisExtPi, \
     edgeRadFacePipePeau, facesPipePeau = \
     construitFissureGenerale_b( partitionsPeauFissFond, \
                                 edgesPipeFiss, edgesFondFiss, wireFondFiss, aretesVivesC, \
@@ -201,7 +201,7 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \
   # --- maillage faces de peau
 
   meshesFacesPeau = mailleFacesPeau(partitionsPeauFissFond, idFillingFromBout, facesDefaut, \
-                                    facesPeaux, edCircPeau, ptCircPeau, gpedgeBord, gpedgeVifs, edFissPeau, \
+                                    facesPeaux, edCircPeau, gpedgeBord, gpedgeVifs, edFissPeau, \
                                     bordsLibres, grpEdgesPeauFissureExterne, grpAretesVives, \
                                     edgesCircPipeGroup, dmoyen, rayonPipe, nbsegRad, \
                                     mailleur, nro_cas)
index bf2c5d4fdec95580b9b9069a167275ee66880825..b96ce6386360376ba1ecacd69aa8a4fe5faf90cb 100644 (file)
@@ -50,7 +50,6 @@ pour chaque face de peau : 0, 1 ou 2 faces débouchante du fond de fissure
   edFisExtPi = [ list() for _ in range(nbFacesFilling)] # pour chaque face [edge commun au pipe des faces de fissure externes]
   facesPeaux = [None for _ in range(nbFacesFilling)] # pour chaque face : la face de peau finale a mailler (percée des faces débouchantes)
   edCircPeau = [ list() for _ in range(nbFacesFilling)] # pour chaque face de peau : [subshape edge circulaire aux débouchés du pipe]
-  ptCircPeau = [ list() for _ in range(nbFacesFilling)] # pour chaque face de peau : [subshape point sur edge circulaire aux débouchés du pipe]
   gpedgeBord = [None for _ in range(nbFacesFilling)] # pour chaque face de peau : groupe subshape des edges aux bords liés à la partie saine
   gpedgeVifs = [None for _ in range(nbFacesFilling)] # pour chaque face de peau : groupes subshape des edges aux arêtes vives entre fillings
   edFissPeau = [ list() for _ in range(nbFacesFilling)] # pour chaque face de peau : [subshape edge en peau des faces de fissure externes]
@@ -70,7 +69,6 @@ pour chaque face de peau : 0, 1 ou 2 faces débouchante du fond de fissure
       edFisExtPi[ifil] = dataPPFF['edgesFissExtPipe']
       facesPeaux[ifil] = dataPPFF['facePeau']
       edCircPeau[ifil] = dataPPFF['edgesCircPeau']
-      ptCircPeau[ifil] = dataPPFF['verticesCircPeau']
       gpedgeBord[ifil] = dataPPFF['groupEdgesBordPeau']
       gpedgeVifs[ifil] = dataPPFF['bordsVifs']
       edFissPeau[ifil] = dataPPFF['edgesFissurePeau']
@@ -87,5 +85,5 @@ pour chaque face de peau : 0, 1 ou 2 faces débouchante du fond de fissure
     geomPublish(initLog.debug, avc, name, nro_cas)
 
   return ptEdgeFond, fsFissuExt, edFisExtPe, edFisExtPi, facesPeaux, edCircPeau, \
-         ptCircPeau, gpedgeBord, gpedgeVifs, edFissPeau, ptFisExtPi, \
+         gpedgeBord, gpedgeVifs, edFissPeau, ptFisExtPi, \
          edgeRadFacePipePeau, facesPipePeau
index c4cbe095cebdb760b4ebe8d6170a758314a0f612..f782d8d7c6a39acfe9619bb556dcac415e1abb10 100644 (file)
@@ -57,6 +57,6 @@ def identifieEdgesPeau(edgesFissExtPipe, verticesPipePeau, facePeau, facesPeauSo
   # ---  edges de la face de peau partagées avec la face de fissure
   edgesFissurePeau = identifieEdgesPeau_c(verticesPipePeau, facePeau, edgesListees, verticesCircPeau)
 
-  return (endsEdgeFond, facesPipePeau, edgeRadFacePipePeau,
-          edgesCircPeau, verticesCircPeau, groupEdgesBordPeau,
+  return (endsEdgeFond, facesPipePeau, edgeRadFacePipePeau, \
+          edgesCircPeau, groupEdgesBordPeau, \
           bordsVifs, edgesFissurePeau, aretesVivesCoupees)
index b13a9ec492ddf42a771a2454fbce054ab1e4b20c..869b178949204115865779d1675211824072d8b0 100644 (file)
@@ -32,6 +32,7 @@ def identifieEdgesPeau_a(edgesFissExtPipe, facePeau, facesPeauSorted, edgesPeauF
                         nro_cas=None):
   """Identification précise des edges et disques des faces de peau selon index extremité fissure"""
   logging.info('start')
+  logging.info("Traitement des arêtes de '%s'", facePeau.GetName())
 
   for face in facesPeauSorted[:-1]: # la ou les faces débouchantes, pas la grande face de peau
     logging.debug("examen face debouchante circulaire")
@@ -46,7 +47,6 @@ def identifieEdgesPeau_a(edgesFissExtPipe, facePeau, facesPeauSorted, edgesPeauF
         sharedVertices = geompy.GetSharedShapesMulti([face, edgesPeauFondIn[j_aux_0]], geompy.ShapeType["VERTEX"])
         nameFace = "facePipePeau_{}".format(i_aux)
         nameVert = "endEdgeFond_{}".format(i_aux)
-        nameEdge = "edgeRadFacePipePeau_{}".format(i_aux)
         facesPipePeau[i_aux] = face
         endsEdgeFond[i_aux] = sharedVertices[0]
         geomPublish(initLog.debug, face, nameFace, nro_cas)
@@ -55,29 +55,30 @@ def identifieEdgesPeau_a(edgesFissExtPipe, facePeau, facesPeauSorted, edgesPeauF
         for edge in edgesFace:
           if geompy.MinDistance(edge, sharedVertices[0]) < 1e-3:
             edgeRadFacePipePeau[i_aux] = edge
+            nameEdge = "edgeRadFacePipePeau_{}".format(i_aux)
             geomPublish(initLog.debug, edge, nameEdge, nro_cas)
             break
 
   # --- edges elliptiques de la face de peau et points de jonction de la face externe de fissure
-  logging.info("Traitement des arêtes de '%s'", facePeau.GetName())
-  edgesCircPeau = [None for _ in range(len(facesPipePeau))]
-  verticesCircPeau = [None for _ in range(len(facesPipePeau))]
+  logging.info('Nombre de faces : len(facesPipePeau) = %d', len(facesPipePeau))
+  edgesCircPeau = list()
+  verticesCircPeau = list()
   for i_aux,fcirc in enumerate(facesPipePeau):
-    logging.info(". Partage avec la face '%s'", fcirc.GetName())
+    # Arêtes
     edges = geompy.GetSharedShapesMulti([facePeau, fcirc], geompy.ShapeType["EDGE"])
-    grpEdgesCirc = geompy.CreateGroup(facePeau, geompy.ShapeType["EDGE"])
-    geompy.UnionList(grpEdgesCirc, edges)
-    edgesCircPeau[i_aux] = grpEdgesCirc
-    name = "edgeCirc_{}".format(i_aux)
-    geomPublishInFather(initLog.always, facePeau, grpEdgesCirc, name)
+    groupe = geompy.CreateGroup(facePeau, geompy.ShapeType["EDGE"])
+    geompy.UnionList(groupe, edges)
+    geomPublishInFather(initLog.always, facePeau, groupe, "edgeCirc_{}".format(i_aux))
+    edgesCircPeau.append(groupe)
     edgesListees = edgesListees + edges
+    # Sommets
     vertices = geompy.GetSharedShapesMulti([facePeau, fcirc], geompy.ShapeType["VERTEX"])
-    grpVertCircPeau = geompy.CreateGroup(facePeau, geompy.ShapeType["VERTEX"])
-    geompy.UnionList(grpVertCircPeau, vertices)
-    verticesCircPeau[i_aux] = grpVertCircPeau
-    name = "pointEdgeCirc_{}".format(i_aux)
-    geomPublishInFather(initLog.info, facePeau, grpVertCircPeau, name)
+    groupe = geompy.CreateGroup(facePeau, geompy.ShapeType["VERTEX"])
+    geompy.UnionList(groupe, vertices)
+    geomPublishInFather(initLog.info, facePeau, groupe, "point(s)EdgeCirc_{}".format(i_aux))
+    verticesCircPeau.append(groupe)
 
-  logging.info('==> Nombre de sommets : len(verticesCircPeau) = %d', len(verticesCircPeau))
+  logging.info("==> Nombre de groupes d'arêtes   : len(edgesCircPeau)    = %d", len(edgesCircPeau))
+  logging.info("==> Nombre de groupes de sommets : len(verticesCircPeau) = %d", len(verticesCircPeau))
 
   return edgesCircPeau, verticesCircPeau
index 3044d61dedb0b1fcbe48222283f15967c73465c6..bdde0322ba8b8dfcacbbf58536489466e4229433 100644 (file)
@@ -32,7 +32,9 @@ def identifieEdgesPeau_b(facePeau, edgesListees, \
   """edges de bord de la face de peau"""
   logging.info('start')
 
+  # Liste des arêtes de bord
   edgesFilling = geompy.ExtractShapes(fillingFaceExterne, geompy.ShapeType["EDGE"], False)
+  logging.info('Détermination des arêtes de bord à partir des %d arêtes de fillingFaceExterne', len(edgesFilling))
   edgesBords = list()
   for i_aux, edge in enumerate(edgesFilling):
     edgepeau = geompy.GetInPlace(facePeau, edge)
@@ -42,18 +44,19 @@ def identifieEdgesPeau_b(facePeau, edgesListees, \
     if geompy.ShapeInfo(edgepeau)['EDGE'] > 1:
       logging.debug("  EDGES multiples")
       l_edges = geompy.ExtractShapes(edgepeau, geompy.ShapeType["EDGE"], False)
-      edgesBords += l_edges
-      edgesListees += l_edges
+      edgesBords.extend(l_edges)
+      edgesListees.extend(l_edges)
     else:
       logging.debug("  EDGE")
       edgesBords.append(edgepeau)
       edgesListees.append(edgepeau)
+  logging.info('==> Nombre d arêtes de bord : len(edgesBords) = %d', len(edgesBords))
 
   groupEdgesBordPeau = geompy.CreateGroup(facePeau, geompy.ShapeType["EDGE"])
   geompy.UnionList(groupEdgesBordPeau, edgesBords)
   bordsVifs = None
   if aretesVivesC is not None:
-    logging.debug("identification des bords vifs par GetInPlace")
+    logging.info("identification des bords vifs par GetInPlace")
     bordsVifs = geompy.GetInPlace(facePeau, aretesVivesC)
     if bordsVifs is None:
       logging.debug("pas d'identification des bords vifs par GetInPlace: test par distance")
@@ -69,7 +72,8 @@ def identifieEdgesPeau_b(facePeau, edgesListees, \
           if ( dist < 0.001 ):
             edvifs.append(edge)
             break
-      if len(edvifs) >0:
+      if edvifs:
+        logging.info('==> Nombre d arêtes de bord vif : len(edvifs) = %d', len(edvifs))
         bordsVifs = geompy.CreateGroup(facePeau,geompy.ShapeType["EDGE"])
         for edge in edvifs:
           geompy.AddObject(bordsVifs, geompy.GetSubShapeID(facePeau, edge))
index afe027f1fb0b5c85da687baee92cd7ee95d41e42..233e3c9a86cfe7fc92ee375ed72f04d4f5e88112 100644 (file)
@@ -33,38 +33,39 @@ def identifieEdgesPeau_c(verticesPipePeau, facePeau, edgesListees, verticesCircP
   logging.info('start')
   logging.info("Traitement des arêtes de '%s'", facePeau.GetName())
   logging.info('Nombre de sommets : len(verticesPipePeau) = %d', len(verticesPipePeau))
-  #logging.info('verticesPipePeau = %s', verticesPipePeau)
-  logging.info('Nombre de sommets : len(verticesCircPeau) = %d', len(verticesCircPeau))
-  #logging.info('verticesCircPeau = %s', verticesCircPeau)
 
   edgesPeau = geompy.ExtractShapes(facePeau, geompy.ShapeType["EDGE"], False)
   logging.info('Nombre total d arêtes de la peau : len(edgesPeau) = %d', len(edgesPeau))
 
   edges = substractSubShapes(facePeau, edgesPeau, edgesListees)
 
-  edgesFissurePeau = list()
-# --- au moins une extrémité du pipe sur cette face de peau
+  l_edge_cercle = list()
+# --- au moins une extrémité du pipe sur cette face de peau : arêtes sui les prenent toutes
   if verticesPipePeau:
-    # En premier, les edges associés aux extrémités du pipe
-    edgesFissurePeau = [None for _ in range(len(verticesCircPeau))]
-    for edge in edges:
-      for i_aux, vertex in enumerate(verticesCircPeau):
-        logging.info(".. distance %s", geompy.MinDistance(vertex, edge))
-        if ( ( geompy.MinDistance(vertex, edge) < 1.e-3 ) and ( edge not in edgesFissurePeau ) ):
-          edgesFissurePeau[i_aux] = edge
-          name = "edgeFissurePeau_{}".format(i_aux)
-          logging.info("... entrée de %s à la place %d", edge, i_aux)
-          geomPublishInFather(initLog.debug, facePeau, edge, name)
-    # Ensuite, on ajoute les edges manquantes
+    i_aux = -1
     for edge in edges:
-      if edge not in edgesFissurePeau:
-        logging.info("... ajout")
-        edgesFissurePeau.append(edge)
+      for groupe in verticesCircPeau:
+        cercle = True
+        for id_vertex in geompy.GetObjectIDs(groupe):
+          vertex = geompy.GetSubShape(facePeau, [id_vertex])
+          distance = geompy.MinDistance(vertex, edge)
+          logging.info(".. distance %s", distance)
+          if ( distance > 1.e-3 ):
+            cercle = False
+            break
+        if cercle:
+          logging.info("... entrée de %s dans l_edge_cercle", edge)
+          l_edge_cercle.append(edge)
+          i_aux += 1
+          name = "edgeFissurePeauCercle_{}".format(i_aux)
+          geomPublishInFather(initLog.info, facePeau, edge, name)
 
-  else:
-    for i_aux, edge in enumerate(edges):
+# --- Les arêtes n'appartenant pas aux cercles
+  edgesFissurePeau = list()
+  for i_aux, edge in enumerate(edges):
+    if edge not in l_edge_cercle:
       edgesFissurePeau.append(edge)
-      name = "edgeFissurePeau{}".format(i_aux)
+      name = "edgeFissurePeau_{}".format(i_aux)
       geomPublishInFather(initLog.debug, facePeau, edge, name)
 
   logging.info('==> Nombre d arêtes : len(edgesFissurePeau) = %d', len(edgesFissurePeau))
index e585993b7a67f0c9e607ebfcada1efc55846ae30..3e32edb8c943ee7b1308929c5ab97d13c4558667 100644 (file)
@@ -27,10 +27,9 @@ from .trouveEdgesFissPeau import trouveEdgesFissPeau
 from .identifieFacesPeau import identifieFacesPeau
 from .identifieEdgesPeau import identifieEdgesPeau
 
-def identifieElementsGeometriquesPeau(ifil, partitionPeauFissFond, edgesPipeFiss, \
-                                      edgesFondFiss, wireFondFiss, aretesVivesC, \
-                                      facesDefaut, centreFondFiss, rayonPipe, \
-                                      aretesVivesCoupees, \
+def identifieElementsGeometriquesPeau(ifil, partitionPeauFissFond, \
+                                      edgesPipeFiss, edgesFondFiss, wireFondFiss, aretesVivesC, \
+                                      facesDefaut, centreFondFiss, rayonPipe, aretesVivesCoupees, \
                                       nro_cas=None):
   """Identification des éléments géométriques de la face de peau"""
   logging.info('start')
@@ -69,7 +68,8 @@ def identifieElementsGeometriquesPeau(ifil, partitionPeauFissFond, edgesPipeFiss
 
   # --- identification précise des edges et disques des faces de peau selon index extremité fissure
 
-  (endsEdgeFond, facesPipePeau, edgeRadFacePipePeau, edgesCircPeau, verticesCircPeau, groupEdgesBordPeau, \
+  (endsEdgeFond, facesPipePeau, edgeRadFacePipePeau, \
+  edgesCircPeau, groupEdgesBordPeau, \
   bordsVifs, edgesFissurePeau, aretesVivesCoupees) = \
                                               identifieEdgesPeau(edgesFissExtPipe, verticesPipePeau, facePeau, facesPeauSorted, \
                                                                 edgesPeauFondIn, fillingFaceExterne, aretesVivesC, aretesVivesCoupees, \
@@ -83,7 +83,6 @@ def identifieElementsGeometriquesPeau(ifil, partitionPeauFissFond, edgesPipeFiss
                   edgesFissExtPipe    = edgesFissExtPipe,    # pour chaque face [edge commun au pipe des faces de fissure externes]
                   facePeau            = facePeau,            # pour chaque face : la face de peau finale a mailler (percee des faces débouchantes)
                   edgesCircPeau       = edgesCircPeau,       # pour chaque face de peau : [groupe subshapes edges circulaires aux débouchés du pipe]
-                  verticesCircPeau    = verticesCircPeau,    # pour chaque face de peau : [groupe subshapes points sur edges circulaires aux débouchés du pipe]
                   groupEdgesBordPeau  = groupEdgesBordPeau,  # pour chaque face de peau : groupe subshape des edges aux bords liés à la partie saine
                   bordsVifs           = bordsVifs,           # pour chaque face de peau : groupe subshape des edges aux bords correspondant à des arêtes vives
                   edgesFissurePeau    = edgesFissurePeau,    # pour chaque face de peau : [subshape edge en peau des faces de fissure externes]
index 546525af9e7987dc1dce048d7396fe9c6389c28e..4563862357a3eb939580a7b76a9a0489d0d18439 100644 (file)
@@ -60,7 +60,8 @@ def mailleFacesFissure(faceFissureExterne, \
     hypo2d.SetQuadAllowed( 0 )
   putName(hypo2d, "faceFiss", i_pref=nro_cas)
 
-  logging.info("UseExisting1DElements depuis '%s'", edgesPipeFissureExterneC.GetName())
+  logging.info("UseExisting1DElements sur la géométrie '%s' avec les mailles de '%s'", \
+                edgesPipeFissureExterneC.GetName(), edgeFaceFissGroup.GetName())
   algo1d = meshFaceFiss.UseExisting1DElements(geom=edgesPipeFissureExterneC)
   putName(algo1d.GetSubMesh(), "edgeFissPeau", i_pref=nro_cas)
   hypo1d = algo1d.SourceEdges([ edgeFaceFissGroup ],0,0)
index 9e56f5815dfb0825375342b33cc02b8ed1abf641..f53859b711a8bc7ccfb026579b515d1ab4ff5a4a 100644 (file)
@@ -34,7 +34,7 @@ from . import initLog
 from .putName import putName
 
 def mailleFacesPeau(partitionsPeauFissFond, idFillingFromBout, facesDefaut, \
-                    facesPeaux, edCircPeau, ptCircPeau, gpedgeBord, gpedgeVifs, edFissPeau, \
+                    facesPeaux, edCircPeau, gpedgeBord, gpedgeVifs, edFissPeau, \
                     bordsLibres, grpEdgesPeauFissureExterne, grpAretesVives, \
                     edgesCircPipeGroup, dmoyen, rayonPipe, nbsegRad, \
                     mailleur="MeshGems", nro_cas=None):
@@ -91,13 +91,13 @@ def mailleFacesPeau(partitionsPeauFissFond, idFillingFromBout, facesDefaut, \
       # --- edges de bord de la face de filling
       filling = facesDefaut[ifil]
       edgesFilling = geompy.ExtractShapes(filling, geompy.ShapeType["EDGE"], False)
-      groupEdgesBordPeau = geompy.CreateGroup(filling, geompy.ShapeType["EDGE"])
-      geompy.UnionList(groupEdgesBordPeau, edgesFilling)
-      geomPublishInFather(initLog.always, filling, groupEdgesBordPeau, "EdgesBords", nro_cas)
+      gpedgeBord[ifil] = geompy.CreateGroup(filling, geompy.ShapeType["EDGE"])
+      geompy.UnionList(gpedgeBord[ifil], edgesFilling)
+      geomPublishInFather(initLog.always, filling, gpedgeBord[ifil], "EdgesBords", nro_cas)
 
       logging.info("UseExisting1DElements sur la géométrie '%s' avec les mailles de '%s'", \
-                    groupEdgesBordPeau.GetName(), bordsLibres.GetName())
-      algo1d = meshFacePeau.UseExisting1DElements(geom=groupEdgesBordPeau)
+                    gpedgeBord[ifil].GetName(), bordsLibres.GetName())
+      algo1d = meshFacePeau.UseExisting1DElements(geom=gpedgeBord[ifil])
       putName(algo1d.GetSubMesh(), "bordsLibres", ifil, nro_cas)
       hypo1d = algo1d.SourceEdges([ bordsLibres ],0,0)
       putName(hypo1d, "SourceEdges_{}".format(bordsLibres.GetName()), ifil, nro_cas)
@@ -105,21 +105,20 @@ def mailleFacesPeau(partitionsPeauFissFond, idFillingFromBout, facesDefaut, \
     else:
 
       logging.info("face de peau %d coupée par la fissure", ifil)
-      edgesCircPeau      = edCircPeau[ifil] # pour chaque face de peau : [subshape edge circulaire aux débouchés du pipe]
-      _                  = ptCircPeau[ifil] # pour chaque face de peau : [subshape point sur edge circulaire aux débouchés du pipe]
-      groupEdgesBordPeau = gpedgeBord[ifil] # pour chaque face de peau : groupe subshape des edges aux bords liés à la partie saine
-      bordsVifs          = gpedgeVifs[ifil] # pour chaque face de peau : groupe subshape des edges aux bords correspondant à des arêtes vives
-      edgesFissurePeau   = edFissPeau[ifil] # pour chaque face de peau : [subshape edge en peau des faces de fissure externes]
+      # edCircPeau[ifil] # pour chaque face de peau : [subshape edge circulaire aux débouchés du pipe]
+      # gpedgeBord[ifil] : pour chaque face de peau : groupe subshape des edges aux bords liés à la partie saine
+      # gpedgeVifs[ifil] : pour chaque face de peau : groupe subshape des edges aux bords correspondant à des arêtes vives
+      # edFissPeau[ifil] : pour chaque face de peau : [subshape edge en peau des faces de fissure externes]
 
       logging.info("UseExisting1DElements sur la géométrie '%s' avec les mailles de '%s'", \
-                    groupEdgesBordPeau.GetName(), bordsLibres.GetName())
-      algo1d = meshFacePeau.UseExisting1DElements(geom=groupEdgesBordPeau)
+                    gpedgeBord[ifil].GetName(), bordsLibres.GetName())
+      algo1d = meshFacePeau.UseExisting1DElements(geom=gpedgeBord[ifil])
       putName(algo1d.GetSubMesh(), "bordsLibres", ifil, nro_cas)
       hypo1d = algo1d.SourceEdges([ bordsLibres ],0,0)
       putName(hypo1d, "SourceEdges_{}".format(bordsLibres.GetName()), i_pref=nro_cas)
 
-      objet = geompy.MakeCompound(edgesFissurePeau)
-      geomPublishInFather(initLog.always, facePeau, objet, "edgesFissurePeau")
+      objet = geompy.MakeCompound(edFissPeau[ifil])
+      geomPublishInFather(initLog.always, facePeau, objet, "edFissPeau_{}".format(ifil))
       logging.info("UseExisting1DElements sur la géométrie '%s' avec les mailles de '%s'", \
                     objet.GetName(), grpEdgesPeauFissureExterne.GetName())
       algo1d = meshFacePeau.UseExisting1DElements(geom=objet)
@@ -127,15 +126,15 @@ def mailleFacesPeau(partitionsPeauFissFond, idFillingFromBout, facesDefaut, \
       hypo1d = algo1d.SourceEdges([ grpEdgesPeauFissureExterne ],0,0)
       putName(hypo1d, "SourceEdges_{}".format(grpEdgesPeauFissureExterne.GetName()), i_pref=nro_cas)
 
-      if bordsVifs is not None:
+      if gpedgeVifs[ifil] is not None:
         logging.info("UseExisting1DElements sur la géométrie '%s' avec les mailles de '%s'", \
-                      bordsVifs.GetName(), grpAretesVives.GetName())
-        algo1d = meshFacePeau.UseExisting1DElements(geom=bordsVifs)
-        putName(algo1d.GetSubMesh(), "bordsVifs", ifil, nro_cas)
+                      gpedgeVifs[ifil].GetName(), grpAretesVives.GetName())
+        algo1d = meshFacePeau.UseExisting1DElements(geom=gpedgeVifs[ifil])
+        putName(algo1d.GetSubMesh(), "gpedgeVifs", ifil, nro_cas)
         hypo1d = algo1d.SourceEdges([ grpAretesVives ],0,0)
         putName(hypo1d, "SourceEdges_{}".format(grpAretesVives.GetName()), i_pref=nro_cas)
 
-      for i_aux, edgeCirc in enumerate(edgesCircPeau):
+      for i_aux, edgeCirc in enumerate(edCircPeau[ifil]):
         texte = "i_aux = {}".format(i_aux)
         logging.info(texte)
         if edgeCirc is not None: