Salome HOME
Merge branch 'V9_9_BR'
[modules/smesh.git] / src / Tools / blocFissure / gmu / construitFissureGenerale.py
index 814dab4fcf9b5776fef1c23a90d20dc6cbe0bc9c..3f48bebac29f611922083c5e5e984d933de3c14f 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2014-2021  EDF R&D
+# Copyright (C) 2014-2022  EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -24,9 +24,6 @@ import logging
 from . import initLog
 
 import salome
-from salome.smesh import smeshBuilder
-import GEOM
-import SMESH
 
 from .geomsmesh import geompy
 from .geomsmesh import geomPublishInFather
@@ -57,10 +54,10 @@ from .construitFissureGenerale_c import construitFissureGenerale_c
 
 def construitFissureGenerale(shapesFissure, shapeFissureParams, \
                              maillageFissureParams, elementsDefaut, \
-                             step=-1, mailleur="MeshGems", nro_cas=None):
+                             mailleur="MeshGems", nro_cas=None):
   """procédure complète fissure générale"""
   logging.info('start')
-  logging.info("Usage du mailleur %s pour le cas n°%d", mailleur, nro_cas)
+  logging.info("Usage du mailleur %s pour le cas n°%s", mailleur, nro_cas)
 
   shapeDefaut       = shapesFissure[0] # faces de fissure, débordant
 
@@ -135,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, \
@@ -149,7 +146,7 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \
       identifieFacesEdgesFissureExterne(fsFissuExt, edFisExtPe, edFisExtPi, edgesPipeFiss, \
                                         nro_cas)
 
-  # --- preparation maillage du pipe :
+  # --- préparation maillage du pipe :
   #     - détections des points a respecter : jonction des edges/faces constituant la face de fissure externe au pipe
   #     - points sur les edges de fond de fissure et edges pipe/face fissure,
   #     - vecteurs tangents au fond de fissure (normal au disque maillé)
@@ -162,8 +159,7 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \
   # --- recherche des points en trop (externes au volume à remailler)
   #     - on associe chaque extrémité du pipe à une face filling
   #     - on part des disques aux extrémités du pipe
-  #     - pour chaque disque, on prend les vertices de géométrie,
-  #       on marque leur position relative à la face.
+  #     - pour chaque disque, on prend les vertices de géométrie on marque leur position relative à la face.
   #     - on s'arrete quand tous les noeuds sont dedans
 
   (idFillingFromBout, idisklim, idiskout) = elimineExtremitesPipe(ptEdgeFond, facesDefaut, centres, gptsdisks, nbsegCercle)
@@ -175,8 +171,8 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \
 
   # --- création des points du maillage du pipe sur la face de peau
 
-  (gptsdisks, idisklim) = creePointsPipePeau(listEdges, idFacesDebouchantes, idFillingFromBout, \
-                                             ptEdgeFond, ptFisExtPi, edCircPeau, gptsdisks, idisklim, nbsegRad)
+  gptsdisks = creePointsPipePeau(listEdges, idFacesDebouchantes, idFillingFromBout, \
+                                 ptEdgeFond, ptFisExtPi, edCircPeau, gptsdisks, idisklim, nbsegRad)
 
   # --- ajustement precis des points sur edgesPipeFissureExterneC
 
@@ -184,7 +180,7 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \
 
    # --- maillage effectif du pipe
 
-  (meshPipe, meshPipeGroups, edgesCircPipeGroup) =  \
+  (meshPipe, edgeFaceFissGroup, edgesCircPipeGroup) =  \
       construitMaillagePipe(gptsdisks, idisklim, nbsegCercle, nbsegRad, \
                              nro_cas)
 
@@ -199,13 +195,13 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \
   (meshFaceFiss, _, grpEdgesPeauFissureExterne, _) = \
       mailleFacesFissure(faceFissureExterne, \
                          edgesPipeFissureExterneC, edgesPeauFissureExterneC, \
-                         meshPipeGroups, areteFaceFissure, rayonPipe, nbsegRad, \
+                         edgeFaceFissGroup, areteFaceFissure, rayonPipe, nbsegRad, \
                          mailleur, nro_cas)
 
   # --- 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)
@@ -216,7 +212,8 @@ def construitFissureGenerale(shapesFissure, shapeFissureParams, \
   for mfpeau in meshesFacesPeau:
     listMeshes.append(mfpeau.GetMesh())
 
-  meshBoiteDefaut = smesh.Concatenate(listMeshes, 1, 1, 1e-05,False)
+  # Attention à la précision... 1.e-5 est trop exigeant. Il faudrait mettre une valeur en cohérence avec les tailles de mailles.
+  meshBoiteDefaut = smesh.Concatenate(listMeshes, 1, 1, 1.e-04)
   putName(meshBoiteDefaut, "boiteDefaut", i_pref=nro_cas)
 
 # Maillage complet