Salome HOME
Ajout d'un test de non régression pour blocFissure
[modules/smesh.git] / src / Tools / blocFissure / CasTests / tube.py
index ec8ffdf2307ce46ca61481e070b9c60e127c6810..3b2e724d189ec6ef27d90a77c704708f56d6ccdd 100644 (file)
 # 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
+from blocFissure.gmu import initLog
 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
-
-import GEOM
-import SALOMEDS
-import SMESH
+from blocFissure.gmu.putName import putName
 
 class tube(fissureGenerique):
   """problème de fissure plane dans un tube"""
 
   nomProbleme = "tube"
+  shapeFissureParams = dict()
+  maillageFissureParams = dict()
+  referencesMaillageFissure = dict()
 
   # ---------------------------------------------------------------------------
   def genereMaillageSain(self, geometriesSaines, meshParams):
@@ -45,7 +49,7 @@ class tube(fissureGenerique):
     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(), self.nomProbleme, i_pref=self.numeroCas)
 
     return [objetSain, True] # True : maillage hexa
 
@@ -77,11 +81,11 @@ class tube(fissureGenerique):
         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)
 
     mailleur = self.mailleur2d3d()
-    coordsNoeudsFissure = genereMeshCalculZoneDefaut(shellFiss, 0.025, 0.1, mailleur)
+    coordsNoeudsFissure = genereMeshCalculZoneDefaut(shellFiss, 0.025, 0.1, mailleur, self.numeroCas)
 
     centre = None
 
@@ -92,31 +96,31 @@ class tube(fissureGenerique):
     texte = "setParamMaillageFissure pour '{}'".format(self.nomCas)
     logging.info(texte)
     self.maillageFissureParams = dict(nomRep           = os.curdir,
-                                      nomFicSain       = self.nomCas,
-                                      nomFicFissure    = self.nomCas + "_fissure",
+                                      nomFicSain       = self.nomProbleme,
+                                      nomFicFissure    = self.nomProbleme + "_fissure",
                                       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
 
   # ---------------------------------------------------------------------------
-  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)
 
     mailleur = self.mailleur2d3d()
-    maillageFissure = construitFissureGenerale(maillagesSains,
-                                               shapesFissure, shapeFissureParams,
-                                               maillageFissureParams, elementsDefaut, step, \
-                                               mailleur)
+    maillageFissure = construitFissureGenerale(shapesFissure, shapeFissureParams, \
+                                               maillageFissureParams, elementsDefaut, \
+                                               mailleur, self.numeroCas)
     return maillageFissure
 
   # ---------------------------------------------------------------------------