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_4.py
1 # -*- coding: utf-8 -*-
2
3 from blocFissure.gmu.fissureCoude  import fissureCoude
4
5 class fissureCoude_4(fissureCoude):
6   """
7   problème de fissure du Coude : ASCOU09A
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 = 40,
23                            r_cintr    = 654,
24                            l_tube_p1  = 1700,
25                            l_tube_p2  = 1700,
26                            epais      = 62.5,
27                            de         = 912.4)
28
29   # ---------------------------------------------------------------------------
30   def setParamMaillageSain(self):
31     self.meshParams = dict(n_long_p1    = 16,
32                            n_ep         = 5,
33                            n_long_coude = 30,
34                            n_circ_g     = 50,
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     print "setParamShapeFissure", self.nomCas
55     self.shapeFissureParams = dict(profondeur  = 10,
56                                    rayonPipe   = 2.5,
57                                    lenSegPipe  =2.5,
58                                    azimut      = 90,
59                                    alpha       = 20,
60                                    longueur    = 240,
61                                    orientation = 90,
62                                    lgInfluence = 30,
63                                    elliptique  = False,
64                                    externe     = True)
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      = 5,
79                                       nbsegCercle   = 6,
80                                       areteFaceFissure = 5)
81
82   # ---------------------------------------------------------------------------
83   def setReferencesMaillageFissure(self):
84     self.referencesMaillageFissure = dict(Entity_Node            = 133832,
85                                           Entity_Quad_Edge       = 1133,
86                                           Entity_Quad_Triangle   = 1498,
87                                           Entity_Quad_Quadrangle = 11892,
88                                           Entity_Quad_Tetra      = 18401,
89                                           Entity_Quad_Hexa       = 22412,
90                                           Entity_Quad_Penta      = 600,
91                                           Entity_Quad_Pyramid    = 816)
92