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