1 .. _tui_create_iteration:
6 .. index:: single: itération
7 .. index:: single: hypothèse
8 .. index:: single: zone
10 Les variables sont décrites dans :doc:`gui_create_iteration`.
12 Méthodes de la classe homard
13 ****************************
15 +---------------------------------------------------------------+
16 +---------------------------------------------------------------+
17 | .. module:: GetIteration |
19 | **GetIteration(iter_name)** |
20 | Retourne l'instance de la classe ``iteration`` connue par |
23 | - ``iter_name`` : le nom de l'itération |
24 +---------------------------------------------------------------+
25 | .. module:: GetAllIterationsName |
27 | **GetAllIterationsName()** |
28 | Retourne la liste des noms de toutes les itérations créées|
30 +---------------------------------------------------------------+
32 Méthodes communes aux classes cas et iteration
33 **********************************************
34 Voir également dans :doc:`tui_create_case`.
36 +---------------------------------------------------------------+
37 +---------------------------------------------------------------+
38 | .. module:: NextIteration |
40 | **NextIteration(iter_name)** |
41 | Retourne une instance de la classe ``iteration`` après |
42 | sa création. Elle suit immédiatement : |
44 | - pour un cas : l'itération initiale, correspondant au |
45 | maillage définissant le cas |
46 | - pour une itération : l'itération courante |
48 | Par défaut, le maillage produit a le même nom que l'itération |
50 | - ``iter_name`` : le nom à donner à la nouvelle itération |
51 +---------------------------------------------------------------+
52 | .. module:: LastIteration |
54 | **LastIteration()** |
55 | Retourne une instance de la classe ``iteration``. C'est |
56 | la dernière créée dans la descendance de : |
58 | - pour un cas : l'itération initiale du cas |
59 | - pour une itération : l'itération courante |
61 | C'est celle qui est sans fille. Il y a erreur s'il existe |
62 | plus d'une branche dans la descendance. |
64 +---------------------------------------------------------------+
66 Méthodes de la classe iteration
67 *******************************
72 +---------------------------------------------------------------+
73 +---------------------------------------------------------------+
74 | .. module:: Compute |
76 | **Compute(option1, option2)** |
77 | Calcule le maillage correspondant à l'itération |
79 | - ``option1`` : un entier précisant ce qui se passe quand |
80 | des fichiers de résultats existent déjà |
82 | * 0 : arrêt en erreur |
83 | * 1 : écrasement des anciens fichiers |
85 | - ``option2`` : un entier précisant ce qui est fait des |
88 | * 1 : aucune action particulière |
89 | * 2 : publication dans le module SMESH |
91 | Retourne un entier : |
92 | * 0 : adaptation réussie |
93 | * autre valeur : problème |
94 +---------------------------------------------------------------+
95 | .. module:: GetName |
98 | Retourne le nom de l'itération |
99 +---------------------------------------------------------------+
100 | .. module:: GetNumber |
103 | Retourne le numéro de l'itération. |
105 | L'itération 0 est celle associée au maillage initial. |
106 | Ensuite, une itération de numéro N est issue de |
107 | l'adaptation d'une itération de numéro N-1. |
108 +---------------------------------------------------------------+
109 | .. module:: GetIterParent |
111 | **GetIterParent()** |
112 | Retourne l'itération mère |
113 +---------------------------------------------------------------+
114 | .. module:: AssociateHypo |
116 | **AssociateHypo(hypo_name)** |
117 | Associe une hypothèse à l'itération |
119 | - ``hypo_name`` : le nom de l'hypothèse à associer |
120 +---------------------------------------------------------------+
121 | .. module:: GetHypoName |
123 | **GetHypoName()** |
124 | Retourne le nom de l'hypothèse associée |
125 +---------------------------------------------------------------+
126 | .. module:: GetCaseName |
128 | **GetCaseName()** |
129 | Retourne le nom du cas associé |
130 +---------------------------------------------------------------+
131 | .. module:: GetState |
134 | Retourne l'état de l'itération |
136 | - ``2`` : itération calculée correctement |
137 | - ``1`` : itération non calculée |
138 | - ``<=0`` : itération initiale à ne pas calculer, de |
139 | numéro valant la valeur absolue de l'état |
140 +---------------------------------------------------------------+
141 | .. module:: GetLogFile |
144 | Retourne le nom du fichier retraçant le déroulement de |
145 | l'exécution de HOMARD |
146 +---------------------------------------------------------------+
147 | .. module:: GetFileInfo |
149 | **GetFileInfo()** |
150 | Retourne le nom du fichier contenant l'analyse du maillage|
151 +---------------------------------------------------------------+
152 | .. module:: GetDirName |
155 | Retourne le nom du répertoire des résutats associé à |
157 +---------------------------------------------------------------+
158 | .. module:: Delete |
160 | **Delete(option)** |
161 | Detruit l'itération et toutes ses filles éventuelles. |
163 | - ``option`` : un entier précisant ce qui est fait des |
164 | fichiers de maillage associés |
166 | * 0 : les fichiers sont conservés |
167 | * 1 : les fichiers sont détruits |
169 | Retourne un entier : |
170 | * 0 : destruction réussie |
171 | * autre valeur : problème |
172 +---------------------------------------------------------------+
174 Informations sur les maillages
175 ==============================
177 +---------------------------------------------------------------+
178 +---------------------------------------------------------------+
179 | .. module:: SetMeshName |
181 | **SetMeshName(mesh_name)** |
182 | Définit le nom du maillage produit |
184 | - ``mesh_name`` : le nom du maillage produit |
185 +---------------------------------------------------------------+
186 | .. module:: GetMeshName |
188 | **GetMeshName()** |
189 | Retourne le nom du maillage produit |
190 +---------------------------------------------------------------+
191 | .. module:: SetMeshFile |
193 | **SetMeshFile(mesh_file)** |
194 | Définit le fichier MED du maillage produit |
196 | - ``mesh_file`` : le nom du fichier MED qui contiendra |
197 | le maillage produit |
198 +---------------------------------------------------------------+
199 | .. module:: GetMeshFile |
201 | **GetMeshFile()** |
202 | Retourne le nom du fichier MED du maillage produit |
203 +---------------------------------------------------------------+
204 | .. module:: MeshInfo |
206 | **MeshInfo(Qual, Diam, Conn, Tail, Inte)** |
207 | Donne des informations sur le maillage. Pour chaque |
208 | option, le choix 0 correspond à ne rien faire, alors que |
209 | le choix 1 active l'option. |
211 | - ``Qual`` : qualité des mailles |
212 | - ``Diam`` : diamètre des mailles |
213 | - ``Conn`` : connexité du domaine ; en un seul morceau, |
214 | combien de trous, etc. |
215 | - ``Tail`` : tailles des constituants du domaine, groupe |
217 | - ``Inte`` : interpénétration des mailles, par dimension |
218 +---------------------------------------------------------------+
220 Informations sur les champs
221 ===========================
223 Le fichier des champs
224 ---------------------
226 +---------------------------------------------------------------+
227 +---------------------------------------------------------------+
228 | .. module:: SetFieldFile |
230 | **SetFieldFile(field_file)** |
231 | Définit le fichier MED des champs utiles |
233 | - ``field_file`` : le nom du fichier MED contenant les |
234 | champs : champ de pilotage de l'adaptation ou champs |
236 +---------------------------------------------------------------+
237 | .. module:: GetFieldFileName |
239 | **GetFieldFileName()** |
240 | Retourne le nom du fichier MED des champs |
241 +---------------------------------------------------------------+
243 Les instants pour le champ de pilotage
244 --------------------------------------
245 Si une seule occurence du champ de pilotage de l'adaptation est présente dans le fichier des champs, il est inutile de préciser le pas de temps. Sinon, il faut préciser quel pas de temps est retenu.
247 +---------------------------------------------------------------+
248 +---------------------------------------------------------------+
249 | .. module:: SetTimeStep |
251 | **SetTimeStep(TimeStep)** |
252 | Définit l'instant pour le champ de pilotage. Le numéro |
253 | d'ordre sera ignoré. |
255 | - ``TimeStep`` : l'instant où est pris le champ |
256 +---------------------------------------------------------------+
257 | .. module:: SetTimeStepRank |
259 | **SetTimeStepRank(TimeStep, Rank)** |
260 | Définit l'instant et le numéro d'ordre pour le champ de |
263 | - ``TimeStep`` : l'instant où est pris le champ |
264 | - ``Rank`` : le numéro d'ordre où est pris le champ |
265 +---------------------------------------------------------------+
266 | .. module:: SetTimeStepRankLast |
268 | **SetTimeStepRankLast()** |
269 | Précise que le dernier instant enregistré pour le champ |
270 | de pilotage est utilisé |
271 +---------------------------------------------------------------+
272 | .. module:: GetTimeStep |
274 | **GetTimeStep()** |
275 | Retourne l'instant où est pris le champ de pilotage |
276 +---------------------------------------------------------------+
277 | .. module:: GetRank |
280 | Retourne le numéro d'ordre où est pris le champ de |
282 +---------------------------------------------------------------+
284 Les instants pour les champs à interpoler
285 -----------------------------------------
287 Les champs à interpoler sont définis dans l'hypothèse (voir :doc:`tui_create_hypothese`).
288 Pour un champ donné, si aucune mention de pas de temps n'est précisé, tous les pas de temps seront pris en compte.
289 Si on souhaite limiter l'interpolation à un ou plusieurs pas de temps, il faut le préciser ici.
291 +---------------------------------------------------------------+
292 +---------------------------------------------------------------+
293 | .. module:: SetFieldInterpTimeStep |
295 | **SetFieldInterpTimeStep(FieldName, TimeStep)** |
296 | Définit un instant pour le champ à interpoler. Le numéro |
297 | d'ordre sera ignoré. |
299 | - ``FieldName`` : le nom du champ à interpoler |
300 | - ``TimeStep`` : l'instant où est pris le champ |
301 +---------------------------------------------------------------+
302 | .. module:: SetFieldInterpTimeStepRank |
304 | **SetFieldInterpTimeStepRank(FieldName, TimeStep)** |
305 | Définit l'instant et le numéro d'ordre pour le champ à |
308 | - ``FieldName`` : le nom du champ à interpoler |
309 | - ``TimeStep`` : l'instant où est pris le champ |
310 | - ``Rank`` : le numéro d'ordre où est pris le champ |
311 +---------------------------------------------------------------+
312 | .. module:: GetFieldInterpsTimeStepRank |
314 | **GetFieldInterpsTimeStepRank()** |
315 | Retourne l'ensemble des triplets (nom du champ, pas de |
316 | temps, numéro d'ordre) |
318 | Attention : l'usage est stocké sous forme de chaîne de |
319 | caractères et non pas d'entier dans la liste. |
321 | Exemple : ['DEPL', '1', '1', 'DEPL', '2', '1', 'Masse', |
322 | '2', '0', 'Masse', '3', '0'] |
323 +---------------------------------------------------------------+
328 +---------------------------------------------------------------+
329 +---------------------------------------------------------------+
330 | .. module:: SetInfoCompute |
332 | **SetInfoCompute(MessInfo)** |
333 | Précise des options d'informations sur le déroulement du |
334 | calcul de l'itération |
336 | - ``MessInfo`` : entier pilotant des écritures, sous la |
337 | forme d'un entier multiple de 2, 3 et 5 |
339 | * 1 : aucune écriture (défaut) |
340 | * 2x : temps de calcul |
341 | * 3x : fichiers MED |
343 +---------------------------------------------------------------+
344 | .. module:: GetInfoCompute |
346 | **GetInfoCompute()** |
347 | Retourne les options d'informations sur le déroulement du |
348 | calcul de l'itération |
349 +---------------------------------------------------------------+
354 .. index:: single: maillage;initial
356 Pour la création de la première itération, on part de celle qui correspond au maillage initial. C'est celle contenue dans le cas.
359 iter_name = "Iteration_1"
360 iter_1 = case_1.NextIteration(iter_name)
361 iter_1.SetField(field_file)
362 iter_1.SetTimeStepRank( 0, 0)
363 iter_1.SetMeshName("maill_01")
364 iter_1.SetMeshFile("/local00/M.01.med")
365 iter_1.AssociateHypo("HypoField")
366 codret = iter_1.Compute(1, 2)
368 Ensuite, on crée une itération suivante à l'itération parent de laquelle on part.
371 iter_name = "Iteration_2"
372 iter_2 = iter_1.NextIteration(iter_name)
373 iter_2.SetField(field_file)
374 iter_2.SetTimeStepRank( 1, 1)
375 iter_2.SetMeshName("maill_02")
376 iter_2.SetMeshFile("/local00/M.02.med")
377 iter_2.AssociateHypo("HypoField")
378 codret = iter_2.Compute(1, 2)
381 Saisie graphique correspondante
382 *******************************
383 Consulter :doc:`gui_create_iteration`