2 Copyright (C) 2008-2015 EDF R&D
4 This file is part of SALOME ADAO module.
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with this library; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
24 .. index:: single: AlgorithmParameters
25 .. index:: single: Parameters
26 .. index:: single: Defaults
27 .. _section_ref_options_Algorithm_Parameters:
29 Description des options d'un algorithme dans "*AlgorithmParameters*"
30 -----------------------------------------------------------------
32 Chaque algorithme peut être contrôlé en utilisant des options ou des paramètres
33 particuliers. Ils sont donnés à travers la commande optionnelle "*Parameters*"
34 incluse dans la commande obligatoire "*AlgorithmParameters*".
36 Il y a 3 méthodes pratiques pour l'utilisateur pour fournir ces options. La
37 méthode est déterminée de la manière suivante dans EFICAS :
39 #. premièrement à l'aide du mot-clé "*Parameters*" dans la commande "*AlgorithmParameters*", qui permet de choisir entre "*Defaults*" (utilisation de mots-clés explicites pré-remplis par les valeurs par défaut des paramètres) et "*Dict*" (utilisation d'un dictionnaire pour renseigner les mots-clés nécessaires),
40 #. puis deuxièmement, uniquement dans le cas "*Dict*" de "*Parameters*", par le mot-clé "*FROM*" inclus qui permet de choisir entre une entrée par chaîne de caractères ou une entrée par fichier de script Python.
42 Si une option ou un paramètre est spécifié par l'utilisateur pour un algorithme
43 qui ne la supporte pas, cette option est simplement laissée inutilisée et ne
44 bloque pas le traitement. La signification des acronymes ou des noms
45 particuliers peut être trouvée dans l':ref:`genindex` ou dans le
46 :ref:`section_glossary`.
48 Première méthode : utiliser les mots-clés explicites pré-remplis
49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
51 Pour donner les valeurs des paramètres par les mots-clés explicites pré-remplis,
52 directement dans l'interface graphique EFICAS, l'utilisateur sélectionne le type
53 "*Defaults*" dans le mot-clé "*Parameters*", puis les mots-clés dans la liste
54 prévue "*Parameters[Algo]*" qui apparaît, associée à l'algorithme choisi, comme
55 montré dans la figure qui suit :
57 .. adao_algopar_defaults:
58 .. image:: images/adao_algopar_defaults.png
62 **Utiliser les mots-clés explicites pré-remplis pour les paramètres algorithmiques**
64 Chaque paramètre est optionnel, et il présente sa valeur par défaut lorsqu'il
65 est sélectionné par l'utilisateur. On peut alors modifier sa valeur, ou la
66 renseigner dans le cas de listes par exemple.
68 C'est la manière recommandée pour modifier uniquement une partie des paramètres
69 algorithmiques de manière sûre. Cette méthode ne permet de définir que les
70 paramètres autorisés pour un algorithme donné, et les valeurs définies ne sont
71 pas conservées si l'utilisateur change d'algorithme.
73 Seconde méthode : utiliser une chaîne de caractères dans EFICAS
74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
76 Pour donner les valeurs des paramètres par une chaîne de caractères, directement
77 dans l'interface graphique EFICAS, l'utilisateur sélectionne le type "*Dict*"
78 dans le mot-clé "*Parameters*", puis le type "*String*" dans le mot-clé "*FROM*"
79 de la commande "*Dict*" qui apparaît, comme montré dans la figure qui suit :
81 .. adao_algopar_string:
82 .. image:: images/adao_algopar_string.png
86 **Utiliser une chaîne de caractères pour les paramètres algorithmiques**
88 Dans le champs de saisie, il faut utiliser des guillemets simples pour une
89 définition standard de dictionnaire, comme par exemple::
91 '{"MaximumNumberOfSteps":25,"SetSeed":1000}'
93 C'est la manière recommandée pour définir des paramètres algorithmiques. Cette
94 méthode permet en particulier de conserver des options ou des paramètres pour
95 d'autres algorithmes que celui que l'on utilise au moment présent. Cela facilite
96 le changement d'algorithme ou la conservation de valeurs par défaut différentes
97 des défauts standards.
99 Troisième méthode : utiliser un fichier de script Python externe
100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
102 Pour donner les valeurs des paramètres par un fichier de script Python externe,
103 l'utilisateur sélectionne dans EFICAS le type "*Dict*" dans le mot-clé
104 "*Parameters*", puis le type "*Script*" dans le mot-clé "*FROM*" de la commande
105 "*Dict*" qui apparaît, comme montré dans la figure qui suit :
107 .. :adao_algopar_script
108 .. image:: images/adao_algopar_script.png
112 **Utiliser un fichier externe pour les paramètres algorithmiques**
114 Ce fichier script Python externe doit définir alors une variable au nom imposé
115 "*AlgorithmParameters*", à la manière de l'exemple qui suit::
117 AlgorithmParameters = {
118 "MaximumNumberOfSteps" : 25,
119 "StoreSupplementaryCalculations" : ["APosterioriCovariance","OMA"],
122 Le fichier peut aussi contenir d'autres commandes Python. Cette méthode permet
123 aussi, comme la précédente, de conserver des options ou des paramètres pour
124 d'autres algorithmes que celui que l'on utilise.