Salome HOME
Merge commit '6600bcec782fc8b6c72871fe6e08bd19a34a4e2b'
[modules/smesh.git] / src / Tools / blocFissure / CasTests / fissure_Coude.py
index 2201f1e39ba57806912216450a459ebcb6f5ccc2..52c5182e57cd15380ccc93aedaf6e4014f4fb063 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2014-2021  EDF R&D
+# Copyright (C) 2014-2023  EDF
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -23,16 +23,16 @@ import logging
 import os
 import math
 
-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.putName import putName
-
 import GEOM
-import SALOMEDS
 import SMESH
 
+from blocFissure.gmu.geomsmesh import geompy
+from blocFissure.gmu.geomsmesh import smesh
+from blocFissure.gmu.geomsmesh import geomPublish
+from blocFissure.gmu.geomsmesh import geomPublishInFather
+
+from blocFissure.gmu import initLog
+from blocFissure.gmu.putName import putName
 from blocFissure.gmu.fissureGenerique import fissureGenerique
 from blocFissure.gmu.triedreBase import triedreBase
 from blocFissure.gmu.genereMeshCalculZoneDefaut import genereMeshCalculZoneDefaut
@@ -76,6 +76,7 @@ class fissure_Coude(fissureGenerique):
 
   # ---------------------------------------------------------------------------
   def genereGeometrieSaine(self, geomParams):
+    """a écrire"""
     logging.info("genereGeometrieSaine %s", self.nomCas)
 
     angleCoude = geomParams['angleCoude']
@@ -108,7 +109,6 @@ class fissure_Coude(fissureGenerique):
     P2 = geompy.MakeTranslationVectorDistance(P2, Rotation_2, -l_tube_p2)
     geomPublish(initLog.always, P2, "P2", self.numeroCas )
 
-
     # --- tube coude sain
 
     geometrieSaine = geompy.MakePartition([Extrusion_1, Revolution_1, Extrusion_2, P1, P2], [Plane_1], [], [], geompy.ShapeType["SOLID"], 0, [], 1)
@@ -146,7 +146,7 @@ class fissure_Coude(fissureGenerique):
 
     pp2 = geompy.MakeTranslationVectorDistance(P2, Rotation_2, 10)
     vec2 = geompy.MakeVector(P2, pp2)
-    #geomPublish(initLog.debug,vec2, 'vec2')
+    #geomPublish(initLog.debug, vec2, 'vec2', self.numeroCas)
     facesIds = geompy.GetShapesOnPlaneIDs(geometrieSaine, geompy.ShapeType["FACE"], vec2, GEOM.ST_ON)
     CLGV = geompy.CreateGroup(geometrieSaine, geompy.ShapeType["FACE"])
     geompy.UnionIDs(CLGV, facesIds)
@@ -160,7 +160,7 @@ class fissure_Coude(fissureGenerique):
     extru2 = geompy.MakePrismVecH(rot1, Rotation_2, -l_tube_p2)
     interne = geompy.MakeFuse(extru1, revol1)
     interne = geompy.MakeFuse(extru2, interne)
-    geomPublish(initLog.debug,interne, 'interne')
+    geomPublish(initLog.debug, interne, 'interne', self.numeroCas)
     facesIds = geompy.GetShapesOnShapeIDs(interne, geometrieSaine, geompy.ShapeType["FACE"], GEOM.ST_ONIN)
     PEAUINT = geompy.CreateGroup(geometrieSaine, geompy.ShapeType["FACE"])
     geompy.UnionIDs(PEAUINT, facesIds)
@@ -176,7 +176,7 @@ class fissure_Coude(fissureGenerique):
     extru2 = geompy.MakePrismVecH(rot1, Rotation_2, -l_tube_p2)
     externe = geompy.MakeFuse(extru1, revol1)
     externe = geompy.MakeFuse(extru2, externe)
