Salome HOME
Merge branch 'master' into pra/blocFissure
[modules/smesh.git] / src / Tools / blocFissure / CasTests / fissureCoude_1.py
1 # -*- coding: utf-8 -*-
2
3 from blocFissure.gmu.fissureCoude  import fissureCoude
4
5 class fissureCoude_1(fissureCoude):
6   """
7   problème de fissure du Coude :
8   adaptation maillage
9   """
10
11 # ---------------------------------------------------------------------------
12   def setParamGeometrieSaine(self):
13     """
14     Paramètres géométriques du tuyau coudé sain:
15     angleCoude
16     r_cintr
17     l_tube_p1
18     l_tube_p2
19     epais
20     de
21     """
22     self.geomParams = dict(angleCoude = 60,
23                            r_cintr    = 1200,
24                            l_tube_p1  = 1600,
25                            l_tube_p2  = 1200,
26                            epais      = 40,
27                            de         = 760)
28
29   # ---------------------------------------------------------------------------
30   def setParamMaillageSain(self):
31     self.meshParams = dict(n_long_p1    = 16,
32                            n_ep         = 3,
33                            n_long_coude = 15,
34                            n_circ_g     = 20,
35                            n_circ_d     = 20,
36                            n_long_p2    = 12)
37
38 # ---------------------------------------------------------------------------
39   def setParamShapeFissure(self):
40     """
41     paramètres de la fissure pour le tuyau coude
42     profondeur  : 0 < profondeur <= épaisseur
43     rayonPipe   : rayon du pipe correspondant au maillage rayonnant
44     lenSegPipe  : longueur des mailles rayonnantes le long du fond de fissure (= rayonPipe par défaut)
45     azimut      : entre 0 et 360°
46     alpha       : 0 < alpha < angleCoude
47     longueur    : <=2*profondeur ==> force une fissure elliptique (longueur/profondeur = grand axe/petit axe).
48     orientation : 0° : longitudinale, 90° : circonférentielle, autre : uniquement fissures elliptiques
49     lgInfluence : distance autour de la shape de fissure a remailler (si 0, pris égal à profondeur. A ajuster selon le maillage)
50     elliptique  : True : fissure elliptique (longueur/profondeur = grand axe/petit axe); False : fissure longue (fond de fissure de profondeur constante, demi-cercles aux extrémites)
51     pointIn_x   : optionnel coordonnées x d'un point dans le solide, pas trop loin du centre du fond de fissure (idem y,z)
52     externe     : True : fissure face externe, False : fissure face interne
53     """
54     self.shapeFissureParams = dict(profondeur  = 10,
55                                    rayonPipe   = 2.5,
56                                    lenSegPipe  = 2.5,
57                                    azimut      = 160,
58                                    alpha       = 20,
59                                    longueur    = 400,
60                                    orientation = 90,
61                                    lgInfluence = 50,
62                                    elliptique  = False,
63                                    externe     = True)
64
65 # ---------------------------------------------------------------------------
66   def setParamMaillageFissure(self):
67     """
68     Paramètres du maillage de la fissure pour le tuyau coudé
69     Voir également setParamShapeFissure, paramètres rayonPipe et lenSegPipe.
70     nbSegRad = nombre de couronnes
71     nbSegCercle = nombre de secteurs
72     areteFaceFissure = taille cible de l'arête des triangles en face de fissure.
73     """
74     self.maillageFissureParams = dict(nomRep        = '.',
75                                       nomFicSain    = self.nomCas,
76                                       nomFicFissure = 'fissure_' + self.nomCas,
77                                       nbsegRad      = 5,
78                                       nbsegCercle   = 6,
79                                       areteFaceFissure = 5)
80
81   # ---------------------------------------------------------------------------
82   def setReferencesMaillageFissure(self):
83     self.referencesMaillageFissure = dict(Entity_Node            = 77917,
84                                           Entity_Quad_Edge       = 975,
85                                           Entity_Quad_Triangle   = 2182,
86                                           Entity_Quad_Quadrangle = 6842,
87                                           Entity_Quad_Tetra      = 20135,
88                                           Entity_Quad_Hexa       = 8994,
89                                           Entity_Quad_Penta      = 972,
90                                           Entity_Quad_Pyramid    = 1038)
91