# -*- coding: utf-8 -*-
-# Copyright (C) 2014-2020 EDF R&D
+# 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
"""procédure complète de construction d'une fissure générale"""
import logging
+
+from . import initLog
+
import salome
+from salome.smesh import smeshBuilder
+import GEOM
+import SMESH
+
from .geomsmesh import geompy
from .geomsmesh import geomPublishInFather
-from . import initLog
-import GEOM
from .geomsmesh import smesh
-from salome.smesh import smeshBuilder
-import SMESH
from .orderEdgesFromWire import orderEdgesFromWire
from .restreintFaceFissure import restreintFaceFissure
def construitFissureGenerale(shapesFissure, shapeFissureParams, \
maillageFissureParams, elementsDefaut, \
- step=-1, mailleur="MeshGems"):
+ step=-1, mailleur="MeshGems", nro_cas=None):
"""procédure complète fissure générale"""
logging.info('start')
- logging.info("Usage du mailleur %s", mailleur)
+ logging.info("Usage du mailleur %s pour le cas n°%d", mailleur, nro_cas)
shapeDefaut = shapesFissure[0] # faces de fissure, débordant
# - 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, \
- lenSegPipe, rayonPipe, nbsegCercle, nbsegRad)
+ (centres, gptsdisks, raydisks) = calculePointsAxiauxPipe (edgesFondFiss, edgesIdByOrientation, facesDefaut, \
+ centreFondFiss, wireFondFiss, wirePipeFiss, \
+ lenSegPipe, rayonPipe, nbsegCercle, nbsegRad, \
+ nro_cas)
# --- recherche des points en trop (externes au volume à remailler)
# - on associe chaque extrémité du pipe à une face filling
# --- maillage effectif du pipe
- (meshPipe, meshPipeGroups, edgesCircPipeGroup) = construitMaillagePipe(gptsdisks, idisklim, nbsegCercle, nbsegRad)
+ (meshPipe, meshPipeGroups, edgesCircPipeGroup) = \
+ construitMaillagePipe(gptsdisks, idisklim, nbsegCercle, nbsegRad)
# --- edges de bord, faces défaut à respecter
- (internalBoundary, bordsLibres, grpAretesVives) = mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, lgAretesVives)
+ (internalBoundary, bordsLibres, grpAretesVives) = \
+ mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, lgAretesVives, \
+ nro_cas)
# --- maillage faces de fissure
mailleFacesFissure(faceFissureExterne, \
edgesPipeFissureExterneC, edgesPeauFissureExterneC, \
meshPipeGroups, areteFaceFissure, rayonPipe, nbsegRad, \
- mailleur)
+ mailleur, nro_cas)
# --- maillage faces de peau
facesPeaux, edCircPeau, ptCircPeau, gpedgeBord, gpedgeVifs, edFissPeau, \
bordsLibres, grpEdgesPeauFissureExterne, grpAretesVives, \
edgesCircPipeGroup, dmoyen, rayonPipe, nbsegRad, \
- mailleur)
+ mailleur, nro_cas)
# --- regroupement des maillages du défaut
zoneDefaut, zoneDefaut_skin, zoneDefaut_internalFaces, zoneDefaut_internalEdges, \
facesPortFissure, \
maillageFissureParams, \
- mailleur )
+ mailleur, nro_cas )
if salome.sg.hasDesktop():
salome.sg.updateObjBrowser()