1 # -*- coding: utf-8 -*-
3 from blocFissure.gmu.fissureCoude import fissureCoude
5 class fissureCoude_ihm(fissureCoude):
7 problème de fissure du Coude :
8 pour version IHM graphique
11 # ---------------------------------------------------------------------------
12 def setDicoParams(self,dico):
15 # ---------------------------------------------------------------------------
16 def setParamGeometrieSaine(self):
18 Paramètres géométriques du tuyau coudé sain:
26 self.geomParams = dict(angleCoude = self.dico['angle'],
27 r_cintr = self.dico['rCintr'],
28 l_tube_p1 = self.dico['lTubeP1'],
29 l_tube_p2 = self.dico['lTubeP2'],
30 epais = self.dico['epais'],
31 de = self.dico['dext'])
33 # ---------------------------------------------------------------------------
34 def setParamMaillageSain(self):
35 self.meshParams = dict(n_long_p1 = self.dico['nbAxeTubeP1'],
36 n_ep = self.dico['nbEpaisseur'],
37 n_long_coude = self.dico['nbAxeCoude'],
38 n_circ_g = self.dico['nbCirconf'],
39 n_circ_d = self.dico['nbCirconf'],
40 n_long_p2 = self.dico['nbAxeTubeP2'])
42 # ---------------------------------------------------------------------------
43 def setParamShapeFissure(self):
45 paramètres de la fissure pour le tuyau coude
46 profondeur : 0 < profondeur <= épaisseur
47 rayonPipe : rayon du pipe correspondant au maillage rayonnant
48 lenSegPipe : longueur des mailles rayonnantes le long du fond de fissure (= rayonPipe par défaut)
49 azimut : entre 0 et 360°
50 alpha : 0 < alpha < angleCoude
51 longueur : <=2*profondeur ==> force une fissure elliptique (longueur/profondeur = grand axe/petit axe).
52 orientation : 0° : longitudinale, 90° : circonférentielle, autre : uniquement fissures elliptiques
53 lgInfluence : distance autour de la shape de fissure a remailler (si 0, pris égal à profondeur. A ajuster selon le maillage)
54 elliptique : True : fissure elliptique (longueur/profondeur = grand axe/petit axe); False : fissure longue (fond de fissure de profondeur constante, demi-cercles aux extrémites)
55 pointIn_x : optionnel coordonnées x d'un point dans le solide, pas trop loin du centre du fond de fissure (idem y,z)
56 externe : True : fissure face externe, False : fissure face interne
58 print "setParamShapeFissure", self.nomCas
59 self.shapeFissureParams = dict(profondeur = self.dico['profondeur'],
60 rayonPipe = self.dico['rayonTore'],
61 lenSegPipe = self.dico['lenSegPipe'],
62 azimut = self.dico['azimut'],
63 alpha = self.dico['posiAngul'],
64 longueur = self.dico['longueur'],
65 orientation = self.dico['orientation'],
66 lgInfluence = self.dico['influence'],
67 elliptique = self.dico['cbForceEllipse'],
68 externe = self.dico['rbFissExt'])
70 # ---------------------------------------------------------------------------
71 def setParamMaillageFissure(self):
73 Paramètres du maillage de la fissure pour le tuyau coudé
74 Voir également setParamShapeFissure, paramètres rayonPipe et lenSegPipe.
75 nbSegRad = nombre de couronnes
76 nbSegCercle = nombre de secteurs
77 areteFaceFissure = taille cible de l'arête des triangles en face de fissure.
79 self.maillageFissureParams = dict(nomRep = '.',
80 nomFicSain = self.nomCas,
81 nomFicFissure = 'fissure_' + self.nomCas,
82 nbsegRad = self.dico['nbCouronnes'],
83 nbsegCercle = self.dico['nbSecteurs'],
84 areteFaceFissure = self.dico['aretesFaceFissure'])
86 # ---------------------------------------------------------------------------
87 def setReferencesMaillageFissure(self):
88 self.referencesMaillageFissure = dict(Entity_Node = 0,
90 Entity_Quad_Triangle = 0,
91 Entity_Quad_Quadrangle = 0,
92 Entity_Quad_Tetra = 0,
94 Entity_Quad_Penta = 0,
95 Entity_Quad_Pyramid = 0)