Salome HOME
Découpage de construitFissureGenerale
authorGERALD NICOLAS <D68518@dsp0864451.atlas.edf.fr>
Wed, 17 Mar 2021 17:46:40 +0000 (18:46 +0100)
committerGERALD NICOLAS <D68518@dsp0864451.atlas.edf.fr>
Wed, 17 Mar 2021 17:46:40 +0000 (18:46 +0100)
21 files changed:
src/Tools/blocFissure/CasTests/cubeAngle.py
src/Tools/blocFissure/CasTests/cylindre.py
src/Tools/blocFissure/CasTests/ellipse_1.py
src/Tools/blocFissure/CasTests/eprouvetteCourbe.py
src/Tools/blocFissure/CasTests/eprouvetteDroite.py
src/Tools/blocFissure/CasTests/faceGauche.py
src/Tools/blocFissure/CasTests/faceGauche_2.py
src/Tools/blocFissure/CasTests/fissure_Coude.py
src/Tools/blocFissure/CasTests/tube.py
src/Tools/blocFissure/CasTests/vis_1.py
src/Tools/blocFissure/gmu/CMakeLists.txt
src/Tools/blocFissure/gmu/casStandard.py
src/Tools/blocFissure/gmu/construitFissureGenerale.py
src/Tools/blocFissure/gmu/construitFissureGenerale_a.py [new file with mode: 0644]
src/Tools/blocFissure/gmu/construitFissureGenerale_b.py [new file with mode: 0644]
src/Tools/blocFissure/gmu/construitFissureGenerale_c.py [new file with mode: 0644]
src/Tools/blocFissure/gmu/fissureCoude.py
src/Tools/blocFissure/gmu/fissureGenerique.py
src/Tools/blocFissure/gmu/getStatsMaillageFissure.py
src/Tools/blocFissure/gmu/insereFissureLongue.py
src/Tools/blocFissure/gmu/testgmu.py

index 69793faa3a340780760dd411d2bd7f22bafaa667..b35f014da943059d94db7e7f85e62d31348aa607 100644 (file)
@@ -111,10 +111,9 @@ class cubeAngle(fissureGenerique):
     logging.info(texte)
 
     mailleur = self.mailleur2d3d()
-    maillageFissure = construitFissureGenerale(maillagesSains,
-                                               shapesFissure, shapeFissureParams,
-                                               maillageFissureParams, elementsDefaut, step, \
-                                               mailleur)
+    maillageFissure = construitFissureGenerale(shapesFissure, shapeFissureParams, \
+                                               maillageFissureParams, elementsDefaut, \
+                                               step, mailleur)
     return maillageFissure
 
   # ---------------------------------------------------------------------------
index 39387ddac71739eaa35380cbf5dfc9e7b665aa6d..b724827ee5564720980b168f9dc2d96430c00bc0 100644 (file)
@@ -106,10 +106,9 @@ class cylindre(fissureGenerique):
                                   mailleur="MeshGems"):
 
     mailleur = self.mailleur2d3d()
-    maillageFissure = construitFissureGenerale(maillagesSains,
-                                               shapesFissure, shapeFissureParams,
-                                               maillageFissureParams, elementsDefaut, step, \
-                                               mailleur)
+    maillageFissure = construitFissureGenerale(shapesFissure, shapeFissureParams, \
+                                               maillageFissureParams, elementsDefaut, \
+                                               step, mailleur)
     return maillageFissure
 
   # ---------------------------------------------------------------------------
index d412e8d02a37e6ecf483806a8d5310bd9b5d378c..6686a09df39fd69294b08d810de8f61b22e00063 100644 (file)
@@ -120,10 +120,9 @@ class ellipse_1(fissureGenerique):
     logging.info(texte)
 
     mailleur = self.mailleur2d3d()
-    maillageFissure = construitFissureGenerale(maillagesSains,
-                                               shapesFissure, shapeFissureParams,
-                                               maillageFissureParams, elementsDefaut, step, \
-                                               mailleur)
+    maillageFissure = construitFissureGenerale(shapesFissure, shapeFissureParams, \
+                                               maillageFissureParams, elementsDefaut, \
+                                               step, mailleur)
     return maillageFissure
 
   # ---------------------------------------------------------------------------
index 150c15be6a6bee25d4d67cb525b9f0fbd3ca5b8d..98006df9a78645947a04570da51f6c2381f9982e 100644 (file)
@@ -114,10 +114,9 @@ class eprouvetteCourbe(fissureGenerique):
     logging.info(texte)
 
     mailleur = self.mailleur2d3d()
-    maillageFissure = construitFissureGenerale(maillagesSains,
-                                               shapesFissure, shapeFissureParams,
-                                               maillageFissureParams, elementsDefaut, step, \
-                                               mailleur)
+    maillageFissure = construitFissureGenerale(shapesFissure, shapeFissureParams, \
+                                               maillageFissureParams, elementsDefaut, \
+                                               step, mailleur)
     return maillageFissure
 
   # ---------------------------------------------------------------------------
index 117441d33def9185dadd148a319e9c89a1173a93..1f2ffd5bf179333202ba2f2c558ef5c45d6c2ab7 100644 (file)
@@ -111,10 +111,9 @@ class eprouvetteDroite(fissureGenerique):
                                   mailleur="MeshGems"):
 
     mailleur = self.mailleur2d3d()
-    maillageFissure = construitFissureGenerale(maillagesSains,
-                                               shapesFissure, shapeFissureParams,
-                                               maillageFissureParams, elementsDefaut, step, \
-                                               mailleur)
+    maillageFissure = construitFissureGenerale(shapesFissure, shapeFissureParams, \
+                                               maillageFissureParams, elementsDefaut, \
+                                               step, mailleur)
     return maillageFissure
 
   # ---------------------------------------------------------------------------
index 844ba861d3acae5ddd88e858770132cd79e55985..1ec1402682cb95bbc863db6bfe79860dd6788aad 100644 (file)
@@ -27,9 +27,7 @@ import math
 import GEOM
 import SALOMEDS
 import SMESH
-#import StdMeshers
-#import GHS3DPlugin
-#import NETGENPlugin
+
 import logging
 
 from blocFissure.gmu.fissureGenerique import fissureGenerique
