1 # -*- coding: utf-8 -*-
4 from blocFissure import gmu
5 from blocFissure.gmu.geomsmesh import geompy, smesh
16 from .eprouvetteDroite import eprouvetteDroite
18 from blocFissure.gmu.triedreBase import triedreBase
19 from blocFissure.gmu.genereMeshCalculZoneDefaut import genereMeshCalculZoneDefaut
20 from blocFissure.gmu.creeZoneDefautDansObjetSain import creeZoneDefautDansObjetSain
21 from blocFissure.gmu.construitFissureGenerale import construitFissureGenerale
23 O, OX, OY, OZ = triedreBase()
25 class eprouvetteDroite_2(eprouvetteDroite):
27 problème de fissure plane coupant 3 faces (éprouvette), débouches non normaux, objet plan
30 nomProbleme = "eprouvetteDroite2"
32 # ---------------------------------------------------------------------------
33 def genereShapeFissure( self, geometriesSaines, geomParams, shapeFissureParams):
34 logging.info("genereShapeFissure %s", self.nomCas)
36 lgInfluence = shapeFissureParams['lgInfluence']
38 shellFiss = geompy.ImportFile(os.path.join(gmu.pathBloc, "materielCasTests/EprouvetteDroiteFiss_2.brep"), "BREP")
39 fondFiss = geompy.CreateGroup(shellFiss, geompy.ShapeType["EDGE"])
40 geompy.UnionIDs(fondFiss, [10])
41 geompy.addToStudy( shellFiss, 'shellFiss' )
42 geompy.addToStudyInFather( shellFiss, fondFiss, 'fondFiss' )
45 coordsNoeudsFissure = genereMeshCalculZoneDefaut(shellFiss, 5 ,10)
48 return [shellFiss, centre, lgInfluence, coordsNoeudsFissure, fondFiss]
50 # ---------------------------------------------------------------------------
51 def setReferencesMaillageFissure(self):
52 self.referencesMaillageFissure = dict(Entity_Quad_Pyramid = 396,
53 Entity_Quad_Triangle = 1084,
54 Entity_Quad_Edge = 510,
55 Entity_Quad_Penta = 96,
56 Entity_Quad_Hexa = 9504,
58 Entity_Quad_Tetra = 7545,
59 Entity_Quad_Quadrangle = 3724)