2 Copyright (C) 2008-2023 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: ControledFunctionTest
25 .. _section_ref_algorithm_ControledFunctionTest:
27 Algorithme de vérification "*ControledFunctionTest*"
28 ----------------------------------------------------
30 .. ------------------------------------ ..
31 .. include:: snippets/Header2Algo01.rst
33 Cet algorithme permet de vérifier qu'un opérateur :math:`F` quelconque, dont en
34 particulier celui d'observation, fonctionne correctement et que son appel se
35 déroule de manière compatible avec son usage dans les algorithmes d'ADAO. De
36 manière pratique, il permet d'appeler une ou plusieurs fois l'opérateur, en
37 activant ou non le mode "debug" lors de l'exécution. L'opérateur :math:`F` est
38 considéré comme dépendant d'une variable vectorielle :math:`\mathbf{x}` et d'un
39 contrôle :math:`\mathbf{u}`, les deux n'étant pas nécessairement de la même
42 Une statistique sur les vecteurs en entrée et en sortie de chaque exécution de
43 l'opérateur est indiquée, et une autre globale est fournie de manière
44 récapitulative à la fin de l'algorithme de vérification. La précision
45 d'affichage est contrôlable pour permettre l'automatisation des tests
46 d'opérateur. Il peut être aussi utile de vérifier préalablement les entrées
47 elles-mêmes avec le test prévu :ref:`section_ref_algorithm_InputValuesTest`.
49 .. ------------------------------------ ..
50 .. include:: snippets/Header2Algo02.rst
52 .. include:: snippets/CheckingPoint.rst
54 .. include:: snippets/ObservationOperator.rst
56 .. include:: snippets/ControlInput.rst
58 .. ------------------------------------ ..
59 .. include:: snippets/Header2Algo03Chck.rst
61 .. include:: snippets/NumberOfPrintedDigits.rst
63 .. include:: snippets/NumberOfRepetition.rst
65 .. include:: snippets/SetDebug.rst
67 .. include:: snippets/ShowElementarySummary.rst
69 StoreSupplementaryCalculations
70 .. index:: single: StoreSupplementaryCalculations
72 *Liste de noms*. Cette liste indique les noms des variables supplémentaires,
73 qui peuvent être disponibles au cours du déroulement ou à la fin de
74 l'algorithme, si elles sont initialement demandées par l'utilisateur. Leur
75 disponibilité implique, potentiellement, des calculs ou du stockage coûteux.
76 La valeur par défaut est donc une liste vide, aucune de ces variables n'étant
77 calculée et stockée par défaut (sauf les variables inconditionnelles). Les
78 noms possibles pour les variables supplémentaires sont dans la liste suivante
79 (la description détaillée de chaque variable nommée est donnée dans la suite
80 de cette documentation par algorithme spécifique, dans la sous-partie
81 "*Informations et variables disponibles à la fin de l'algorithme*") : [
83 "SimulatedObservationAtCurrentState",
87 ``{"StoreSupplementaryCalculations":["CurrentState", "Residu"]}``
89 .. ------------------------------------ ..
90 .. include:: snippets/Header2Algo04.rst
92 .. include:: snippets/NoUnconditionalOutput.rst
94 .. ------------------------------------ ..
95 .. include:: snippets/Header2Algo05.rst
97 .. include:: snippets/CurrentState.rst
99 .. include:: snippets/SimulatedObservationAtCurrentState.rst
101 .. ------------------------------------ ..
102 .. _section_ref_algorithm_ControledFunctionTest_examples:
104 .. include:: snippets/Header2Algo09.rst
107 .. include:: scripts/simple_ControledFunctionTest1.rst
109 .. literalinclude:: scripts/simple_ControledFunctionTest1.py
111 .. include:: snippets/Header2Algo10.rst
113 .. literalinclude:: scripts/simple_ControledFunctionTest1.res
117 .. include:: scripts/simple_ControledFunctionTest2.rst
119 .. literalinclude:: scripts/simple_ControledFunctionTest2.py
121 .. include:: snippets/Header2Algo10.rst
123 .. literalinclude:: scripts/simple_ControledFunctionTest2.res
126 .. ------------------------------------ ..
127 .. include:: snippets/Header2Algo06.rst
129 - :ref:`section_ref_algorithm_InputValuesTest`
130 - :ref:`section_ref_algorithm_LinearityTest`
131 - :ref:`section_ref_algorithm_FunctionTest`
132 - :ref:`section_ref_algorithm_ParallelFunctionTest`