@@ -111,10 +109,9 @@ class faceGauche(fissureGenerique):
                                   mailleur="MeshGems"):
 
     mailleur = self.mailleur2d3d()
-    maillageFissure = construitFissureGenerale(maillagesSains,
-                                               shapesFissure, shapeFissureParams,
-                                               maillageFissureParams, elementsDefaut, step, \
-                                               mailleur)
+    maillageFissure = construitFissureGenerale(shapesFissure, shapeFissureParams, \
+                                               maillageFissureParams, elementsDefaut, \
+                                               step, mailleur)
     return maillageFissure
 
   # ---------------------------------------------------------------------------
index 4b09404c9ab2cec59fceab352502bd9ea5bec7a9..bf98e16dfc61895482d21f73f17ba90cb4a955d7 100644 (file)
@@ -111,10 +111,9 @@ class faceGauche_2(fissureGenerique):
                                   mailleur="MeshGems"):
 
     mailleur = self.mailleur2d3d()
-    maillageFissure = construitFissureGenerale(maillagesSains,
-                                               shapesFissure, shapeFissureParams,
-                                               maillageFissureParams, elementsDefaut, step, \
-                                               mailleur)
+    maillageFissure = construitFissureGenerale(shapesFissure, shapeFissureParams, \
+                                               maillageFissureParams, elementsDefaut, \
+                                               step, mailleur)
     return maillageFissure
 
   # ---------------------------------------------------------------------------
index 030af1818b6770122cdf40bd552f35dd22bd6afe..8975ce95b0a4aa0d6e0b7a4d0f850035d33a5fb5 100644 (file)
@@ -507,10 +507,10 @@ class fissure_Coude(fissureGenerique):
                                   mailleur="MeshGems"):
 
     mailleur = self.mailleur2d3d()
-    maillageFissure = insereFissureLongue(geometriesSaines, maillagesSains, \
+    maillageFissure = insereFissureLongue(geometriesSaines, \
                                           shapesFissure, shapeFissureParams, \
-                                          maillageFissureParams, elementsDefaut, step, \
-                                               mailleur)
+                                          maillageFissureParams, elementsDefaut, \
+                                          step, mailleur)
     return maillageFissure
 
   # ---------------------------------------------------------------------------
index a4544fd4b29914a5c46fef06f7d327ea3f31a3c1..3653c9ac3788d23eb61bd4142522b4e41a86e38a 100644 (file)
@@ -116,10 +116,9 @@ class tube(fissureGenerique):
     logging.info(texte)
 
     mailleur = self.mailleur2d3d()
-    maillageFissure = construitFissureGenerale(maillagesSains,
-                                               shapesFissure, shapeFissureParams,
-                                               maillageFissureParams, elementsDefaut, step, \
-                                               mailleur)
+    maillageFissure = construitFissureGenerale(shapesFissure, shapeFissureParams, \
+                                               maillageFissureParams, elementsDefaut, \
+                                               step, mailleur)
     return maillageFissure
 
   # ---------------------------------------------------------------------------
index bc1d7c34aac9834c16d233830985acafa8eed773..a91ce090340befbfb7b034acc5ae1bd4db8b69b8 100644 (file)
@@ -117,10 +117,9 @@ class vis_1(fissureGenerique):
     logging.info(texte)
 
     mailleur = self.mailleur2d3d()
-    maillageFissure = construitFissureGenerale(maillagesSains,
-                                               shapesFissure, shapeFissureParams,
-                                               maillageFissureParams, elementsDefaut, step, \
-                                               mailleur)
+    maillageFissure = construitFissureGenerale(shapesFissure, shapeFissureParams, \
+                                               maillageFissureParams, elementsDefaut, \
+                                               step, mailleur)
     return maillageFissure
 
   # ---------------------------------------------------------------------------
index d642fe505478f5d6e43d9529fa61e524e74397c9..6911cb6cc02064302c9e3beec33e1cd69e2f62b8 100644 (file)
@@ -31,6 +31,9 @@ SET(plugin_SCRIPTS
   compoundFromList.py
   construitEdgesRadialesDebouchantes.py
   construitFissureGenerale.py
+  construitFissureGenerale_a.py
+  construitFissureGenerale_b.py
+  construitFissureGenerale_c.py
   construitMaillagePipe.py
   construitPartitionsPeauFissure.py
   creePointsPipePeau.py
index 00f19300f63696d48d475d40c4a3b874915adedf..e0a86c020fbc6b234cd9230fd7df8c3ace174924 100644 (file)
@@ -173,8 +173,7 @@ class casStandard(fissureGenerique):
                                   shapesFissure, shapeFissureParams, \
                                   maillageFissureParams, elementsDefaut, step, \
                                   mailleur="MeshGems"):
