Salome HOME
Corrections cas-tests 14 et 27
[modules/smesh.git] / src / Tools / blocFissure / CasTests / tube.py
index 69e89719a3f00ce640d2921e56b02a071bc1a695..d71d98fe4be1535956ed63a6ea6779f9568472db 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
-"""problème de fissure plane dans un tube"""
+"""problème de fissure plane dans un tube ; passage par fichier xao"""
 
 import os
 import logging
 
 from blocFissure import gmu
 
 import os
 import logging
 
 from blocFissure import gmu
+from blocFissure.gmu import initLog
 from blocFissure.gmu.geomsmesh import geompy, smesh
 from blocFissure.gmu.geomsmesh import geompy, smesh
+from blocFissure.gmu.geomsmesh import geomPublish
+from blocFissure.gmu.geomsmesh import geomPublishInFather
 from blocFissure.gmu.fissureGenerique import fissureGenerique
 from blocFissure.gmu.genereMeshCalculZoneDefaut import genereMeshCalculZoneDefaut
 from blocFissure.gmu.creeZoneDefautDansObjetSain import creeZoneDefautDansObjetSain
 from blocFissure.gmu.construitFissureGenerale import construitFissureGenerale
 from blocFissure.gmu.fissureGenerique import fissureGenerique
 from blocFissure.gmu.genereMeshCalculZoneDefaut import genereMeshCalculZoneDefaut
 from blocFissure.gmu.creeZoneDefautDansObjetSain import creeZoneDefautDansObjetSain
 from blocFissure.gmu.construitFissureGenerale import construitFissureGenerale
+from blocFissure.gmu.putName import putName
 
 import GEOM
 import SALOMEDS
 
 import GEOM
 import SALOMEDS
@@ -38,6 +42,9 @@ class tube(fissureGenerique):
   """problème de fissure plane dans un tube"""
 
   nomProbleme = "tube"
   """problème de fissure plane dans un tube"""
 
   nomProbleme = "tube"
+  shapeFissureParams = dict()
+  maillageFissureParams = dict()
+  referencesMaillageFissure = dict()
 
   # ---------------------------------------------------------------------------
   def genereMaillageSain(self, geometriesSaines, meshParams):
 
   # ---------------------------------------------------------------------------
   def genereMaillageSain(self, geometriesSaines, meshParams):
@@ -45,7 +52,7 @@ class tube(fissureGenerique):
     logging.info(texte)
 
     ([objetSain], _) = smesh.CreateMeshesFromMED(os.path.join(gmu.pathBloc, "materielCasTests", "Tube.med"))
     logging.info(texte)
 
     ([objetSain], _) = smesh.CreateMeshesFromMED(os.path.join(gmu.pathBloc, "materielCasTests", "Tube.med"))
-    smesh.SetName(objetSain.GetMesh(), "{}_objetSain".format(self.nomProbleme))
+    putName(objetSain.GetMesh(), "{}_objetSain".format(self.nomProbleme), i_pref=self.numeroCas)
 
     return [objetSain, True] # True : maillage hexa
 
 
     return [objetSain, True] # True : maillage hexa
 
@@ -58,11 +65,12 @@ class tube(fissureGenerique):
     """
     texte = "genereMaillageSain pour '{}'".format(self.nomCas)
     logging.info(texte)
     """
     texte = "genereMaillageSain pour '{}'".format(self.nomCas)
     logging.info(texte)
-    self.shapeFissureParams = dict(lgInfluence = 1.,
+    self.shapeFissureParams = dict(lgInfluence = 0.4,
                                    rayonPipe   = 0.05)
 
   # ---------------------------------------------------------------------------
                                    rayonPipe   = 0.05)
 
   # ---------------------------------------------------------------------------
-  def genereShapeFissure( self, geometriesSaines, geomParams, shapeFissureParams):
+  def genereShapeFissure( self, geometriesSaines, geomParams, shapeFissureParams, \
+                                mailleur="MeshGems"):
     """Importe la géométrie de la fissure"""
     texte = "genereShapeFissure pour '{}'".format(self.nomCas)
     logging.info(texte)
     """Importe la géométrie de la fissure"""
     texte = "genereShapeFissure pour '{}'".format(self.nomCas)
     logging.info(texte)
