]> SALOME platform Git repositories - modules/adao.git/commitdiff
Salome HOME
Improving matrix default behaviour for user
authorJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Sun, 14 Dec 2014 08:02:12 +0000 (09:02 +0100)
committerJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Sun, 14 Dec 2014 08:02:12 +0000 (09:02 +0100)
bin/AdaoCatalogGenerator.py
src/daComposant/daNumerics/ApproximatedDerivatives.py
src/daSalome/daYacsSchemaCreator/infos_daComposant.py

index b7ff1cebfb361205e4bac250546c4b90992d2805..fd6fd45586de04d90d5da71fdbe6dd4633693b0b 100644 (file)
@@ -54,7 +54,7 @@ def F_${data_name}(statut) : return FACT(statut = statut,
                                                      ),
                                          STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ",
 
-                                                      STRING = SIMP(statut = "o", typ = "TXM", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"),
+                                                      STRING = SIMP(statut = "o", typ = "TXM", ${ms_default} fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"),
                                                      ),
                                          SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ",
 
@@ -278,6 +278,7 @@ for data_input_name in infos.DataTypeDict.keys():
   data_name = data_input_name
   data_into = ""
   data_default = ""
+  ms_default = ""
 
   # On recupere les differentes facon d'entrer les donnees
   for basic_type in infos.DataTypeDict[data_input_name]:
@@ -285,10 +286,13 @@ for data_input_name in infos.DataTypeDict.keys():
 
   # On choisit le default
   data_default = "\"" + infos.DataTypeDefaultDict[data_input_name] + "\""
+  if infos.DataSValueDefaultDict.has_key(data_input_name):
+    ms_default = "defaut=\"" + infos.DataSValueDefaultDict[data_input_name] + "\","
 
   mem_file.write(data_method.substitute(data_name    = data_name,
                                         data_into    = data_into,
-                                        data_default = data_default))
+                                        data_default = data_default,
+                                        ms_default   = ms_default))
 
 # Step 2: On cree les fonctions qui permettent de rentrer les donnees des algorithmes
 for assim_data_input_name in infos.AssimDataDict.keys():
@@ -320,14 +324,20 @@ for opt_name in infos.OptDict.keys():
   data_name = opt_name
   data_into = ""
   data_default = ""
+  ms_default = ""
 
   for choice in infos.OptDict[opt_name]:
     data_into += "\"" + choice + "\", "
+
+  # On choisit le default
   data_default = "\"" + infos.OptDefaultDict[opt_name] + "\""
+  if infos.DataSValueDefaultDict.has_key(opt_name):
+    ms_default = "defaut=\"" + infos.DataSValueDefaultDict[opt_name] + "\","
 
-  mem_file.write(data_method.substitute(data_name = data_name,
-                                        data_into = data_into,
-                                        data_default = data_default))
+  mem_file.write(data_method.substitute(data_name    = data_name,
+                                        data_into    = data_into,
+                                        data_default = data_default,
+                                        ms_default   = ms_default))
 
 # Step 4: On ajoute la methode optionnelle init
 # TODO uniformiser avec le step 3
index 35a38a624780b3de0d68a91f235691d3679a136c..56b08dfcef61b2539d17f636da51d77d00fac3d9 100644 (file)
@@ -184,7 +184,7 @@ class FDApproximation(object):
         logging.debug("FDA   Approximation centrée...: %s"%(self.__centeredDF))
         #
         if X is None or len(X)==0:
-            raise ValueError("Nominal point X for approximate derivatives can not be None or void.")
+            raise ValueError("Nominal point X for approximate derivatives can not be None or void (X=%s)."%(str(X),))
         #
         _X = numpy.asmatrix(numpy.ravel( X )).T
         #
index 1840081c1be22214c13fbf9dcf4ea9e435fdcc1b..b8925737790e9ae57564b0cfc44cb14902043470 100644 (file)
@@ -202,6 +202,9 @@ DataTypeDefaultDict["DiagonalSparseMatrix"] = "String"
 DataTypeDefaultDict["Function"]             = "ScriptWithOneFunction"
 DataTypeDefaultDict["Dict"]                 = "Script"
 
+DataSValueDefaultDict = {}
+DataSValueDefaultDict["ScalarSparseMatrix"]   = "1."
+
 # Assimilation data input
 AssimDataDict = {}
 AssimDataDict["Background"]          = ["Vector", "VectorSerie"]
@@ -218,12 +221,12 @@ AssimDataDict["ControlInput"]        = ["Vector", "VectorSerie"]
 
 AssimDataDefaultDict = {}
 AssimDataDefaultDict["Background"]          = "Vector"
-AssimDataDefaultDict["BackgroundError"]     = "Matrix"
+AssimDataDefaultDict["BackgroundError"]     = "ScalarSparseMatrix"
 AssimDataDefaultDict["Observation"]         = "Vector"
-AssimDataDefaultDict["ObservationError"]    = "Matrix"
+AssimDataDefaultDict["ObservationError"]    = "ScalarSparseMatrix"
 AssimDataDefaultDict["ObservationOperator"] = "Function"
 AssimDataDefaultDict["EvolutionModel"]      = "Function"
-AssimDataDefaultDict["EvolutionError"]      = "Matrix"
+AssimDataDefaultDict["EvolutionError"]      = "ScalarSparseMatrix"
 AssimDataDefaultDict["AlgorithmParameters"] = "Dict"
 AssimDataDefaultDict["UserDataInit"]        = "Dict"
 AssimDataDefaultDict["CheckingPoint"]       = "Vector"