-    geomPublish(initLog.debug,externe, 'externe')
+    geomPublish(initLog.debug, externe, 'externe', self.numeroCas)
     facesIds = geompy.GetShapesOnShapeIDs(externe, geometrieSaine, geompy.ShapeType["FACE"], GEOM.ST_ON)
     PEAUEXT = geompy.CreateGroup(geometrieSaine, geompy.ShapeType["FACE"])
     geompy.UnionIDs(PEAUEXT, facesIds)
@@ -230,41 +230,34 @@ class fissure_Coude(fissureGenerique):
     n_long_p2    = meshParams['n_long_p2']
 
     maillageSain = smesh.Mesh(geometrieSaine)
+    putName(maillageSain, "maillageSain", i_pref=self.numeroCas)
 
     algo3d = maillageSain.Hexahedron()
     algo2d = maillageSain.Quadrangle()
-    putName(algo3d, "algo3d_maillageSain", i_pref=self.numeroCas)
-    putName(algo2d, "algo2d_maillageSain", i_pref=self.numeroCas)
 
     algo1d_long_p1 = maillageSain.Segment(geom=long_p1)
     hypo1d_long_p1 = algo1d_long_p1.NumberOfSegments(n_long_p1)
-    putName(algo1d_long_p1, "algo1d_long_p1", i_pref=self.numeroCas)
-    putName(hypo1d_long_p1, "hypo1d_long_p1", i_pref=self.numeroCas)
+    putName(hypo1d_long_p1, "n_long_p1={}".format(n_long_p1), i_pref=self.numeroCas)
 
     algo1d_ep = maillageSain.Segment(geom=ep)
     hypo1d_ep = algo1d_ep.NumberOfSegments(n_ep)
-    putName(algo1d_ep, "algo1d_ep", i_pref=self.numeroCas)
-    putName(hypo1d_ep, "hypo1d_ep", i_pref=self.numeroCas)
+    putName(hypo1d_ep, "n_ep={}".format(n_ep), i_pref=self.numeroCas)
 
     algo1d_long_coude = maillageSain.Segment(geom=long_coude)
     hypo1d_long_coude = algo1d_long_coude.NumberOfSegments(n_long_coude)
-    putName(algo1d_long_coude, "algo1d_long_coude", i_pref=self.numeroCas)
-    putName(hypo1d_long_coude, "hypo1d_long_coude", i_pref=self.numeroCas)
+    putName(hypo1d_long_coude, "n_long_coude={}".format(n_long_coude), i_pref=self.numeroCas)
 
     algo1d_circ_g = maillageSain.Segment(geom=circ_g)
     hypo1d_circ_g = algo1d_circ_g.NumberOfSegments(n_circ_g)
-    putName(algo1d_circ_g, "algo1d_circ_g", i_pref=self.numeroCas)
-    putName(hypo1d_circ_g, "hypo1d_circ_g", i_pref=self.numeroCas)
+    putName(hypo1d_circ_g, "n_circ_g={}".format(n_circ_g), i_pref=self.numeroCas)
 
     algo1d_circ_d = maillageSain.Segment(geom=circ_d)
     hypo1d_circ_d = algo1d_circ_d.NumberOfSegments(n_circ_d)
-    putName(algo1d_circ_d, "algo1d_circ_d", i_pref=self.numeroCas)
-    putName(hypo1d_circ_d, "hypo1d_circ_d", i_pref=self.numeroCas)
+    putName(hypo1d_circ_d, "n_circ_d={}".format(n_circ_d), i_pref=self.numeroCas)
 
     algo1d_long_p2 = maillageSain.Segment(geom=long_p2)
     hypo1d_long_p2 = algo1d_long_p2.NumberOfSegments(n_long_p2)
-    putName(algo1d_long_p2, "algo1d_long_p2", i_pref=self.numeroCas)
-    putName(hypo1d_long_p2, "hypo1d_long_p2", i_pref=self.numeroCas)
+    putName(hypo1d_long_p2, "n_long_p2={}".format(n_long_p2), i_pref=self.numeroCas)
 
     _ = maillageSain.GroupOnGeom(P1,'P1',SMESH.NODE)
     _ = maillageSain.GroupOnGeom(P2,'P2',SMESH.NODE)
