From: Jean-Philippe ARGAUD Date: Tue, 10 May 2016 05:42:27 +0000 (+0200) Subject: Allow initial background calculation X-Git-Tag: V7_8_0~4 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=795b5fe089804c81467f4293a62ecbbdf38b11fc;p=modules%2Fadao.git Allow initial background calculation --- diff --git a/doc/en/tui.rst b/doc/en/tui.rst index ff83b0d..bc34aac 100644 --- a/doc/en/tui.rst +++ b/doc/en/tui.rst @@ -419,7 +419,7 @@ The available commands are: .. index:: single: setObservationOperator -**setObservationOperator** (*Matrix, OneFunction, ThreeFunctions, Parameters, Script, Stored*) +**setObservationOperator** (*Matrix, OneFunction, ThreeFunctions, AppliedInXb, Parameters, Script, Stored*) This command allows to set the evolution operator :math:`H`, which transforms the input parameters :math:`\mathbf{x}` in results :math:`\mathbf{y}` that are compared to observations :math:`\mathbf{y}^o`. @@ -429,7 +429,9 @@ The available commands are: or "*ThreeFunctions*" keywords. If it is defined by a script in the "*Script*" keyword, the operator is of type "*Matrix*", "*OneFunction*" or "*ThreeFunctions*" according to whether one of these variables is positioned - to "*True*". The control parameters of the adjoint numerical approximation, + to "*True*". When the :math:`H` operator evaluated in :math:`\mathbf{x}^b` + is available, it can be given using "*AppliedInXb*" and will be considered + as a vector. The control parameters of the adjoint numerical approximation, in the "*OneFunction*"case, can be given by a dictionary through the "*Parameters*" keyword. Potential entries of this dictionary are "*DifferentialIncrement*", "*CenteredFiniteDifference*" (similar to the one diff --git a/doc/fr/tui.rst b/doc/fr/tui.rst index 5b9e43e..5d1ddbd 100644 --- a/doc/fr/tui.rst +++ b/doc/fr/tui.rst @@ -434,7 +434,7 @@ Les commandes disponibles sont les suivantes : .. index:: single: setObservationOperator -**setObservationOperator** (*Matrix, OneFunction, ThreeFunctions, Parameters, Script, Stored*) +**setObservationOperator** (*Matrix, OneFunction, ThreeFunctions, AppliedInXb, Parameters, Script, Stored*) Cette commande permet de définir l'opérateur d'observation :math:`H`, qui transforme les paramètres d'entrée :math:`\mathbf{x}` en résultats :math:`\mathbf{y}` qui sont à comparer aux observations @@ -445,10 +445,12 @@ Les commandes disponibles sont les suivantes : "*OneFunction*" ou "*ThreeFunctions*". Dans le cas d'une définition par "*Script*", l'opérateur est de type "*Matrix*", "*OneFunction*" ou "*ThreeFunctions*" selon que l'une de ces variables est placée à "*True*". - Les paramètres de contrôle de l'approximation numérique de l'opérateur - adjoint, dans le cas "*OneFunction*", peuvent être renseignés par un - dictionnaire dans "*Parameters*". Les entrées potentielles de ce - dictionnaire de paramètres sont "*DifferentialIncrement*", + Dans le cas où l'opérateur :math:`H` évalué en :math:`\mathbf{x}^b` est + disponible, il peut être donné en utilisant "*AppliedInXb*" et sera + considéré comme un vecteur. Les paramètres de contrôle de l'approximation + numérique de l'opérateur adjoint, dans le cas "*OneFunction*", peuvent être + renseignés par un dictionnaire dans "*Parameters*". Les entrées potentielles + de ce dictionnaire de paramètres sont "*DifferentialIncrement*", "*CenteredFiniteDifference*", "*EnableMultiProcessing*", "*NumberOfProcesses*" (similaires à celles de l'interface graphique). diff --git a/src/daSalome/adaoBuilder.py b/src/daSalome/adaoBuilder.py index 8c76a8c..c3225b2 100644 --- a/src/daSalome/adaoBuilder.py +++ b/src/daSalome/adaoBuilder.py @@ -55,6 +55,7 @@ class New(object): String = None, Template = None, ThreeFunctions = None, + AppliedInXb = None, Variable = None, Vector = None, VectorSerie = None): @@ -86,7 +87,7 @@ class New(object): DiagonalSparseMatrix,Script,Stored) elif Concept == "ObservationOperator": self.setObservationOperator(Matrix,OneFunction,ThreeFunctions, - Parameters,Script,Stored) + AppliedInXb, Parameters,Script,Stored) elif Concept == "AlgorithmParameters": self.setAlgorithmParameters(Algorithm,Parameters,Script) elif Concept == "Debug": @@ -394,6 +395,7 @@ class New(object): Matrix = None, OneFunction = None, ThreeFunctions = None, + AppliedInXb = None, Parameters = None, Script = None, Stored = False): @@ -442,10 +444,15 @@ class New(object): __Function.update(__Parameters) else: __Function = None + if AppliedInXb is not None: + __appliedToX = {"HXb":AppliedInXb} + else: + __appliedToX = None # self.__adaoStudy.setObservationOperator( asFunction = __Function, asMatrix = __Matrix, + appliedToX = __appliedToX, toBeStored = Stored, )