1 # -*- coding: utf-8 -*-
4 from blocFissure import gmu
5 from blocFissure.gmu.geomsmesh import geompy, smesh
13 from cylindre import cylindre
15 from blocFissure.gmu.triedreBase import triedreBase
16 from blocFissure.gmu.genereMeshCalculZoneDefaut import genereMeshCalculZoneDefaut
17 from blocFissure.gmu.creeZoneDefautDansObjetSain import creeZoneDefautDansObjetSain
18 from blocFissure.gmu.construitFissureGenerale import construitFissureGenerale
20 O, OX, OY, OZ = triedreBase()
22 class cylindre_2(cylindre):
24 problème de fissure plane sur cylindre hexa, fond de fissure complexe : polyline
26 nomProbleme = "cylindre2"
28 # ---------------------------------------------------------------------------
29 def genereShapeFissure( self, geometriesSaines, geomParams, shapeFissureParams):
30 logging.info("genereShapeFissure %s", self.nomCas)
32 lgInfluence = shapeFissureParams['lgInfluence']
34 shellFiss = geompy.ImportFile(os.path.join(gmu.pathBloc, "materielCasTests/FissInCylindre.brep"), "BREP")
35 fondFiss = geompy.CreateGroup(shellFiss, geompy.ShapeType["EDGE"])
36 geompy.UnionIDs(fondFiss, [3])
37 geompy.addToStudy( shellFiss, 'shellFiss' )
38 geompy.addToStudyInFather( shellFiss, fondFiss, 'fondFiss' )
41 coordsNoeudsFissure = genereMeshCalculZoneDefaut(shellFiss, 5 ,15)
44 return [shellFiss, centre, lgInfluence, coordsNoeudsFissure, fondFiss]
46 # ---------------------------------------------------------------------------
47 def setReferencesMaillageFissure(self):
48 self.referencesMaillageFissure = dict(Entity_Quad_Pyramid = 1334,
49 Entity_Quad_Triangle = 1432,
50 Entity_Quad_Edge = 785,
51 Entity_Quad_Penta = 560,
52 Entity_Quad_Hexa = 19070,
54 Entity_Quad_Tetra = 19978,
55 Entity_Quad_Quadrangle = 7424)