@@ -76,10 +84,11 @@ class tube(fissureGenerique):
         l_aux.append(group)
     fondFiss = geompy.CreateGroup(shellFiss, geompy.ShapeType["EDGE"])
     geompy.UnionList(fondFiss, l_aux )
         l_aux.append(group)
     fondFiss = geompy.CreateGroup(shellFiss, geompy.ShapeType["EDGE"])
     geompy.UnionList(fondFiss, l_aux )
-    geompy.addToStudy( shellFiss, 'shellFiss' )
-    geompy.addToStudyInFather( shellFiss, fondFiss, 'fondFiss' )
+    geomPublish(initLog.always, shellFiss, "shellFiss", self.numeroCas)
+    geomPublishInFather(initLog.always, shellFiss, fondFiss, "fondFiss", self.numeroCas)
 
 
-    coordsNoeudsFissure = genereMeshCalculZoneDefaut(shellFiss, 0.05, 0.2)
+    mailleur = self.mailleur2d3d()
+    coordsNoeudsFissure = genereMeshCalculZoneDefaut(shellFiss, 0.025, 0.1, mailleur, self.numeroCas)
 
     centre = None
 
 
     centre = None
 
@@ -91,25 +100,30 @@ class tube(fissureGenerique):
     logging.info(texte)
     self.maillageFissureParams = dict(nomRep           = os.curdir,
                                       nomFicSain       = self.nomCas,
     logging.info(texte)
     self.maillageFissureParams = dict(nomRep           = os.curdir,
                                       nomFicSain       = self.nomCas,
-                                      nomFicFissure    = 'fissure_' + self.nomCas,
+                                      nomFicFissure    = self.nomCas + "_fissure",
                                       nbsegRad         = 5,
                                       nbsegCercle      = 8,
                                       areteFaceFissure = 0.5)
 
   # ---------------------------------------------------------------------------
   def genereZoneDefaut(self, geometriesSaines, maillagesSains, shapesFissure, shapeFissureParams, maillageFissureParams):
                                       nbsegRad         = 5,
                                       nbsegCercle      = 8,
                                       areteFaceFissure = 0.5)
 
   # ---------------------------------------------------------------------------
   def genereZoneDefaut(self, geometriesSaines, maillagesSains, shapesFissure, shapeFissureParams, maillageFissureParams):
-    elementsDefaut = creeZoneDefautDansObjetSain(geometriesSaines, maillagesSains, shapesFissure, shapeFissureParams, maillageFissureParams)
+    elementsDefaut = creeZoneDefautDansObjetSain(geometriesSaines, maillagesSains, shapesFissure, shapeFissureParams, maillageFissureParams, \
+                                                 self.numeroCas)
     return elementsDefaut
 
   # ---------------------------------------------------------------------------
     return elementsDefaut
 
   # ---------------------------------------------------------------------------
-  def genereMaillageFissure(self, geometriesSaines, maillagesSains,
-                            shapesFissure, shapeFissureParams,
-                            maillageFissureParams, elementsDefaut, step):
+  def genereMaillageFissure(self, geometriesSaines, maillagesSains, \
+                                  shapesFissure, shapeFissureParams, \
+                                  maillageFissureParams, elementsDefaut, step, \
+                                  mailleur="MeshGems"):
+
     texte = "genereMaillageFissure pour '{}'".format(self.nomCas)
     logging.info(texte)
     texte = "genereMaillageFissure pour '{}'".format(self.nomCas)
     logging.info(texte)
-    maillageFissure = construitFissureGenerale(maillagesSains,
-                                               shapesFissure, shapeFissureParams,
-                                               maillageFissureParams, elementsDefaut, step)
+
+    mailleur = self.mailleur2d3d()
+    maillageFissure = construitFissureGenerale(shapesFissure, shapeFissureParams, \
+                                               maillageFissureParams, elementsDefaut, \
+                                               step, mailleur, self.numeroCas)
     return maillageFissure
 
   # ---------------------------------------------------------------------------
     return maillageFissure
 
   # ---------------------------------------------------------------------------