-    maillageFissure = construitFissureGenerale(maillagesSains, \
-                                               shapesFissure, shapeFissureParams, \
+    maillageFissure = construitFissureGenerale(shapesFissure, shapeFissureParams, \
                                                maillageFissureParams, elementsDefaut, \
                                                step, mailleur)
     return maillageFissure
index 097225e61948c4a8bb7167114f758c064ddfe6ff..3b7260f722623c53d5fad471972e9ad0f4cf5d28 100644 (file)
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-
-import os
+"""procédure complète de construction d'une fissure générale"""
 
 import logging
 import salome
 from .geomsmesh import geompy
-from .geomsmesh import geomPublish
 from .geomsmesh import geomPublishInFather
 from . import initLog
 import GEOM
 from .geomsmesh import smesh
 from salome.smesh import smeshBuilder
 import SMESH
-import math
-import bisect
-import traceback
-
-# from extractionOrientee import extractionOrientee
-# from extractionOrienteeMulti import extractionOrienteeMulti
-# from sortFaces import sortFaces
-#from sortEdges import sortEdges
-# from eliminateDoubles import eliminateDoubles
-# from substractSubShapes import substractSubShapes
-# from produitMixte import produitMixte
-# from findWireEndVertices import findWireEndVertices
-#from findWireIntermediateVertices import findWireIntermediateVertices
+
 from .orderEdgesFromWire import orderEdgesFromWire
-# from getSubshapeIds import getSubshapeIds
-from .putName import putName
-# from distance2 import distance2
-from .enleveDefaut import enleveDefaut
-from .shapeSurFissure import shapeSurFissure
-from .regroupeSainEtDefaut import RegroupeSainEtDefaut
-from .triedreBase import triedreBase
-# from checkDecoupePartition import checkDecoupePartition
-# from whichSide import whichSide
-# from whichSideMulti import whichSideMulti
-#from whichSideVertex import whichSideVertex
-#from projettePointSurCourbe import projettePointSurCourbe
-# from prolongeWire import prolongeWire
 from .restreintFaceFissure import restreintFaceFissure
 from .partitionneFissureParPipe import partitionneFissureParPipe
 from .construitPartitionsPeauFissure import construitPartitionsPeauFissure
 from .compoundFromList import compoundFromList
-from .identifieElementsGeometriquesPeau import identifieElementsGeometriquesPeau
 from .identifieFacesEdgesFissureExterne import identifieFacesEdgesFissureExterne
 from .calculePointsAxiauxPipe import calculePointsAxiauxPipe
 from .elimineExtremitesPipe import elimineExtremitesPipe
@@ -72,23 +44,21 @@ from .construitMaillagePipe import construitMaillagePipe
 from .mailleAretesEtJonction import mailleAretesEtJonction
 from .mailleFacesFissure import mailleFacesFissure
 from .mailleFacesPeau import mailleFacesPeau
-from .fissError import fissError
+
+from .construitFissureGenerale_a import construitFissureGenerale_a
+from .construitFissureGenerale_b import construitFissureGenerale_b
+from .construitFissureGenerale_c import construitFissureGenerale_c
 
 # -----------------------------------------------------------------------------
-# --- procédure complète fissure générale
 
-def construitFissureGenerale(maillagesSains, \
-                             shapesFissure, shapeFissureParams, \
+def construitFissureGenerale(shapesFissure, shapeFissureParams, \
                              maillageFissureParams, elementsDefaut, \
                              step=-1, mailleur="MeshGems"):
-  """
-  TODO: a completer
-  """
+  """procédure complète fissure générale"""
   logging.info('start')
-  logging.info(mailleur)
+  logging.info("Usage du mailleur %s", mailleur)
 
   shapeDefaut       = shapesFissure[0] # faces de fissure, débordant
-  fondFiss          = shapesFissure[4] # groupe d'edges de fond de fissure
 
   rayonPipe = shapeFissureParams['rayonPipe']
   if 'lenSegPipe' in shapeFissureParams:
@@ -96,10 +66,6 @@ def construitFissureGenerale(maillagesSains, \
   else:
     lenSegPipe = rayonPipe
 
-  nomRep            = maillageFissureParams['nomRep']
-  nomFicSain        = maillageFissureParams['nomFicSain']
-  nomFicFissure     = maillageFissureParams['nomFicFissure']
-
   nbsegRad          = maillageFissureParams['nbsegRad']      # nombre de couches selon un rayon du pipe
   nbsegCercle       = maillageFissureParams['nbsegCercle']   # nombre de secteur dans un cercle du pipe
   areteFaceFissure  = maillageFissureParams['areteFaceFissure']
@@ -107,25 +73,8 @@ def construitFissureGenerale(maillagesSains, \
   if 'aretesVives' in maillageFissureParams:
     lgAretesVives   = maillageFissureParams['aretesVives']
 
-  pointIn_x = 0.0
-  pointIn_y = 0.0
-  pointIn_z = 0.0
-  isPointInterne = False
-  if 'pointIn_x' in shapeFissureParams:
-    pointIn_x = shapeFissureParams['pointIn_x']
-    isPointInterne = True
-  if 'pointIn_y' in shapeFissureParams:
-    pointIn_y = shapeFissureParams['pointIn_y']
-    isPointInterne = True
-  if 'pointIn_z' in shapeFissureParams:
-    pointIn_z = shapeFissureParams['pointIn_z']
-    isPointInterne = True
-  if isPointInterne:
-    pointInterne = geompy.MakeVertex(pointIn_x, pointIn_y, pointIn_z)
-  else:
-    pointInterne = None
-
-  fichierMaillageFissure = os.path.join (nomRep , '{}.med'.format(nomFicFissure))
+# Point interne
+  pointInterne = construitFissureGenerale_a (geompy, shapeFissureParams)
 
   # fillings des faces en peau
   facesDefaut              = elementsDefaut[0]
@@ -148,9 +97,6 @@ def construitFissureGenerale(maillagesSains, \
   if lgAretesVives == 0:
     lgAretesVives = dmoyen
 
-
-  O, OX, OY, OZ = triedreBase()
-
   # --- restriction de la face de fissure au domaine solide :
   #     partition face fissure étendue par fillings, on garde la face interne
 
@@ -159,7 +105,8 @@ def construitFissureGenerale(maillagesSains, \
   # --- pipe de fond de fissure, prolongé, partition face fissure par pipe
   #     identification des edges communes pipe et face fissure
 
-  (fissPipe, edgesPipeFiss, edgesFondFiss, wirePipeFiss, wireFondFiss) = partitionneFissureParPipe(shapesFissure, elementsDefaut, rayonPipe)
+  (fissPipe, edgesPipeFiss, edgesFondFiss, wirePipeFiss, wireFondFiss) = \
+                          partitionneFissureParPipe(shapesFissure, elementsDefaut, rayonPipe)
   edgesFondFiss, edgesIdByOrientation = orderEdgesFromWire(wireFondFiss)
 
   for i,edge in enumerate(edgesFondFiss):
@@ -178,59 +125,16 @@ def construitFissureGenerale(maillagesSains, \
   #                             et quadranglesToShapeWithCorner)
 
   aretesVivesC = compoundFromList(bordsPartages, "areteVive")
-  aretesVivesCoupees = list()  # ensembles des arêtes vives identifiées sur les faces de peau dans l'itération sur partitionsPeauFissFond
+  aretesVivesCoupees = list()  # ensemble des arêtes vives identifiées sur les faces de peau dans l'itération sur partitionsPeauFissFond
 
   # --- inventaire des faces de peau coupées par la fissure
-  #     pour chaque face de peau : 0, 1 ou 2 faces débouchante du fond de fissure
-  #                                0, 1 ou plus edges de la face de fissure externe au pipe
-
-  nbFacesFilling = len(partitionsPeauFissFond)
-  texte = "nbFacesFilling : {} ".format(nbFacesFilling)
-  logging.info(texte)
-
-  ptEdgeFond = [ list()  for i in range(nbFacesFilling)] # pour chaque face [points edge fond de fissure aux débouchés du pipe]
-  fsPipePeau = [ list()  for i in range(nbFacesFilling)] # pour chaque face [faces du pipe débouchantes]
-  edRadFPiPo = [ list()  for i in range(nbFacesFilling)] # pour chaque face [edge radiale des faces du pipe débouchantes ]
-  fsFissuExt = [ list()  for i in range(nbFacesFilling)] # pour chaque face [faces de fissure externes au pipe]
-  edFisExtPe = [ list()  for i in range(nbFacesFilling)] # pour chaque face [edge en peau des faces de fissure externes (pas subshape facePeau)]
-  edFisExtPi = [ list()  for i in range(nbFacesFilling)] # pour chaque face [edge commun au pipe des faces de fissure externes]
-  facesPeaux = [None for i in range(nbFacesFilling)] # pour chaque face : la face de peau finale a mailler (percée des faces débouchantes)
-  edCircPeau = [ list()  for i in range(nbFacesFilling)] # pour chaque face de peau : [subshape edge circulaire aux débouchés du pipe]
-  ptCircPeau = [ list()  for i in range(nbFacesFilling)] # pour chaque face de peau : [subshape point sur edge circulaire aux débouchés du pipe]
-  gpedgeBord = [None for i in range(nbFacesFilling)] # pour chaque face de peau : groupe subshape des edges aux bords liés à la partie saine
-  gpedgeVifs = [None for i in range(nbFacesFilling)] # pour chaque face de peau : groupes subshape des edges aux arêtes vives entre fillings
-  edFissPeau = [ list()  for i in range(nbFacesFilling)] # pour chaque face de peau : [subshape edge en peau des faces de fissure externes]
-  ptFisExtPi = [ list()  for i in range(nbFacesFilling)] # pour chaque face de peau : [point commun edFissPeau edCircPeau]
-
-  for ifil, partitionPeauFissFond in enumerate(partitionsPeauFissFond):
-    if partitionPeauFissFond is not None:
-      dataPPFF,aretesVivesCoupees = identifieElementsGeometriquesPeau(ifil, partitionPeauFissFond, edgesPipeFiss,
-                                                                      edgesFondFiss, wireFondFiss, aretesVivesC,
-                                                                      facesDefaut, centreFondFiss, rayonPipe,
-                                                                      aretesVivesCoupees)
-      ptEdgeFond[ifil] = dataPPFF['endsEdgeFond']
-      fsPipePeau[ifil] = dataPPFF['facesPipePeau']
-      edRadFPiPo[ifil] = dataPPFF['edgeRadFacePipePeau']
-      fsFissuExt[ifil] = dataPPFF['facesFissExt']
-      edFisExtPe[ifil] = dataPPFF['edgesFissExtPeau']
-      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']
-      ptFisExtPi[ifil] = dataPPFF['verticesPipePeau']
-
-  facesPipePeau = list()
-  edgeRadFacePipePeau = list()
-  for ifil in range(nbFacesFilling):
-    facesPipePeau += fsPipePeau[ifil]
-    edgeRadFacePipePeau += edRadFPiPo[ifil]
-
-  for i, avc in enumerate(aretesVivesCoupees):
-    name = "areteViveCoupee%d"%i
-    geomPublish(initLog.debug, avc, name)
+
+  ptEdgeFond, fsFissuExt, edFisExtPe, edFisExtPi, \
+    facesPeaux, edCircPeau, ptCircPeau, gpedgeBord, gpedgeVifs, edFissPeau, ptFisExtPi, \
+    edgeRadFacePipePeau, facesPipePeau = \
+    construitFissureGenerale_b( partitionsPeauFissFond, \
+                                edgesPipeFiss, edgesFondFiss, wireFondFiss, aretesVivesC, \
+                                facesDefaut, centreFondFiss, rayonPipe, aretesVivesCoupees )
 
   # --- identification des faces et edges de fissure externe pour maillage
 
@@ -242,8 +146,8 @@ def construitFissureGenerale(maillagesSains, \
   #     - points sur les edges de fond de fissure et edges pipe/face fissure,
   #     - vecteurs tangents au fond de fissure (normal au disque maillé)
 
-  (centres, gptsdisks, raydisks) = calculePointsAxiauxPipe(edgesFondFiss, edgesIdByOrientation, facesDefaut,
-                                                           centreFondFiss, wireFondFiss, wirePipeFiss,
+  (centres, gptsdisks, raydisks) = calculePointsAxiauxPipe(edgesFondFiss, edgesIdByOrientation, facesDefaut, \
+                                                           centreFondFiss, wireFondFiss, wirePipeFiss, \
                                                            lenSegPipe, rayonPipe, nbsegCercle, nbsegRad)
 
   # --- recherche des points en trop (externes au volume à remailler)
@@ -257,12 +161,12 @@ def construitFissureGenerale(maillagesSains, \
 
   # --- construction des listes d'edges radiales sur chaque extrémité débouchante
 
-  (listEdges, idFacesDebouchantes) = construitEdgesRadialesDebouchantes(idisklim, idiskout, gptsdisks, raydisks,
+  (listEdges, idFacesDebouchantes) = construitEdgesRadialesDebouchantes(idisklim, idiskout, gptsdisks, raydisks, \
                                                                         facesPipePeau, edgeRadFacePipePeau, nbsegCercle)
 
   # --- création des points du maillage du pipe sur la face de peau
 
-  (gptsdisks, idisklim) = creePointsPipePeau(listEdges, idFacesDebouchantes, idFillingFromBout,
+  (gptsdisks, idisklim) = creePointsPipePeau(listEdges, idFacesDebouchantes, idFillingFromBout, \
                                              ptEdgeFond, ptFisExtPi, edCircPeau, gptsdisks, idisklim, nbsegRad)
 
   # --- ajustement precis des points sur edgesPipeFissureExterneC
@@ -279,7 +183,7 @@ def construitFissureGenerale(maillagesSains, \
 
   # --- maillage faces de fissure
 
-  (meshFaceFiss, grpFaceFissureExterne, grpEdgesPeauFissureExterne, grpEdgesPipeFissureExterne) = \
+  (meshFaceFiss, _, grpEdgesPeauFissureExterne, _) = \
       mailleFacesFissure(faceFissureExterne, \
                          edgesPipeFissureExterneC, edgesPeauFissureExterneC, \
                          meshPipeGroups, areteFaceFissure, rayonPipe, nbsegRad, \
@@ -295,80 +199,18 @@ def construitFissureGenerale(maillagesSains, \
 
   # --- regroupement des maillages du défaut
 
-  listMeshes = [internalBoundary.GetMesh(),
-                meshPipe.GetMesh(),
-                meshFaceFiss.GetMesh()]
-  for mp in meshesFacesPeau:
-    listMeshes.append(mp.GetMesh())
+  listMeshes = [internalBoundary.GetMesh(), meshPipe.GetMesh(), meshFaceFiss.GetMesh()]
+  for mfpeau in meshesFacesPeau:
+    listMeshes.append(mfpeau.GetMesh())
 
   meshBoiteDefaut = smesh.Concatenate(listMeshes, 1, 1, 1e-05,False)
-  # pour aider l'algo hexa-tetra à ne pas mettre de pyramides à l'exterieur des volumes repliés sur eux-mêmes
-  # on désigne les faces de peau en quadrangles par le groupe "skinFaces"
-  group_faceFissOutPipe = None
-  group_faceFissInPipe = None
-  groups = meshBoiteDefaut.GetGroups()
-  for grp in groups:
-    if grp.GetType() == SMESH.FACE:
-      if grp.GetName() == "fisOutPi":
-        group_faceFissOutPipe = grp
-      elif grp.GetName() == "fisInPi":
-        group_faceFissInPipe = grp
-
-  # le maillage NETGEN ne passe pas toujours ==> on force l'usage de MG_Tetra
-  mailleur = "MeshGems"
-  logging.info("Maillage avec %s", mailleur)
-  if ( mailleur == "MeshGems"):
-    algo3d = meshBoiteDefaut.Tetrahedron(algo=smeshBuilder.MG_Tetra)
-  else:
-    algo3d = meshBoiteDefaut.Tetrahedron(algo=smeshBuilder.NETGEN)
-    hypo3d = algo3d.MaxElementVolume(1000.0)
-    hypo3d.SetVerboseLevel( 0 )
-    hypo3d.SetStandardOutputLog( 0 )
-    hypo3d.SetRemoveLogOnSuccess( 1 )
-  putName(algo3d.GetSubMesh(), "boiteDefaut")
-  putName(algo3d, "algo3d_boiteDefaut")
-  putName(meshBoiteDefaut, "boiteDefaut")
-
-  is_done = meshBoiteDefaut.Compute()
-  text = "meshBoiteDefaut.Compute"
-  if is_done:
-    logging.info(text+" OK")
-  else:
-    text = "Erreur au calcul du maillage.\n" + text
-    logging.info(text)
-    raise Exception(text)
-
-  faceFissure = meshBoiteDefaut.GetMesh().UnionListOfGroups( [ group_faceFissOutPipe, group_faceFissInPipe ], \
-                                                             'FACE1' )
-  maillageSain = enleveDefaut(maillageSain, zoneDefaut, zoneDefaut_skin,
-                              zoneDefaut_internalFaces, zoneDefaut_internalEdges)
-  putName(maillageSain, nomFicSain+"_coupe")
-  _, normfiss = shapeSurFissure(facesPortFissure)
-  maillageComplet = RegroupeSainEtDefaut(maillageSain, meshBoiteDefaut, \
-                                         None, None, 'COMPLET', normfiss)
-
-  logging.info("conversion quadratique")
-  maillageComplet.ConvertToQuadratic( 1 )
-  logging.info("groupes")
-  groups = maillageComplet.GetGroups()
-  grps = [ grp for grp in groups if grp.GetName() == 'FONDFISS']
-  fond = maillageComplet.GetMesh().CreateDimGroup( grps, SMESH.NODE, 'FONDFISS' )
-
-  logging.info("réorientation face de fissure FACE1")
-  grps = [ grp for grp in groups if grp.GetName() == 'FACE1']
-  nb = maillageComplet.Reorient2D( grps[0], normfiss, grps[0].GetID(1))
-
-  logging.info("réorientation face de fissure FACE2")
-  plansim = geompy.MakePlane(O, normfiss, 10000)
-  fissnorm = geompy.MakeMirrorByPlane(normfiss, plansim)
-  grps = [ grp for grp in groups if grp.GetName() == 'FACE2']
-  nb = maillageComplet.Reorient2D( grps[0], fissnorm, grps[0].GetID(1))
-  fond = maillageComplet.GetMesh().CreateDimGroup( grps, SMESH.NODE, 'FACE2' )
-
-  logging.info("export maillage fini")
-  maillageComplet.ExportMED(fichierMaillageFissure)
-  putName(maillageComplet, nomFicFissure)
-  logging.info("fichier maillage fissure %s", fichierMaillageFissure)
+
+# Maillage complet
+  maillageComplet = construitFissureGenerale_c( maillageSain, meshBoiteDefaut, \
+                                                zoneDefaut, zoneDefaut_skin, zoneDefaut_internalFaces, zoneDefaut_internalEdges, \
+                                                facesPortFissure, \
+                                                maillageFissureParams, \
+                                                mailleur )
 
   if salome.sg.hasDesktop():
     salome.sg.updateObjBrowser()
diff --git a/src/Tools/blocFissure/gmu/construitFissureGenerale_a.py b/src/Tools/blocFissure/gmu/construitFissureGenerale_a.py
new file mode 100644 (file)
index 0000000..3f725e6
--- /dev/null
@@ -0,0 +1,49 @@
+# -*- coding: utf-8 -*-
+# Copyright (C) 2014-2020  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
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+"""construction de la fissure générale - le point interne"""
+
+import logging
+
+# -----------------------------------------------------------------------------
+
+def construitFissureGenerale_a (geompy, shapeFissureParams):
+  """construction de la fissure générale - le point interne"""
+  logging.info('start')
+
+  point_in_x = 0.0
+  point_in_y = 0.0
+  point_in_z = 0.0
+  is_point_interne = False
+  if 'pointIn_x' in shapeFissureParams:
+    point_in_x = shapeFissureParams['pointIn_x']
+    is_point_interne = True
+  if 'pointIn_y' in shapeFissureParams:
+    point_in_y = shapeFissureParams['pointIn_y']
+    is_point_interne = True
+  if 'pointIn_z' in shapeFissureParams:
+    point_in_z = shapeFissureParams['pointIn_z']
+    is_point_interne = True
+
+  if is_point_interne:
+    pointInterne = geompy.MakeVertex(point_in_x, point_in_y, point_in_z)
+  else:
+    pointInterne = None
+
+  return pointInterne
diff --git a/src/Tools/blocFissure/gmu/construitFissureGenerale_b.py b/src/Tools/blocFissure/gmu/construitFissureGenerale_b.py
new file mode 100644 (file)
index 0000000..66fff42
--- /dev/null
@@ -0,0 +1,89 @@
+# -*- coding: utf-8 -*-
+# Copyright (C) 2014-2020  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
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+"""construction de la fissure générale - inventaire des faces de peau coupées par la fissure"""
+
+import logging
+from .geomsmesh import geomPublish
+from . import initLog
+
+from .identifieElementsGeometriquesPeau import identifieElementsGeometriquesPeau
+
+# -----------------------------------------------------------------------------
+
+def construitFissureGenerale_b( partitionsPeauFissFond, \
+                                edgesPipeFiss, edgesFondFiss, wireFondFiss, aretesVivesC, \
+                                facesDefaut, centreFondFiss, rayonPipe, aretesVivesCoupees ):
+  """construction de la fissure générale - inventaire des faces de peau coupées par la fissure
+
+pour chaque face de peau : 0, 1 ou 2 faces débouchante du fond de fissure
+                           0, 1 ou plus edges de la face de fissure externe au pipe
+  """
+  logging.info('start')
+
+  nbFacesFilling = len(partitionsPeauFissFond)
+  texte = "nbFacesFilling : {} ".format(nbFacesFilling)
+  logging.info(texte)
+
+  ptEdgeFond = [ list()  for i in range(nbFacesFilling)] # pour chaque face [points edge fond de fissure aux débouchés du pipe]
+  fsPipePeau = [ list()  for i in range(nbFacesFilling)] # pour chaque face [faces du pipe débouchantes]
+  edRadFPiPo = [ list()  for i in range(nbFacesFilling)] # pour chaque face [edge radiale des faces du pipe débouchantes ]
+  fsFissuExt = [ list()  for i in range(nbFacesFilling)] # pour chaque face [faces de fissure externes au pipe]
+  edFisExtPe = [ list()  for i in range(nbFacesFilling)] # pour chaque face [edge en peau des faces de fissure externes (pas subshape facePeau)]
+  edFisExtPi = [ list()  for i in range(nbFacesFilling)] # pour chaque face [edge commun au pipe des faces de fissure externes]
+  facesPeaux = [None for i in range(nbFacesFilling)] # pour chaque face : la face de peau finale a mailler (percée des faces débouchantes)
+  edCircPeau = [ list()  for i in range(nbFacesFilling)] # pour chaque face de peau : [subshape edge circulaire aux débouchés du pipe]
+  ptCircPeau = [ list()  for i in range(nbFacesFilling)] # pour chaque face de peau : [subshape point sur edge circulaire aux débouchés du pipe]
+  gpedgeBord = [None for i in range(nbFacesFilling)] # pour chaque face de peau : groupe subshape des edges aux bords liés à la partie saine
+  gpedgeVifs = [None for i in range(nbFacesFilling)] # pour chaque face de peau : groupes subshape des edges aux arêtes vives entre fillings
+  edFissPeau = [ list()  for i in range(nbFacesFilling)] # pour chaque face de peau : [subshape edge en peau des faces de fissure externes]
+  ptFisExtPi = [ list()  for i in range(nbFacesFilling)] # pour chaque face de peau : [point commun edFissPeau edCircPeau]
+
+  for ifil, partitionPeauFissFond in enumerate(partitionsPeauFissFond):
+    if partitionPeauFissFond is not None:
+      dataPPFF,aretesVivesCoupees = identifieElementsGeometriquesPeau(ifil, partitionPeauFissFond, \
+                                                                      edgesPipeFiss, edgesFondFiss, wireFondFiss, aretesVivesC, \
+                                                                      facesDefaut, centreFondFiss, rayonPipe, aretesVivesCoupees)
+      ptEdgeFond[ifil] = dataPPFF['endsEdgeFond']
+      fsPipePeau[ifil] = dataPPFF['facesPipePeau']
+      edRadFPiPo[ifil] = dataPPFF['edgeRadFacePipePeau']
+      fsFissuExt[ifil] = dataPPFF['facesFissExt']
+      edFisExtPe[ifil] = dataPPFF['edgesFissExtPeau']
+      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']
+      ptFisExtPi[ifil] = dataPPFF['verticesPipePeau']
+
+  facesPipePeau = list()
+  edgeRadFacePipePeau = list()
+  for ifil in range(nbFacesFilling):
+    facesPipePeau += fsPipePeau[ifil]
+    edgeRadFacePipePeau += edRadFPiPo[ifil]
+
+  for i, avc in enumerate(aretesVivesCoupees):
+    name = "areteViveCoupee%d"%i
+    geomPublish(initLog.debug, avc, name)
+
+  return ptEdgeFond, fsFissuExt, edFisExtPe, edFisExtPi, facesPeaux, edCircPeau, \
+         ptCircPeau, gpedgeBord, gpedgeVifs, edFissPeau, ptFisExtPi, \
+         edgeRadFacePipePeau, facesPipePeau
diff --git a/src/Tools/blocFissure/gmu/construitFissureGenerale_c.py b/src/Tools/blocFissure/gmu/construitFissureGenerale_c.py
new file mode 100644 (file)
index 0000000..cb631d0
--- /dev/null
@@ -0,0 +1,124 @@
+# -*- coding: utf-8 -*-
+# Copyright (C) 2014-2020  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
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+"""construction de la fissure générale - maillage"""
+
+import os
+
+import logging
+import salome
+from .geomsmesh import geompy
+import GEOM
+from .geomsmesh import smesh
+from salome.smesh import smeshBuilder
+import SMESH
+
+from .putName import putName
+from .enleveDefaut import enleveDefaut
+from .shapeSurFissure import shapeSurFissure
+from .regroupeSainEtDefaut import RegroupeSainEtDefaut
+from .triedreBase import triedreBase
+
+# -----------------------------------------------------------------------------
+
+def construitFissureGenerale_c(maillageSain, meshBoiteDefaut, \
+                              zoneDefaut, zoneDefaut_skin, zoneDefaut_internalFaces, zoneDefaut_internalEdges, \
+                              facesPortFissure, \
+                              maillageFissureParams, \
+                              mailleur="MeshGems"):
+  """construction de la fissure générale - maillage"""
+  logging.info('start')
+  logging.info("Usage du mailleur %s", mailleur)
+
+  nomRep            = maillageFissureParams['nomRep']
+  nomFicSain        = maillageFissureParams['nomFicSain']
+  nomFicFissure     = maillageFissureParams['nomFicFissure']
+
+  O, _, _, _ = triedreBase()
+
+  # pour aider l'algo hexa-tetra à ne pas mettre de pyramides à l'exterieur des volumes repliés sur eux-mêmes
+  # on désigne les faces de peau en quadrangles par le groupe "skinFaces"
+  group_faceFissOutPipe = None
+  group_faceFissInPipe = None
+  groups = meshBoiteDefaut.GetGroups()
+  for grp in groups:
+    if grp.GetType() == SMESH.FACE:
+      if grp.GetName() == "fisOutPi":
+        group_faceFissOutPipe = grp
+      elif grp.GetName() == "fisInPi":
+        group_faceFissInPipe = grp
+
+  # le maillage NETGEN ne passe pas toujours ==> on force l'usage de MG_Tetra
+  mailleur = "MeshGems"
+  logging.info("Maillage avec %s", mailleur)
+  if ( mailleur == "MeshGems"):
+    algo3d = meshBoiteDefaut.Tetrahedron(algo=smeshBuilder.MG_Tetra)
+  else:
+    algo3d = meshBoiteDefaut.Tetrahedron(algo=smeshBuilder.NETGEN)
+    hypo3d = algo3d.MaxElementVolume(1000.0)
+    hypo3d.SetVerboseLevel( 0 )
+    hypo3d.SetStandardOutputLog( 0 )
+    hypo3d.SetRemoveLogOnSuccess( 1 )
+  putName(algo3d.GetSubMesh(), "boiteDefaut")
+  putName(algo3d, "algo3d_boiteDefaut")
+  putName(meshBoiteDefaut, "boiteDefaut")
+
+  is_done = meshBoiteDefaut.Compute()
+  text = "meshBoiteDefaut.Compute"
+  if is_done:
+    logging.info(text+" OK")
+  else:
+    text = "Erreur au calcul du maillage.\n" + text
+    logging.info(text)
+    raise Exception(text)
+
+  _ = meshBoiteDefaut.GetMesh().UnionListOfGroups( [ group_faceFissOutPipe, group_faceFissInPipe ], \
+                                                             'FACE1' )
+  maillageSain = enleveDefaut(maillageSain, zoneDefaut, zoneDefaut_skin,
+                              zoneDefaut_internalFaces, zoneDefaut_internalEdges)
+  putName(maillageSain, nomFicSain+"_coupe")
+  _, normfiss = shapeSurFissure(facesPortFissure)
+  maillageComplet = RegroupeSainEtDefaut(maillageSain, meshBoiteDefaut, \
+                                         None, None, 'COMPLET', normfiss)
+
+  logging.info("conversion quadratique")
+  maillageComplet.ConvertToQuadratic( 1 )
+  logging.info("groupes")
+  groups = maillageComplet.GetGroups()
+  grps = [ grp for grp in groups if grp.GetName() == 'FONDFISS']
+  _ = maillageComplet.GetMesh().CreateDimGroup( grps, SMESH.NODE, 'FONDFISS' )
+
+  logging.info("réorientation face de fissure FACE1")
+  grps = [ grp for grp in groups if grp.GetName() == 'FACE1']
+  _ = maillageComplet.Reorient2D( grps[0], normfiss, grps[0].GetID(1))
+
+  logging.info("réorientation face de fissure FACE2")
+  plansim = geompy.MakePlane(O, normfiss, 10000)
+  fissnorm = geompy.MakeMirrorByPlane(normfiss, plansim)
+  grps = [ grp for grp in groups if grp.GetName() == 'FACE2']
+  _ = maillageComplet.Reorient2D( grps[0], fissnorm, grps[0].GetID(1))
+  _ = maillageComplet.GetMesh().CreateDimGroup( grps, SMESH.NODE, 'FACE2' )
+
+  logging.info("export maillage fini")
+  fichierMaillageFissure = os.path.join (nomRep , '{}.med'.format(nomFicFissure))
+  maillageComplet.ExportMED(fichierMaillageFissure)
+  putName(maillageComplet, nomFicFissure)
+  logging.info("fichier maillage fissure %s", fichierMaillageFissure)
+
+  return maillageComplet
index edd101eb724e07e0ec257f8056d7fb2775199cf0..c4125ba0b85c02b878e466e71a94459e5ba01cf5 100644 (file)
@@ -682,8 +682,7 @@ class fissureCoude(fissureGenerique):
                             shapesFissure, shapeFissureParams, \
                             maillageFissureParams, elementsDefaut, step, \
                             mailleur="MeshGems"):
-    maillageFissure = construitFissureGenerale(maillagesSains, \
-                                               shapesFissure, shapeFissureParams, \
+    maillageFissure = construitFissureGenerale(shapesFissure, shapeFissureParams, \
                                                maillageFissureParams, elementsDefaut, \
                                                step, mailleur)
     return maillageFissure
index 9d085f5e9ceadb56e78f7043dfcd7b485df73436..a5b959754948d99bee93b9267c52083a78f9cf78 100644 (file)
@@ -22,8 +22,8 @@
 import logging
 
 from blocFissure import gmu
-from blocFissure.gmu.initEtude import initEtude
-from blocFissure.gmu.getStatsMaillageFissure import getStatsMaillageFissure
+from .initEtude import initEtude
+from .getStatsMaillageFissure import getStatsMaillageFissure
 
 class fissureGenerique(object):
   """classe générique problème fissure:
@@ -34,12 +34,17 @@ class fissureGenerique(object):
   """
 
   nomProbleme = "fissureGenerique"
+  geomParams = dict()
+  meshParams = dict()
+  shapeFissureParams = dict()
+  maillageFissureParams = dict()
 
   def __init__(self, numeroCas):
     initEtude()
     self.numeroCas = numeroCas
     self.nomCas = self.nomProbleme +"_%d"%(self.numeroCas)
     self.fissureLongue = False
+    self.referencesMaillageFissure = None
 
   def setParamGeometrieSaine(self):
     """setParamGeometrieSaine"""
@@ -109,33 +114,28 @@ class fissureGenerique(object):
     geometriesSaines = self.genereGeometrieSaine(self.geomParams)
     if step == 1:
       return
-    logging.info("AAAAAAAAAAAAAAAAAAAA")
 
     self.setParamMaillageSain()
     maillagesSains = self.genereMaillageSain(geometriesSaines, self.meshParams)
     if step == 2:
       return
-    logging.info("BBBBBBBBBBBBBBBBBBBBB")
 
     self.setParamShapeFissure()
     mailleur = self.mailleur2d3d()
     shapesFissure = self.genereShapeFissure(geometriesSaines, self.geomParams, self.shapeFissureParams, mailleur)
     if step == 3:
       return
-    logging.info("CCCCCCCCCCCCCCCCCCCCCCCC")
 
     self.setParamMaillageFissure()
     elementsDefaut = self.genereZoneDefaut(geometriesSaines, maillagesSains, \
                                            shapesFissure, self.shapeFissureParams, self.maillageFissureParams)
     if step == 4:
       return
-    logging.info("DDDDDDDDDDDDDDDDDDDD")
 
     maillageFissure = self.genereMaillageFissure(geometriesSaines, maillagesSains, \
                                                  shapesFissure, self.shapeFissureParams, self.maillageFissureParams, \
                                                  elementsDefaut, step, mailleur)
 
-    logging.info("EEEEEEEEEEEEEEEEEES")
     self.setReferencesMaillageFissure()
     ok_maillage = getStatsMaillageFissure(maillageFissure, self.referencesMaillageFissure, self.maillageFissureParams)
     return ok_maillage
index 709806be3e2211ee11b24b7bdfcd05833888c3fc..cf4cf66ea6fe1ca9f5bd42a629d5254b33c00be8 100644 (file)
@@ -25,9 +25,8 @@ import SMESH
 
 
 def getStatsMaillageFissure(maillage, referencesMaillageFissure, maillageFissureParams):
-  """
-  TODO: a completer
-  """
+  """"Statistiques maillage"""
+
   logging.debug('start')
 
   if 'nomRep' in maillageFissureParams:
@@ -75,17 +74,17 @@ def getStatsMaillageFissure(maillage, referencesMaillageFissure, maillageFissure
         fic_stat.write(text+"\n")
         text_2 += "                                          {} = {}, \\\n".format(key,d_resu[key])
 
-
     if ok_maillage:
-      print ("Calcul cohérent avec la référence.")
+      text = "Calcul cohérent avec la référence."
     else:
-#     Résultats de référence pour intégration dans le python du cas pour une mise à jour
-      with open(fichierNewRef, "w") as fic_info :
-        fic_info.write(text_2[:-4]+" \\")
       text = "Calcul différent de la référence.\n"
       text += "Voir le fichier {}\n".format(fichierStatMaillageFissure)
       text += "La nouvelle référence est disponible dans le fichier :\n{}\n".format(fichierNewRef)
       text += "Il faut l'insérer pour créer le dictionnaire 'referencesMaillageFissure' dans le paramétrage du cas."
-      print (text)
+#     Résultats de référence pour intégration dans le python du cas pour une mise à jour
+      with open(fichierNewRef, "w") as fic_info :
+        fic_info.write(text_2[:-4]+" \\")
+
+    print (text)
 
   return ok_maillage
index 2c8a72c93ddcf5bb376fac2876d2ecac6d8f24af..1d38abba1689fde6a238b65de4ac7a21987ae14a 100644 (file)
@@ -17,6 +17,7 @@
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
+"""procédure complète de construction d'une fissure longue"""
 
 import os
 
@@ -46,27 +47,22 @@ from .shapeSurFissure import shapeSurFissure
 from .regroupeSainEtDefaut import RegroupeSainEtDefaut
 from .triedreBase import triedreBase
 
-from blocFissure.gmu.insereFissureLongue_a import insereFissureLongue_a
-from blocFissure.gmu.insereFissureLongue_b import insereFissureLongue_b
-from blocFissure.gmu.insereFissureLongue_c import insereFissureLongue_c
-from blocFissure.gmu.insereFissureLongue_d import insereFissureLongue_d
+from .insereFissureLongue_a import insereFissureLongue_a
+from .insereFissureLongue_b import insereFissureLongue_b
+from .insereFissureLongue_c import insereFissureLongue_c
+from .insereFissureLongue_d import insereFissureLongue_d
 
 # -----------------------------------------------------------------------------
-# --- procedure complete fissure longue
 
-def insereFissureLongue(geometriesSaines, maillagesSains, \
+def insereFissureLongue(geometriesSaines, \
                         shapesFissure, shapeFissureParams, \
                         maillageFissureParams, elementsDefaut, \
                         step=-1, mailleur="MeshGems"):
-  """
-  TODO: a completer
-  """
+  """procedure complete fissure longue"""
   logging.info('start')
   logging.info("Usage du mailleur %s", mailleur)
 
   #geometrieSaine    = geometriesSaines[0]
-  #maillageSain      = maillagesSains[0]
-  #isHexa            = maillagesSains[1]
   shapeDefaut       = shapesFissure[0] # face de fissure, debordant
   #tailleDefaut      = shapesFissure[2]
   wiretube          = shapesFissure[4] # wire fond de fissure, debordant
index 811d6c772d6fc1d5fb622726cb0d673af8d2622f..de23ea5f7a3a7c47d5e0e69f5675338c7450b22e 100644 (file)
 #
 
 from blocFissure import gmu
-from blocFissure.gmu.initEtude import initEtude
+from .initEtude import initEtude
 initEtude()
-from blocFissure.gmu.triedreBase import triedreBase
+from .triedreBase import triedreBase
 O, OX, OY, OZ = triedreBase()
 
-from blocFissure.gmu.distance2 import distance2
+from .distance2 import distance2
 a=[10, 20, 30]
 b=[5, 7, 3]
 c=distance2(a,b)