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