@@ -275,14 +268,21 @@ class fissure_Coude(fissureGenerique):
     _ = maillageSain.GroupOnGeom(PEAUEXT,'PEAUEXT',SMESH.FACE)
     _ = maillageSain.GroupOnGeom(COUDE,'COUDSAIN',SMESH.VOLUME)
 
-    _ = maillageSain.Compute()
+    is_done = maillageSain.Compute()
+    text = "maillageSain.Compute"
+    if is_done:
+      logging.info(text+" OK")
+    else:
+      text = "Erreur au calcul du maillage.\n" + text
+      logging.info(text)
+      raise Exception(text)
 
     return [maillageSain, True] # True : maillage hexa
 
   # ---------------------------------------------------------------------------
   def setParamShapeFissure(self):
     """
-    paramètres de la fissure
+    paramètres de la fissure pour le tuyau coude
     profondeur  : 0 < profondeur <= épaisseur
     azimut      : entre 0 et 360°
     alpha       : 0 < alpha < angleCoude
@@ -487,8 +487,8 @@ class fissure_Coude(fissureGenerique):
   # ---------------------------------------------------------------------------
   def setParamMaillageFissure(self):
     self.maillageFissureParams = dict(nomRep        = os.curdir,
-                                      nomFicSain    = self.nomCas,
-                                      nomFicFissure = self.nomCas + "_fissure",
+                                      nomFicSain    = self.nomProbleme,
+                                      nomFicFissure = self.nomProbleme + "_fissure",
                                       nbsegExt      = 5,
                                       nbsegGen      = 25,
                                       nbsegRad      = 5,
@@ -510,21 +510,33 @@ class fissure_Coude(fissureGenerique):
                                   mailleur="MeshGems"):
 
     mailleur = self.mailleur2d3d()
-    maillageFissure = insereFissureLongue(geometriesSaines, \
-                                          shapesFissure, shapeFissureParams, \
+    maillageFissure = insereFissureLongue(shapesFissure, shapeFissureParams, \
                                           maillageFissureParams, elementsDefaut, \
-                                          step, mailleur, self.numeroCas)
+                                          mailleur, self.numeroCas)
     return maillageFissure
 
   # ---------------------------------------------------------------------------
   def setReferencesMaillageFissure(self):
-    self.referencesMaillageFissure = dict( \
-                                          Entity_Quad_Quadrangle = 6710, \
-                                          Entity_Quad_Hexa = 8656, \
-                                          Entity_Node = 76807, \
-                                          Entity_Quad_Edge = 1006, \
-                                          Entity_Quad_Triangle = 2342, \
-                                          Entity_Quad_Tetra = 20392, \
-                                          Entity_Quad_Pyramid = 1232, \
-                                          Entity_Quad_Penta = 1176 \
-                                         )
+    from salome.smesh import smeshBuilder
+    if smeshBuilder.NETGEN_VERSION_MAJOR < 6:
+      self.referencesMaillageFissure = dict( \
+                                             Entity_Quad_Quadrangle = 6710, \
+                                             Entity_Quad_Hexa = 8656, \
+                                             Entity_Node = 70896, \
+                                             Entity_Quad_Edge = 1006, \
+                                             Entity_Quad_Triangle = 2342, \
+                                             Entity_Quad_Tetra = 15963, \
+                                             Entity_Quad_Pyramid = 1232, \
+                                             Entity_Quad_Penta = 1176 \
+      )
+    else:
+      self.referencesMaillageFissure = dict( \
+                                             Entity_Quad_Quadrangle = 6710, \
+                                             Entity_Quad_Hexa = 8656, \
+                                             Entity_Node = 71784, \
+                                             Entity_Quad_Edge = 1006, \
+                                             Entity_Quad_Triangle = 2496, \
+                                             Entity_Quad_Tetra = 16504, \
+                                             Entity_Quad_Pyramid = 1232, \
+                                             Entity_Quad_Penta = 1176 \
+      )