X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FTools%2FblocFissure%2Fgmu%2FfissureGenerique.py;h=6d79eb3d518aae094dce7af36b2666b92fa875d5;hp=3296c39cecbaf64bbe54c4b41615f3f113222562;hb=499f29d24922cec66e41b41a0039a954993bc6df;hpb=d1d19caf57524c6da08849c77ad242adb66e6d0e diff --git a/src/Tools/blocFissure/gmu/fissureGenerique.py b/src/Tools/blocFissure/gmu/fissureGenerique.py index 3296c39ce..6d79eb3d5 100644 --- a/src/Tools/blocFissure/gmu/fissureGenerique.py +++ b/src/Tools/blocFissure/gmu/fissureGenerique.py @@ -1,68 +1,113 @@ # -*- coding: utf-8 -*- +# Copyright (C) 2014-2022 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 +# +"""fissureGenerique""" import logging from blocFissure import gmu -from blocFissure.gmu.initEtude import initEtude -from blocFissure.gmu.getStatsMaillageFissure import getStatsMaillageFissure +from .initEtude import initEtude +from .getStatsMaillageFissure import getStatsMaillageFissure + +class fissureGenerique(object): + """classe générique problème fissure: -class fissureGenerique(): - """ - classe générique problème fissure: génération géométrie et maillage sain définition et positionnement d'une fissure génération d'un bloc défaut inséré dans le maillage sain """ - nomProbleme = "generique" + nomProbleme = "fissureGenerique" + maillageFissure = None + geomParams = dict() + meshParams = dict() + shapeFissureParams = dict() + maillageFissureParams = dict() def __init__(self, numeroCas): initEtude() self.numeroCas = numeroCas self.nomCas = self.nomProbleme +"_%d"%(self.numeroCas) self.fissureLongue = False + self.referencesMaillageFissure = None def setParamGeometrieSaine(self): - self.geomParams = {} + """setParamGeometrieSaine""" + self.geomParams = dict() def genereGeometrieSaine(self, geomParams): + """genereGeometrieSaine""" geometriesSaines = [None] return geometriesSaines def setParamMaillageSain(self): - self.meshParams = {} + """setParamMaillageSain""" + self.meshParams = dict() def genereMaillageSain(self, geometriesSaines, meshParams): + """genereMaillageSain""" maillagesSains = [None] return maillagesSains def setParamShapeFissure(self): - self.shapeFissureParams = {} + """setParamShapeFissure""" + self.shapeFissureParams = dict() - def genereShapeFissure(self, geometriesSaines, geomParams, shapeFissureParams): + def genereShapeFissure(self, geometriesSaines, geomParams, shapeFissureParams, mailleur="MeshGems"): + """genereShapeFissure""" shapesFissure = [None] return shapesFissure def setParamMaillageFissure(self): - self.maillageFissureParams = {} + """setParamMaillageFissure""" + self.maillageFissureParams = dict() - def genereZoneDefaut(self, geometriesSaines, maillagesSains, shapesFissure, maillageFissureParams): + def genereZoneDefaut(self, geometriesSaines, maillagesSains, shapesFissure, shapeFissureParams, maillageFissureParams): + """genereZoneDefaut""" elementsDefaut = [None] return elementsDefaut - def genereMaillageFissure(self, geometriesSaines, maillagesSains, shapesFissure, - maillageFissureParams, elementsDefaut, step): + def genereMaillageFissure(self, geometriesSaines, maillagesSains, \ + shapesFissure, shapeFissureParams, \ + maillageFissureParams, elementsDefaut, step, \ + mailleur="MeshGems"): + """genereMaillageFissure""" maillageFissure = None return maillageFissure def setReferencesMaillageFissure(self): - referencesMaillageFissure = {} + """setReferencesMaillageFissure""" + referencesMaillageFissure = dict() return referencesMaillageFissure + def mailleur2d3d(self): + """Le mailleur : NETGEN ou MeshGems""" + #mailleur = "MeshGems" + mailleur = "NETGEN" + return mailleur + # --------------------------------------------------------------------------- def executeProbleme(self, step=-1): - logging.info(" --- executeProbleme %s", self.nomCas) + """executeProbleme""" + texte = " --- fissureGenerique.executeProbleme pour '{}', step = {}".format(self.nomCas,step) + logging.info(texte) if step == 0: return @@ -77,24 +122,21 @@ class fissureGenerique(): return self.setParamShapeFissure() - shapesFissure = self.genereShapeFissure(geometriesSaines, self.geomParams, self.shapeFissureParams) + mailleur = self.mailleur2d3d() + shapesFissure = self.genereShapeFissure(geometriesSaines, self.geomParams, self.shapeFissureParams, mailleur) if step == 3: return self.setParamMaillageFissure() - elementsDefaut = self.genereZoneDefaut(geometriesSaines, maillagesSains, shapesFissure, self.shapeFissureParams, self.maillageFissureParams) + elementsDefaut = self.genereZoneDefaut(geometriesSaines, maillagesSains, \ + shapesFissure, self.shapeFissureParams, self.maillageFissureParams) if step == 4: return - maillageFissure = self.genereMaillageFissure(geometriesSaines, maillagesSains, - shapesFissure, self.shapeFissureParams, - self.maillageFissureParams, elementsDefaut, step) + self.maillageFissure = self.genereMaillageFissure(geometriesSaines, maillagesSains, \ + shapesFissure, self.shapeFissureParams, self.maillageFissureParams, \ + elementsDefaut, step, mailleur) self.setReferencesMaillageFissure() - mesures = getStatsMaillageFissure(maillageFissure, self.referencesMaillageFissure, self.maillageFissureParams) - - - - - - + ok_maillage = getStatsMaillageFissure(self.maillageFissure, self.referencesMaillageFissure, self.maillageFissureParams) + return ok_maillage