Salome HOME
Noms d'objets
authorGERALD NICOLAS <D68518@dsp0864451.atlas.edf.fr>
Tue, 6 Apr 2021 15:50:03 +0000 (17:50 +0200)
committerGERALD NICOLAS <D68518@dsp0864451.atlas.edf.fr>
Tue, 6 Apr 2021 15:50:03 +0000 (17:50 +0200)
src/Tools/blocFissure/gmu/calculePointsAxiauxPipe.py
src/Tools/blocFissure/gmu/construitMaillagePipe.py
src/Tools/blocFissure/gmu/creeZoneDefautDansObjetSain.py
src/Tools/blocFissure/gmu/fusionMaillageAttributionDefaut.py
src/Tools/blocFissure/gmu/genereElemsFissureElliptique.py
src/Tools/blocFissure/gmu/initLog.py
src/Tools/blocFissure/gmu/insereFissureLongue_g.py
src/Tools/blocFissure/gmu/mailleAretesEtJonction.py
src/Tools/blocFissure/gmu/peauInterne.py
src/Tools/blocFissure/gmu/quadranglesToShapeWithCorner.py
src/Tools/blocFissure/gmu/restreintFaceFissure.py

index 88718f042ba9dca53934d6de39c70066a9b6337f..4d9a7b5c897bf13d0ada1c2a34576dc30e513f59 100644 (file)
@@ -63,6 +63,7 @@ def calculePointsAxiauxPipe(edgesFondFiss, edgesIdByOrientation, facesDefaut,
   logging.info(texte)
 
   meshFondExt = smesh.Mesh(wireFondFiss)
+  putName(meshFondExt, "wireFondFiss", i_pref=nro_cas)
   algo1d = meshFondExt.Segment()
   hypo1d = algo1d.Adaptive(lgmin, lgmax, deflexion) # a ajuster selon la profondeur de la fissure
   putName(algo1d.GetSubMesh(), "wireFondFiss", i_pref=nro_cas)
@@ -95,14 +96,12 @@ def calculePointsAxiauxPipe(edgesFondFiss, edgesIdByOrientation, facesDefaut,
   origins = list()
   normals = list()
   for edu in usort:
-    ied = edu[1]
-    parametre = edu[2]
     vertcx = ptGSdic[edu]
-    norm = geompy.MakeTangentOnCurve(edgesFondFiss[ied], parametre)
+    norm = geompy.MakeTangentOnCurve(edgesFondFiss[edu[1]], edu[2])
     plan = geompy.MakePlane(vertcx, norm, 3.*rayonPipe)
     part = geompy.MakePartition([plan], [wirePipeFiss], list(), list(), geompy.ShapeType["VERTEX"], 0, list(), 0)
     liste = geompy.ExtractShapes(part, geompy.ShapeType["VERTEX"], True)
-    if len(liste) == 5: # 4 coins du plan plus intersection recherchée
+    if ( len(liste) == 5 ): # 4 coins du plan plus intersection recherchée
       for point in liste:
         if geompy.MinDistance(point, vertcx) < 1.1*rayonPipe: # les quatre coins sont plus loin
           vertpx = point
@@ -135,8 +134,8 @@ def calculePointsAxiauxPipe(edgesFondFiss, edgesIdByOrientation, facesDefaut,
 
     points = [vertcx] # les points du rayon de référence
     dist_0 = rayonPipe/float(nbsegRad)
-    for j in range(nbsegRad):
-      point = geompy.MakeTranslationVectorDistance(vertcx, vec1, (j+1)*dist_0)
+    for j_aux in range(nbsegRad):
+      point = geompy.MakeTranslationVectorDistance(vertcx, vec1, float(j_aux+1)*dist_0)
       points.append(point)
     gptdsk.append(points)
     point = geompy.MakeTranslationVectorDistance(vertcx, vec1, 1.5*rayonPipe)
@@ -144,15 +143,15 @@ def calculePointsAxiauxPipe(edgesFondFiss, edgesIdByOrientation, facesDefaut,
     raydisks[0].append(rayon)
 
     angle_0 = 2.*math.pi/float(nbsegCercle)
-    for k in range(nbsegCercle-1):
-      angle = float(k+1)*angle_0
+    for k_aux in range(nbsegCercle-1):
+      angle = float(k_aux+1)*angle_0
       pts = [vertcx] # les points d'un rayon obtenu par rotation
-      for j in range(nbsegRad):
-        point = geompy.MakeRotation(points[j+1], normal, angle)
+      for j_aux in range(nbsegRad):
+        point = geompy.MakeRotation(points[j_aux+1], normal, angle)
         pts.append(point)
       gptdsk.append(pts)
       ray = geompy.MakeRotation(rayon, normal, angle)
-      raydisks[k+1].append(ray)
+      raydisks[k_aux+1].append(ray)
 
     gptsdisks.append(gptdsk)
 
index 687b380d5bdca9d238d1ae5e31ed0eb308e072a3..13092be4db862dfd2afbb632b0902d221423af3f 100644 (file)
@@ -24,16 +24,20 @@ import logging
 import SMESH
 
 from .geomsmesh import smesh
+from .putName import putName
 
 from .construitMaillagePipe_a import construitMaillagePipe_a
 from .construitMaillagePipe_b import construitMaillagePipe_b
 from .construitMaillagePipe_c import construitMaillagePipe_c
 from .construitMaillagePipe_d import construitMaillagePipe_d
 
-def construitMaillagePipe(gptsdisks, idisklim, nbsegCercle, nbsegRad):
+def construitMaillagePipe(gptsdisks, idisklim, nbsegCercle, nbsegRad, \
+                                nro_cas=None):
   """maillage effectif du pipe"""
   logging.info('start')
   meshPipe = smesh.Mesh(None, "meshPipe")
+  putName(meshPipe, "meshPipe", i_pref=nro_cas)
+
   fondFissGroup = meshPipe.CreateEmptyGroup(SMESH.EDGE, "FONDFISS")
   nodesFondFissGroup = meshPipe.CreateEmptyGroup(SMESH.NODE, "nfondfis")
   faceFissGroup = meshPipe.CreateEmptyGroup(SMESH.FACE, "fisInPi")
index 9037312eac61910033ca9d9b15b3ec61843d9ba2..d3ee3143786bf6eff02812df60fb937237fb1211 100644 (file)
@@ -33,6 +33,7 @@ from .quadranglesToShapeNoCorner import quadranglesToShapeNoCorner
 from .creeZoneDefautFilling import creeZoneDefautFilling
 from .creeZoneDefautGeom import creeZoneDefautGeom
 from .getCentreFondFiss import getCentreFondFiss
+from .putName import putName
 
 def creeZoneDefautDansObjetSain(geometriesSaines, maillagesSains, shapesFissure, \
                                 shapeFissureParams, maillageFissureParams, \
@@ -89,6 +90,7 @@ def creeZoneDefautDansObjetSain(geometriesSaines, maillagesSains, shapesFissure,
   isPlane = False
   if isHexa and not isPlane:
     meshQuad =  smesh.CopyMesh( zoneDefaut_skin, 'meshQuad', 0, 0)
+    putName(meshQuad, "meshQuad", i_pref=nro_cas)
 
     fillings, _, bordsPartages, fillconts, idFilToCont = quadranglesToShapeNoCorner(meshQuad, shapeFissureParams, centreFondFiss)
 
index dfe9a9ae37b92ab3a5d612086441981737797b80..c9dd810e0350d47f1c8bdd40fc44017e7ceb2824 100644 (file)
@@ -2,7 +2,7 @@
 # Copyright (C) 2014-2021  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
+# modify it under the terms of th79e GNU Lesser General Public
 # License as published by the Free Software Foundation; either
 # version 2.1 of the License, or (at your option) any later version.
 #
@@ -76,7 +76,7 @@ def fusionMaillageDefaut(maillageSain, maillageDefautCible, maillageInterneCible
     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_aux+1)) # doit etre publie pour critere OK plus bas
+      geompy.addToStudy( filling, "faceNonCoupee_{0}".format(i_aux+1)) # doit etre publié pour critère OK plus bas
       facesNonCoupees.append(filling)
       maillagesNonCoupes.append(listOfNewMeshes[i_aux])
     else:
index 64c6cdf923d25ba73c5a955bcff65a3ff9c4bde7..f4aaa8afecf316e6c008bc0dcfe79dd0c394b6be 100644 (file)
@@ -24,7 +24,6 @@ from . import initLog
 
 from .geomsmesh import geompy
 from .geomsmesh import geomPublish
-from .geomsmesh import geomPublishInFather
 
 from .toreFissure import toreFissure
 from .ellipsoideDefaut import ellipsoideDefaut
index 7fa3c7f5aab7aaa35f5db97b77e35783f8a97a09..22eeb43070d0691db5d17398320790745be15929 100644 (file)
@@ -27,6 +27,7 @@ info = 20
 warning = 30
 error = 40
 critical = 50
+always = 100
 
 loglevel = warning
 logging.basicConfig(format='%(funcName)s[%(lineno)d] %(message)s',
index 136bd8b300353034b1f99017a4ee40c4d798be65..3453f1f3001158600228cc8e351746040ce3c489 100644 (file)
@@ -41,7 +41,7 @@ def insereFissureLongue_g(nomFicFissure, fichierMaillageFissure, nomFicSain, mai
                           nro_cas=None):
   """Les groupes de la fissure longue"""
   logging.info('start')
-  logging.info("Pour le cas n°%d", mailleur, nro_cas)
+  logging.info("Pour le cas n°%d", nro_cas)
 
   O, _, _, _ = triedreBase()
 
index 69587874a6827d24d674adeba13de0e2bfb6be5b..5a7c82591bfb66c43e3cc9296cc5fe6e92c6bcc8 100644 (file)
@@ -25,7 +25,9 @@ import SMESH
 
 from .geomsmesh import geompy
 from .geomsmesh import smesh
+from .geomsmesh import geomPublish
 
+from . import initLog
 from .putName import putName
 
 def mailleAretesEtJonction (internalBoundary, aretesVivesCoupees, lgAretesVives, \
@@ -43,7 +45,7 @@ def mailleAretesEtJonction (internalBoundary, aretesVivesCoupees, lgAretesVives,
   bordsLibres = internalBoundary.MakeGroupByFilter( 'bords', filtre )
   putName(bordsLibres, 'bordsLibres', i_pref=nro_cas)
 
-  # --- pour aider l'algo hexa-tetra à ne pas mettre de pyramides à l'exterieur des volumes repliés sur eux-mêmes
+  # --- pour aider l'algo hexa-tetra à ne pas mettre de pyramides à l'extérieur des volumes repliés sur eux-mêmes
   #     on désigne les faces de peau en quadrangles par le groupe "skinFaces"
 
   skinFaces = internalBoundary.CreateEmptyGroup( SMESH.FACE, 'skinFaces' )
@@ -55,6 +57,7 @@ def mailleAretesEtJonction (internalBoundary, aretesVivesCoupees, lgAretesVives,
   if aretesVivesCoupees:
 
     aretesVivesC = geompy.MakeCompound(aretesVivesCoupees)
+    geomPublish(initLog.always, aretesVivesC, "aretesVives", nro_cas)
     meshAretesVives = smesh.Mesh(aretesVivesC)
     algo1d = meshAretesVives.Segment()
     hypo1d = algo1d.LocalLength(lgAretesVives,[],1e-07)
index 16e9b5335eb394de5ffe49c06c4dcc5b0ee75a8b..ccc1f4f915457ed5377ed045c02d7e2c21e1cb87 100644 (file)
@@ -97,6 +97,7 @@ def peauInterne(fichierMaillage, shapeDefaut, nomZones, \
   _, maillageSain, DefautBoundary = maillageSain.MakeBoundaryElements( SMESH.BND_2DFROM3D, 'DefBound', '', 0, [ zoneDefaut ])
   internal = maillageSain.GetMesh().CutListOfGroups( [ DefautBoundary ], [ zoneDefaut_skin ], 'internal' )
   internalBoundary = smesh.CopyMesh( internal, 'internalBoundary', 0, 0)
+  putName(internalBoundary, "internalBoundary", i_pref=nro_cas)
 
   maillageDefautCible = smesh.CopyMesh(zoneDefaut_skin, 'maillageCible', 0, 0)
   putName(maillageDefautCible, "maillageCible", i_pref=nro_cas)
index 8330ef93fbb40e07baf320e2da507bf9640e3ff8..fa7536e6343ec54dee802e1bfdfc52f14400bf72 100644 (file)
@@ -78,11 +78,11 @@ def quadranglesToShapeWithCorner(meshQuad, shapeDefaut, listOfCorners):
       tmpFace.append(line)
     setOfLines.append(tmpFace)
 
-  for i, face in enumerate(setOfLines):
+  for i_aux, face in enumerate(setOfLines):
     # A partir des lignes de chaque face,
     # on recrée un objet GEOM temporaire par filling.
     filling = geompy.MakeFilling(geompy.MakeCompound(face), 2, 5, 0.0001, 0.0001, 0, GEOM.FOM_Default, True)
-    geomPublish(initLog.debug, filling, 'filling_{}'.format(i + 1))
+    geomPublish(initLog.debug, filling, 'filling_{}'.format(i_aux+1))
     tmpFillings.append(filling)
 
   for face in setOfNodes:
@@ -96,27 +96,27 @@ def quadranglesToShapeWithCorner(meshQuad, shapeDefaut, listOfCorners):
     line = geompy.MakeInterpol(tmpPoints, False, False)
     tmpBords.append(line)
 
-  for i, filling in enumerate(tmpFillings):
+  for i_aux, filling in enumerate(tmpFillings):
     tmpPartition = geompy.MakePartition([filling], [shapeDefaut], list(), list(), geompy.ShapeType["FACE"], 0, list(), 0, True)
     tmpExplodeRef = geompy.ExtractShapes(filling, geompy.ShapeType["EDGE"], True)
     tmpExplodeNum = geompy.ExtractShapes(tmpPartition, geompy.ShapeType["EDGE"], True)
     if len(tmpExplodeRef) == len(tmpExplodeNum):
-      geomPublish(initLog.debug, filling, "faceNonCoupee_{}".format(i + 1))
+      geomPublish(initLog.debug, filling, "faceNonCoupee_{}".format(i_aux+1))
       facesNonCoupees.append(filling)
     else:
-      geomPublish(initLog.debug, filling, "faceCoupee_{}".format(i + 1))
+      geomPublish(initLog.debug, filling, "faceCoupee_{}".format(i_aux+1))
       facesCoupees.append(filling)
   fillings = facesCoupees, facesNonCoupees
 
-  for i, filling in enumerate(tmpBords):
+  for i_aux, filling in enumerate(tmpBords):
     tmpPartition = geompy.MakePartition([shapeDefaut], [filling], list(), list(), geompy.ShapeType["SHELL"], 0, list(), 0, True)
     tmpExplodeRef = geompy.ExtractShapes(shapeDefaut, geompy.ShapeType["EDGE"], True) + geompy.ExtractShapes(shapeDefaut, geompy.ShapeType["VERTEX"], True)
     tmpExplodeNum = geompy.ExtractShapes(tmpPartition, geompy.ShapeType["EDGE"], True) + geompy.ExtractShapes(tmpPartition, geompy.ShapeType["VERTEX"], True)
     if len(tmpExplodeRef) == len(tmpExplodeNum):
-      geomPublish(initLog.debug, filling, "areteNonCoupee_{}".format(i + 1))
+      geomPublish(initLog.debug, filling, "areteNonCoupee_{}".format(i_aux+1))
       aretesNonCoupees.append(filling)
     else:
-      geomPublish(initLog.debug, filling, "areteCoupee_{}".format(i + 1))
+      geomPublish(initLog.debug, filling, "areteCoupee_{}".format(i_aux+1))
       aretesCoupees.append(filling)
   bords_Partages = aretesCoupees, aretesNonCoupees
 
index 0f90e4a04b439a21408928e2e3a32b6d4ee09f92..d220f436b8fa2ea68bead48678de45269e211bc9 100644 (file)
@@ -31,7 +31,8 @@ from . import initLog
 from .sortFaces import sortFaces
 from .fissError import fissError
 
-def restreintFaceFissure(shapeDefaut, facesDefaut, pointInterne):
+def restreintFaceFissure(shapeDefaut, facesDefaut, pointInterne, \
+                         nro_cas=None):
   """restriction de la face de fissure au domaine solide
 
   partition face fissure étendue par fillings
@@ -39,13 +40,13 @@ def restreintFaceFissure(shapeDefaut, facesDefaut, pointInterne):
   logging.info('start')
 
   partShapeDefaut = geompy.MakePartition([shapeDefaut], facesDefaut, [], [], geompy.ShapeType["FACE"], 0, [], 0)
-  geomPublish(initLog.debug, partShapeDefaut, 'partShapeDefaut')
+  geomPublish(initLog.debug, partShapeDefaut, 'partShapeDefaut', i_pref=nro_cas)
   facesPartShapeDefaut = geompy.ExtractShapes(partShapeDefaut, geompy.ShapeType["FACE"], False)
 
   if pointInterne is not None:
     distfaces = [(geompy.MinDistance(face,pointInterne), i, face) for i, face in enumerate(facesPartShapeDefaut)]
     distfaces.sort()
-    texte = "selection de la face la plus proche du point interne, distance={}".format(distfaces[0][0])
+    texte = "lection de la face la plus proche du point interne, distance={}".format(distfaces[0][0])
     logging.debug(texte)
     facesPortFissure = distfaces[0][2]
   else:
@@ -63,6 +64,6 @@ def restreintFaceFissure(shapeDefaut, facesDefaut, pointInterne):
     logging.debug(texte)
     facesPortFissure = facesPartShapeDefautSorted[-1]
 
-  geomPublish(initLog.debug, facesPortFissure, "facesPortFissure")
+  geomPublish(initLog.debug, facesPortFissure, "facesPortFissure", i_pref=nro_cas)
 
   return facesPortFissure