# -*- coding: utf-8 -*-
-
-from geomsmesh import geompy, smesh
-from geomsmesh import geomPublish
-from geomsmesh import geomPublishInFather
-import initLog
+# 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
+# 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
+#
+
+import os
+
+from .geomsmesh import geompy, smesh
+from .geomsmesh import geomPublish
+from .geomsmesh import geomPublishInFather
+from . import initLog
import math
import GEOM
import SALOMEDS
import SMESH
-#import StdMeshers
-#import GHS3DPlugin
-#import NETGENPlugin
import logging
-from fissureGenerique import fissureGenerique
+from .fissureGenerique import fissureGenerique
-from triedreBase import triedreBase
-from genereMeshCalculZoneDefaut import genereMeshCalculZoneDefaut
-from creeZoneDefautDansObjetSain import creeZoneDefautDansObjetSain
-from construitFissureGenerale import construitFissureGenerale
-from sortEdges import sortEdges
+from .triedreBase import triedreBase
+from .genereMeshCalculZoneDefaut import genereMeshCalculZoneDefaut
+from .creeZoneDefautDansObjetSain import creeZoneDefautDansObjetSain
+from .construitFissureGenerale import construitFissureGenerale
+from .sortEdges import sortEdges
O, OX, OY, OZ = triedreBase()
maillage hexa
"""
- nomProbleme = "tuyau_Coude"
+ nomProbleme = "fissureCoude"
# ---------------------------------------------------------------------------
def setParamGeometrieSaine(self):
# ---------------------------------------------------------------------------
def genereGeometrieSaine(self, geomParams):
+ """a écrire"""
logging.info("genereGeometrieSaine %s", self.nomCas)
angleCoude = geomParams['angleCoude']
smesh.SetName(algo1d_long_p2, "algo1d_long_p2")
smesh.SetName(hypo1d_long_p2, "hypo1d_long_p2")
- isDone = maillageSain.Compute()
-
- mp1 = maillageSain.GroupOnGeom(P1,'P1',SMESH.NODE)
- mp2 = maillageSain.GroupOnGeom(P2,'P2',SMESH.NODE)
- ext = maillageSain.GroupOnGeom(EXTUBE,'EXTUBE',SMESH.FACE)
- btu = maillageSain.GroupOnGeom(BORDTU,'BORDTU',SMESH.EDGE)
- clg = maillageSain.GroupOnGeom(CLGV,'CLGV',SMESH.FACE)
- pei = maillageSain.GroupOnGeom(PEAUINT,'PEAUINT',SMESH.FACE)
- pex = maillageSain.GroupOnGeom(PEAUEXT,'PEAUEXT',SMESH.FACE)
- cou = maillageSain.GroupOnGeom(COUDE,'COUDSAIN',SMESH.VOLUME)
+ 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)
+
+ _ = maillageSain.GroupOnGeom(P1,'P1',SMESH.NODE)
+ _ = maillageSain.GroupOnGeom(P2,'P2',SMESH.NODE)
+ _ = maillageSain.GroupOnGeom(EXTUBE,'EXTUBE',SMESH.FACE)
+ _ = maillageSain.GroupOnGeom(BORDTU,'BORDTU',SMESH.EDGE)
+ _ = maillageSain.GroupOnGeom(CLGV,'CLGV',SMESH.FACE)
+ _ = maillageSain.GroupOnGeom(PEAUINT,'PEAUINT',SMESH.FACE)
+ _ = maillageSain.GroupOnGeom(PEAUEXT,'PEAUEXT',SMESH.FACE)
+ _ = maillageSain.GroupOnGeom(COUDE,'COUDSAIN',SMESH.VOLUME)
return [maillageSain, True] # True : maillage hexa
externe = True)
# ---------------------------------------------------------------------------
- def genereShapeFissure( self, geometriesSaines, geomParams, shapeFissureParams):
+ def genereShapeFissure( self, geometriesSaines, geomParams, shapeFissureParams, \
+ mailleur="MeshGems"):
logging.info("genereShapeFissure %s", self.nomCas)
logging.info("shapeFissureParams %s", shapeFissureParams)
externe = shapeFissureParams['externe']
lgInfluence = shapeFissureParams['lgInfluence']
self.elliptique = False
- if shapeFissureParams.has_key('elliptique'):
+ if 'elliptique' in shapeFissureParams:
self.elliptique = shapeFissureParams['elliptique']
centre = geompy.MakeRotation(pc, axe, alfrd)
geomPublish(initLog.debug, centre, 'centrefissPlace' )
- coordsNoeudsFissure = genereMeshCalculZoneDefaut(facefiss, profondeur/2. ,profondeur)
+ coordsNoeudsFissure = genereMeshCalculZoneDefaut(facefiss, profondeur/2. ,profondeur, \
+ mailleur)
return [facefiss, centre, lgInfluence, coordsNoeudsFissure, wiretube, edgetube]
nbSegCercle = nombre de secteurs
areteFaceFissure = taille cible de l'arête des triangles en face de fissure.
"""
- self.maillageFissureParams = dict(nomRep = '.',
+ self.maillageFissureParams = dict(nomRep = os.curdir,
nomFicSain = self.nomCas,
nomFicFissure = 'fissure_' + self.nomCas,
nbsegRad = 5,
return elementsDefaut
# ---------------------------------------------------------------------------
- def genereMaillageFissure(self, geometriesSaines, maillagesSains,
- shapesFissure, shapeFissureParams,
- maillageFissureParams, elementsDefaut, step):
- maillageFissure = construitFissureGenerale(maillagesSains,
- shapesFissure, shapeFissureParams,
- maillageFissureParams, elementsDefaut, step)
+ def genereMaillageFissure(self, geometriesSaines, maillagesSains, \
+ shapesFissure, shapeFissureParams, \
+ maillageFissureParams, elementsDefaut, step, \
+ mailleur="MeshGems"):
+ maillageFissure = construitFissureGenerale(shapesFissure, shapeFissureParams, \
+ maillageFissureParams, elementsDefaut, \
+ step, mailleur)
return maillageFissure
# ---------------------------------------------------------------------------
Entity_Quad_Hexa = 8994,
Entity_Quad_Penta = 972,
Entity_Quad_Pyramid = 1038)
-