Salome HOME
Filtrage des types de fichiers dans la sélection
[modules/homard.git] / doc / fr / tui_create_hypothese.rst
1 .. _tui_create_hypothese:
2
3 L'hypothèse
4 ###########
5
6 .. index:: single: itération
7 .. index:: single: hypothèse
8 .. index:: single: zone
9
10 Les variables sont décrites dans :ref:`gui_create_hypothese`.
11
12 Méthodes de la classe homard
13 ****************************
14
15 +---------------------------------------------------------------+
16 +---------------------------------------------------------------+
17 | .. module:: CreateHypothesis                                  |
18 |                                                               |
19 | **CreateHypothesis(hypo_name)**                               |
20 |     Retourne une instance de la classe ``hypothese``          |
21 |                                                               |
22 |     - ``hypo_name`` : le nom de l'hypothèse                   |
23 +---------------------------------------------------------------+
24 | .. module:: GetHypothesis                                     |
25 |                                                               |
26 | **GetHypothesis(hypo_name)**                                  |
27 |     Retourne l'instance de la classe ``hypothese`` connue par |
28 |     son nom                                                   |
29 |                                                               |
30 |     - ``hypo_name`` : le nom de l'hypothèse                   |
31 +---------------------------------------------------------------+
32 | .. module:: GetAllHypothesesName                              |
33 |                                                               |
34 | **GetAllHypothesesName()**                                    |
35 |     Retourne la liste des noms de toutes les hypothèses créées|
36 +---------------------------------------------------------------+
37 | .. module:: GetZone                                           |
38 |                                                               |
39 | **GetZone(zone_name)**                                        |
40 |     Retourne l'instance de la classe ``zone`` connue par      |
41 |     son nom                                                   |
42 |                                                               |
43 |     - ``zone_name`` : le nom de la zone                       |
44 +---------------------------------------------------------------+
45
46 Méthodes de la classe hypothese
47 *******************************
48
49 Généralités
50 ===========
51
52 +---------------------------------------------------------------+
53 +---------------------------------------------------------------+
54 | .. module:: GetName                                           |
55 |                                                               |
56 | **GetName()**                                                 |
57 |     Retourne le nom de l'hypothèse                            |
58 +---------------------------------------------------------------+
59 | .. module:: SetAdapRefinUnRef                                 |
60 |                                                               |
61 | **SetAdapRefinUnRef(Adap, Refin, UnRef)**                     |
62 |     Affecte le mode d'adaptation associé à l'hypothèse        |
63 |                                                               |
64 |     - ``Adap`` : entier précisant le type d'adaptation        |
65 |                                                               |
66 |         * -1 : uniforme                                       |
67 |         * 0 : selon des zones                                 |
68 |         * 1 : selon un champ                                  |
69 |                                                               |
70 |     - ``Refin`` : entier précisant si le raffinement est actif|
71 |                                                               |
72 |         * 0 : inactif                                         |
73 |         * 1 : actif                                           |
74 |                                                               |
75 |     - ``UnRef`` : entier précisant si déraffinement est actif |
76 |                                                               |
77 |         * 0 : inactif                                         |
78 |         * 1 : actif                                           |
79 |                                                               |
80 +---------------------------------------------------------------+
81 | .. module:: GetAdapType                                       |
82 |                                                               |
83 | **GetAdapType()**                                             |
84 |     Retourne le type d'adaptation                             |
85 +---------------------------------------------------------------+
86 | .. module:: GetRefinType                                      |
87 |                                                               |
88 | **GetRefinType()**                                            |
89 |     Retourne le type de raffinement                           |
90 +---------------------------------------------------------------+
91 | .. module:: GetUnRefType                                      |
92 |                                                               |
93 | **GetUnRefType()**                                            |
94 |     Retourne le type de déraffinement                         |
95 +---------------------------------------------------------------+
96 | .. module:: Delete                                            |
97 |                                                               |
98 | **Delete()**                                                  |
99 |     Detruit l'hypothèse                                       |
100 |                                                               |
101 |     Retourne un entier :                                      |
102 |         * 0 : destruction réussie                             |
103 |         * autre valeur : problème                             |
104 +---------------------------------------------------------------+
105
106 Le champ de pilotage de l'adaptation et les seuils
107 ==================================================
108
109 +---------------------------------------------------------------+
110 +---------------------------------------------------------------+
111 | .. module:: SetField                                          |
112 |                                                               |
113 | **SetField(FieldName)**                                       |
114 |     Attribue un nom de champ de pilotage à l'hypothèse        |
115 |                                                               |
116 |     - ``FieldName`` : le nom du champ  de pilotage            |
117 +---------------------------------------------------------------+
118 | .. module:: GetFieldName                                      |
119 |                                                               |
120 | **GetFieldName()**                                            |
121 |     Retourne le nom du champ de pilotage                      |
122 +---------------------------------------------------------------+
123 | .. module:: SetUseField                                       |
124 |                                                               |
125 | **SetUseField(use_field)**                                    |
126 |     Attribue un mode d'usage du champ de pilotage             |
127 |                                                               |
128 |     - ``use_field`` : entier précisant l'usage du champ       |
129 |                                                               |
130 |        * 0 : valeur par élément (défaut)                      |
131 |        * 1 : saut entre un élément et ses voisins             |
132 +---------------------------------------------------------------+
133 | .. module:: SetRefinThr                                       |
134 |                                                               |
135 | **SetRefinThr(type_thres, threshold)**                        |
136 |     Définit les seuils en raffinement                         |
137 |                                                               |
138 |     - ``type_thres`` : entier précisant le type de seuil en   |
139 |       raffinement                                             |
140 |                                                               |
141 |        * 1 : valeur absolue                                   |
142 |        * 2 : valeur relative en %                             |
143 |        * 3 : fraction des mailles en %                        |
144 |        * 4 : moyenne + n fois l'écart-type                    |
145 |                                                               |
146 |     - ``threshold`` : valeur numérique entrant dans la        |
147 |                       définition du seuil                     |
148 +---------------------------------------------------------------+
149 | .. module:: GetRefinThrType                                   |
150 |                                                               |
151 | **GetRefinThrType()**                                         |
152 |     Retourne le type de seuil de raffinement                  |
153 +---------------------------------------------------------------+
154 | .. module:: SetUnRefThr                                       |
155 |                                                               |
156 | **SetUnRefThr(type_thres, threshold)**                        |
157 |     Définit les seuils en déraffinement                       |
158 |                                                               |
159 |     - ``type_thres`` : entier précisant le type de seuil en   |
160 |       déraffinement                                           |
161 |                                                               |
162 |        * 1 : valeur absolue                                   |
163 |        * 2 : valeur relative en %                             |
164 |        * 3 : fraction des mailles en %                        |
165 |        * 4 : moyenne - n fois l'écart-type                    |
166 |                                                               |
167 |     - ``threshold`` : valeur du seuil                         |
168 +---------------------------------------------------------------+
169 | .. module:: GetUnRefThrType                                   |
170 |                                                               |
171 | **GetUnRefThrType()**                                         |
172 |     Retourne le type de seuil de déraffinement                |
173 +---------------------------------------------------------------+
174
175
176 Les composantes du champ de pilotage
177 ====================================
178
179 +---------------------------------------------------------------+
180 +---------------------------------------------------------------+
181 | .. module:: AddComp                                           |
182 |                                                               |
183 | **AddComp(comp_name)**                                        |
184 |     Ajoute une composante du champ de pilotage à considérer   |
185 |                                                               |
186 |     - ``comp_name`` : nom d'une composante à prendre en       |
187 |       compte                                                  |
188 |                                                               |
189 |     Remarque : si cette méthode n'est pas appelée, par défaut |
190 |     toutes les composantes seront retenues.                   |
191 +---------------------------------------------------------------+
192 | .. module:: SetUseComp                                        |
193 |                                                               |
194 | **SetUseComp(use_comp)**                                      |
195 |     Définit l'usage des composantes                           |
196 |                                                               |
197 |     - ``use_comp`` : entier précisant l'usage des composantes |
198 |                                                               |
199 |        * 0 : norme L2 (défaut)                                |
200 |        * 1 : norme infinie                                    |
201 |        * 2 : valeur relative, si une seule composante         |
202 +---------------------------------------------------------------+
203 | .. module:: GetComps                                          |
204 |                                                               |
205 | **GetComps()**                                                |
206 |     Retourne la liste des composantes utilisées               |
207 +---------------------------------------------------------------+
208 | .. module:: SupprComp                                         |
209 |                                                               |
210 | **SupprComp(comp_name)**                                      |
211 |     Supprime une composante du champ à considérer             |
212 |                                                               |
213 |     - ``comp_name`` : nom de la composante à supprimer        |
214 +---------------------------------------------------------------+
215 | .. module:: SupprComps                                        |
216 |                                                               |
217 | **SupprComps()**                                              |
218 |     Supprime toutes les composantes du champ à considérer     |
219 +---------------------------------------------------------------+
220
221
222 Les zones
223 =========
224
225 +---------------------------------------------------------------+
226 +---------------------------------------------------------------+
227 | .. module:: AddZone                                           |
228 |                                                               |
229 | **AddZone(zone_name, type_use)**                              |
230 |                                                               |
231 |     - ``zone_name`` : le nom de la zone à ajouter             |
232 |     - ``type_use``  : entier précisant l'usage de la zone     |
233 |                                                               |
234 |         * 1 : raffinement                                     |
235 |         * -1 : déraffinement                                  |
236 +---------------------------------------------------------------+
237 | .. module:: GetZones                                          |
238 |                                                               |
239 | **GetZones()**                                                |
240 |     Retourne la liste des zones utilisées avec leur usage.    |
241 |                                                               |
242 |     Attention : l'usage est stocké sous forme de chaîne de    |
243 |     caractères et non pas d'entier dans la liste.             |
244 |                                                               |
245 |     Exemple : ['Zone_A', '1', 'Zone_B', '1', 'Zone_C', '1']   |
246 +---------------------------------------------------------------+
247 | .. module:: SupprZone                                         |
248 |                                                               |
249 | **SupprZone(zone_name)**                                      |
250 |     Supprime une zone de l'hypothèse                          |
251 |                                                               |
252 |     - ``zone_name`` : nom de la zone à supprimer              |
253 +---------------------------------------------------------------+
254 | .. module:: SupprZones                                        |
255 |                                                               |
256 | **SupprZones()**                                              |
257 |     Supprime toutes les zones de l'hypothèse                  |
258 +---------------------------------------------------------------+
259
260
261 Le filtrage par les groupes
262 ===========================
263
264 +---------------------------------------------------------------+
265 +---------------------------------------------------------------+
266 | .. module:: AddGroup                                          |
267 |                                                               |
268 | **AddGroup(group_name)**                                      |
269 |     Ajoute un groupe au filtrage                              |
270 |                                                               |
271 |     - ``group_name`` : nom du groupe à prendre en compte      |
272 +---------------------------------------------------------------+
273 | .. module:: GetGroups                                         |
274 |                                                               |
275 | **GetGroups()**                                               |
276 |     Retourne la liste des groupes utilisés pour le filtrage   |
277 +---------------------------------------------------------------+
278
279
280 Les champs à interpoler
281 =======================
282
283 +---------------------------------------------------------------+
284 +---------------------------------------------------------------+
285 | .. module:: SetTypeFieldInterp                                |
286 |                                                               |
287 | **SetTypeFieldInterp(typefieldinterp)**                       |
288 |                                                               |
289 |     - ``typefieldinterp`` : entier précisant si des champs    |
290 |       sont a interpoler                                       |
291 |                                                               |
292 |         * 0 : aucun champ n'est à interpoler (défaut)         |
293 |         * 1 : tous les champs sont interpolés                 |
294 |         * 2 : certains champs sont interpolés ; implicitement |
295 |           affecté après usage de AddFieldInterp ou            |
296 |           AddFieldInterpType                                  |
297 +---------------------------------------------------------------+
298 | .. module:: GetTypeFieldInterp                                |
299 |                                                               |
300 | **GetTypeFieldInterp()**                                      |
301 |     Retourne l'entier précisant si des champs sont à          |
302 |     interpoler                                                |
303 +---------------------------------------------------------------+
304 | .. module:: AddFieldInterp                                    |
305 |                                                               |
306 | **AddFieldInterp(FieldName)**                                 |
307 |                                                               |
308 |     - ``FieldName`` : le nom du champ à interpoler            |
309 |                                                               |
310 |     Le mode d'interpolation sera choisi automatiquement par   |
311 |     HOMARD ; cela correspond au mode 0 de AddFieldInterpType  |
312 +---------------------------------------------------------------+
313 | .. module:: AddFieldInterpType                                |
314 |                                                               |
315 | **AddFieldInterpType(FieldName, type_interp)**                |
316 |                                                               |
317 |     - ``FieldName`` : le nom du champ à interpoler            |
318 |     - ``type_interp`` : entier précisant le type              |
319 |       d'interpolation du champ                                |
320 |                                                               |
321 |     Pour un champ aux noeuds :                                |
322 |                                                               |
323 |         * 0 : le champ sera interpolé en degré 1 ou 2 selon   |
324 |           son support.                                        |
325 |         * 1 : interpolation en degré 1                        |
326 |         * 2 : interpolation en degré 2                        |
327 |         * 3 : interpolation iso-P2                            |
328 |                                                               |
329 |     Pour un champ aux éléments :                              |
330 |                                                               |
331 |         * 0 : le champ sera interpolé en le considérant comme |
332 |           une variable intensive.                             |
333 |         * 1 : le champ sera interpolé en le considérant comme |
334 |           une variable extensive.                             |
335 +---------------------------------------------------------------+
336 | .. module:: GetFieldInterps                                   |
337 |                                                               |
338 | **GetFieldInterps()**                                         |
339 |     Retourne la liste des champs à interoler avec leur usage. |
340 |                                                               |
341 |     Attention : l'usage est stocké sous forme de chaîne de    |
342 |     caractères et non pas d'entier dans la liste.             |
343 |                                                               |
344 |     Exemple : ['DEPL', '0', 'Masse', '1', 'Densite', '0']     |
345 +---------------------------------------------------------------+
346 | .. module:: SupprFieldInterp                                  |
347 |                                                               |
348 | **SupprFieldInterp(FieldName)**                               |
349 |     Supprime un champ à interpoler de l'hypothèse             |
350 |                                                               |
351 |     - ``FieldName`` : nom du champ à supprimer                |
352 +---------------------------------------------------------------+
353 | .. module:: SupprFieldInterps                                 |
354 |                                                               |
355 | **SupprFieldInterps()**                                       |
356 |     Supprime tous les champs à interpoler de l'hypothèse      |
357 +---------------------------------------------------------------+
358
359 .. note::
360   Le fichier et les instants où sont pris les champs sont définis dans l'itération ; voir :ref:`tui_create_iteration`.
361
362 Les options avancées
363 ====================
364
365 +---------------------------------------------------------------+
366 +---------------------------------------------------------------+
367 | .. module:: SetNivMax                                         |
368 |                                                               |
369 | **SetNivMax(nivmax)**                                         |
370 |     Définit le niveau maximal de raffinement                  |
371 |                                                               |
372 |     - ``nivmax`` : niveau de raffinement à ne pas dépasser    |
373 +---------------------------------------------------------------+
374 | .. module:: GetNivMax                                         |
375 |                                                               |
376 | **GetNivMax()**                                               |
377 |     Retourne le niveau maximal de raffinement                 |
378 +---------------------------------------------------------------+
379 | .. module:: SetDiamMin                                        |
380 |                                                               |
381 | **SetDiamMin(diammin)**                                       |
382 |     Définit le diamètre minimal des futures mailles           |
383 |                                                               |
384 |     - ``diammin`` : diamètre minimal voulu pour une maille    |
385 +---------------------------------------------------------------+
386 | .. module:: GetDiamMin                                        |
387 |                                                               |
388 | **GetDiamMin()**                                              |
389 |     Retourne le diamètre minimal voulu                        |
390 +---------------------------------------------------------------+
391 | .. module:: SetAdapInit                                       |
392 |                                                               |
393 | **SetAdapInit(option)**                                       |
394 |     Définit le traitement à appliquer aux mailles où          |
395 |     le champ de pilotage de l'adaptation n'est pas défini     |
396 |                                                               |
397 |     - ``option`` : entier précisant le choix retenu           |
398 |                                                               |
399 |         *  0 : aucun effet (défaut)                           |
400 |         *  1 : les mailles sans indicateurs sont raffinées    |
401 |         * -1 : les mailles sans indicateurs sont déraffinées  |
402 +---------------------------------------------------------------+
403 | .. module:: GetAdapInit                                       |
404 |                                                               |
405 | **GetAdapInit()**                                             |
406 |     Retourne le type de traitement à appliquer aux mailles où |
407 |     le champ de pilotage de l'adaptation n'est pas défini     |
408 +---------------------------------------------------------------+
409 | .. module:: SetLevelOutput                                    |
410 |                                                               |
411 | **SetLevelOutput(option)**                                    |
412 |     Précise si on veut récupérer le niveau de raffinement des |
413 |     mailles sous la forme d'un champ                          |
414 |                                                               |
415 |     - ``option`` : entier précisant le choix retenu           |
416 |                                                               |
417 |         *  0 : aucun effet (défaut)                           |
418 |         *  1 : le champ est produit                           |
419 +---------------------------------------------------------------+
420 | .. module:: GetLevelOutput                                    |
421 |                                                               |
422 | **GetLevelOutput()**                                          |
423 |     Retourne le choix retenu pour la récupération du niveau   |
424 |     de raffinement                                            |
425 +---------------------------------------------------------------+
426
427
428 Exemple
429 *******
430 La création de l'objet hypo_1 se fait ainsi : ::
431
432     hypo_1 = homard.CreateHypothesis("HypoField")
433     hypo_1.SetAdapRefinUnRef(1, 1, 0)
434     hypo_1.SetField("INDICATEUR")
435     hypo_1.AddComp("INDX")
436     hypo_1.AddComp("INDZ")
437     hypo_1.SetRefinThr(1, 80.)
438     hypo_1.AddFieldInterp("DEPL")
439     hypo_1.AddFieldInterpType("MASSE", 1)
440
441
442 Saisie graphique correspondante
443 *******************************
444 Consulter :ref:`gui_create_hypothese`
445
446 .. warning::
447   En mode graphique, si on édite une hypothèse et que l'on modifie une de ses caractéristiques, par exemple le seuil de raffinement, toutes les itérations qui ont été calculées précédemment avec cette hypothèse sont invalidées. En mode python, cela n'est plus vrai : les itérations restent telles quelles.