Salome HOME
17518e8715f59b412faefee23b2cb9cadef5c672
[modules/smesh.git] / src / Tools / blocFissure / gmu / fissureGenerique.py
1 # -*- coding: utf-8 -*-
2
3 from blocFissure import gmu
4 from blocFissure.gmu.initEtude import initEtude
5 from blocFissure.gmu.getStatsMaillageFissure import getStatsMaillageFissure
6
7 class fissureGenerique():
8   """
9   classe générique problème fissure:
10   génération géométrie et maillage sain
11   définition et positionnement d'une fissure
12   génération d'un bloc défaut inséré dans le maillage sain
13   """
14
15   nomProbleme = "generique"
16
17   def __init__(self, numeroCas):
18     initEtude()
19     self.numeroCas = numeroCas
20     self.nomCas = self.nomProbleme +"_%d"%(self.numeroCas)
21     self.fissureLongue = False
22
23   def setParamGeometrieSaine(self):
24     self.geomParams = {}
25
26   def genereGeometrieSaine(self, geomParams):
27     geometriesSaines = [None]
28     return geometriesSaines
29
30   def setParamMaillageSain(self):
31     self.meshParams = {}
32
33   def genereMaillageSain(self, geometriesSaines, meshParams):
34     maillagesSains = [None]
35     return maillagesSains
36
37   def setParamShapeFissure(self):
38     self.shapeFissureParams = {}
39
40   def genereShapeFissure(self, geometriesSaines, geomParams, shapeFissureParams):
41     shapesFissure = [None]
42     return shapesFissure
43
44   def setParamMaillageFissure(self):
45     self.maillageFissureParams = {}
46
47   def genereZoneDefaut(self, geometriesSaines, maillagesSains, shapesFissure, maillageFissureParams):
48     elementsDefaut = [None]
49     return elementsDefaut
50
51   def genereMaillageFissure(self, geometriesSaines, maillagesSains, shapesFissure,
52                             maillageFissureParams, elementsDefaut, step):
53     maillageFissure = None
54     return maillageFissure
55
56   def setReferencesMaillageFissure(self):
57     referencesMaillageFissure = {}
58     return referencesMaillageFissure
59
60 # ---------------------------------------------------------------------------
61
62   def executeProbleme(self, step=-1):
63     print "executeProbleme", self.nomCas
64     if step == 0:
65       return
66
67     self.setParamGeometrieSaine()
68     geometriesSaines = self.genereGeometrieSaine(self.geomParams)
69     if step == 1:
70       return
71
72     self.setParamMaillageSain()
73     maillagesSains = self.genereMaillageSain(geometriesSaines, self.meshParams)
74     if step == 2:
75       return
76
77     self.setParamShapeFissure()
78     shapesFissure = self.genereShapeFissure(geometriesSaines, self.geomParams, self.shapeFissureParams)
79     if step == 3:
80       return
81
82     self.setParamMaillageFissure()
83     elementsDefaut = self.genereZoneDefaut(geometriesSaines, maillagesSains, shapesFissure, self.shapeFissureParams, self.maillageFissureParams)
84     if step == 4:
85       return
86
87     maillageFissure = self.genereMaillageFissure(geometriesSaines, maillagesSains,
88                                                  shapesFissure, self.shapeFissureParams,
89                                                  self.maillageFissureParams, elementsDefaut, step)
90
91     self.setReferencesMaillageFissure()
92     mesures = getStatsMaillageFissure(maillageFissure, self.referencesMaillageFissure, self.maillageFissureParams)
93
94
95
96
97
98