From: pascale.noyret Date: Fri, 7 Aug 2015 08:33:39 +0000 (+0200) Subject: avant PSEN X-Git-Tag: PSEN_V1~2 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=283128d5842f911861917b3f15288479061afd64;p=modules%2Feficas.git avant PSEN --- diff --git a/Adao/ADAO_Cata_V0_V7_6_0.py b/Adao/ADAO_Cata_V0_V7_6_0.py index a383b0ba..85774835 100755 --- a/Adao/ADAO_Cata_V0_V7_6_0.py +++ b/Adao/ADAO_Cata_V0_V7_6_0.py @@ -23,9 +23,10 @@ # Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D # -------------------------------------------------------- -# Generated by AdaoCatalogGenerator on 2015-03-01 21:15:17 +# Generated by AdaoCatalogGenerator on 2015-06-10 11:34:00 # -------------------------------------------------------- +import os, re import Accas from Accas import * @@ -36,26 +37,64 @@ JdC = JDC_CATA ( ) VERSION_CATALOGUE='V7_6_0' -def F_VectorSerie(statut) : return FACT( +def NoCheckInNS(filename): + return 1 +NoCheckInNS.info = "" +def DirectOperatorInNS(filename): + if os.path.exists(filename): + fc = open(filename, 'r').readlines() + cr = re.compile("^def[\s]*DirectOperator[\s]*\(") + for ln in fc: + if cr.match(ln): return 1 + cr = re.compile("^DirectOperator[\s]*=") + for ln in fc: + if cr.match(ln): return 1 + return 0 +DirectOperatorInNS.info = u"The Python file has to contain explicitly a \"DirectOperator\" function definition with only one vector as argument." +def TangentOperatorInNS(filename): + if os.path.exists(filename): + fc = open(filename, 'r').readlines() + cr = re.compile("^def[\s]*TangentOperator[\s]*\(") + for ln in fc: + if cr.match(ln): return 1 + cr = re.compile("^TangentOperator[\s]*=") + for ln in fc: + if cr.match(ln): return 1 + return 0 +TangentOperatorInNS.info = u"The Python file has to contain explicitly a \"TangentOperator\" function definition with only one pair of vectors as argument." +def AdjointOperatorInNS(filename): + if os.path.exists(filename): + fc = open(filename, 'r').readlines() + cr = re.compile("^def[\s]*AdjointOperator[\s]*\(") + for ln in fc: + if cr.match(ln): return 1 + cr = re.compile("^AdjointOperator[\s]*=") + for ln in fc: + if cr.match(ln): return 1 + return 0 +AdjointOperatorInNS.info = u"The Python file has to contain explicitly an \"AdjointOperator\" function definition with only one pair of vectors as argument." + +def F_VectorSerie(statut, fv=NoCheckInNS) : return FACT( statut = statut, FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="Script"), SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), + SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), ), 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"), ), SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), + SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), ), SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), + SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), + NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), ), SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), + SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), ), TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), @@ -71,26 +110,27 @@ def F_VectorSerie(statut) : return FACT( ), ) -def F_Function(statut) : return FACT( +def F_Function(statut, fv=NoCheckInNS) : return FACT( statut = statut, FROM = SIMP(statut = "o", typ = "TXM", into=("ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict", ), defaut="ScriptWithOneFunction"), SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), + SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), ), 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"), ), SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), + SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), ), SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), + SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), + NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), ), SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), + SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), ), TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), @@ -106,26 +146,27 @@ def F_Function(statut) : return FACT( ), ) -def F_Matrix(statut) : return FACT( +def F_Matrix(statut, fv=NoCheckInNS) : return FACT( statut = statut, FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="Script"), SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), + SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), ), 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"), ), SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), + SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), ), SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), + SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), + NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), ), SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), + SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), ), TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), @@ -141,26 +182,27 @@ def F_Matrix(statut) : return FACT( ), ) -def F_DiagonalSparseMatrix(statut) : return FACT( +def F_DiagonalSparseMatrix(statut, fv=NoCheckInNS) : return FACT( statut = statut, FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="String"), SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), + SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), ), 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"), ), SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), + SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), ), SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), + SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), + NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), ), SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), + SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), ), TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), @@ -176,26 +218,27 @@ def F_DiagonalSparseMatrix(statut) : return FACT( ), ) -def F_Vector(statut) : return FACT( +def F_Vector(statut, fv=NoCheckInNS) : return FACT( statut = statut, FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="Script"), SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), + SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), ), 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"), ), SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), + SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), ), SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), + SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), + NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), ), SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), + SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), ), TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), @@ -211,26 +254,27 @@ def F_Vector(statut) : return FACT( ), ) -def F_Dict(statut) : return FACT( +def F_Dict(statut, fv=NoCheckInNS) : return FACT( statut = statut, FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="Script"), SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), + SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), ), 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"), ), SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), + SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), ), SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), + SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), + NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), ), SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), + SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), ), TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), @@ -246,26 +290,27 @@ def F_Dict(statut) : return FACT( ), ) -def F_ScalarSparseMatrix(statut) : return FACT( +def F_ScalarSparseMatrix(statut, fv=NoCheckInNS) : return FACT( statut = statut, FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="String"), SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), + SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), ), STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", STRING = SIMP(statut = "o", typ = "TXM", defaut="1.", 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', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), + SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), ), SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), + SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), + NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), ), SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), + SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), ), TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), @@ -281,158 +326,247 @@ def F_ScalarSparseMatrix(statut) : return FACT( ), ) -def F_ObservationError(statut) : return FACT( +def ObservationErrorInNS(filename): + if os.path.exists(filename): + fc = open(filename, 'r').readlines() + cr = re.compile("^ObservationError[\s]*=") + for ln in fc: + if cr.match(ln): return 1 + return 0 +ObservationErrorInNS.info = u"The Python file has to contain explicitly a \"ObservationError\" variable." +def F_ObservationError(statut, fv=NoCheckInNS) : return FACT( statut=statut, Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix", ), defaut="ScalarSparseMatrix"), Matrix = BLOC ( condition = " INPUT_TYPE in ( 'Matrix', ) ", - data = F_Matrix("o"), + data = F_Matrix("o", fv), ), ScalarSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'ScalarSparseMatrix', ) ", - data = F_ScalarSparseMatrix("o"), + data = F_ScalarSparseMatrix("o", fv), ), DiagonalSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'DiagonalSparseMatrix', ) ", - data = F_DiagonalSparseMatrix("o"), + data = F_DiagonalSparseMatrix("o", fv), ), ) -def F_Observation(statut) : return FACT( +def ObservationInNS(filename): + if os.path.exists(filename): + fc = open(filename, 'r').readlines() + cr = re.compile("^Observation[\s]*=") + for ln in fc: + if cr.match(ln): return 1 + return 0 +ObservationInNS.info = u"The Python file has to contain explicitly a \"Observation\" variable." +def F_Observation(statut, fv=NoCheckInNS) : return FACT( statut=statut, Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Vector", "VectorSerie", ), defaut="Vector"), Vector = BLOC ( condition = " INPUT_TYPE in ( 'Vector', ) ", - data = F_Vector("o"), + data = F_Vector("o", fv), ), VectorSerie = BLOC ( condition = " INPUT_TYPE in ( 'VectorSerie', ) ", - data = F_VectorSerie("o"), + data = F_VectorSerie("o", fv), ), ) -def F_BackgroundError(statut) : return FACT( +def BackgroundErrorInNS(filename): + if os.path.exists(filename): + fc = open(filename, 'r').readlines() + cr = re.compile("^BackgroundError[\s]*=") + for ln in fc: + if cr.match(ln): return 1 + return 0 +BackgroundErrorInNS.info = u"The Python file has to contain explicitly a \"BackgroundError\" variable." +def F_BackgroundError(statut, fv=NoCheckInNS) : return FACT( statut=statut, Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix", ), defaut="ScalarSparseMatrix"), Matrix = BLOC ( condition = " INPUT_TYPE in ( 'Matrix', ) ", - data = F_Matrix("o"), + data = F_Matrix("o", fv), ), ScalarSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'ScalarSparseMatrix', ) ", - data = F_ScalarSparseMatrix("o"), + data = F_ScalarSparseMatrix("o", fv), ), DiagonalSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'DiagonalSparseMatrix', ) ", - data = F_DiagonalSparseMatrix("o"), + data = F_DiagonalSparseMatrix("o", fv), ), ) -def F_ObservationOperator(statut) : return FACT( +def ObservationOperatorInNS(filename): + if os.path.exists(filename): + fc = open(filename, 'r').readlines() + cr = re.compile("^ObservationOperator[\s]*=") + for ln in fc: + if cr.match(ln): return 1 + return 0 +ObservationOperatorInNS.info = u"The Python file has to contain explicitly a \"ObservationOperator\" variable." +def F_ObservationOperator(statut, fv=NoCheckInNS) : return FACT( statut=statut, Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Matrix", "Function", ), defaut="Function"), Matrix = BLOC ( condition = " INPUT_TYPE in ( 'Matrix', ) ", - data = F_Matrix("o"), + data = F_Matrix("o", fv), ), Function = BLOC ( condition = " INPUT_TYPE in ( 'Function', ) ", - data = F_Function("o"), + data = F_Function("o", fv), ), ) -def F_CheckingPoint(statut) : return FACT( +def CheckingPointInNS(filename): + if os.path.exists(filename): + fc = open(filename, 'r').readlines() + cr = re.compile("^CheckingPoint[\s]*=") + for ln in fc: + if cr.match(ln): return 1 + return 0 +CheckingPointInNS.info = u"The Python file has to contain explicitly a \"CheckingPoint\" variable." +def F_CheckingPoint(statut, fv=NoCheckInNS) : return FACT( statut=statut, Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Vector", ), defaut="Vector"), Vector = BLOC ( condition = " INPUT_TYPE in ( 'Vector', ) ", - data = F_Vector("o"), + data = F_Vector("o", fv), ), ) -def F_ControlInput(statut) : return FACT( +def ControlInputInNS(filename): + if os.path.exists(filename): + fc = open(filename, 'r').readlines() + cr = re.compile("^ControlInput[\s]*=") + for ln in fc: + if cr.match(ln): return 1 + return 0 +ControlInputInNS.info = u"The Python file has to contain explicitly a \"ControlInput\" variable." +def F_ControlInput(statut, fv=NoCheckInNS) : return FACT( statut=statut, Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Vector", "VectorSerie", ), defaut="Vector"), Vector = BLOC ( condition = " INPUT_TYPE in ( 'Vector', ) ", - data = F_Vector("o"), + data = F_Vector("o", fv), ), VectorSerie = BLOC ( condition = " INPUT_TYPE in ( 'VectorSerie', ) ", - data = F_VectorSerie("o"), + data = F_VectorSerie("o", fv), ), ) -def F_Background(statut) : return FACT( +def BackgroundInNS(filename): + if os.path.exists(filename): + fc = open(filename, 'r').readlines() + cr = re.compile("^Background[\s]*=") + for ln in fc: + if cr.match(ln): return 1 + return 0 +BackgroundInNS.info = u"The Python file has to contain explicitly a \"Background\" variable." +def F_Background(statut, fv=NoCheckInNS) : return FACT( statut=statut, Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Vector", "VectorSerie", ), defaut="Vector"), Vector = BLOC ( condition = " INPUT_TYPE in ( 'Vector', ) ", - data = F_Vector("o"), + data = F_Vector("o", fv), ), VectorSerie = BLOC ( condition = " INPUT_TYPE in ( 'VectorSerie', ) ", - data = F_VectorSerie("o"), + data = F_VectorSerie("o", fv), ), ) -def F_AlgorithmParameters(statut) : return FACT( +def AlgorithmParametersInNS(filename): + if os.path.exists(filename): + fc = open(filename, 'r').readlines() + cr = re.compile("^AlgorithmParameters[\s]*=") + for ln in fc: + if cr.match(ln): return 1 + return 0 +AlgorithmParametersInNS.info = u"The Python file has to contain explicitly a \"AlgorithmParameters\" variable." +def F_AlgorithmParameters(statut, fv=NoCheckInNS) : return FACT( statut=statut, INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Dict", ), defaut="Dict"), Dict = BLOC ( condition = " INPUT_TYPE in ( 'Dict', ) ", - data = F_Dict("o"), + data = F_Dict("o", fv), ), ) -def F_EvolutionError(statut) : return FACT( +def EvolutionErrorInNS(filename): + if os.path.exists(filename): + fc = open(filename, 'r').readlines() + cr = re.compile("^EvolutionError[\s]*=") + for ln in fc: + if cr.match(ln): return 1 + return 0 +EvolutionErrorInNS.info = u"The Python file has to contain explicitly a \"EvolutionError\" variable." +def F_EvolutionError(statut, fv=NoCheckInNS) : return FACT( statut=statut, Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix", ), defaut="ScalarSparseMatrix"), Matrix = BLOC ( condition = " INPUT_TYPE in ( 'Matrix', ) ", - data = F_Matrix("o"), + data = F_Matrix("o", fv), ), ScalarSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'ScalarSparseMatrix', ) ", - data = F_ScalarSparseMatrix("o"), + data = F_ScalarSparseMatrix("o", fv), ), DiagonalSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'DiagonalSparseMatrix', ) ", - data = F_DiagonalSparseMatrix("o"), + data = F_DiagonalSparseMatrix("o", fv), ), ) -def F_UserDataInit(statut) : return FACT( +def UserDataInitInNS(filename): + if os.path.exists(filename): + fc = open(filename, 'r').readlines() + cr = re.compile("^UserDataInit[\s]*=") + for ln in fc: + if cr.match(ln): return 1 + return 0 +UserDataInitInNS.info = u"The Python file has to contain explicitly a \"UserDataInit\" variable." +def F_UserDataInit(statut, fv=NoCheckInNS) : return FACT( statut=statut, INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Dict", ), defaut="Dict"), Dict = BLOC ( condition = " INPUT_TYPE in ( 'Dict', ) ", - data = F_Dict("o"), + data = F_Dict("o", fv), ), ) -def F_EvolutionModel(statut) : return FACT( +def EvolutionModelInNS(filename): + if os.path.exists(filename): + fc = open(filename, 'r').readlines() + cr = re.compile("^EvolutionModel[\s]*=") + for ln in fc: + if cr.match(ln): return 1 + return 0 +EvolutionModelInNS.info = u"The Python file has to contain explicitly a \"EvolutionModel\" variable." +def F_EvolutionModel(statut, fv=NoCheckInNS) : return FACT( statut=statut, Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Matrix", "Function", ), defaut="Function"), Matrix = BLOC ( condition = " INPUT_TYPE in ( 'Matrix', ) ", - data = F_Matrix("o"), + data = F_Matrix("o", fv), ), Function = BLOC ( condition = " INPUT_TYPE in ( 'Function', ) ", - data = F_Function("o"), + data = F_Function("o", fv), ), ) -def F_UserPostAnalysis(statut) : return FACT( +def F_UserPostAnalysis(statut, fv=NoCheckInNS) : return FACT( statut = statut, FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", "Template", ), defaut="Template"), SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), + SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), ), 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"), ), SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), + SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), ), SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), + SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), + NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), ), SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), + SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), ), TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), @@ -460,41 +594,53 @@ def F_InitChoice() : return ("Background", ) def F_Init(statut) : return FACT(statut = statut, - INIT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())), + INIT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]), TARGET_LIST = SIMP(statut = "o", typ = "TXM", min=1, max="**", into=F_InitChoice(), validators=(VerifExiste(2))), ) def F_ObserverTemplate() : return BLOC(condition = " NodeType == 'Template' ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "ValuePrinter", into=("ValuePrinter", "ValueSeriePrinter", "ValueSaver", "ValueSerieSaver", "ValuePrinterAndSaver", "ValueSeriePrinterAndSaver", "ValueGnuPlotter", "ValueSerieGnuPlotter")), + Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "ValuePrinter", into=("ValuePrinter", "ValueSeriePrinter", "ValueSaver", "ValueSerieSaver", "ValuePrinterAndSaver", "ValueSeriePrinterAndSaver", "ValueGnuPlotter", "ValueSerieGnuPlotter", "ValuePrinterAndGnuPlotter", "ValueSeriePrinterAndGnuPlotter", "ValuePrinterSaverAndGnuPlotter", "ValueSeriePrinterSaverAndGnuPlotter")), ValuePrinter = BLOC (condition = " Template == 'ValuePrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print info,var[-1]" ), + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print info, var[-1]" ), ), ValueSeriePrinter = BLOC (condition = " Template == 'ValueSeriePrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print info,var[:]" ), + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print info, var[:] " ), ), ValueSaver = BLOC (condition = " Template == 'ValueSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy,re\nv=numpy.array((var[-1]))\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint 'Value saved in \"%s\"'%f\nnumpy.savetxt(f,v)" ), + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, re\nv=numpy.array(var[-1], ndmin=1)\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint 'Value saved in \"%s\"'%f\nnumpy.savetxt(f,v)" ), ), ValueSerieSaver = BLOC (condition = " Template == 'ValueSerieSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy,re\nv=numpy.array((var[:])) \nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint 'Value saved in \"%s\"'%f\nnumpy.savetxt(f,v)" ), + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, re\nv=numpy.array(var[:], ndmin=1)\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint 'Value saved in \"%s\"'%f\nnumpy.savetxt(f,v)" ), ), ValuePrinterAndSaver = BLOC (condition = " Template == 'ValuePrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy,re\nv=numpy.array((var[-1]))\nprint info,v\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint 'Value saved in \"%s\"'%f\nnumpy.savetxt(f,v)" ), + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, re\nv=numpy.array(var[-1], ndmin=1)\nprint info,v\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint 'Value saved in \"%s\"'%f\nnumpy.savetxt(f,v)" ), ), ValueSeriePrinterAndSaver = BLOC (condition = " Template == 'ValueSeriePrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy,re\nv=numpy.array((var[:])) \nprint info,v\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint 'Value saved in \"%s\"'%f\nnumpy.savetxt(f,v)" ), + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, re\nv=numpy.array(var[:], ndmin=1)\nprint info,v\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint 'Value saved in \"%s\"'%f\nnumpy.savetxt(f,v)" ), ), ValueGnuPlotter = BLOC (condition = " Template == 'ValueGnuPlotter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import Gnuplot\nglobal ifig,gp\ntry:\n ifig += 1\n gp('set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp('set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( var[-1], with_='lines lw 2' ) )" ), + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, Gnuplot\nv=numpy.array(var[-1], ndmin=1)\nglobal ifig, gp\ntry:\n ifig += 1\n gp('set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp('set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )" ), ), ValueSerieGnuPlotter = BLOC (condition = " Template == 'ValueSerieGnuPlotter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import Gnuplot\nglobal ifig,gp\ntry:\n ifig += 1\n gp('set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp('set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( var[:], with_='lines lw 2' ) )" ), + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, Gnuplot\nv=numpy.array(var[:], ndmin=1)\nglobal ifig, gp\ntry:\n ifig += 1\n gp('set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp('set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )" ), + ), + ValuePrinterAndGnuPlotter = BLOC (condition = " Template == 'ValuePrinterAndGnuPlotter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print info, var[-1]\nimport numpy, Gnuplot\nv=numpy.array(var[-1], ndmin=1)\nglobal ifig,gp\ntry:\n ifig += 1\n gp('set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp('set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )" ), + ), + ValueSeriePrinterAndGnuPlotter = BLOC (condition = " Template == 'ValueSeriePrinterAndGnuPlotter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print info, var[:] \nimport numpy, Gnuplot\nv=numpy.array(var[:], ndmin=1)\nglobal ifig,gp\ntry:\n ifig += 1\n gp('set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp('set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )" ), + ), + ValuePrinterSaverAndGnuPlotter = BLOC (condition = " Template == 'ValuePrinterSaverAndGnuPlotter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print info, var[-1]\nimport numpy, re\nv=numpy.array(var[-1], ndmin=1)\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint 'Value saved in \"%s\"'%f\nnumpy.savetxt(f,v)\nimport Gnuplot\nglobal ifig,gp\ntry:\n ifig += 1\n gp('set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp('set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )" ), + ), + ValueSeriePrinterSaverAndGnuPlotter = BLOC (condition = " Template == 'ValueSeriePrinterSaverAndGnuPlotter' ", + ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print info, var[:] \nimport numpy, re\nv=numpy.array(var[:], ndmin=1)\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint 'Value saved in \"%s\"'%f\nnumpy.savetxt(f,v)\nimport Gnuplot\nglobal ifig,gp\ntry:\n ifig += 1\n gp('set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp('set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )" ), ), ) def F_Observers(statut) : return FACT( statut=statut, - SELECTION = SIMP(statut="o", defaut=[], typ="TXM", min=0, max="**", validators=NoRepeat(), into=(['Analysis', 'CurrentState', 'Innovation', 'SimulatedObservationAtCurrentState', 'OMA', 'OMB', 'BMA', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'GradientOfCostFunctionJ', 'GradientOfCostFunctionJb', 'GradientOfCostFunctionJo', 'SigmaObs2', 'SigmaBck2', 'APosterioriCovariance'])), + SELECTION = SIMP(statut="o", defaut=[], typ="TXM", min=0, max="**", validators=NoRepeat(), into=(['Analysis', 'Innovation', 'CurrentState', 'CurrentOptimum', 'IndexOfOptimum', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum', 'SimulatedObservationAtCurrentOptimum', 'BMA', 'OMA', 'OMB', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'GradientOfCostFunctionJ', 'GradientOfCostFunctionJb', 'GradientOfCostFunctionJo', 'SigmaObs2', 'SigmaBck2', 'APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances']),homo="SansOrdreNiDoublon"), Analysis = BLOC (condition=" 'Analysis' in set(SELECTION) ", Analysis_data = FACT(statut = "o", Scheduler = SIMP(statut = "f", typ = "TXM"), @@ -504,7 +650,21 @@ def F_Observers(statut) : return FACT( Value = SIMP(statut = "o", typ = "TXM") ), UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())) + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) + ), + ObserverTemplate = F_ObserverTemplate(), + ), + ), + Innovation = BLOC (condition=" 'Innovation' in set(SELECTION) ", + Innovation_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "Innovation"), + NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), + PythonScript = BLOC (condition = " NodeType == 'String' ", + Value = SIMP(statut = "o", typ = "TXM") + ), + UserFile = BLOC (condition = " NodeType == 'Script' ", + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) ), ObserverTemplate = F_ObserverTemplate(), ), @@ -518,21 +678,49 @@ def F_Observers(statut) : return FACT( Value = SIMP(statut = "o", typ = "TXM") ), UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())) + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) ), ObserverTemplate = F_ObserverTemplate(), ), ), - Innovation = BLOC (condition=" 'Innovation' in set(SELECTION) ", - Innovation_data = FACT(statut = "o", + CurrentOptimum = BLOC (condition=" 'CurrentOptimum' in set(SELECTION) ", + CurrentOptimum_data = FACT(statut = "o", Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "Innovation"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "CurrentOptimum"), NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), PythonScript = BLOC (condition = " NodeType == 'String' ", Value = SIMP(statut = "o", typ = "TXM") ), UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())) + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) + ), + ObserverTemplate = F_ObserverTemplate(), + ), + ), + IndexOfOptimum = BLOC (condition=" 'IndexOfOptimum' in set(SELECTION) ", + IndexOfOptimum_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "IndexOfOptimum"), + NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), + PythonScript = BLOC (condition = " NodeType == 'String' ", + Value = SIMP(statut = "o", typ = "TXM") + ), + UserFile = BLOC (condition = " NodeType == 'Script' ", + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) + ), + ObserverTemplate = F_ObserverTemplate(), + ), + ), + SimulatedObservationAtBackground = BLOC (condition=" 'SimulatedObservationAtBackground' in set(SELECTION) ", + SimulatedObservationAtBackground_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "SimulatedObservationAtBackground"), + NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), + PythonScript = BLOC (condition = " NodeType == 'String' ", + Value = SIMP(statut = "o", typ = "TXM") + ), + UserFile = BLOC (condition = " NodeType == 'Script' ", + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) ), ObserverTemplate = F_ObserverTemplate(), ), @@ -546,35 +734,35 @@ def F_Observers(statut) : return FACT( Value = SIMP(statut = "o", typ = "TXM") ), UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())) + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) ), ObserverTemplate = F_ObserverTemplate(), ), ), - OMA = BLOC (condition=" 'OMA' in set(SELECTION) ", - OMA_data = FACT(statut = "o", + SimulatedObservationAtOptimum = BLOC (condition=" 'SimulatedObservationAtOptimum' in set(SELECTION) ", + SimulatedObservationAtOptimum_data = FACT(statut = "o", Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "OMA"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "SimulatedObservationAtOptimum"), NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), PythonScript = BLOC (condition = " NodeType == 'String' ", Value = SIMP(statut = "o", typ = "TXM") ), UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())) + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) ), ObserverTemplate = F_ObserverTemplate(), ), ), - OMB = BLOC (condition=" 'OMB' in set(SELECTION) ", - OMB_data = FACT(statut = "o", + SimulatedObservationAtCurrentOptimum = BLOC (condition=" 'SimulatedObservationAtCurrentOptimum' in set(SELECTION) ", + SimulatedObservationAtCurrentOptimum_data = FACT(statut = "o", Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "OMB"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "SimulatedObservationAtCurrentOptimum"), NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), PythonScript = BLOC (condition = " NodeType == 'String' ", Value = SIMP(statut = "o", typ = "TXM") ), UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())) + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) ), ObserverTemplate = F_ObserverTemplate(), ), @@ -588,7 +776,35 @@ def F_Observers(statut) : return FACT( Value = SIMP(statut = "o", typ = "TXM") ), UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())) + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) + ), + ObserverTemplate = F_ObserverTemplate(), + ), + ), + OMA = BLOC (condition=" 'OMA' in set(SELECTION) ", + OMA_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "OMA"), + NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), + PythonScript = BLOC (condition = " NodeType == 'String' ", + Value = SIMP(statut = "o", typ = "TXM") + ), + UserFile = BLOC (condition = " NodeType == 'Script' ", + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) + ), + ObserverTemplate = F_ObserverTemplate(), + ), + ), + OMB = BLOC (condition=" 'OMB' in set(SELECTION) ", + OMB_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "OMB"), + NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), + PythonScript = BLOC (condition = " NodeType == 'String' ", + Value = SIMP(statut = "o", typ = "TXM") + ), + UserFile = BLOC (condition = " NodeType == 'Script' ", + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) ), ObserverTemplate = F_ObserverTemplate(), ), @@ -602,7 +818,7 @@ def F_Observers(statut) : return FACT( Value = SIMP(statut = "o", typ = "TXM") ), UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())) + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) ), ObserverTemplate = F_ObserverTemplate(), ), @@ -616,7 +832,7 @@ def F_Observers(statut) : return FACT( Value = SIMP(statut = "o", typ = "TXM") ), UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())) + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) ), ObserverTemplate = F_ObserverTemplate(), ), @@ -630,7 +846,7 @@ def F_Observers(statut) : return FACT( Value = SIMP(statut = "o", typ = "TXM") ), UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())) + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) ), ObserverTemplate = F_ObserverTemplate(), ), @@ -644,7 +860,7 @@ def F_Observers(statut) : return FACT( Value = SIMP(statut = "o", typ = "TXM") ), UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())) + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) ), ObserverTemplate = F_ObserverTemplate(), ), @@ -658,7 +874,7 @@ def F_Observers(statut) : return FACT( Value = SIMP(statut = "o", typ = "TXM") ), UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())) + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) ), ObserverTemplate = F_ObserverTemplate(), ), @@ -672,7 +888,7 @@ def F_Observers(statut) : return FACT( Value = SIMP(statut = "o", typ = "TXM") ), UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())) + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) ), ObserverTemplate = F_ObserverTemplate(), ), @@ -686,7 +902,7 @@ def F_Observers(statut) : return FACT( Value = SIMP(statut = "o", typ = "TXM") ), UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())) + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) ), ObserverTemplate = F_ObserverTemplate(), ), @@ -700,7 +916,21 @@ def F_Observers(statut) : return FACT( Value = SIMP(statut = "o", typ = "TXM") ), UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())) + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) + ), + ObserverTemplate = F_ObserverTemplate(), + ), + ), + APosterioriCorrelations = BLOC (condition=" 'APosterioriCorrelations' in set(SELECTION) ", + APosterioriCorrelations_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "APosterioriCorrelations"), + NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), + PythonScript = BLOC (condition = " NodeType == 'String' ", + Value = SIMP(statut = "o", typ = "TXM") + ), + UserFile = BLOC (condition = " NodeType == 'Script' ", + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) ), ObserverTemplate = F_ObserverTemplate(), ), @@ -714,20 +944,56 @@ def F_Observers(statut) : return FACT( Value = SIMP(statut = "o", typ = "TXM") ), UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())) + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) + ), + ObserverTemplate = F_ObserverTemplate(), + ), + ), + APosterioriStandardDeviations = BLOC (condition=" 'APosterioriStandardDeviations' in set(SELECTION) ", + APosterioriStandardDeviations_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "APosterioriStandardDeviations"), + NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), + PythonScript = BLOC (condition = " NodeType == 'String' ", + Value = SIMP(statut = "o", typ = "TXM") + ), + UserFile = BLOC (condition = " NodeType == 'Script' ", + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) + ), + ObserverTemplate = F_ObserverTemplate(), + ), + ), + APosterioriVariances = BLOC (condition=" 'APosterioriVariances' in set(SELECTION) ", + APosterioriVariances_data = FACT(statut = "o", + Scheduler = SIMP(statut = "f", typ = "TXM"), + Info = SIMP(statut = "o", typ = "TXM", defaut = "APosterioriVariances"), + NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), + PythonScript = BLOC (condition = " NodeType == 'String' ", + Value = SIMP(statut = "o", typ = "TXM") + ), + UserFile = BLOC (condition = " NodeType == 'Script' ", + Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) ), ObserverTemplate = F_ObserverTemplate(), ), ), ) -def F_AlgorithmParameters(statut,algos_names) : return FACT( +def AlgorithmParametersInNS(filename): + if os.path.exists(filename): + fc = open(filename, 'r').readlines() + cr = re.compile("^AlgorithmParameters[\s]*=") + for ln in fc: + if cr.match(ln): return 1 + return 0 +AlgorithmParametersInNS.info = u"The Python file has to contain explicitly an \"AlgorithmParameters\" variable." +def F_AlgorithmParameters(statut, algos_names, fv=NoCheckInNS) : return FACT( statut = statut, Algorithm = SIMP(statut="o", typ = "TXM", into = algos_names ), Parameters = SIMP(statut="f", typ = "TXM", into=("Defaults", "Dict") ), Dict = BLOC ( condition = " Parameters == 'Dict' ", statut="f", - data = F_Dict("o"), + data = F_Dict("o", fv), ), Parameters3DVAR = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == '3DVAR') ", statut="f", @@ -741,7 +1007,7 @@ def F_AlgorithmParameters(statut,algos_names) : return FACT( Quantiles = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Liste des valeurs de quantiles"), SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), SimulationForQuantiles = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Linear", into=['Linear', 'NonLinear'], fr="Type de simulation pour l'estimation des quantiles"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCovariance', 'BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'Innovation', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'CurrentOptimum', 'IndexOfOptimum', 'Innovation', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum', 'SimulatedObservationAtCurrentOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersBlue = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'Blue') ", statut="f", @@ -749,11 +1015,12 @@ def F_AlgorithmParameters(statut,algos_names) : return FACT( Quantiles = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Liste des valeurs de quantiles"), SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), SimulationForQuantiles = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Linear", into=['Linear', 'NonLinear'], fr="Type de simulation pour l'estimation des quantiles"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCovariance', 'BMA', 'OMA', 'OMB', 'CostFunctionJ', 'Innovation', 'SigmaBck2', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'Innovation', 'SigmaBck2', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersEnsembleBlue = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'EnsembleBlue') ", statut="f", SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'Innovation', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersExtendedBlue = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'ExtendedBlue') ", statut="f", @@ -761,23 +1028,23 @@ def F_AlgorithmParameters(statut,algos_names) : return FACT( Quantiles = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Liste des valeurs de quantiles"), SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), SimulationForQuantiles = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Linear", into=['Linear', 'NonLinear'], fr="Type de simulation pour l'estimation des quantiles"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCovariance', 'BMA', 'OMA', 'OMB', 'CostFunctionJ', 'Innovation', 'SigmaBck2', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'Innovation', 'SigmaBck2', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersExtendedKalmanFilter = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'ExtendedKalmanFilter') ", statut="f", Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), ConstrainedBy = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="EstimateProjection", into=['EstimateProjection'], fr="Prise en compte des contraintes"), EstimationOf = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="State", into=['State', 'Parameters'], fr="Estimation d'etat ou de parametres"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCovariance', 'BMA', 'CurrentState', 'CostFunctionJ', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'CurrentState', 'CostFunctionJ', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersKalmanFilter = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'KalmanFilter') ", statut="f", EstimationOf = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="State", into=['State', 'Parameters'], fr="Estimation d'etat ou de parametres"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCovariance', 'BMA', 'CurrentState', 'CostFunctionJ', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'CurrentState', 'CostFunctionJ', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersLinearLeastSquares = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'LinearLeastSquares') ", statut="f", - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['OMA', 'CostFunctionJ', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['OMA', 'CurrentState', 'CostFunctionJ', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersNonLinearLeastSquares = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'NonLinearLeastSquares') ", statut="f", @@ -791,7 +1058,7 @@ def F_AlgorithmParameters(statut,algos_names) : return FACT( ), ParametersParticleSwarmOptimization = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'ParticleSwarmOptimization') ", statut="f", - Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), + BoxBounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes d'incréments de paramètres"), GroupRecallRate = SIMP(statut="f", typ="R", val_min=0.0, val_max=1.0, min=1, max=1, defaut=0.5, fr="Taux de rappel au meilleur insecte du groupe (entre 0 et 1)"), MaximumNumberOfSteps = SIMP(statut="f", typ="I", val_min=1, min=1, max=1, defaut=50, fr="Nombre maximal de pas d'optimisation"), NumberOfInsects = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=100, fr="Nombre d'insectes dans l'essaim"), @@ -818,7 +1085,7 @@ def F_AlgorithmParameters(statut,algos_names) : return FACT( EstimationOf = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="State", into=['State', 'Parameters'], fr="Estimation d'etat ou de parametres"), Kappa = SIMP(statut="f", typ="I", val_max=2, min=1, max=1, defaut=0, fr=""), Reconditioner = SIMP(statut="f", typ="R", val_min=0.001, val_max=10.0, min=1, max=1, defaut=1.0, fr=""), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCovariance', 'BMA', 'CurrentState', 'CostFunctionJ', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'CurrentState', 'CostFunctionJ', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersAdjointTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'AdjointTest') ", statut="f", @@ -826,35 +1093,30 @@ def F_AlgorithmParameters(statut,algos_names) : return FACT( EpsilonMinimumExponent = SIMP(statut="f", typ="I", val_min=-20, val_max=0, min=1, max=1, defaut=-8, fr="Exposant minimal en puissance de 10 pour le multiplicateur d'incrément"), InitialDirection = SIMP(statut="f", typ="TXM", fr="Direction initiale de la dérivée directionnelle autour du point nominal"), ResiduFormula = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="ScalarProduct", into=['ScalarProduct'], fr="Formule de résidu utilisée"), - ResultTitle = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="", into=None, fr="Titre du tableau et de la figure"), SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), ), ParametersFunctionTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'FunctionTest') ", statut="f", NumberOfPrintedDigits = SIMP(statut="f", typ="I", val_min=0, min=1, max=1, defaut=5, fr="Nombre de chiffres affichés pour les impressions de réels"), NumberOfRepetition = SIMP(statut="f", typ="I", val_min=1, min=1, max=1, defaut=1, fr="Nombre de fois où l'exécution de la fonction est répétée"), - ResultTitle = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="", into=None, fr="Titre du tableau et de la figure"), - SetDebug = SIMP(statut="f", typ="I", min=1, max=1, defaut=1, fr="Activation du mode debug lors de l'exécution"), + SetDebug = SIMP(statut="f", typ="I", min=1, max=1, defaut=0, fr="Activation du mode debug lors de l'exécution"), ), ParametersGradientTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'GradientTest') ", statut="f", AmplitudeOfInitialDirection = SIMP(statut="f", typ="R", min=1, max=1, defaut=1.0, fr="Amplitude de la direction initiale de la dérivée directionnelle autour du point nominal"), + AmplitudeOfTangentPerturbation = SIMP(statut="f", typ="R", val_min=1e-10, val_max=1.0, min=1, max=1, defaut=0.01, fr="Amplitude de la perturbation pour le calcul de la forme tangente"), EpsilonMinimumExponent = SIMP(statut="f", typ="I", val_min=-20, val_max=0, min=1, max=1, defaut=-8, fr="Exposant minimal en puissance de 10 pour le multiplicateur d'incrément"), InitialDirection = SIMP(statut="f", typ="TXM", fr="Direction initiale de la dérivée directionnelle autour du point nominal"), - PlotAndSave = SIMP(statut="f", typ="I", min=1, max=1, defaut=0, fr="Trace et sauve les résultats"), - ResiduFormula = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Taylor", into=['Norm', 'Taylor'], fr="Formule de résidu utilisée"), - ResultFile = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="GRADIENTTEST_result_file", into=None, fr="Nom de base (hors extension) des fichiers de sauvegarde des résultats"), - ResultLabel = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="", into=None, fr="Label de la courbe tracée dans la figure"), - ResultTitle = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="", into=None, fr="Titre du tableau et de la figure"), + ResiduFormula = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Taylor", into=['Norm', 'TaylorOnNorm', 'Taylor'], fr="Formule de résidu utilisée"), SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), ), ParametersLinearityTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'LinearityTest') ", statut="f", AmplitudeOfInitialDirection = SIMP(statut="f", typ="R", min=1, max=1, defaut=1.0, fr="Amplitude de la direction initiale de la dérivée directionnelle autour du point nominal"), + AmplitudeOfTangentPerturbation = SIMP(statut="f", typ="R", val_min=1e-10, val_max=1.0, min=1, max=1, defaut=0.01, fr="Amplitude de la perturbation pour le calcul de la forme tangente"), EpsilonMinimumExponent = SIMP(statut="f", typ="I", val_min=-20, val_max=0, min=1, max=1, defaut=-8, fr="Exposant minimal en puissance de 10 pour le multiplicateur d'incrément"), InitialDirection = SIMP(statut="f", typ="TXM", fr="Direction initiale de la dérivée directionnelle autour du point nominal"), ResiduFormula = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="CenteredDL", into=['CenteredDL', 'Taylor', 'NominalTaylor', 'NominalTaylorRMS'], fr="Formule de résidu utilisée"), - ResultTitle = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="", into=None, fr="Titre du tableau et de la figure"), SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), ), ParametersSamplingTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'SamplingTest') ", @@ -871,36 +1133,39 @@ def F_AlgorithmParameters(statut,algos_names) : return FACT( ParametersTangentTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'TangentTest') ", statut="f", AmplitudeOfInitialDirection = SIMP(statut="f", typ="R", min=1, max=1, defaut=1.0, fr="Amplitude de la direction initiale de la dérivée directionnelle autour du point nominal"), + AmplitudeOfTangentPerturbation = SIMP(statut="f", typ="R", val_min=1e-10, val_max=1.0, min=1, max=1, defaut=0.01, fr="Amplitude de la perturbation pour le calcul de la forme tangente"), EpsilonMinimumExponent = SIMP(statut="f", typ="I", val_min=-20, val_max=0, min=1, max=1, defaut=-8, fr="Exposant minimal en puissance de 10 pour le multiplicateur d'incrément"), InitialDirection = SIMP(statut="f", typ="TXM", fr="Direction initiale de la dérivée directionnelle autour du point nominal"), ResiduFormula = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Taylor", into=['Taylor'], fr="Formule de résidu utilisée"), - ResultTitle = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="", into=None, fr="Titre du tableau et de la figure"), SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), ), ) - def F_variables(statut) : return FACT( statut=statut, regles = ( MEME_NOMBRE ('NAMES', 'SIZES')), NAMES = SIMP(statut="o", typ="TXM", max="**", validators=NoRepeat()), SIZES = SIMP(statut="o", typ="I", val_min=1, max="**") ) +def ChDir(dirname): + os.chdir(os.path.abspath(dirname)) + return 1 +ChDir.info = u"This has to be a regular directory path." ASSIMILATION_STUDY = PROC(nom="ASSIMILATION_STUDY", op=None, repetable = "n", StudyName = SIMP(statut="o", typ = "TXM", defaut="ADAO Calculation Case"), - StudyRepertory = SIMP(statut="f", typ = "Repertoire", min=1, max=1), + StudyRepertory = SIMP(statut="f", typ = "Repertoire", validators=FunctionVal(ChDir), min=1, max=1), Debug = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0), - AlgorithmParameters = F_AlgorithmParameters("o",("3DVAR", "Blue", "EnsembleBlue", "ExtendedBlue", "ExtendedKalmanFilter", "KalmanFilter", "LinearLeastSquares", "NonLinearLeastSquares", "ParticleSwarmOptimization", "QuantileRegression", "UnscentedKalmanFilter", )), - Background = F_Background("o"), - BackgroundError = F_BackgroundError("o"), - Observation = F_Observation("o"), - ObservationError = F_ObservationError("o"), + AlgorithmParameters = F_AlgorithmParameters("o",("3DVAR", "Blue", "EnsembleBlue", "ExtendedBlue", "ExtendedKalmanFilter", "KalmanFilter", "LinearLeastSquares", "NonLinearLeastSquares", "ParticleSwarmOptimization", "QuantileRegression", "UnscentedKalmanFilter", ), AlgorithmParametersInNS), + Background = F_Background("o", BackgroundInNS), + BackgroundError = F_BackgroundError("o", BackgroundErrorInNS), + Observation = F_Observation("o", ObservationInNS), + ObservationError = F_ObservationError("o", ObservationErrorInNS), ObservationOperator = F_ObservationOperator("o"), EvolutionModel = F_EvolutionModel("f"), - EvolutionError = F_EvolutionError("f"), + EvolutionError = F_EvolutionError("f", EvolutionErrorInNS), ControlInput = F_ControlInput("f"), UserDataInit = F_Init("f"), UserPostAnalysis = F_UserPostAnalysis("o"), @@ -913,13 +1178,13 @@ CHECKING_STUDY = PROC(nom="CHECKING_STUDY", op=None, repetable = "n", StudyName = SIMP(statut="o", typ = "TXM", defaut="ADAO Checking Case"), - StudyRepertory = SIMP(statut="f", typ = "Repertoire", min=1, max=1), + StudyRepertory = SIMP(statut="f", typ = "Repertoire", validators=FunctionVal(ChDir), min=1, max=1), Debug = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0), - AlgorithmParameters = F_AlgorithmParameters("o",("AdjointTest", "FunctionTest", "GradientTest", "LinearityTest", "ObserverTest", "SamplingTest", "TangentTest", )), - CheckingPoint = F_CheckingPoint("o"), - BackgroundError = F_BackgroundError("f"), - Observation = F_Observation("f"), - ObservationError = F_ObservationError("f"), + AlgorithmParameters = F_AlgorithmParameters("o", ("AdjointTest", "FunctionTest", "GradientTest", "LinearityTest", "ObserverTest", "SamplingTest", "TangentTest", ), AlgorithmParametersInNS), + CheckingPoint = F_CheckingPoint("o", CheckingPointInNS), + BackgroundError = F_BackgroundError("f", BackgroundErrorInNS), + Observation = F_Observation("f", ObservationInNS), + ObservationError = F_ObservationError("f", ObservationErrorInNS), ObservationOperator = F_ObservationOperator("o"), UserDataInit = F_Init("f"), Observers = F_Observers("f") diff --git a/Adao/ADAO_Cata_V7_6_0.py b/Adao/ADAO_Cata_V7_6_0.py index 70bd3963..a383b0ba 100755 --- a/Adao/ADAO_Cata_V7_6_0.py +++ b/Adao/ADAO_Cata_V7_6_0.py @@ -1,5 +1,7 @@ #-*-coding:iso-8859-1-*- # +# Copyright (C) 2008-2015 EDF R&D +# # This file is part of SALOME ADAO module # # This library is free software; you can redistribute it and/or @@ -459,7 +461,7 @@ def F_InitChoice() : return ("Background", def F_Init(statut) : return FACT(statut = statut, INIT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=(OnlyStr())), - TARGET_LIST = SIMP(statut = "o", typ = "TXM", min=1, max="**", into=F_InitChoice(),homo="SansOrdreNiDoublon", validators=(VerifExiste(2))), + TARGET_LIST = SIMP(statut = "o", typ = "TXM", min=1, max="**", into=F_InitChoice(), validators=(VerifExiste(2))), ) def F_ObserverTemplate() : return BLOC(condition = " NodeType == 'Template' ", @@ -492,7 +494,7 @@ def F_ObserverTemplate() : return BLOC(condition = " NodeType == 'Template' ", def F_Observers(statut) : return FACT( statut=statut, - SELECTION = SIMP(statut="o", defaut=[], typ="TXM", min=0, max="**", validators=NoRepeat(), homo="SansOrdreNiDoublon", into=(['Analysis', 'CurrentState', 'Innovation', 'SimulatedObservationAtCurrentState', 'OMA', 'OMB', 'BMA', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'GradientOfCostFunctionJ', 'GradientOfCostFunctionJb', 'GradientOfCostFunctionJo', 'SigmaObs2', 'SigmaBck2', 'APosterioriCovariance'])), + SELECTION = SIMP(statut="o", defaut=[], typ="TXM", min=0, max="**", validators=NoRepeat(), into=(['Analysis', 'CurrentState', 'Innovation', 'SimulatedObservationAtCurrentState', 'OMA', 'OMB', 'BMA', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'GradientOfCostFunctionJ', 'GradientOfCostFunctionJb', 'GradientOfCostFunctionJo', 'SigmaObs2', 'SigmaBck2', 'APosterioriCovariance'])), Analysis = BLOC (condition=" 'Analysis' in set(SELECTION) ", Analysis_data = FACT(statut = "o", Scheduler = SIMP(statut = "f", typ = "TXM"), @@ -728,7 +730,7 @@ def F_AlgorithmParameters(statut,algos_names) : return FACT( data = F_Dict("o"), ), Parameters3DVAR = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == '3DVAR') ", - Consigne = SIMP(statut="o",homo='information',typ="TXM", defaut="Choisir les parametres dans les Mots Clefs Optionnels"), + statut="f", Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), CostDecrementTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-07, fr="Diminution relative minimale du cout lors de l'arrêt"), GradientNormTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-05, fr="Maximum des composantes du gradient lors de l'arrêt"), @@ -739,26 +741,15 @@ def F_AlgorithmParameters(statut,algos_names) : return FACT( Quantiles = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Liste des valeurs de quantiles"), SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), SimulationForQuantiles = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Linear", into=['Linear', 'NonLinear'], fr="Type de simulation pour l'estimation des quantiles"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**",homo="SansOrdreNiDoublon", into=['APosterioriCovariance', 'BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'Innovation', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCovariance', 'BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'Innovation', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersBlue = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'Blue') ", - ParamParmi=SIMP(statut="o", typ="TXM",min=1, max="**", - into=["NumberOfSamplesForQuantiles","Quantiles","SetSeed","StoreSupplementaryCalculations"],homo="SansOrdreNiDoublon"), - bloc_nb=BLOC (condition = 'ParamParmi!=None and "NumberOfSamplesForQuantiles" in ParamParmi', - NumberOfSamplesForQuantiles = SIMP(statut="o", typ="I", val_min=1, defaut=100, fr="Nombre d'échantillons simulés pour le calcul des quantiles"), - ), - bloc_quant=BLOC (condition = 'ParamParmi!=None and "Quantiles" in ParamParmi', statut='o', - Quantiles = SIMP(statut="o", typ="TXM", max="**", into=None, fr="Liste des valeurs de quantiles"), - ), - bloc_seed=BLOC (condition = ' ParamParmi!=None and "SetSeed" in ParamParmi', statut='o', - SetSeed = SIMP(statut="o", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - ), - bloc_siml=BLOC (condition = ' ParamParmi!=None and "SimulationForQuantiles" in ParamParmi', statut='o', - SimulationForQuantiles = SIMP(statut="o", typ="TXM", min=1, max=1, defaut="Linear", into=['Linear', 'NonLinear'], fr="Type de simulation pour l'estimation des quantiles"), - ), - bloc_store=BLOC (condition = ' ParamParmi!=None and "StoreSupplementaryCalculations" in ParamParmi', statut='o', - StoreSupplementaryCalculations = SIMP(statut="o", typ="TXM", max="**",homo="SansOrdreNiDoublon", into=['APosterioriCovariance', 'BMA', 'OMA', 'OMB', 'CostFunctionJ', 'Innovation', 'SigmaBck2', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), + statut="f", + NumberOfSamplesForQuantiles = SIMP(statut="f", typ="I", val_min=1, min=1, max=1, defaut=100, fr="Nombre d'échantillons simulés pour le calcul des quantiles"), + Quantiles = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Liste des valeurs de quantiles"), + SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), + SimulationForQuantiles = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Linear", into=['Linear', 'NonLinear'], fr="Type de simulation pour l'estimation des quantiles"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCovariance', 'BMA', 'OMA', 'OMB', 'CostFunctionJ', 'Innovation', 'SigmaBck2', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersEnsembleBlue = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'EnsembleBlue') ", statut="f", @@ -770,23 +761,23 @@ def F_AlgorithmParameters(statut,algos_names) : return FACT( Quantiles = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Liste des valeurs de quantiles"), SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), SimulationForQuantiles = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Linear", into=['Linear', 'NonLinear'], fr="Type de simulation pour l'estimation des quantiles"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**",homo="SansOrdreNiDoublon", into=['APosterioriCovariance', 'BMA', 'OMA', 'OMB', 'CostFunctionJ', 'Innovation', 'SigmaBck2', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCovariance', 'BMA', 'OMA', 'OMB', 'CostFunctionJ', 'Innovation', 'SigmaBck2', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersExtendedKalmanFilter = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'ExtendedKalmanFilter') ", statut="f", Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), ConstrainedBy = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="EstimateProjection", into=['EstimateProjection'], fr="Prise en compte des contraintes"), EstimationOf = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="State", into=['State', 'Parameters'], fr="Estimation d'etat ou de parametres"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**",homo="SansOrdreNiDoublon", into=['APosterioriCovariance', 'BMA', 'CurrentState', 'CostFunctionJ', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCovariance', 'BMA', 'CurrentState', 'CostFunctionJ', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersKalmanFilter = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'KalmanFilter') ", statut="f", EstimationOf = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="State", into=['State', 'Parameters'], fr="Estimation d'etat ou de parametres"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**",homo="SansOrdreNiDoublon", into=['APosterioriCovariance', 'BMA', 'CurrentState', 'CostFunctionJ', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCovariance', 'BMA', 'CurrentState', 'CostFunctionJ', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersLinearLeastSquares = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'LinearLeastSquares') ", statut="f", - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**",homo="SansOrdreNiDoublon", into=['OMA', 'CostFunctionJ', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['OMA', 'CostFunctionJ', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersNonLinearLeastSquares = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'NonLinearLeastSquares') ", statut="f", @@ -796,7 +787,7 @@ def F_AlgorithmParameters(statut,algos_names) : return FACT( MaximumNumberOfSteps = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=15000, fr="Nombre maximal de pas d'optimisation"), Minimizer = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="LBFGSB", into=['LBFGSB', 'TNC', 'CG', 'NCG', 'BFGS', 'LM'], fr="Minimiseur utilisé"), ProjectedGradientTolerance = SIMP(statut="f", typ="R", val_min=-1, min=1, max=1, defaut=-1.0, fr="Maximum des composantes du gradient projeté lors de l'arrêt"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**",homo="SansOrdreNiDoublon", into=['BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'Innovation', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'Innovation', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersParticleSwarmOptimization = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'ParticleSwarmOptimization') ", statut="f", @@ -806,7 +797,7 @@ def F_AlgorithmParameters(statut,algos_names) : return FACT( NumberOfInsects = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=100, fr="Nombre d'insectes dans l'essaim"), QualityCriterion = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="AugmentedWeightedLeastSquares", into=['AugmentedWeightedLeastSquares', 'AWLS', 'AugmentedPonderatedLeastSquares', 'APLS', 'DA', 'WeightedLeastSquares', 'WLS', 'PonderatedLeastSquares', 'PLS', 'LeastSquares', 'LS', 'L2', 'AbsoluteValue', 'L1', 'MaximumError', 'ME'], fr="Critère de qualité utilisé"), SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**",homo="SansOrdreNiDoublon", into=['BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'Innovation', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'Innovation', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), SwarmVelocity = SIMP(statut="f", typ="R", val_min=0.0, min=1, max=1, defaut=1.0, fr="Vitesse de groupe imposée par l'essaim"), ), ParametersQuantileRegression = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'QuantileRegression') ", @@ -816,7 +807,7 @@ def F_AlgorithmParameters(statut,algos_names) : return FACT( MaximumNumberOfSteps = SIMP(statut="f", typ="I", val_min=1, min=1, max=1, defaut=15000, fr="Nombre maximal de pas d'optimisation"), Minimizer = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="MMQR", into=['MMQR'], fr="Minimiseur utilisé"), Quantile = SIMP(statut="f", typ="R", val_min=0.0, val_max=1.0, min=1, max=1, defaut=0.5, fr="Quantile pour la regression de quantile"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**",homo="SansOrdreNiDoublon", into=['BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'Innovation', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'Innovation', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersUnscentedKalmanFilter = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'UnscentedKalmanFilter') ", statut="f", @@ -827,7 +818,7 @@ def F_AlgorithmParameters(statut,algos_names) : return FACT( EstimationOf = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="State", into=['State', 'Parameters'], fr="Estimation d'etat ou de parametres"), Kappa = SIMP(statut="f", typ="I", val_max=2, min=1, max=1, defaut=0, fr=""), Reconditioner = SIMP(statut="f", typ="R", val_min=0.001, val_max=10.0, min=1, max=1, defaut=1.0, fr=""), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**",homo="SansOrdreNiDoublon", into=['APosterioriCovariance', 'BMA', 'CurrentState', 'CostFunctionJ', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCovariance', 'BMA', 'CurrentState', 'CostFunctionJ', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersAdjointTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'AdjointTest') ", statut="f", @@ -875,7 +866,7 @@ def F_AlgorithmParameters(statut,algos_names) : return FACT( SampleAsnUplet = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Points de calcul définis par une liste de n-uplet"), SetDebug = SIMP(statut="f", typ="I", min=1, max=1, defaut=0, fr="Activation du mode debug lors de l'exécution"), SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**",homo="SansOrdreNiDoublon", into=['CostFunctionJ', 'CurrentState', 'Innovation', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), + StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CostFunctionJ', 'CurrentState', 'Innovation', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), ), ParametersTangentTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'TangentTest') ", statut="f", diff --git a/Adao/prefs_Adao.py b/Adao/prefs_Adao.py index e28c0633..32bd4dbc 100644 --- a/Adao/prefs_Adao.py +++ b/Adao/prefs_Adao.py @@ -16,7 +16,7 @@ encoding='iso-8859-1' catalogues = ( # ('Adao','V1',os.path.join(repIni,'ADAO_Cata_V1.py'),'python','python'), ('Adao','V760',os.path.join(repIni,'ADAO_Cata_V0_V7_6_0.py'),'python','python'), - ('Adao','V751',os.path.join(repIni,'ADAO_Cata_V0_V7_5_1.py'),'python','python'), +# ('Adao','V751',os.path.join(repIni,'ADAO_Cata_V0_V7_5_1.py'),'python','python'), ) # lang indique la langue utilisée pour les chaines d'aide : fr ou ang diff --git a/Aster/Cata/cataSTA11/cata.py b/Aster/Cata/cataSTA11/cata.py index 5f506d52..484fc518 100755 --- a/Aster/Cata/cataSTA11/cata.py +++ b/Aster/Cata/cataSTA11/cata.py @@ -4399,7 +4399,7 @@ def C_TYPE_CHAM_INTO( type_cham=None ) : #COMMUN# # ====================================================================== # person_in_charge: jean-luc.flejou at edf.fr AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, - fr="Affectation de caractéristiques à des éléments de structure", + fr="Affectation de caracteristiques a des elements de structure", reentrant='n', UIinfo ={"groupes":("Modélisation",)}, regles = (AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','DISCRET_2D','MASSIF', diff --git a/Aster/Cata/cataSTA11/ops.py b/Aster/Cata/cataSTA11/ops.py index a35bf43e..efe2a5a4 100644 --- a/Aster/Cata/cataSTA11/ops.py +++ b/Aster/Cata/cataSTA11/ops.py @@ -91,7 +91,6 @@ def DEBUT(self, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, LANG, INFO, **ar Fonction sdprod de la macro DEBUT """ # La commande DEBUT ne peut exister qu'au niveau jdc - print "kkkkkkkkkkkkkkkkkkkk" if self.jdc is not self.parent : raise Accas.AsException("La commande DEBUT ne peut exister qu'au niveau jdc") commun_DEBUT_POURSUITE(self.jdc, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, LANG, INFO) diff --git a/Aster/ahlv100a.comm b/Aster/ahlv100a.comm deleted file mode 100755 index 2cb6159a..00000000 --- a/Aster/ahlv100a.comm +++ /dev/null @@ -1,354 +0,0 @@ -# MODIF DATE 11/12/2001 AUTEUR DURAND C.DURAND -# TITRE GUIDE D'ONDE A SORTIE ANECHOIQUE (ONDES PLANES) E.F. CLASSIQUES -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND -# REDISTRIBUTION OF THIS FILE. -# ====================================================================== -# MODELISATION 'ACOUSTIQUE' AVEC ELEMENTS HEXA20 ET FACE8 -# GUIDE D'ONDE ACOUSTIQUE EN E.F. CLASSIQUES -# - -DEBUT(CODE=_F( NOM = 'AHLV100A') ) - -F=500. - -MAIL=LIRE_MAILLAGE( ) - -AIR=DEFI_MATERIAU( FLUIDE=_F( RHO = 1.3, CELE_C = ('RI',343.,0.,))) - -CHAMPMAT=AFFE_MATERIAU( MAILLAGE=MAIL, - AFFE=_F( TOUT = 'OUI', MATER = AIR) ) - -GUIDE=AFFE_MODELE( MAILLAGE=MAIL, VERIF='MAILLE', - AFFE=_F( TOUT = 'OUI', MODELISATION = '3D', - PHENOMENE = 'ACOUSTIQUE') ) - -CHARACOU=AFFE_CHAR_ACOU( MODELE=GUIDE, - VITE_FACE=_F( GROUP_MA = 'ENTREE', VNOR = ('RI',0.014,0.,))) - -IMPEACOU=AFFE_CHAR_ACOU( MODELE=GUIDE, - IMPE_FACE=_F( GROUP_MA = 'SORTIE', IMPE = ('RI',445.9,0.,))) - -MACRO_MATR_ASSE( - MODELE=GUIDE, CHARGE=IMPEACOU, - CHAM_MATER=CHAMPMAT, - NUME_DDL=CO("NUM"),MATR_ASSE=( - _F( MATRICE = CO("MATASK"), OPTION = 'RIGI_ACOU'), - _F( MATRICE = CO("MATASM"), OPTION = 'MASS_ACOU'), - _F( MATRICE = CO("MATASI"), OPTION = 'AMOR_ACOU')) - ) - -# - -VECTELEM=CALC_VECT_ELEM( OPTION='CHAR_ACOU', CHAM_MATER=CHAMPMAT, - CHARGE=CHARACOU ) - -# -# IMPRESSION DU VECT_ELEM COMPLEXE VECTELEM SELON LE GRAIN MAILLE -# - -IMPR_MATRICE( MATR_ELEM=_F( MATRICE = VECTELEM, - FORMAT = 'RESULTAT', - FICHIER = 'RESULTAT', - GRAIN = 'MAILLE')) - -VECTASS=ASSE_VECTEUR( VECT_ELEM=VECTELEM, NUME_DDL=NUM ) - -# -# ____________________CALCUL DES MODES_________________________________ -# - -MATASKR=COMB_MATR_ASSE( COMB_R=_F( MATR_ASSE = MATASK, PARTIE = 'REEL', COEF_R = 1.)) - -MATASMR=COMB_MATR_ASSE( COMB_R=_F( MATR_ASSE = MATASM, PARTIE = 'REEL', COEF_R = 1.)) - -# - -MODES=MODE_ITER_SIMULT( MATR_A=MATASKR, - MATR_B=MATASMR, - CALC_FREQ=_F( OPTION = 'BANDE', - FREQ = ( 1., 1000.,)) - ) - -TEST_RESU(RESU=(_F( RESULTAT = MODES, PARA = 'FREQ', - CRITERE = 'RELATIF', PRECISION = 1.E-4, - NUME_ORDRE = 1, VALE = 171.5), - _F( RESULTAT = MODES, PARA = 'FREQ', - CRITERE = 'RELATIF', PRECISION = 1.E-4, - NUME_ORDRE = 2, VALE = 343.), - _F( RESULTAT = MODES, PARA = 'FREQ', - CRITERE = 'RELATIF', PRECISION = 1.E-3, - NUME_ORDRE = 3, VALE = 514.5), - _F( RESULTAT = MODES, PARA = 'FREQ', - CRITERE = 'RELATIF', PRECISION = 1.E-2, - NUME_ORDRE = 4, VALE = 686.), - _F( RESULTAT = MODES, PARA = 'FREQ', - CRITERE = 'RELATIF', PRECISION = 1.E-3, - NUME_ORDRE = 5, VALE = 857.5), - _F( RESULTAT = MODES, PARA = 'FREQ', - CRITERE = 'RELATIF', PRECISION = 5.E-3, - NUME_ORDRE = 6, VALE = 857.5), - _F( RESULTAT = MODES, PARA = 'FREQ', - CRITERE = 'RELATIF', PRECISION = 5.E-3, - NUME_ORDRE = 7, VALE = 874.482), - _F( RESULTAT = MODES, PARA = 'FREQ', - CRITERE = 'RELATIF', PRECISION = 5.E-3, - NUME_ORDRE = 8, VALE = 923.556)) - ) - -# ----------------------CALCUL DECOMPOSE------------------------------- -# - -MATRES=COMB_MATR_ASSE( COMB_C=( _F( MATR_ASSE = MATASK, - COEF_R = 1.), - _F( MATR_ASSE = MATASM, - COEF_R = -9869604.4), - _F( MATR_ASSE = MATASI, - COEF_C = ('RI',0.,3141.5926,))) - ) - -# -# IMPRESSION DE LA MATRICE COMPLEXE MATRES SELON LE GRAIN NOEUD -# - -IMPR_MATRICE( MATR_ASSE=_F( MATRICE = MATRES, - FORMAT = 'RESULTAT', - FICHIER = 'RESULTAT', - GRAIN = 'NOEUD', - OPTION = 'LIGNE')) - -# -# IMPRESSION DE LA MATRICE COMPLEXE MATRES SELON LE GRAIN VALEUR -# - -IMPR_MATRICE( MATR_ASSE=_F( MATRICE = MATRES, - FORMAT = 'RESULTAT', - FICHIER = 'RESULTAT', - GRAIN = 'VALEUR', - OPTION = 'LIGNE')) - -VECRES=COMB_CHAM_NO( COMB_C=_F( CHAM_NO = VECTASS, - COEF_C = ('RI',0.,-3141.5926,)) - ) - -MATRES=FACT_LDLT( reuse=MATRES, MATR_ASSE=MATRES ) - -VECRES=RESO_LDLT( reuse=VECRES, MATR_FACT=MATRES, - CHAM_NO=VECRES - ) - -TEST_RESU(CHAM_NO=( - _F( CHAM_GD = VECRES, - NOEUD = 'NO1', NOM_CMP = 'PRES', VALE_C = ('RI',-6.2426,0.,)), - _F( CHAM_GD = VECRES, - NOEUD = 'NO780', NOM_CMP = 'PRES', VALE_C = ('RI',-6.2426,0.,)), - _F( CHAM_GD = VECRES, - NOEUD = 'NO751', NOM_CMP = 'PRES', VALE_C = ('RI',6.02368,1.6387,)), - _F( CHAM_GD = VECRES, - NOEUD = 'NO763', NOM_CMP = 'PRES', VALE_C = ('RI',6.02368,1.6387,))) - ) - -CHNODBEL=CALC_CHAM_ELEM( MODELE=GUIDE, - CHAM_MATER=CHAMPMAT, - PRES=VECRES, - OPTION='PRES_ELNO_DBEL' - ) - -TEST_RESU(CHAM_ELEM=( - _F( CHAM_GD = CHNODBEL, - MAILLE = 'MA1', - NOEUD = 'NO1', NOM_CMP = 'DB', VALE = 109.9), - _F( CHAM_GD = CHNODBEL, - MAILLE = 'MA1', - NOEUD = 'NO780', NOM_CMP = 'DB', VALE = 109.9), - _F( CHAM_GD = CHNODBEL, - MAILLE = 'MA57', - NOEUD = 'NO751', NOM_CMP = 'DB', VALE = 109.9), - _F( CHAM_GD = CHNODBEL, - MAILLE = 'MA57', - NOEUD = 'NO763', NOM_CMP = 'DB', VALE = 109.9)) - ) - -# - -PREEL=CALC_CHAM_ELEM( MODELE=GUIDE, - CHAM_MATER=CHAMPMAT, - PRES=VECRES, - OPTION='PRES_ELNO_REEL' - ) - -TEST_RESU(CHAM_ELEM=( - _F( CHAM_GD = PREEL, - MAILLE = 'MA1', - NOEUD = 'NO1', NOM_CMP = 'PRES', VALE = -6.2426), - _F( CHAM_GD = PREEL, - MAILLE = 'MA1', - NOEUD = 'NO780', NOM_CMP = 'PRES', VALE = -6.2426), - _F( CHAM_GD = PREEL, - MAILLE = 'MA57', - NOEUD = 'NO751', NOM_CMP = 'PRES', VALE = 6.02368), - _F( CHAM_GD = PREEL, - MAILLE = 'MA57', - NOEUD = 'NO763', NOM_CMP = 'PRES', VALE = 6.02368)) - ) - -PIMAG=CALC_CHAM_ELEM( MODELE=GUIDE, - CHAM_MATER=CHAMPMAT, - PRES=VECRES, - OPTION='PRES_ELNO_IMAG' - ) - -TEST_RESU(CHAM_ELEM=( - _F( CHAM_GD = PIMAG, - MAILLE = 'MA1', - NOEUD = 'NO1', NOM_CMP = 'PRES', VALE = 0., - CRITERE = 'ABSOLU'), - _F( CHAM_GD = PIMAG, - MAILLE = 'MA1', - NOEUD = 'NO780', NOM_CMP = 'PRES', VALE = 0., - CRITERE = 'ABSOLU'), - _F( CHAM_GD = PIMAG, - MAILLE = 'MA57', - NOEUD = 'NO751', NOM_CMP = 'PRES', VALE = 1.6387, PRECISION = 3.3E-3), - _F( CHAM_GD = PIMAG, - MAILLE = 'MA57', - NOEUD = 'NO763', NOM_CMP = 'PRES', VALE = 1.6387, PRECISION = 3.3E-3)) - ) - -#-----------------------CALCUL HARMONIQUE------------------------------- - - -PRESHARM=DYNA_LINE_HARM( MATR_MASS=MATASM, MATR_RIGI=MATASK, - MATR_AMOR=MATASI, - FREQ=F, - EXCIT=_F( VECT_ASSE = VECTASS, COEF_MULT = -1., - PUIS_PULS = 1, PHAS_DEG = 90.)) - -TEST_RESU(RESU=( - _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES', NUME_ORDRE = 1, - NOEUD = 'NO1', NOM_CMP = 'PRES', VALE_C = ('RI',-6.2426,0.,)), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES', NUME_ORDRE = 1, - NOEUD = 'NO780', NOM_CMP = 'PRES', VALE_C = ('RI',-6.2426,0.,)), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES', NUME_ORDRE = 1, - NOEUD = 'NO751', NOM_CMP = 'PRES', VALE_C = ('RI',6.02368,1.6387,)), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES', NUME_ORDRE = 1, - NOEUD = 'NO763', NOM_CMP = 'PRES', VALE_C = ('RI',6.02368,1.6387,))) - ) - -PRESHARM=CALC_ELEM( reuse=PRESHARM, MODELE=GUIDE, CHAM_MATER=CHAMPMAT, - TOUT_ORDRE='OUI', - RESULTAT=PRESHARM, - OPTION='INTE_ELNO_ACTI' - ) - -TEST_RESU(RESU=( - _F( RESULTAT = PRESHARM, NOM_CHAM = 'INTE_ELNO_ACTI', NUME_ORDRE = 01, - MAILLE = 'MA1', - NOEUD = 'NO1', NOM_CMP = 'INTX', VALE = 0.04370, PRECISION = 3.E-2), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'INTE_ELNO_ACTI', NUME_ORDRE = 01, - MAILLE = 'MA1', - NOEUD = 'NO780', NOM_CMP = 'INTX', VALE = 0.04370, PRECISION = 3.E-2), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'INTE_ELNO_ACTI', NUME_ORDRE = 01, - MAILLE = 'MA57', - NOEUD = 'NO751', NOM_CMP = 'INTX', VALE = 0.04370, PRECISION = 3.E-2), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'INTE_ELNO_ACTI', NUME_ORDRE = 01, - MAILLE = 'MA57', - NOEUD = 'NO763', NOM_CMP = 'INTX', VALE = 0.04370, PRECISION = 3.E-2)) - ) - -PRESHARM=CALC_ELEM( reuse=PRESHARM, MODELE=GUIDE, CHAM_MATER=CHAMPMAT, - TOUT_ORDRE='OUI', - RESULTAT=PRESHARM, - OPTION='INTE_ELNO_REAC' - ) - -TEST_RESU(RESU=( - _F( RESULTAT = PRESHARM, NOM_CHAM = 'INTE_ELNO_REAC', NUME_ORDRE = 01, - MAILLE = 'MA1', - NOEUD = 'NO1', NOM_CMP = 'INTX', VALE = 0.0, PRECISION = 3.5E-4, - CRITERE = 'ABSOLU'), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'INTE_ELNO_REAC', NUME_ORDRE = 01, - MAILLE = 'MA1', - NOEUD = 'NO780', NOM_CMP = 'INTX', VALE = 0.0, PRECISION = 3.5E-4, - CRITERE = 'ABSOLU'), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'INTE_ELNO_REAC', NUME_ORDRE = 01, - MAILLE = 'MA57', - NOEUD = 'NO751', NOM_CMP = 'INTX', VALE = 0.0, PRECISION = 3.5E-4, - CRITERE = 'ABSOLU'), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'INTE_ELNO_REAC', NUME_ORDRE = 01, - MAILLE = 'MA57', - NOEUD = 'NO763', NOM_CMP = 'INTX', VALE = 0.0, PRECISION = 3.5E-4, - CRITERE = 'ABSOLU')) - ) - -PRESHARM=CALC_ELEM( reuse=PRESHARM, MODELE=GUIDE, CHAM_MATER=CHAMPMAT, - TOUT_ORDRE='OUI', - RESULTAT=PRESHARM, - OPTION='PRES_ELNO_DBEL' - ) - -TEST_RESU(RESU=( - _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_DBEL', NUME_ORDRE = 01, - MAILLE = 'MA1', - NOEUD = 'NO1', NOM_CMP = 'DB', VALE = 109.9), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_DBEL', NUME_ORDRE = 01, - MAILLE = 'MA1', - NOEUD = 'NO780', NOM_CMP = 'DB', VALE = 109.9), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_DBEL', NUME_ORDRE = 01, - MAILLE = 'MA57', - NOEUD = 'NO751', NOM_CMP = 'DB', VALE = 109.9), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_DBEL', NUME_ORDRE = 01, - MAILLE = 'MA57', - NOEUD = 'NO763', NOM_CMP = 'DB', VALE = 109.9)) - ) - -PRESHARM=CALC_ELEM( reuse=PRESHARM, MODELE=GUIDE, CHAM_MATER=CHAMPMAT, - TOUT_ORDRE='OUI', - RESULTAT=PRESHARM, - OPTION='PRES_ELNO_REEL' - ) - -TEST_RESU(RESU=( - _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_REEL', NUME_ORDRE = 01, - MAILLE = 'MA1', - NOEUD = 'NO1', NOM_CMP = 'PRES', VALE = -6.2426), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_REEL', NUME_ORDRE = 01, - MAILLE = 'MA1', - NOEUD = 'NO780', NOM_CMP = 'PRES', VALE = -6.2426), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_REEL', NUME_ORDRE = 01, - MAILLE = 'MA57', - NOEUD = 'NO751', NOM_CMP = 'PRES', VALE = 6.02368), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_REEL', NUME_ORDRE = 01, - MAILLE = 'MA57', - NOEUD = 'NO763', NOM_CMP = 'PRES', VALE = 6.02368)) - ) - -PRESHARM=CALC_ELEM( reuse=PRESHARM, MODELE=GUIDE, CHAM_MATER=CHAMPMAT, - TOUT_ORDRE='OUI', - RESULTAT=PRESHARM, - OPTION='PRES_ELNO_IMAG' - ) - -TEST_RESU(RESU=( - _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_IMAG', NUME_ORDRE = 01, - MAILLE = 'MA1', - NOEUD = 'NO1', NOM_CMP = 'PRES', VALE = 0., - CRITERE = 'ABSOLU'), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_IMAG', NUME_ORDRE = 01, - MAILLE = 'MA1', - NOEUD = 'NO780', NOM_CMP = 'PRES', VALE = 0., - CRITERE = 'ABSOLU'), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_IMAG', NUME_ORDRE = 01, - MAILLE = 'MA57', - NOEUD = 'NO751', NOM_CMP = 'PRES', VALE = 1.6387, PRECISION = 3.3E-3, - CRITERE = 'RELATIF'), - _F( RESULTAT = PRESHARM, NOM_CHAM = 'PRES_ELNO_IMAG', NUME_ORDRE = 01, - MAILLE = 'MA57', - NOEUD = 'NO763', NOM_CMP = 'PRES', VALE = 1.6387, PRECISION = 3.3E-3)) - ) - -FIN() -# -# diff --git a/Aster/az.comm b/Aster/az.comm deleted file mode 100644 index 249d5f20..00000000 --- a/Aster/az.comm +++ /dev/null @@ -1,105 +0,0 @@ - - -DEBUT(); -P1 = 9.8; - -P2 = 8.8; - -P9 = 7; - -P5 = (P9 * P1); - -_param_6 = (P1 - 3); - -#Pas trouve shellpanel - -MAILLA2=LIRE_MAILLAGE(); - -aaa = FORMULE(VALE='a+z', - NOM_PARA=('a','z',),); - -MAIL=LIRE_MAILLAGE(UNITE=P9,); -# 'LIRE_MAILLAGE', 'UNITE' --> uniquebasepanel - -az = FORMULE(VALE='aaaaa', - NOM_PARA=('ae','inst',),); - -AFFE1=AFFE_MODELE(MAILLAGE=MAIL, - AFFE=(_F(GROUP_MA=('RESSORT','eee',), - PHENOMENE='MECANIQUE', - MODELISATION='DIS_T',), - _F(GROUP_MA='MASSES', - PHENOMENE='MECANIQUE', - MODELISATION='DIS_T',), - _F(GROUP_NO=('GNP3','GNP5','GNP6','GNP7','GNP8','GNP9','GNP10','GNP11','GNP12',), - PHENOMENE='ACOUSTIQUE', - MODELISATION='PLAN',),),); - -MOD=AFFE_MODELE(MAILLAGE=MAIL, - AFFE=(_F(GROUP_MA='RESSORT', - PHENOMENE='MECANIQUE', - MODELISATION='DIS_T',), - _F(GROUP_MA='MASSES', - PHENOMENE='MECANIQUE', - MODELISATION='DIS_T',), - _F(TOUT='OUI', - PHENOMENE='THERMIQUE', - MODELISATION='COQUE',),),); - -CARA=AFFE_CARA_ELEM(MODELE=MOD, - POUTRE=_F(GROUP_MA='MA', - SECTION='CERCLE', - CARA='R', - VALE=(3.0,_param_6,),),); -# 'AFFE_MODELE', 'MAILLAGE' --> uniqueassdpanel -# AFFE_MODELE', 'AFFE', 'GROUP_MA' --> plusieursbasepanel -# 'AFFE_MODELE', 'AFFE', 'PHENOMENE' --> uniqueintopanel -# 'AFFE_MODELE', 'AFFE', 'b_mecanique'--> plusieursintopanel - -F1=DEFI_FONCTION(NOM_PARA='DX',VALE=(5.0,3.0, - ),); - -F3=DEFI_FONCTION(NOM_PARA='DRX',VALE_C=(5.0,7.0,9.0, - 9.0,8.0,7.0, - ),); -# 'DEFI_FONCTION', 'VALE' --> fonctionpanel - -MATER2=DEFI_MATERIAU(ELAS=_F(E=100000000000.0, - NU=0.0,), - ECRO_ASYM_LINE=_F(DC_SIGM_EPSI=0.0, - SY_C=200000000.0, - DT_SIGM_EPSI=0.0, - SY_T=50000000.0,),); - -PS1=DEFI_PARA_SENSI(VALE=1.0,); - -PS2=DEFI_PARA_SENSI(VALE=1.0,); - -PS3=DEFI_PARA_SENSI(VALE=1.0,); - -CHMAT2=AFFE_MATERIAU(MAILLAGE=MAIL, - AFFE=_F(TOUT='OUI', - MATER=MATER2,),); - -AAAZ=AFFE_CHAR_THER(MODELE=AFFE1, - TEMP_IMPO=_F(TOUT='OUI', - TEMP=0.0,),); - -TH1=THER_LINEAIRE(MODELE=AFFE1, - CHAM_MATER=CHMAT2, - EXCIT=_F(CHARGE=AAAZ,), - SENSIBILITE=(PS1,PS2,),); -# 'THER_LINEAIRE', 'SENSIBILITE' --> plusieursassdpanel - -ACA1=AFFE_CHAR_ACOU(MODELE=AFFE1, - PRES_IMPO=_F(TOUT='OUI', - PRES=('RI',3.0,3.0,),),); -# 'AFFE_CHAR_ACOU', 'PRES_IMPO', 'PRES' --> uniquecomppanel - -MACRO_MATR_ASSE(MODELE=AFFE1, - NUME_DDL=CO('DDL1'), - MATR_ASSE=_F(MATRICE=CO('MAT1'), - OPTION='RIGI_THER',),); -# 'MACRO_MATR_ASSE', 'MATR_ASSE', 'MATRICE' --> uniquesdcopanel - -FIN(); diff --git a/Aster/totalmod.comm b/Aster/totalmod.comm deleted file mode 100755 index 23c16734..00000000 --- a/Aster/totalmod.comm +++ /dev/null @@ -1,1798 +0,0 @@ -DEBUT(); -% LECTURE DES PARAMETRES -% - - -% LECTURE DES TEMPS - -%cycle 1 - - -% LECTURE DU MAILLAGE ET DEFINITIONS DES PROPRIETES ELEMENTS FINIS - -PRE_GIBI (); -% - ma1 = LIRE_MAILLAGE (); -% -&ma1 = DEFI_GROUP ( MAILLAGE : ma1 - CREA_GROUP_NO : (GROUP_MA : ( fixati - appui - lias_1 - lias_2 - ebguide - maintien - main_sup - embo_sup - tub_guid - grilles - embo_inf - pieds - crayons )) - ) ; -% -% AFFECTATION DU MODELE -% - mo1 = AFFE_MODELE ( Maillage: ma1 - % crayons combustibles - AFFE : ( GROUP_MA : crayons - PHENOMENE : 'MECANIQUE' - MODELISATION : 'POU_D_E' - ) - % tubes guides - AFFE : ( GROUP_MA : tub_guid - PHENOMENE : 'MECANIQUE' - MODELISATION : 'POU_D_E' - ) - % embouts - AFFE : ( GROUP_MA : (embo_sup, embo_inf) - PHENOMENE : 'MECANIQUE' - MODELISATION : 'DKT' - ) - % pieds - - AFFE : ( GROUP_MA : pieds - PHENOMENE : 'MECANIQUE' - MODELISATION : 'POU_D_E' - ) - - % grilles - AFFE : ( GROUP_MA : grilles - PHENOMENE : 'MECANIQUE' - MODELISATION : 'POU_D_E' - ) - % liaison grille crayon - AFFE : ( GROUP_MA : li_gr_cr - PHENOMENE : 'MECANIQUE' - MODELISATION : 'DIS_TR' - ) - % liaison grille tube - AFFE : ( GROUP_MA : li_gr_gu - PHENOMENE : 'MECANIQUE' - MODELISATION : 'DIS_TR' - ) - % systeme de maintien - AFFE : ( GROUP_MA : maintien - PHENOMENE:'MECANIQUE', - MODELISATION:'POU_D_E' - % MODELISATION:'POU_D_T' - ) - ); -% -% AFFECTATION DES CARACTERISTIQUES GEOMETRIQUES ELEMENTAIRES -% - cara1 = AFFE_CARA_ELEM ( MODELE : mo1 - -% Famille assemblage : numero_fam -% - % crayons - POUTRE : ( GROUP_MA : cray - SECTION : 'CERCLE' - CARA : ( 'R','EP' ) - VALE : ( 3. 3. ) - ) - % tube guide partie courante - POUTRE : ( GROUP_MA : guid - SECTION : 'CERCLE' - CARA : ( 'R','EP' ) - VALE : ( 3. 3. ) - ) - % tube guide partie retrecie - POUTRE : ( GROUP_MA : retre - SECTION : 'CERCLE' - CARA : ( 'R','EP' ) - VALE : ( 3. 3. ) - ) - % grilles - POUTRE : ( GROUP_MA : ( gril_i ) - SECTION : 'RECTANGLE' - CARA : ( 'HY','HZ' ) - VALE : ( 3. 3. ) - ) - POUTRE : ( GROUP_MA : ( gril_e ) - SECTION : 'RECTANGLE' - CARA : ( 'HY','HZ' ) - VALE : ( 3. 3. ) - ) - ORIENTATION : ( GROUP_MA : (gril_i , gril_e ) - CARA : 'VECT_Y' - VALE : (1. 0. 0.) - ) - % systeme de maintien - POUTRE : ( GROUP_MA : (mainti_y , mainti_z ) - SECTION : 'RECTANGLE' - CARA : ( 'HY','HZ' ) - VALE : ( 3. 3. ) - ) - ORIENTATION : ( GROUP_MA : (mainti_y ) - CARA : 'VECT_Y' - VALE : (0. 1. 0.) - ) - ORIENTATION : ( GROUP_MA : (mainti_z ) - CARA : 'VECT_Y' - VALE : (0. 0. 1.) - ) - % embout inferieur - COQUE : ( GROUP_MA : eboinf - EPAIS : 2. - ANGL_REP : 90. - ) - % pieds - POUTRE : ( GROUP_MA : pi_ple - SECTION : 'GENERALE' - CARA : ( 'A' , 'IZ' , 'IY' , 'JX' ) - VALE : (1. 2. 3. 4.) - ) - POUTRE : ( GROUP_MA : pi_tro - SECTION : 'GENERALE' - CARA : ( 'A' , 'IZ' , 'IY' , 'JX' ) - VALE : (1. 2. 3. 4. ) - ) - ORIENTATION : ( GROUP_MA : (pi_ple pi_tro ) - CARA : 'VECT_Y' - VALE : (0. 1. 0.) - ) - - % embout superieur - COQUE : ( GROUP_MA : ebosup - EPAIS : 3. - ANGL_REP : 90. - ) - - % liaison grille/crayon - DISCRET : ( GROUP_MA : elasti - CARA : 'K_TR_D_L' - VALE : ( 1. - 2. - 3. - 4. - 5. - 6. - ) - REPERE : 'LOCAL' - ) - % liaison grille/tube guide - DISCRET : ( GROUP_MA : rigid - CARA : 'K_TR_D_L' - VALE : ( 1. - 2. - 3. - 4. - 5. - 6. - ) - REPERE : 'LOCAL' - ) - - ORIENTATION : ( GROUP_MA : (elasti - rigid ) - CARA : 'VECT_Y' - VALE : (1. 0. 0.) ) - - ); -% -% DEFINITION DES CHARGES ET CONDITIONS LIMITES -% DEFINITION DES TEMPERATURES NODALES EVOLUTIVES -% - f_tp1_1 = DEFI_FONCTION ( NOM_PARA: 'X' - NOM_RESU : 'TEMP' - PROL_DROIT: 'CONSTANT' - PROL_GAUCHE: 'CONSTANT' - VALE : ( 0. 1. - 5. 4. ) - ); - f_tp2_1 = DEFI_FONCTION ( NOM_PARA: 'X' - NOM_RESU : 'TEMP' - PROL_DROIT: 'CONSTANT' - PROL_GAUCHE: 'CONSTANT' - VALE : ( 0. 1. - 5. 4. ) - ); - f_tp3_1 = DEFI_FONCTION ( NOM_PARA: 'X' - NOM_RESU : 'TEMP' - PROL_DROIT: 'CONSTANT' - PROL_GAUCHE: 'CONSTANT' - VALE : ( 0. 1. - 5. 4. ) - ); - - chtem1_1 = AFFE_CHAM_NO ( MAILLAGE : ma1 - GRANDEUR : 'TEMP_F' - AFFE : ( GROUP_NO: (maintien, pieds - tub_guid, grilles - crayons) - NOM_CMP : 'TEMP' - FONCTION : f_tp1_1 ) - AFFE : ( GROUP_NO: (embo_sup, embo_inf) - NOM_CMP : ('TEMP_INF' 'TEMP' - 'TEMP_SUP') - FONCTION :(f_tp1_1,f_tp1_1,f_tp1_1)) - ); - - chtem2_1 = AFFE_CHAM_NO ( MAILLAGE : ma1 - GRANDEUR : 'TEMP_F' - AFFE : ( GROUP_NO: (maintien, pieds - tub_guid, grilles - crayons) - NOM_CMP : 'TEMP' - FONCTION : f_tp2_1 ) - AFFE : ( GROUP_NO: (embo_sup, embo_inf) - NOM_CMP : ('TEMP_INF' 'TEMP' - 'TEMP_SUP') - FONCTION :(f_tp2_1,f_tp2_1,f_tp2_1)) - ); - - chtem3_1 = AFFE_CHAM_NO ( MAILLAGE : ma1 - GRANDEUR : 'TEMP_F' - AFFE : ( GROUP_NO: (maintien, pieds - tub_guid, grilles) - NOM_CMP : 'TEMP' - FONCTION : f_tp3_1 ) - AFFE : ( GROUP_NO: (embo_sup, embo_inf) - NOM_CMP : ('TEMP_INF' 'TEMP' - 'TEMP_SUP') - FONCTION : (f_tp3_1,f_tp3_1,f_tp3_1)) - AFFE : ( GROUP_NO: crayons - NOM_CMP : 'TEMP' - FONCTION :f_tp3_1 ) - ); - - chth_1 = CREA_RESU ( TYPE_RESU : 'EVOL_THER' - NOM_CHAM : 'TEMP' - CHAM_GD : ( CHAM_NO : chtem1_1 - INST : 0. ) - CHAM_GD : ( CHAM_NO : chtem1_1 - INST : 1000. ) - CHAM_GD : ( CHAM_NO : chtem2_1 - INST :2000. ) - CHAM_GD : ( CHAM_NO : chtem3_1 - INST : 3000. ) - CHAM_GD : ( CHAM_NO : chtem3_1 - INST : 4000. ) - CHAM_GD : ( CHAM_NO : chtem2_1 - INST : 5000. ) - CHAM_GD : ( CHAM_NO : chtem1_1 - INST : 6000. ) - CHAM_GD : ( CHAM_NO : chtem1_1 - INST : 7000. ) - ); - -% Chargement: charges thermo-mecaniques -% ---------------------------------------- - - therm_1 = AFFE_CHAR_MECA ( MODELE: mo1 - TEMP_CALCULEE : chth_1 - ); - - - -% DEFINITION DES CONDITIONS LIMITES -% DES CONDITIONS DE CONTACT -% -% Chargement: pesanteur -% - pesant_1 = AFFE_CHAR_MECA ( MODELE : mo1 - PESANTEUR : (9.81 -1. 0. 0. ) - ); - -% -% Conditions aux limites -% - cl_per_1 = AFFE_CHAR_MECA ( MODELE : mo1 - % embout inferieur encastrement - DDL_IMPO : ( GROUP_NO : fixati - DX : 0. DY:0. DZ : 0. - DRX : 0. DRY : 0. DRZ : 0. - ) - % embout inferieur appui simple - DDL_IMPO : ( GROUP_NO : appui - DX : 0. - ) - % embout superieur liaison guidee - DDL_IMPO : ( GROUP_NO : ebguide - DY:0. DZ : 0. - DRX : 0. DRY : 0. DRZ : 0. - ) - % liaison systeme de maintien embout superieur - DDL_IMPO : ( GROUP_NO : (lias_1, lias_2) - DRX : 0. - ) - % liaison systeme de maintien embout superieur - LIAISON_GROUP : ( GROUP_NO_1 : lias_1 - GROUP_NO_2 : lias_2 - DDL_1 : 'DX' DDL_2 : 'DX' - COEF_MULT_1 : 1. - COEF_MULT_2 : -1. - COEF_IMPO : 0. ) - LIAISON_GROUP : ( GROUP_NO_1 : lias_1 - GROUP_NO_2 : lias_2 - DDL_1 : 'DY' DDL_2 : 'DY' - COEF_MULT_1 : 1. - COEF_MULT_2 : -1. - COEF_IMPO : 0. ) - LIAISON_GROUP : ( GROUP_NO_1 : lias_1 - GROUP_NO_2 : lias_2 - DDL_1 : 'DZ' DDL_2 : 'DZ' - COEF_MULT_1 : 1. - COEF_MULT_2 : -1. - COEF_IMPO : 0. ) - LIAISON_GROUP : ( GROUP_NO_1 : lias_1 - GROUP_NO_2 : lias_2 - DDL_1 : 'DRY' DDL_2 : 'DRY' - COEF_MULT_1 : 1. - COEF_MULT_2 : -1. - COEF_IMPO : 0. ) - LIAISON_GROUP : ( GROUP_NO_1 : lias_1 - GROUP_NO_2 : lias_2 - DDL_1 : 'DRZ' DDL_2 : 'DRZ' - COEF_MULT_1 : 1. - COEF_MULT_2 : -1. - COEF_IMPO : 0. ) - ); -% - cl_ctc = AFFE_CHAR_MECA ( MODELE : mo1 - - - CONTACT : ( APPARIEMENT : 'NODAL' - GROUP_MA_1 : eboinf - GROUP_MA_2 : mcrbas - VECT_NORM_2 : (-1. 0. 0.) - ) - INFO : 1 - ); -% -% Deplacement du systeme de maintien -% -cldi_f1 = DEFI_FONCTION ( NOM_PARA : 'INST' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE: 'CONSTANT' - VALE : ( 0. 0. - 1000. 0.1 - 2000. 0.2 - 3000. 0.2 - 4000. 0.2 - 5000. 0.2 - 6000. 0.1 - 7000. 0.1 ) - ); - - cl_di_1 = AFFE_CHAR_MECA ( MODELE : mo1 - % deplacement du systeme de maintien - DDL_IMPO : ( GROUP_NO : main_sup - DX : -1. - ) - ); - -% DEFINITION DES FORCES EXTERIEURES -% -% Fonction multiplicative de la force hydrodynamique normee -% -hydr_f1 = DEFI_FONCTION ( NOM_PARA : 'INST' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 0. - 1000. 0.1 - 2000. 0.2 - 3000. 0.2 - 4000. 0.2 - 5000. 0.2 - 6000. 0.1 - 7000. 0.1 ) - ); -% -% Profil des forces hydrodynamiques tubes guides a froid -% - - - hyfrtu_1 = DEFI_FONCTION ( - NOM_PARA : 'X' - VALE : ( 0. 1. - 5. 2. ) - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - ); -% -% Profil des forces hydrodynamiques crayon a froid -% - - - hyfrcr_1 = DEFI_FONCTION ( - NOM_PARA : 'X' - VALE : (0. 1. - 5. 2. ) - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - ); -% - -% Chargement : Forces hydrodynamiques -% - hydr_1 = AFFE_CHAR_MECA ( MODELE : mo1 - - % embout superieur - FORCE_COQUE : ( GROUP_MA : ebosup - FX : 10. ) - % embout inferieur - FORCE_COQUE : ( GROUP_MA : eboinf - FX : 10. ) - % grille superieure - FORCE_POUTRE : ( GROUP_MA : (gril10 ) - FX : 10. ) - % grille inferieure - FORCE_POUTRE : ( GROUP_MA : (gril1 ) - FX : 10. ) - % grille de melange - FORCE_POUTRE : ( GROUP_MA : (gril2 ) - FX : 10. ) - FORCE_POUTRE : ( GROUP_MA : (gril3 ) - FX : 10. ) - FORCE_POUTRE : ( GROUP_MA : (gril4 ) - FX : 10. ) - FORCE_POUTRE : ( GROUP_MA : (gril5 ) - FX : 10. ) - FORCE_POUTRE : ( GROUP_MA : (gril6 ) - FX : 10. ) - FORCE_POUTRE : ( GROUP_MA : (gril7 ) - FX : 10. ) - FORCE_POUTRE : ( GROUP_MA : (gril8 ) - FX : 10. ) - FORCE_POUTRE : ( GROUP_MA : (gril9 ) - FX : 10. ) - ); - toto_1 = DEFI_FONCTION ( - NOM_PARA : 'X' - VALE : ( 0. 10. - 5. 10. ) - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - ); -% - fohydr_1 = AFFE_CHAR_MECA_F ( MODELE : mo1 - - % tubes guides et tube d'instrumentation - FORCE_POUTRE : ( GROUP_MA : (guid ) - FX : toto_1 ) - % crayons - FORCE_POUTRE : ( GROUP_MA : cray - FX : toto_1 ) - ); -% -% Profil des forces d'Archimede tube guide -% - - - arfrtu_1 = DEFI_FONCTION ( - NOM_PARA : 'X' - VALE : ( 0. 10. - 5. 10. ) - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - ); -% -% Profil des forces d'Archimede crayon -% - - - arfrcr_1 = DEFI_FONCTION ( - NOM_PARA : 'X' - VALE : ( 0. 10. - 5. 10. ) - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - ); -% -% Fonction multiplicative de la force d'Archimede -% -arch_f1 = DEFI_FONCTION ( NOM_PARA : 'INST' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 0. - 1000. 0.1 - 2000. 0.2 - 3000. 0.2 - 4000. 0.2 - 5000. 0.2 - 6000. 0.1 - 7000. 0.1 ) - ); -% - -% -% Chargement : Forces d'Archimede -% ---------------------------------------- -% - arch_1 = AFFE_CHAR_MECA ( MODELE : mo1 - % systeme de maintien - FORCE_POUTRE : ( GROUP_MA : maintien - FX : 10. ) - % embout superieur - FORCE_COQUE : ( GROUP_MA : ebosup - FX : 10. ) - % embout inferieur - FORCE_COQUE : ( GROUP_MA : eboinf - FX : 10. ) - % grille superieure - FORCE_POUTRE : ( GROUP_MA : (gril10 ) - FX : 10. ) - % grille inferieure - FORCE_POUTRE : ( GROUP_MA : (gril1 ) - FX : 10. ) - % grille de melange - FORCE_POUTRE : ( GROUP_MA : (gril2 ) - FX : 10. ) - FORCE_POUTRE : ( GROUP_MA : (gril3 ) - FX : 10. ) - FORCE_POUTRE : ( GROUP_MA : (gril4 ) - FX : 10. ) - FORCE_POUTRE : ( GROUP_MA : (gril5 ) - FX : 10. ) - FORCE_POUTRE : ( GROUP_MA : (gril6 ) - FX : 10. ) - FORCE_POUTRE : ( GROUP_MA : (gril7 ) - FX : 10. ) - FORCE_POUTRE : ( GROUP_MA : (gril8 ) - FX : 10. ) - FORCE_POUTRE : ( GROUP_MA : (gril9 ) - FX : 10. ) - ); - foarch_1 = AFFE_CHAR_MECA_F ( MODELE : mo1 - - % tubes guides et tube d'instrumentation - FORCE_POUTRE : ( GROUP_MA : guid - FX : arch_f1 ) - % crayons - FORCE_POUTRE : ( GROUP_MA : cray - FX :arch_f1 ) - ); -% -% -% FORCE DE SERRAGE DE LA LIAISON GRILLE - CRAYON -% -% - -% -% -% -% definition de la liste d'instants -% - l_frig = DEFI_LIST_REEL( Debut: 0.0 - Intervalle : (Jusqu_a: 1000. Nombre: 100) - ); -% -% Inrterpretation des fonctions -% -f1=DEFI_FONCTION ( NOM_PARA : 'INST' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( - 0.00000E+00 0.00000E+00 - 4.32000E+04 0.00000E+00 ) ); -f2=DEFI_FONCTION ( NOM_PARA : 'INST' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( - 0.00000E+00 0.00000E+00 - 4.32000E+04 0.00000E+00 ) ); -f3=DEFI_FONCTION ( NOM_PARA : 'INST' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( - 0.00000E+00 0.00000E+00 - 4.32000E+04 0.00000E+00 ) ); -f4=DEFI_FONCTION ( NOM_PARA : 'INST' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( - 0.00000E+00 0.00000E+00 - 4.32000E+04 0.00000E+00 ) ); -f5=DEFI_FONCTION ( NOM_PARA : 'INST' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( - 0.00000E+00 0.00000E+00 - 4.32000E+04 0.00000E+00 ) ); -f6=DEFI_FONCTION ( NOM_PARA : 'INST' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( - 0.00000E+00 0.00000E+00 - 4.32000E+04 0.00000E+00 ) ); -f7=DEFI_FONCTION ( NOM_PARA : 'INST' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( - 0.00000E+00 0.00000E+00 - 4.32000E+04 0.00000E+00 ) ); -f8=DEFI_FONCTION ( NOM_PARA : 'INST' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( - 0.00000E+00 0.00000E+00 - 4.32000E+04 0.00000E+00 ) ); -f9=DEFI_FONCTION ( NOM_PARA : 'INST' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( - 0.00000E+00 0.00000E+00 - 4.32000E+04 0.00000E+00 ) ); -f10=DEFI_FONCTION ( NOM_PARA : 'INST' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( - 0.00000E+00 0.00000E+00 - 4.32000E+04 0.00000E+00 ) ); - - frig1 = CALC_FONC_INTERP ( FONCTION : f1 - LIST_PARA : l_frig - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - INTERPOL : 'LIN' - ); - frig2 = CALC_FONC_INTERP ( FONCTION : f2 - LIST_PARA : l_frig - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - INTERPOL : 'LIN' - ); - frig3 = CALC_FONC_INTERP ( FONCTION : f3 - LIST_PARA : l_frig - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - INTERPOL : 'LIN' - ); - frig4 = CALC_FONC_INTERP ( FONCTION : f4 - LIST_PARA : l_frig - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - INTERPOL : 'LIN' - ); - frig5 = CALC_FONC_INTERP ( FONCTION : f5 - LIST_PARA : l_frig - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - INTERPOL : 'LIN' - ); - frig6 = CALC_FONC_INTERP ( FONCTION : f6 - LIST_PARA : l_frig - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - INTERPOL : 'LIN' - ); - frig7 = CALC_FONC_INTERP ( FONCTION : f7 - LIST_PARA : l_frig - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - INTERPOL : 'LIN' - ); - frig8 = CALC_FONC_INTERP ( FONCTION : f8 - LIST_PARA : l_frig - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - INTERPOL : 'LIN' - ); - frig9 = CALC_FONC_INTERP ( FONCTION : f9 - LIST_PARA : l_frig - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - INTERPOL : 'LIN' - ); - frig10= CALC_FONC_INTERP ( FONCTION : f10 - LIST_PARA : l_frig - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - INTERPOL : 'LIN' - ); -% -% DEFINITION DU FLUX NEUTRONIQUE RADIAL - -flux_f1=DEFI_FONCTION ( NOM_PARA : 'INST' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( - 0.00000E+00 0.00000E+00 - 4.32000E+04 0.00000E+00 - 9.74520E+05 4.53280E+05 - 2.63880E+06 2.07785E+06 - 4.08780E+06 3.51279E+06 - 5.42844E+06 4.85677E+06 - 7.24500E+06 6.67627E+06 - 8.85348E+06 8.27977E+06 - 1.04609E+07 9.87261E+06 - 1.22029E+07 1.15869E+07 - 1.39446E+07 1.32952E+07 - 1.41437E+07 1.34902E+07 - 1.55632E+07 1.48753E+07 - 1.72361E+07 1.65069E+07 - 1.79482E+07 1.71992E+07 - 1.81901E+07 1.74334E+07 - 1.81937E+07 1.74352E+07 - 1.81973E+07 1.74352E+07 - 1.82009E+07 1.74352E+07 - ) - ) ; -% Definition du flux axial pour le cycle 1 - -fluxax1 = LIRE_FONCTION ( UNITE : 60 - PROL_GAUCHE : 'CONSTANT' - PROL_DROIT : 'CONSTANT' - ); - - fly_1_1 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 3.8032834757835D-07 - -8.8200000000000D-02 3.8083689458689D-07 - -7.5600000000000D-02 3.8296082621083D-07 - -6.3000000000000D-02 3.8584009971510D-07 - -5.0400000000000D-02 3.8946100427350D-07 - -3.7800000000000D-02 3.9259455128205D-07 - -2.5200000000000D-02 3.9258457977208D-07 - -1.2600000000000D-02 3.9294106125356D-07 - 0. 3.9399554843305D-07 - 1.2600000000000D-02 3.9293233618234D-07 - 2.5200000000000D-02 3.9256712962963D-07 - 3.7800000000000D-02 3.9256712962963D-07 - 5.0400000000000D-02 3.8942610398860D-07 - 6.3000000000000D-02 3.8579522792023D-07 - 7.5600000000000D-02 3.8290972222222D-07 - 8.8200000000000D-02 3.8077706552707D-07 - 1.0080000000000D-01 3.8026103988604D-07 - ) ) ; - - fly_1_2 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 4.3595566239316D-07 - -8.8200000000000D-02 4.3866542022792D-07 - -7.5600000000000D-02 4.4331463675214D-07 - -6.3000000000000D-02 4.4911556267806D-07 - -5.0400000000000D-02 4.5750658831909D-07 - -3.7800000000000D-02 4.6647222222222D-07 - -2.5200000000000D-02 4.6002938034188D-07 - -1.2600000000000D-02 4.6004309116809D-07 - 0. 4.6686235754986D-07 - 1.2600000000000D-02 4.6003311965812D-07 - 2.5200000000000D-02 4.6000943732194D-07 - 3.7800000000000D-02 4.6643981481481D-07 - 5.0400000000000D-02 4.5746420940171D-07 - 6.3000000000000D-02 4.4906445868946D-07 - 7.5600000000000D-02 4.4325356125356D-07 - 8.8200000000000D-02 4.3859686609687D-07 - 1.0080000000000D-01 4.3587838319088D-07 - ) ) ; - - fly_1_3 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 4.9431891025641D-07 - -8.8200000000000D-02 5.0005128205128D-07 - -7.5600000000000D-02 5.1337197293447D-07 - -6.3000000000000D-02 5.2915313390313D-07 - -5.0400000000000D-02 5.3788069800570D-07 - -3.7800000000000D-02 5.3504629629630D-07 - -2.5200000000000D-02 5.3221189458689D-07 - -1.2600000000000D-02 5.3136431623932D-07 - 0. 5.3135870726496D-07 - 1.2600000000000D-02 5.3135309829060D-07 - 2.5200000000000D-02 5.3218696581197D-07 - 3.7800000000000D-02 5.3500827991453D-07 - 5.0400000000000D-02 5.3782959401709D-07 - 6.3000000000000D-02 5.2909205840456D-07 - 7.5600000000000D-02 5.1330217236467D-07 - 8.8200000000000D-02 4.9997150997151D-07 - 1.0080000000000D-01 4.9423165954416D-07 - ) ) ; - - fly_1_4 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 5.5489957264957D-07 - -8.8200000000000D-02 5.6477884615385D-07 - -7.5600000000000D-02 5.9007781339031D-07 - -6.3000000000000D-02 5.9726415598291D-07 - -5.0400000000000D-02 6.0445049857550D-07 - -3.7800000000000D-02 5.9840776353276D-07 - -2.5200000000000D-02 5.8440651709402D-07 - -1.2600000000000D-02 5.8263906695157D-07 - 0. 5.9153240740741D-07 - 1.2600000000000D-02 5.8262660256410D-07 - 2.5200000000000D-02 5.8438034188034D-07 - 3.7800000000000D-02 5.9836663105413D-07 - 5.0400000000000D-02 6.0439316239316D-07 - 6.3000000000000D-02 5.9719497863248D-07 - 7.5600000000000D-02 5.8999679487179D-07 - 8.8200000000000D-02 5.6469159544160D-07 - 1.0080000000000D-01 5.5480110398860D-07 - ) ) ; - - fly_1_5 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 6.1267200854701D-07 - -8.8200000000000D-02 6.2962357549858D-07 - -7.5600000000000D-02 6.5655413105413D-07 - -6.3000000000000D-02 6.6164583333333D-07 - -5.0400000000000D-02 6.5190242165242D-07 - -3.7800000000000D-02 6.5212678062678D-07 - -2.5200000000000D-02 6.3746616809117D-07 - -1.2600000000000D-02 6.3547435897436D-07 - 0. 6.4509686609687D-07 - 1.2600000000000D-02 6.3546064814815D-07 - 2.5200000000000D-02 6.3743625356125D-07 - 3.7800000000000D-02 6.5207941595442D-07 - 5.0400000000000D-02 6.5183885327635D-07 - 6.3000000000000D-02 6.6156980056980D-07 - 7.5600000000000D-02 6.5646563390313D-07 - 8.8200000000000D-02 6.2952386039886D-07 - 1.0080000000000D-01 6.1256356837607D-07 - ) ) ; - - fly_1_6 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 6.5755128205128D-07 - -8.8200000000000D-02 6.8336253561254D-07 - -7.5600000000000D-02 6.9012072649573D-07 - -6.3000000000000D-02 6.9687891737892D-07 - -5.0400000000000D-02 6.9362571225071D-07 - -3.7800000000000D-02 6.9074768518519D-07 - -2.5200000000000D-02 6.8786965811966D-07 - -1.2600000000000D-02 6.8586413817664D-07 - 0. 6.8585603632479D-07 - 1.2600000000000D-02 6.8584793447293D-07 - 2.5200000000000D-02 6.8783600427350D-07 - 3.7800000000000D-02 6.9069720441595D-07 - 5.0400000000000D-02 6.9355840455840D-07 - 6.3000000000000D-02 6.9679789886040D-07 - 7.5600000000000D-02 6.9002412749288D-07 - 8.8200000000000D-02 6.8325035612536D-07 - 1.0080000000000D-01 6.5743162393162D-07 - ) ) ; - - fly_1_7 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 6.9684526353276D-07 - -8.8200000000000D-02 7.1406606125356D-07 - -7.5600000000000D-02 7.3236502849003D-07 - -6.3000000000000D-02 7.2076442307692D-07 - -5.0400000000000D-02 7.1793500712251D-07 - -3.7800000000000D-02 7.2835648148148D-07 - -2.5200000000000D-02 7.1444747150997D-07 - -1.2600000000000D-02 7.1130893874644D-07 - 0. 7.2107727920228D-07 - 1.2600000000000D-02 7.1129398148148D-07 - 2.5200000000000D-02 7.1441257122507D-07 - 3.7800000000000D-02 7.2830288461538D-07 - 5.0400000000000D-02 7.1786396011396D-07 - 6.3000000000000D-02 7.2067841880342D-07 - 7.5600000000000D-02 7.3226157407407D-07 - 8.8200000000000D-02 7.1395138888889D-07 - 1.0080000000000D-01 6.9671812678063D-07 - ) ) ; - - fly_1_8 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 7.3679362535613D-07 - -8.8200000000000D-02 7.5423130341880D-07 - -7.5600000000000D-02 7.7215633903134D-07 - -6.3000000000000D-02 7.5865740740741D-07 - -5.0400000000000D-02 7.5547774216524D-07 - -3.7800000000000D-02 7.6662464387464D-07 - -2.5200000000000D-02 7.5088461538462D-07 - -1.2600000000000D-02 7.4313924501424D-07 - 0. 7.4863230056980D-07 - 1.2600000000000D-02 7.4312054843305D-07 - 2.5200000000000D-02 7.5084722222222D-07 - 3.7800000000000D-02 7.6656730769231D-07 - 5.0400000000000D-02 7.5540170940171D-07 - 6.3000000000000D-02 7.5856267806268D-07 - 7.5600000000000D-02 7.7204415954416D-07 - 8.8200000000000D-02 7.5410790598291D-07 - 1.0080000000000D-01 7.3665776353276D-07 - ) ) ; - - fly_1_9 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 7.7370940170940D-07 - -8.8200000000000D-02 8.0144764957265D-07 - -7.5600000000000D-02 8.0374358974359D-07 - -6.3000000000000D-02 8.0603952991453D-07 - -5.0400000000000D-02 8.0238372507123D-07 - -3.7800000000000D-02 7.9936672008547D-07 - -2.5200000000000D-02 7.9634971509972D-07 - -1.2600000000000D-02 7.8317361111111D-07 - 0. 7.8316426282051D-07 - 1.2600000000000D-02 7.8315491452991D-07 - 2.5200000000000D-02 7.9631107549858D-07 - 3.7800000000000D-02 7.9930689102564D-07 - 5.0400000000000D-02 8.0230270655271D-07 - 6.3000000000000D-02 8.0593856837607D-07 - 7.5600000000000D-02 8.0362580128205D-07 - 8.8200000000000D-02 8.0131303418803D-07 - 1.0080000000000D-01 7.7356356837607D-07 - ) ) ; - - fly_1_10 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 7.9424198717949D-07 - -8.8200000000000D-02 8.1225925925926D-07 - -7.5600000000000D-02 8.3075516381766D-07 - -6.3000000000000D-02 8.1540651709402D-07 - -5.0400000000000D-02 8.1131071937322D-07 - -3.7800000000000D-02 8.2297489316239D-07 - -2.5200000000000D-02 8.0577403846154D-07 - -1.2600000000000D-02 7.9717236467236D-07 - 0. 8.0284615384615D-07 - 1.2600000000000D-02 7.9715117521368D-07 - 2.5200000000000D-02 8.0573165954416D-07 - 3.7800000000000D-02 8.2291257122507D-07 - 5.0400000000000D-02 8.1122845441595D-07 - 6.3000000000000D-02 8.1530306267806D-07 - 7.5600000000000D-02 8.3063051994302D-07 - 8.8200000000000D-02 8.1211841168091D-07 - 1.0080000000000D-01 7.9408742877493D-07 - ) ) ; - - fly_1_11 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 8.1647845441595D-07 - -8.8200000000000D-02 8.3510648148148D-07 - -7.5600000000000D-02 8.5487873931624D-07 - -6.3000000000000D-02 8.3969088319088D-07 - -5.0400000000000D-02 8.3502920227920D-07 - -3.7800000000000D-02 8.4651014957265D-07 - -2.5200000000000D-02 8.2973931623932D-07 - -1.2600000000000D-02 8.2549269943020D-07 - 0. 8.3637909544160D-07 - 1.2600000000000D-02 8.2547275641026D-07 - 2.5200000000000D-02 8.2969319800570D-07 - 3.7800000000000D-02 8.4644408831909D-07 - 5.0400000000000D-02 8.3493945868946D-07 - 6.3000000000000D-02 8.3957995014245D-07 - 7.5600000000000D-02 8.5474786324786D-07 - 8.8200000000000D-02 8.3495690883191D-07 - 1.0080000000000D-01 8.1631641737892D-07 - ) ) ; - - fly_1_12 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 8.3948272792023D-07 - -8.8200000000000D-02 8.7002546296296D-07 - -7.5600000000000D-02 8.7608564814815D-07 - -6.3000000000000D-02 8.8214583333333D-07 - -5.0400000000000D-02 8.7589245014245D-07 - -3.7800000000000D-02 8.7128872863248D-07 - -2.5200000000000D-02 8.6668500712251D-07 - -1.2600000000000D-02 8.6321616809117D-07 - 0. 8.6320432692308D-07 - 1.2600000000000D-02 8.6319248575499D-07 - 2.5200000000000D-02 8.6663764245014D-07 - 3.7800000000000D-02 8.7121705840456D-07 - 5.0400000000000D-02 8.7579647435897D-07 - 6.3000000000000D-02 8.8202617521368D-07 - 7.5600000000000D-02 8.7594667022792D-07 - 8.8200000000000D-02 8.6986716524217D-07 - 1.0080000000000D-01 8.3931196581197D-07 - ) ) ; - - fly_1_13 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 8.5508315527066D-07 - -8.8200000000000D-02 8.7546616809117D-07 - -7.5600000000000D-02 9.0944533475783D-07 - -6.3000000000000D-02 9.1292663817664D-07 - -5.0400000000000D-02 8.9653721509972D-07 - -3.7800000000000D-02 8.9547275641026D-07 - -2.5200000000000D-02 8.7405644586895D-07 - -1.2600000000000D-02 8.7004789886040D-07 - 0. 8.8226549145299D-07 - 1.2600000000000D-02 8.7002546296296D-07 - 2.5200000000000D-02 8.7400534188034D-07 - 3.7800000000000D-02 8.9539672364672D-07 - 5.0400000000000D-02 8.9643376068376D-07 - 6.3000000000000D-02 9.1279825498576D-07 - 7.5600000000000D-02 9.0929576210826D-07 - 8.8200000000000D-02 8.7530288461538D-07 - 1.0080000000000D-01 8.5490491452991D-07 - ) ) ; - - fly_1_14 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 8.5798237179487D-07 - -8.8200000000000D-02 8.6880893874644D-07 - -7.5600000000000D-02 9.0299750712251D-07 - -6.3000000000000D-02 9.0948646723647D-07 - -5.0400000000000D-02 9.1597542735043D-07 - -3.7800000000000D-02 9.0500302706553D-07 - -2.5200000000000D-02 8.8214084757835D-07 - -1.2600000000000D-02 8.7779825498575D-07 - 0. 8.8993732193732D-07 - 1.2600000000000D-02 8.7777207977208D-07 - 2.5200000000000D-02 8.8208974358974D-07 - 3.7800000000000D-02 9.0492325498576D-07 - 5.0400000000000D-02 9.1586574074074D-07 - 6.3000000000000D-02 9.0935434472934D-07 - 7.5600000000000D-02 9.0284294871795D-07 - 8.8200000000000D-02 8.6864066951567D-07 - 1.0080000000000D-01 8.5779665242165D-07 - ) ) ; - - fly_1_15 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 8.5773557692308D-07 - -8.8200000000000D-02 8.6180893874644D-07 - -7.5600000000000D-02 8.7862838319088D-07 - -6.3000000000000D-02 8.9924074074074D-07 - -5.0400000000000D-02 9.0872489316239D-07 - -3.7800000000000D-02 9.0174545940171D-07 - -2.5200000000000D-02 8.9476602564103D-07 - -1.2600000000000D-02 8.9122364672365D-07 - 0. 8.9120993589744D-07 - 1.2600000000000D-02 8.9119622507123D-07 - 2.5200000000000D-02 8.9471118233618D-07 - 3.7800000000000D-02 9.0166132478632D-07 - 5.0400000000000D-02 9.0861146723647D-07 - 6.3000000000000D-02 8.9910363247863D-07 - 7.5600000000000D-02 8.7847257834758D-07 - 8.8200000000000D-02 8.6163693019943D-07 - 1.0080000000000D-01 8.5754362535613D-07 - ) ) ; - - fly_1_16 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 8.5903935185185D-07 - -8.8200000000000D-02 8.5690046296296D-07 - -7.5600000000000D-02 8.5831018518519D-07 - -6.3000000000000D-02 8.6167307692308D-07 - -5.0400000000000D-02 8.7125320512821D-07 - -3.7800000000000D-02 8.8563586182336D-07 - -2.5200000000000D-02 8.7089298433048D-07 - -1.2600000000000D-02 8.6842877492877D-07 - 0. 8.7942111823362D-07 - 1.2600000000000D-02 8.6840135327635D-07 - 2.5200000000000D-02 8.7083814102564D-07 - 3.7800000000000D-02 8.8554985754986D-07 - 5.0400000000000D-02 8.7113977920228D-07 - 6.3000000000000D-02 8.6153846153846D-07 - 7.5600000000000D-02 8.5815313390313D-07 - 8.8200000000000D-02 8.5672471509972D-07 - 1.0080000000000D-01 8.5884116809117D-07 - ) ) ; - - fly_1_17 = DEFI_FONCTION ( - NOM_PARA : 'Y' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - VALE : ( - -1.0080000000000D-01 8.6388675213675D-07 - -8.8200000000000D-02 8.5563782051282D-07 - -7.5600000000000D-02 8.5087019230769D-07 - -6.3000000000000D-02 8.4755965099715D-07 - -5.0400000000000D-02 8.4761698717949D-07 - -3.7800000000000D-02 8.5133636039886D-07 - -2.5200000000000D-02 8.4844088319088D-07 - -1.2600000000000D-02 8.4633689458689D-07 - 0. 8.4644658119658D-07 - 1.2600000000000D-02 8.4630947293447D-07 - 2.5200000000000D-02 8.4838479344729D-07 - 3.7800000000000D-02 8.5125160256410D-07 - 5.0400000000000D-02 8.4750480769231D-07 - 6.3000000000000D-02 8.4742378917379D-07 - 7.5600000000000D-02 8.5071064814815D-07 - 8.8200000000000D-02 8.5545584045584D-07 - 1.0080000000000D-01 8.6368108974359D-07 - ) ) ; - - fluxrd1 = DEFI_NAPPE ( - NOM_PARA : 'Z' - PROL_DROIT :'CONSTANT' - PROL_GAUCHE :'CONSTANT' - PARA : ( - -1.0080000000000D-01 - -8.8200000000000D-02 - -7.5600000000000D-02 - -6.3000000000000D-02 - -5.0400000000000D-02 - -3.7800000000000D-02 - -2.5200000000000D-02 - -1.2600000000000D-02 - 0. - 1.2600000000000D-02 - 2.5200000000000D-02 - 3.7800000000000D-02 - 5.0400000000000D-02 - 6.3000000000000D-02 - 7.5600000000000D-02 - 8.8200000000000D-02 - 1.0080000000000D-01 - ) - FONCTION : ( - fly_1_1 - fly_1_2 - fly_1_3 - fly_1_4 - fly_1_5 - fly_1_6 - fly_1_7 - fly_1_8 - fly_1_9 - fly_1_10 - fly_1_11 - fly_1_12 - fly_1_13 - fly_1_14 - fly_1_15 - fly_1_16 - fly_1_17 - ) - ); -% -% DEFINITION DES MATERIAUX ET AFFECTATIONS -% -% **** DEFINITION DES MATERIAUX SANS FLUX NEUTRONIQUE **** -% -% - - -% Famille assemblage : numero_fam -% -% Embout superieur - -e_es = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 100. 2. - 300. 3. ) - ); -nu_es = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 100. 2. - 300. 3. ) - ); -al_es = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 100. 2. - 300. 3. ) - ); - mt_es = DEFI_MATERIAU ( ELAS_FO : ( E : e_es - NU : nu_es - ALPHA : al_es - RHO : 7800. - ) - ); -% Embout inferieur - -e_ei = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 100. 2. - 300. 3. ) - ); -nu_ei = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 100. 2. - 300. 3. ) - ); -al_ei = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 100. 2. - 300. 3. ) - ); - mt_ei = DEFI_MATERIAU ( ELAS_FO : ( E : e_ei - NU : nu_ei - ALPHA : al_ei - RHO : 12. - ) - ); - mt_rig = DEFI_MATERIAU ( ELAS : ( E : 1. - NU : 0. - ALPHA : 0. - RHO : 0.) - ); -% Fonction couple en fonction de drz pour la liaison grille/crayon - - fotrac= DEFI_FONCTION ( NOM_PARA : 'DRZ' - VALE : ( 1. 1. - 0. 0. - 0. 0. - 0. 0. - ) - PROL_DROIT : 'LINEAIRE' - PROL_GAUCHE: 'LINEAIRE' ); - - - mt_re1 = DEFI_MATERIAU ( DIS_CONTACT : (COULOMB : 1. - RELA_MZ : fotrac - RIGI_N_FO:frig1 - EFFO_N_INIT : -35.) - ELAS : ( E : 1. - NU : 0. - ALPHA : 0. - RHO : 0. ) - ); - mt_re2 = DEFI_MATERIAU ( DIS_CONTACT : (COULOMB : 1. - RELA_MZ : fotrac - RIGI_N_FO : frig2 - EFFO_N_INIT : -35.) - ELAS : ( E : 1. - NU : 0. - ALPHA : 0. - RHO : 0. ) - ); - mt_re3 = DEFI_MATERIAU ( DIS_CONTACT : (COULOMB : 1. - RELA_MZ : fotrac - RIGI_N_FO : frig3 - EFFO_N_INIT : -35.) - ELAS : ( E : 1. - NU : 0. - ALPHA : 0. - RHO : 0. ) - ); - mt_re4 = DEFI_MATERIAU ( DIS_CONTACT : (COULOMB : 1. - RELA_MZ : fotrac - RIGI_N_FO : frig4 - EFFO_N_INIT : -35.) - ELAS : ( E : 1. - NU : 0. - ALPHA : 0. - RHO : 0. ) - ); - mt_re5 = DEFI_MATERIAU ( DIS_CONTACT : (COULOMB : 1. - RELA_MZ : fotrac - RIGI_N_FO : frig5 - EFFO_N_INIT : -35.) - ELAS : ( E : 1. - NU : 0. - ALPHA : 0. - RHO : 0. ) - ); - mt_re6 = DEFI_MATERIAU ( DIS_CONTACT : (COULOMB : 1. - RELA_MZ : fotrac - RIGI_N_FO : frig6 - EFFO_N_INIT :-35.) - ELAS : ( E : 1. - NU : 0. - ALPHA : 0. - RHO : 0. ) - ); - mt_re7 = DEFI_MATERIAU ( DIS_CONTACT : (COULOMB : 1. - RELA_MZ : fotrac - RIGI_N_FO : frig7 - EFFO_N_INIT : -35.) - ELAS : ( E : 1. - NU : 0. - ALPHA : 0. - RHO : 0. ) - ); - mt_re8 = DEFI_MATERIAU ( DIS_CONTACT : (COULOMB : 1. - RELA_MZ : fotrac - RIGI_N_FO : frig8 - EFFO_N_INIT : -35.) - ELAS : ( E : 1. - NU : 0. - ALPHA : 0. - RHO : 0. ) - ); - mt_re9 = DEFI_MATERIAU ( DIS_CONTACT : (COULOMB : 1. - RELA_MZ : fotrac - RIGI_N_FO :frig9 - EFFO_N_INIT : -35.) - ELAS : ( E : 1. - NU : 0. - ALPHA : 0. - RHO : 0. ) - ); - mt_re10 = DEFI_MATERIAU ( DIS_CONTACT : (COULOMB : 1. - RELA_MZ : fotrac - RIGI_N_FO : frig10 - EFFO_N_INIT : -35.) - ELAS : ( E : 1. - NU : 0. - ALPHA : 0. - RHO : 0. ) - ); - - -% Systeme de maintien - - e_ma = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - - nu_ma = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - - al_ma = DEFI_CONSTANTE ( VALE : 0.3 ); - - sy_ma = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - - ds_ma = DEFI_CONSTANTE ( VALE : 0.3 ); - - np_ma = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - - mey_ma = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - - mpy_ma = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - - mez_ma = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - - mpz_ma = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : (0. 1. - 5. 2. ) - ); - - cay_ma = DEFI_CONSTANTE ( VALE : 0.3 ); - - cby_ma = DEFI_CONSTANTE ( VALE : 0.3 ); - - caz_ma = DEFI_CONSTANTE ( VALE : 0.3 ); - - cbz_ma = DEFI_CONSTANTE ( VALE : 0.3 ); - - mpx_ma = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - -mt_ma = DEFI_MATERIAU ( ELAS_FO : ( E : e_ma - NU : nu_ma - ALPHA : al_ma - RHO : 7800. ) - ECRO_LINE_FO: ( D_SIGM_EPSI:ds_ma - SY : sy_ma ) - VMIS_POUTRE_FO: ( NP : np_ma - MEY: mey_ma - MPY: mpy_ma - CAY: cay_ma - CBY: cby_ma - MEZ: mez_ma - MPZ: mpz_ma - CAZ: caz_ma - CBZ: cbz_ma - MPX: mpx_ma ) - ); - -% -% **** DEFINITION DES MATERIAUX AVEC FLUX NEUTRONIQUE **** -% -% - -% Grille - - - -e_gre = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - -e_grm = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - -nu_gre = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - -nu_grm = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - -al_gre = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - -al_grm = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - -% Tube guide - -e_tu = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. - ) - ); - -nu_tu = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - -al_tu = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - - - - -% Crayon - -e_cr = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. - ) - ); - -nu_cr = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - -al_cr = DEFI_FONCTION ( NOM_PARA : 'TEMP' - PROL_DROIT : 'CONSTANT' - PROL_GAUCHE : 'CONSTANT' - VALE : ( 0. 1. - 5. 2. ) - ); - - -% GRANDISSEMENT DES GRILLES - - - -% Grilles extremes 1 et 10 - -mt_gre1 = DEFI_MATERIAU ( ELAS_FO : ( E : e_gre - NU : nu_gre - ALPHA : al_gre - RHO : 7800. ) - GRAN_IRRA:( FLUX_L :fluxax1 - FLUX_TN :fluxrd1 - FONC_MULT:flux_f1 - A : 0. - S : 1. ) - LEMAITRE :( N : 0. - UN_SUR_K : 0. - UN_SUR_M : 0. - QSR_K : 1. ) - ); - -% Grilles de melange - -mt_grm1= DEFI_MATERIAU ( ELAS_FO : ( E : e_grm - NU : nu_grm - ALPHA : al_grm - RHO : 7800. ) - GRAN_IRRA: ( FLUX_L :fluxax1 - FLUX_TN :fluxrd1 - FONC_MULT:flux_f1 - A : 0. - S : 1. ) - LEMAITRE : (N : 0. - UN_SUR_K : 0. - UN_SUR_M : 0. - QSR_K : 2. ) - ); - -% Definition des materiaux viscoplastiques ( tubes et crayons ) - - -mt_tu1 = DEFI_MATERIAU ( ELAS_FO : ( E : e_tu - NU : nu_tu - ALPHA : al_tu - RHO : 7800. ) - GRAN_IRRA: ( FLUX_L : fluxax1 - FLUX_TN : fluxrd1 - FONC_MULT: flux_f1 - A : 0. - S : 1.) - LEMAITRE : ( N : 0. - UN_SUR_K : 0. - UN_SUR_M : 0. - QSR_K : 2.) - ); - - - mt_cr1 = DEFI_MATERIAU (ELAS_FO : ( E : e_cr - NU : nu_cr - ALPHA : al_cr - RHO :7800. ) - GRAN_IRRA: ( FLUX_L : fluxax1 - FLUX_TN : fluxrd1 - FONC_MULT: flux_f1 - A : 0. - S : 1.) - LEMAITRE : ( N : 0. - UN_SUR_K : 0. - UN_SUR_M : 0. - QSR_K : 2.) - - ); - -% -% AFFECTATION DES MATERIAUX A CHAUD - CYCLE -% -% - a_mat_1 = AFFE_MATERIAU ( MAILLAGE : ma1 - - % systeme de maintien - AFFE : ( GROUP_MA : (mainti_y, mainti_z) - MATER : mt_ma - TEMP_REF: 100. - ) - % grilles de melange - AFFE : ( GROUP_MA : gril_i - MATER : mt_grm1 - TEMP_REF: 100. - ) - % grilles de extremes - AFFE : ( GROUP_MA : gril_e - MATER : mt_gre1 - TEMP_REF: 100. - ) - % crayons combustibles - AFFE : ( GROUP_MA : cray - MATER : mt_cr1 - TEMP_REF: 100. - ) - % tubes guides - AFFE : ( GROUP_MA : guid - MATER : mt_tu1 - TEMP_REF: 100. - ) - % embout inferieur - AFFE : ( GROUP_MA : eboinf - MATER : mt_ei - TEMP_REF: 100. - ) - %pieds - AFFE : ( GROUP_MA :(pi_ple, pi_tro) - MATER : mt_ei - TEMP_REF: 100. - ) - - % embout superieur - AFFE : ( GROUP_MA : ebosup - MATER : mt_es - TEMP_REF: 100. - ) - % liaison grille tubes guides - AFFE : ( GROUP_MA : rigid - MATER : mt_rig - TEMP_REF: 100. - ) - - % liaison grille crayon - AFFE : ( GROUP_MA : ela1 - MATER : mt_re1 - TEMP_REF: 100. - ) - AFFE : ( GROUP_MA : ela2 - MATER : mt_re2 - TEMP_REF: 100. - ) - AFFE : ( GROUP_MA : ela3 - MATER : mt_re3 - TEMP_REF: 100. - ) - AFFE : ( GROUP_MA : ela4 - MATER : mt_re4 - TEMP_REF: 100. - ) - AFFE : ( GROUP_MA : ela5 - MATER : mt_re5 - TEMP_REF: 100. - ) - AFFE : ( GROUP_MA : ela6 - MATER : mt_re6 - TEMP_REF: 100. - ) - AFFE : ( GROUP_MA : ela7 - MATER : mt_re7 - TEMP_REF: 100. - ) - AFFE : ( GROUP_MA : ela8 - MATER : mt_re8 - TEMP_REF: 100. - ) - AFFE : ( GROUP_MA : ela9 - MATER : mt_re9 - TEMP_REF: 100. - ) - AFFE : ( GROUP_MA : ela10 - MATER : mt_re10 - TEMP_REF: 100. - ) - ); -% - - - L_INST_1 = DEFI_LIST_REEL( - DEBUT: 0.0 - INTERVALLE : (JUSQU_A: 0.5 NOMBRE: 1 ) - INTERVALLE : (JUSQU_A: 1000. NOMBRE: 1 ) - INTERVALLE : (JUSQU_A: 2000. NOMBRE: 1 ) - INTERVALLE : (JUSQU_A: 3000. NOMBRE: 5 ) - INTERVALLE : (JUSQU_A: 4000. NOMBRE: 1 ) - INTERVALLE : (JUSQU_A: 5000. NOMBRE: 1 ) - INTERVALLE : (JUSQU_A: 6000. NOMBRE: 1 ) - INTERVALLE : (JUSQU_A: 7000. NOMBRE: 1 ) - INTERVALLE : (JUSQU_A: 8000. NOMBRE: 1 )); - - L_ARCH_1 = DEFI_LIST_REEL( - DEBUT: 0.0 - INTERVALLE : (JUSQU_A: 0.5 NOMBRE: 1 ) - INTERVALLE : (JUSQU_A: 1000. NOMBRE: 1 ) - INTERVALLE : (JUSQU_A: 2000. NOMBRE: 1 ) - INTERVALLE : (JUSQU_A: 3000. NOMBRE: 5 ) - INTERVALLE : (JUSQU_A: 4000. NOMBRE: 1 ) - INTERVALLE : (JUSQU_A: 5000. NOMBRE: 1 ) - INTERVALLE : (JUSQU_A: 6000. NOMBRE: 1 ) - INTERVALLE : (JUSQU_A: 7000. NOMBRE: 1 ) - INTERVALLE : (JUSQU_A: 8000. NOMBRE: 1 )); - -% -% CALCUL PHASE I A V DU CYCLE 1 -% - - RESU = STAT_NON_LINE( MODELE : mo1 - CHAM_MATER : a_mat_1 - CARA_ELEM : cara1 - EXCIT :( CHARGE : arch_1 FONC_MULT: arch_f1 ) - EXCIT :( CHARGE : foarch_1 FONC_MULT: arch_f1 ) - EXCIT :( CHARGE : hydr_1 FONC_MULT: hydr_f1 ) - EXCIT :( CHARGE : fohydr_1 FONC_MULT: hydr_f1 ) - EXCIT :( CHARGE : cl_di_1 FONC_MULT: cldi_f1 ) - EXCIT :( CHARGE : cl_per_1 ) - EXCIT :( CHARGE : cl_ctc ) - EXCIT :( CHARGE : pesant_1 ) - EXCIT :( CHARGE : therm_1 ) - COMP_INCR :(RELATION :'VMIS_POU_LINE' - GROUP_MA : maintien) - COMP_INCR :(RELATION :'ASSE_COMBU' - GROUP_MA : (crayons tub_guid )) - COMP_INCR :( RELATION :'DIS_CONTACT' - GROUP_MA : li_gr_cr) - COMP_INCR :(RELATION :'ELAS' - COQUE_NCOU : 1 - GROUP_MA :(embo_inf embo_sup pieds - grilles li_gr_gu )) - - INCREMENT :( LIST_INST : l_inst_1 - NUME_INST_FIN : 20 - ) - - NEWTON : ( MATRICE : 'TANGENTE' - REAC_ITER : 1 ) - RECH_LINEAIRE : (ITER_LINE_MAXI: 3) - CONVERGENCE : (RESI_GLOB_RELA: 1.E-4 - ITER_GLOB_MAXI: 50 - ITER_INTE_MAXI: 500 - ARRET : 'OUI' ) - SOLVEUR : ( METHODE : 'MULT_FRONT' - RENUM : 'MD' ) - PARM_THETA : 0.5 - ARCHIVAGE : ( LIST_INST : l_arch_1) - ); - -fin(); diff --git a/Carmel3D/Carmel3D_Cata_frequentiel_V1.py b/Carmel3D/Carmel3D_Cata_frequentiel_V1.py index 8817403a..b70bb964 100644 --- a/Carmel3D/Carmel3D_Cata_frequentiel_V1.py +++ b/Carmel3D/Carmel3D_Cata_frequentiel_V1.py @@ -29,6 +29,22 @@ from decimal import Decimal # et les fichiers de donnees des materiaux de reference from prefs_CARMEL3D import repIni +class Tuple: + def __init__(self,ntuple): + self.ntuple=ntuple + + def __convert__(self,valeur): + if type(valeur) == types.StringType: + return None + if len(valeur) != self.ntuple: + return None + return valeur + + def info(self): + return "Tuple de %s elements" % self.ntuple + + + #print "catalogue carmel" #print "repIni = ", repIni @@ -231,10 +247,12 @@ POST_COMMANDS = PROC ( nom = "POST_COMMANDS", CUTLINE = FACT ( statut="f", ang = "Post-processing of one cutline", fr = u"Post-traitement d'une ligne de coupe", - first_point = SIMP(statut='o', typ='R', min=3, max=3, - ang="First point of the cutline (cartesian coordinates).", - fr=u"Point de départ (premier point) de la ligne de coupe (coordonnées cartésiennes)." + first_point = SIMP(statut='o', + typ = Tuple(3),validators = VerifTypeTuple(('R','R','R')), + ang="First point of the cutline (cartesian coordinates).", + fr=u"Point de départ (premier point) de la ligne de coupe (coordonnées cartésiennes).", ), + last_point = SIMP(statut='o', typ='R', min=3, max=3, ang="Last point of the cutline (cartesian coordinates).", fr=u"Point d'arrivée (dernier point) de la ligne de coupe (coordonnées cartésiennes)." diff --git a/CarmelCND/prefs_CARMELCND.py b/CarmelCND/prefs_CARMELCND.py index e2b95d2d..555d37b3 100644 --- a/CarmelCND/prefs_CARMELCND.py +++ b/CarmelCND/prefs_CARMELCND.py @@ -29,7 +29,7 @@ sys.path[:0]=[repIni] # lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='ang' +lang='fr' # Codage des strings qui accepte les accents (en remplacement de 'ascii') encoding='iso-8859-1' diff --git a/Ihm/I_JDC.py b/Ihm/I_JDC.py index 4aff34b9..d1398ff0 100644 --- a/Ihm/I_JDC.py +++ b/Ihm/I_JDC.py @@ -94,38 +94,42 @@ class JDC(I_OBJECT.OBJECT): etapeStop=etape l=[] for etapeTraitee in self.etapes : - if etapeTraitee==etapeStop: - break - if etapeTraitee.nom == 'DISTRIBUTION' : - l.append(etapeTraitee.sd.nom) + if etapeTraitee==etapeStop: break + if etapeTraitee.nom == 'DISTRIBUTION' and etapeTraitee.sd !=None : l.append(etapeTraitee.sd.nom) return l - def set_Copules_recalcule_etat(self): - for etapeTraitee in self.etapes : - if etapeTraitee.nom == 'CORRELATION' : - Matrix=etapeTraitee.get_child('Matrix') - if Matrix !=None : - Correlation=etapeTraitee.get_child('CorrelationMatrix') - if Correlation !=None : - Correlation.state='arecalculer' - Matrix.state='arecalculer' + #def set_Copules_recalcule_etat(self): + # for etapeTraitee in self.etapes : + # if etapeTraitee.nom == 'CORRELATION' : + #Matrix=etapeTraitee.get_child('Matrix') + #if Matrix !=None : + # Correlation=etapeTraitee.get_child('CorrelationMatrix') + # if Correlation !=None : Correlation.state='arecalculer' + # Matrix.state='arecalculer' + #def recalcule_etat_correlation(self): + # for etapeTraitee in self.etapes : + # if etapeTraitee.nom == 'CORRELATION' : + #Matrix=etapeTraitee.get_child('Matrix') + #if Matrix !=None : + # Matrix.state='arecalculer' + # Correlation=Matrix.get_child('CorrelationMatrix') + # if Correlation !=None : Correlation.state='arecalculer' + # Correlation.isvalid() + # Matrix.isvalid() + # etapeTraitee.state='arecalculer' + # if etapeTraitee.state=='arecalculer': etapeTraitee.isvalid() + def recalcule_etat_correlation(self): for etapeTraitee in self.etapes : if etapeTraitee.nom == 'CORRELATION' : - Matrix=etapeTraitee.get_child('Matrix') - if Matrix !=None : - Matrix.state='arecalculer' - Correlation=Matrix.get_child('CorrelationMatrix') - if Correlation !=None : - Correlation.state='arecalculer' - Correlation.isvalid() - Matrix.isvalid() - etapeTraitee.state='arecalculer' - if etapeTraitee.state=='arecalculer': - etapeTraitee.isvalid() - + Correlation=etapeTraitee.get_child('CorrelationMatrix') + if Correlation !=None : + Correlation.state='arecalculer' + print Correlation.isvalid + Correlation.isvalid() + etapeTraitee.isvalid() def recalcule_validite_apres_changement_global_jdc(self): #print "je passe dans recalcule_validite_apres_changement_global_jdc" diff --git a/Ihm/I_MCSIMP.py b/Ihm/I_MCSIMP.py index e5fae814..c8477cb4 100644 --- a/Ihm/I_MCSIMP.py +++ b/Ihm/I_MCSIMP.py @@ -618,6 +618,10 @@ class MCSIMP(I_OBJECT.OBJECT): def valideMatrice(self,cr): #Attention, la matrice contient comme dernier tuple l ordre des variables + if self.valideEnteteMatrice()==False : + self.set_valid(0) + if cr == "oui" : self.cr.fatal(tr("La matrice n'a pas le bon entete")) + return 0 if self.monType.methodeCalculTaille != None : apply (MCSIMP.__dict__[self.monType.methodeCalculTaille],(self,)) try : @@ -640,11 +644,23 @@ class MCSIMP(I_OBJECT.OBJECT): self.set_valid(0) return 0 + def NbDeVariables(self): listeVariables=self.jdc.get_variables(self.etape) self.monType.nbLigs=len(listeVariables) self.monType.nbCols=len(listeVariables) + def valideEnteteMatrice(self): + if self.jdc.get_distributions(self.etape) == () or self.valeur == None : return 0 + if self.jdc.get_distributions(self.etape) != self.valeur[0] : return 0 + return 1 + + def changeEnteteMatrice(self): + a=[self.jdc.get_distributions(self.etape),] + for t in self.valeur[1:]: + a.append(t) + self.valeur=a + def NbDeDistributions(self): listeVariables=self.jdc.get_distributions(self.etape) diff --git a/InterfaceQT4/browser.py b/InterfaceQT4/browser.py index 170f70c8..d87818f2 100644 --- a/InterfaceQT4/browser.py +++ b/InterfaceQT4/browser.py @@ -593,10 +593,9 @@ class JDCNode(QTreeWidgetItem): # #------------------------------------------------------------------ def onValid(self): - #print "onValid pour ", self.item.nom - if hasattr(self,'fenetre') and self.fenetre: - self.fenetre.setValide() - if self.item.nom == "VARIABLE" and self.item.isvalid(): + print "onValid pour ", self.item.nom + if hasattr(self,'fenetre') and self.fenetre: self.fenetre.setValide() + if (self.item.nom == "VARIABLE" or self.item.nom == "DISTRIBUTION") and self.item.isvalid(): self.item.jdc.recalcule_etat_correlation() if hasattr(self.item,'forceRecalcul'): self.forceRecalculChildren(self.item.forceRecalcul) diff --git a/InterfaceQT4/gereIcones.py b/InterfaceQT4/gereIcones.py index 1155e72b..e5d3d67c 100644 --- a/InterfaceQT4/gereIcones.py +++ b/InterfaceQT4/gereIcones.py @@ -63,7 +63,8 @@ class FacultatifOuOptionnel: def viewDoc(self): try : - cmd="xdg-open "+self.cle_doc + if sys.platform[0:5]=="linux" : cmd="xdg-open "+self.cle_doc + else : cmd="start "+self.cle_doc os.system(cmd) except: QMessageBox.warning( self,tr( "Aide Indisponible"),tr( "l'aide n est pas installee ")) @@ -157,7 +158,8 @@ class ContientIcones: if fichier == None or str(fichier)=="" : return from qtCommun import ViewText try : - cmd="xdg-open "+str(fichier) + if sys.platform[0:5]=="linux" : cmd="xdg-open "+ str(fichier) + else : cmd="start "+ str(fichier) os.system(cmd) except: try : diff --git a/InterfaceQT4/monViewTexte.py b/InterfaceQT4/monViewTexte.py index e4c8e770..8aeddc7c 100644 --- a/InterfaceQT4/monViewTexte.py +++ b/InterfaceQT4/monViewTexte.py @@ -70,3 +70,14 @@ class ViewText(Ui_dView,QDialog): tr("Le fichier %(v_1)s n'a pu etre sauvegarde.
Raison : %(v_2)s", {'v_1': unicode(fn), 'v_2': unicode(why)})) return +class ViewText2(ViewText): + def __init__(self,parent,cmd,editor=None,entete=None,texte=None,largeur=600,hauteur=600): + ViewText.__init__(self,parent,editor,entete,texte,largeur,hauteur) + import subprocess + p = subprocess.Popen(cmd,stdout=subprocess.PIPE) + (output, err) = p.communicate() + if output != None : self.view.append(QString.fromUtf8(output,len(output))) ; + if err != None : self.view.append(QString.fromUtf8(err,len(err))) ; + + + diff --git a/InterfaceQT4/monWidgetMatrice.py b/InterfaceQT4/monWidgetMatrice.py index c74491e8..dfce8424 100644 --- a/InterfaceQT4/monWidgetMatrice.py +++ b/InterfaceQT4/monWidgetMatrice.py @@ -50,6 +50,16 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): def connecterSignaux(self) : self.connect(self.TBMatrice,SIGNAL("itemChanged(QTableWidgetItem *)"),self.itemChanged) + self.connect(self.PBrefresh,SIGNAL("clicked()"), self.afficheEntete) + + def afficheEntete(self): + self.objSimp.changeEnteteMatrice() + self.TBMatrice.clear() + if self.node.item.get_valeur()== None: self.initialSsValeur() + else : + try : self.initialValeur() + except : self.initialSsValeur() + def itemChanged(self): monItem=self.TBMatrice.currentItem() @@ -142,11 +152,13 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): if (len(liste)) != self.nbLigs +1 : QMessageBox.critical( self,tr( "Mauvaise dimension de matrice"),tr( "le nombre de ligne n est pas egal a ") + str(self.nbLigs)) dejaAffiche=1 + raise EficasException('dimension') for i in range(self.nbLigs): inter=liste[i+1] if (len(inter)) != self.nbCols and (dejaAffiche == 0 ) : QMessageBox.critical( self, tr("Mauvaise dimension de matrice"), tr("le nombre de colonne n est pas egal a ") + str(self.nbCols)) dejaAffiche=1 + raise EficasException('dimension') for j in range(self.nbCols): self.TBMatrice.setItem(i,j,QTableWidgetItem(str(liste[i+1][j]))) header=QStringList() diff --git a/InterfaceQT4/monWidgetPlusieursTuple.py b/InterfaceQT4/monWidgetPlusieursTuple.py index f0a3e02f..9b8f254b 100644 --- a/InterfaceQT4/monWidgetPlusieursTuple.py +++ b/InterfaceQT4/monWidgetPlusieursTuple.py @@ -101,7 +101,6 @@ class TupleCustom : else : self.valeur=listeVal def getValeur(self): - listeVal=[] return self.valeur def clean(self): diff --git a/InterfaceQT4/qtEficas.py b/InterfaceQT4/qtEficas.py index 22d9627c..e0415e66 100644 --- a/InterfaceQT4/qtEficas.py +++ b/InterfaceQT4/qtEficas.py @@ -74,6 +74,7 @@ class Appli(Ui_Eficas,QMainWindow): self.multi=multi if langue=='fr': self.langue=langue else : self.langue="ang" + self.langue='fr' if self.multi == False : self.definitCode(code,ssCode) if code==None: return @@ -446,6 +447,8 @@ class Appli(Ui_Eficas,QMainWindow): self.recent.prepend(fn) if len(self.recent) > 9: self.recent = self.recent[:9] + index=0 + self.sauveRecents() def sauveRecents(self) : try : @@ -497,7 +500,8 @@ class Appli(Ui_Eficas,QMainWindow): maD=repAide+"/../Aide" try : indexAide=maD+"/fichiers_EFICAS/index.html" - cmd="xdg-open "+indexAide + if sys.platform[0:5]=="linux" : cmd="xdg-open "+indexAide + else : cmd="start "+indexAide os.system(cmd) except: QMessageBox.warning( self,tr( "Aide Indisponible"),tr( "l'aide n est pas installee ")) @@ -507,7 +511,8 @@ class Appli(Ui_Eficas,QMainWindow): if self.code==None : return try : #if 1 : - cmd="xdg-open "+self.fileDoc + if sys.platform[0:5]=="linux" : cmd="xdg-open "+self.fileDoc + else : cmd="start "+self.fileDoc os.system(cmd) except: #else: diff --git a/MAP/mapcata.py b/MAP/mapcata.py index 69bd2dc8..80de7820 100755 --- a/MAP/mapcata.py +++ b/MAP/mapcata.py @@ -135,15 +135,14 @@ image_name=SIMP(typ='TXM',fr= "pathname of the files of input images ; globing ( gui=SIMP(typ=bool,fr= "Run the Graphical User Interface if set to True",ang= "Run the Graphical User Interface if set to True",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), output_prefix=SIMP(typ='TXM',fr= "Prefix appended before the output file name",ang= "Prefix appended before the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), output_suffix=SIMP(typ='TXM',fr= "Suffix appended after the output file name",ang= "Suffix appended after the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -output_directory=SIMP(typ='Repertoire',fr= "(optional, default : /refs) path where each output file is written",ang= "(optional, default : /refs) path where each output file is written",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), gaussian_blur_sigma=SIMP(typ='R',fr= "standard variation of the gaussian blur applied to the input image to create the mask",ang= "standard variation of the gaussian blur applied to the input image to create the mask",docu= "",statut= "f",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), ), +output_directory=SIMP(typ='Repertoire',fr= "(optional, default : /refs) path where each output file is written",ang= "(optional, default : /refs) path where each output file is written",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), mask_shape_parabolic=BLOC(condition="(mask_shape=='parabolic')", image_name=SIMP(typ='TXM',fr= "pathname of the files of input images ; globing (wild card) is allowed",ang= "pathname of the files of input images ; globing (wild card) is allowed",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), gui=SIMP(typ=bool,fr= "Run the Graphical User Interface if set to True",ang= "Run the Graphical User Interface if set to True",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), output_prefix=SIMP(typ='TXM',fr= "Prefix appended before the output file name",ang= "Prefix appended before the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), output_suffix=SIMP(typ='TXM',fr= "Suffix appended after the output file name",ang= "Suffix appended after the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -output_directory=SIMP(typ='Repertoire',fr= "(optional, default : /refs) path where each output file is written",ang= "(optional, default : /refs) path where each output file is written",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), relative_steepness=SIMP(typ='R',fr= "(optional if GUI is used, mandatory otherwise) Set the steepness of the 2D parabola. The mask maximum value is computed as multiplied by the difference between input image minimum and maximum value divided by 100",ang= "(optional if GUI is used, mandatory otherwise) Set the steepness of the 2D parabola. The mask maximum value is computed as multiplied by the difference between input image minimum and maximum value divided by 100",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), ), mask_shape_planar=BLOC(condition="(mask_shape=='planar')", @@ -151,7 +150,6 @@ image_name=SIMP(typ='TXM',fr= "pathname of the files of input images ; globing ( gui=SIMP(typ=bool,fr= "Run the Graphical User Interface if set to True",ang= "Run the Graphical User Interface if set to True",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), output_prefix=SIMP(typ='TXM',fr= "Prefix appended before the output file name",ang= "Prefix appended before the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), output_suffix=SIMP(typ='TXM',fr= "Suffix appended after the output file name",ang= "Suffix appended after the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -output_directory=SIMP(typ='Repertoire',fr= "(optional, default : /refs) path where each output file is written",ang= "(optional, default : /refs) path where each output file is written",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), relative_tilt=SIMP(typ='R',fr= "(optional if GUI is used, mandatory otherwise) set the plan tilt. In the direction, the mask value is decreased by multiplied by the difference between the input image maximum and minimum values divided by 100 times the image length",ang= "(optional if GUI is used, mandatory otherwise) set the plan tilt. In the direction, the mask value is decreased by multiplied by the difference between the input image maximum and minimum values divided by 100 times the image length",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), orientation=SIMP(typ='R',fr= "(optional if GUI is used, mandatory otherwise) direction toward which the plan is tilting in degrees",ang= "(optional if GUI is used, mandatory otherwise) direction toward which the plan is tilting in degrees",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), ), @@ -868,9 +866,14 @@ streamlines_pitch=SIMP(typ='I',fr= "Number of level",ang= "Number of level",docu C_IMAGE_2D_ALIGN_DATA=PROC(nom='C_IMAGE_2D_ALIGN_DATA',op=None, UIinfo ={'groupes':('image',)}, input_directory=SIMP(typ='Repertoire',fr= "directory where the input images are read",ang= "directory where the input images are read",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), +essai=SIMP(typ='TXM',fr= "directory where the aligned images are to be written",ang= "directory where the aligned images are to be written",docu= "",statut= "o",into=None,min=4,max=5,val_min='**',val_max='**',defaut=None), +essaiListeInto=SIMP(typ='TXM',fr= "directory where the aligned images are to be written",ang= "directory where the aligned images are to be written",docu= "",statut= "o",min=4,max=5,val_min='**',val_max='**',into=['a','b','c','d']), +essaiListeInto2=SIMP(typ='TXM',fr= "directory where the aligned images are to be written",ang= "directory where the aligned images are to be written",docu= "",statut= "o",min=4,max=5,val_min='**',val_max='**',into=['a','b','c','d'],homo="SansOrdreNiDoublon"), output_directory=SIMP(typ='Repertoire',fr= "directory where the aligned images are to be written",ang= "directory where the aligned images are to be written",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), shift=SIMP(typ='R',fr= "number of pixel each image is to be shifted from the previous one",ang= "number of pixel each image is to be shifted from the previous one",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), gui=SIMP(typ=bool,fr= "Run the Graphical User Interface if set to True",ang= "Run the Graphical User Interface if set to True",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), +ExempleTuple3 = SIMP(statut = 'o',typ = Tuple(3),validators = VerifTypeTuple(('R','R','R')),), +ExempleTuple2 = SIMP(statut = 'o',typ = Tuple(2),validators = VerifTypeTuple(('R','R')),), ) # ====================================================================== # Catalog entry for the MAP function : c_image_2d_threshold @@ -1642,7 +1645,10 @@ crack_aspect_ratio=SIMP(typ='R',fr= "aspect ratio of cracks",ang= "aspect ratio S_PROBABILISTIC_STUDY_DATA=PROC(nom='S_PROBABILISTIC_STUDY_DATA',op=None, UIinfo ={'groupes':('concrete',)}, random_seed=SIMP(typ='I',fr= "Random seed",ang= "Random seed",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -distributions=SIMP(typ='TXM',fr= "Distribution of each parameter",ang= "Distribution of each parameter",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), +#distributions=SIMP(typ='TXM',into=['Independent', 'Normal','hhh','hjk'],fr= "Distribution of each parameter",ang= "Distribution of each parameter",docu= "",statut= "o",min=1,max=6,val_min='**',val_max='**'), +distributions=SIMP(typ='I',into=[1,2,3,4],fr= "Distribution of each parameter",homo="SansOrdreNiDoublon",ang= "Distribution of each parameter",docu= "",statut= "o",min=1,max=6,val_min='**',val_max='**'), +#distributions=SIMP(typ='I',fr= "Distribution of each parameter",ang= "Distribution of each parameter",docu= "",statut= "o",min=3,max=6,val_min='**',val_max='**'), +#distributions=SIMP(typ='TXM',into=['Independent', 'Normal','hhh','hjk'],fr= "Distribution of each parameter",ang= "Distribution of each parameter",docu= "",statut= "o",min=1,max='**',val_min='**',val_max='**'), dependancy_relationship=SIMP(typ='TXM',fr= "Dependancy relationship for input random parameters",ang= "Dependancy relationship for input random parameters",docu= "",statut= "f",into=['Independent', 'Normal'],min=1,max=1,val_min='**',val_max='**',defaut='Independent'), corr_matrix_filename=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Correlation matrix filename",ang= "Correlation matrix filename",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), size=SIMP(typ='I',fr= "Size of the experimental design",ang= "Size of the experimental design",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), diff --git a/MAP/prefs_MAP.py b/MAP/prefs_MAP.py index 4f62188a..07014f30 100644 --- a/MAP/prefs_MAP.py +++ b/MAP/prefs_MAP.py @@ -38,6 +38,7 @@ encoding='iso-8859-1' path_doc = os.path.join(repIni,'Doc') exec_acrobat = "/usr/bin/xpdf" savedir = os.environ['HOME'] +affiche = "groupe" rep_cata=os.path.dirname(os.path.abspath(__file__)) diff --git a/Openturns_Study/OpenTURNS_Cata_Study_V8.py b/Openturns_Study/OpenTURNS_Cata_Study_V8.py index 49544781..9e43e543 100644 --- a/Openturns_Study/OpenTURNS_Cata_Study_V8.py +++ b/Openturns_Study/OpenTURNS_Cata_Study_V8.py @@ -74,7 +74,7 @@ JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', execmodul = None, regles = ( AU_MOINS_UN ( 'CRITERIA' ), AU_MOINS_UN ( 'MODEL' ), - AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), +# AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), # A_CLASSER ( 'VARIABLE', 'CORRELATION' ), # A_CLASSER ( 'VARIABLE', 'CRITERIA' ), # A_CLASSER ( 'CORRELATION', 'CRITERIA' ), @@ -151,16 +151,19 @@ SIMULATION = PROC ( nom = "SIMULATION", # Nota : les variables de type OPER doivent etre en majuscules ! # Nota : les variables de type OPER doivent etre de premier niveau (pas imbriquees dans un autre type) -VARIABLE2=OPER( nom= "VARIABLE2", +#VARIABLE2=OPER( nom= "VARIABLE2", #DISTRIBUTION = OPER ( nom = "DISTRIBUTION", +VARIABLE2=OPER(nom="VARIABLE2", sd_prod = variable, - op = 68, + #sd_prod = None, + op = None, fr = "Definitions des lois marginales utilisees par les variables d'entree", -NOM=SIMP(statut = "o", typ = "TXM",), + #VARIABLE = FACT (statut='f',max='**', + # NOM=SIMP(statut = "o", typ = "TXM",), -DISTRIBUTION= FACT(statut = "o", +#DISTRIBUTION= FACT(statut = "o", #==== # Type de distribution #==== @@ -189,6 +192,7 @@ DISTRIBUTION= FACT(statut = "o", ), fr = "Choix du type de la loi marginale", ang = "1D marginal distribution", + defaut="Beta", ), #==== @@ -214,6 +218,7 @@ DISTRIBUTION= FACT(statut = "o", val_min = 0., fr = "Parametre R de la loi | R > 0", ang = "R parameter | R > 0", + defaut=1, ), # T > R @@ -223,6 +228,7 @@ DISTRIBUTION= FACT(statut = "o", val_min = 0., fr = "Parametre T de la loi | T > R", ang = "T parameter | T > R", + defaut=2, ), ), # Fin BLOC RT_Parameters @@ -843,9 +849,9 @@ DISTRIBUTION= FACT(statut = "o", ), # Fin BLOC WEIBULL -), # Fin OPER DISTRIBUTION +#), # Fin OPER DISTRIBUTION +#), # Fin OPER DISTRIBUTION ) # Fin OPER DISTRIBUTION -# Ordre Catalogue DISTRIBUTION diff --git a/PSEN_Eficas/PSEN_Cata.py b/PSEN_Eficas/PSEN_Cata.py index cfa08502..2621f9f5 100755 --- a/PSEN_Eficas/PSEN_Cata.py +++ b/PSEN_Eficas/PSEN_Cata.py @@ -30,7 +30,9 @@ class loi ( ASSD ) : pass class variable ( ASSD ) : pass class sd_charge ( ASSD ) : pass class sd_generateur ( ASSD ) : pass -class sd_busbar ( sd_generateur,sd_charge ) : pass +class sd_ligne ( ASSD ) : pass +class sd_transfo ( ASSD ) : pass +#class sd_busbar ( sd_generateur,sd_charge ) : pass import types class Tuple: @@ -108,16 +110,25 @@ MACHARGE = OPER ( nom = "MACHARGE", fr = "Charge", ang = "Load", - ID = SIMP ( statut = 'o', typ = "TXM", fr = "num bus", ang = "num bus",), + ID = SIMP ( statut = 'o', typ = "TXM", fr = "nom charge", ang = "load name",), ) -MONBUSBAR = OPER ( nom = "MONBUSBAR", - sd_prod = sd_busbar, +MALIGNE = OPER ( nom = "MALIGNE", + sd_prod = sd_ligne, UIinfo = {"groupes": ("CACHE")}, op = None, - fr = "Generateur", - ang = "Generator", + fr = "Ligne", + ang = "Line", - ID = SIMP ( statut = 'o', typ = "TXM", fr = "num bus", ang = "num bus",), + ID = SIMP ( statut = 'o', typ = "TXM", fr = "nom ligne", ang = "line name",), +) +MONTRANSFO = OPER ( nom = "MONTRANSFO", + sd_prod = sd_transfo, + UIinfo = {"groupes": ("CACHE")}, + op = None, + fr = "Transformateur", + ang = "Transformer", + + ID = SIMP ( statut = 'o', typ = "TXM", fr = "nom transformateur", ang = "transformer name",), ) @@ -142,8 +153,16 @@ PARAMETRES_PSSE = PROC ( nom = "PARAMETRES_PSSE", into=['RateA','RateB','RateC'], defaut=False, ), + LOCK_TAPS = SIMP ( statut = "o", + typ=bool, + defaut=True, + ), + P_MIN= SIMP ( statut = "o", + typ=bool, + defaut=True, + ), +) -) SIMULATION = PROC ( nom = "SIMULATION", op = None, docu = "", @@ -163,18 +182,86 @@ SIMULATION = PROC ( nom = "SIMULATION", into=[1], ), - STUDY = SIMP ( statut = "o", - typ = "TXM", - into = ( 'N-1', 'Load', 'Wind-1', 'Wind-2', 'PV' ), - max=5, - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), +## STUDY = SIMP ( statut = "o", +## typ = "TXM", +## into = ( 'N-1', 'Load', 'Wind-1', 'Wind-2', 'PV' ), +## max=5, +## fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", +## ang = "Open TURNS library debug level print", +## ), ) +#================================ +# Importation des fichiers csv N-1 +#================================ + +N_1_LINES = PROC( nom="N_1_LINES", + op = None, + docu = "", + fr = "N-1 lignes", + ang = "N-1 lines", + + FileName = SIMP ( statut = "o", + typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',), + fr = "chemin du fichier csv des probabilites des defauts lignes", + ang = "csv file path with probabilities of line outages", + ), + ) + +N_1_TRANSFORMERS = PROC( nom="N_1_TRANSFORMERS", + op = None, + docu = "", + fr = "N-1 transformateurs", + ang = "N-1 transformers", + + FileName = SIMP ( statut = "o", + typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',), + fr = "chemin du fichier csv des probabilites des defauts transformateur", + ang = "csv file path with probabilities of transformer outages", + ), + ) +N_1_GENERATORS = PROC( nom="N_1_GENERATORS", + op = None, + docu = "", + fr = "N-1 generateurs", + ang = "N-1 generators", + + FileName = SIMP ( statut = "o", + typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',), + fr = "chemin du fichier csv des probabilites des defauts generateurs", + ang = "csv file path with probabilities of generator outages", + ), + ) +N_1_LOADS = PROC( nom="N_1_LOADS", + op = None, + docu = "", + fr = "N-1 charges", + ang = "N-1 loads", + + FileName = SIMP ( statut = "o", + typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',), + fr = "chemin du fichier csv des probabilites des defauts charges", + ang = "csv file path with probabilities of load outages", + ), + ) + +#================================ +LINE_LIST = PROC (nom='LINE_LIST', + op = None, + docu = "", + fr = "PN", + ang = "PN", + Values = SIMP ( statut = 'o', + typ = Tuple(2), + max = '**', + fr = "Liste de couples : largeur de classe, hauteur de classe", + ang = "Class bandwidth, class height couple list", + validators=VerifTypeTuple((sd_ligne,'R')), + ), +) #================================ # Definition des LOIS #================================ @@ -190,17 +277,24 @@ DISTRIBUTION = OPER ( nom = "DISTRIBUTION", # Choisir generateur ou charge #==== - TypeMachine = SIMP ( statut='o', typ='TXM', - into = ('charge','vent1','vent2','pv','N-1',), - ), - TypeComposant = SIMP (statut='o', typ='TXM', - into = ('Generateur','Charge'),), - b_gener = BLOC (condition = "TypeComposant == 'Generateur'", - #Generateur = SIMP(statut='o',typ=sd_generateur),), - Generateur = SIMP(statut='o',typ=sd_generateur,max="**", homo="SansOrdreNiDoublon"),), - b_charge = BLOC (condition = "TypeComposant == 'Charge'", - #charge = SIMP(statut='o',typ=sd_charge,max="**", homo="SansOrdreNiDoublon"),), - charge = SIMP(statut='o',typ=sd_charge),), +## TypeMachine = SIMP ( statut='o', typ='TXM', +## into = ('charge','vent1','vent2','pv','N-1',), +## ), + Activated = SIMP ( statut='o', typ=bool, defaut=True), + ComponentType = SIMP (statut='o', typ='TXM', + into = ('Generator','Load','Line','Transformer'),), + b_gener = BLOC (condition = "ComponentType == 'Generator'", + Generator = SIMP(statut='o',typ=sd_generateur,max="**", homo="SansOrdreNiDoublon"),), + b_charge = BLOC (condition = "ComponentType == 'Load'", + Load = SIMP(statut='o',typ=sd_charge,max="**", homo="SansOrdreNiDoublon"),), + b_ligne = BLOC (condition = "ComponentType == 'Line'", + Line = SIMP(statut='o',typ=sd_ligne,max="**", homo="SansOrdreNiDoublon"),), + b_transfo = BLOC (condition = "ComponentType == 'Transformer'", + Transformer = SIMP(statut='o',typ=sd_transfo,max="**", homo="SansOrdreNiDoublon"),), +## b_gener = BLOC (condition = "TypeComposant == 'Generateur'", +## Generateur = SIMP(statut='o',typ=sd_generateur,max="**", homo="SansOrdreNiDoublon"),), +## b_charge = BLOC (condition = "TypeComposant == 'Charge'", +## charge = SIMP(statut='o',typ=sd_charge,max="**", homo="SansOrdreNiDoublon"),), #==== # Type de distribution @@ -491,6 +585,7 @@ DISTRIBUTION = OPER ( nom = "DISTRIBUTION", validators=VerifTypeTuple(('R','R')), ), + ), # Fin BLOC HISTOGRAM @@ -952,19 +1047,14 @@ DIRECTORY = MACRO ( nom = 'DIRECTORY', #sd_prod=None, fichier_ini = 1, - fichier_sav=SIMP(statut="o", typ = ('Fichier', 'Wrapper Files (*.sav);;All Files (*)',),), - dossier_resultat=SIMP(statut="o",typ='Repertoire'), - fichier_lignes=SIMP(statut="o" ,typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),), - fichier_groupes=SIMP(statut="o", typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),), - fichier_parc=SIMP(statut="o" ,typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),), - chemin_psse=SIMP(statut="o",typ='Repertoire'), + sav_file=SIMP(statut="o", typ = ('Fichier', 'Wrapper Files (*.sav);;All Files (*)',),), + results_folder=SIMP(statut="o",typ='Repertoire'), + #lines_file=SIMP(statut="o" ,typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),), + #groups_file=SIMP(statut="o", typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),), + #generationsystem_file=SIMP(statut="o" ,typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),), + PSSE_path=SIMP(statut="o",typ='Repertoire'), ) - - - - - - +Classement_Commandes_Ds_Arbre=('DIRECTORY','DISTRIBUTION','CORRELATION') diff --git a/PSEN_Eficas/prefs_PSEN.py b/PSEN_Eficas/prefs_PSEN.py index e4d94440..4d2dcc26 100755 --- a/PSEN_Eficas/prefs_PSEN.py +++ b/PSEN_Eficas/prefs_PSEN.py @@ -28,7 +28,7 @@ sys.path[:0]=[INSTALLDIR] # lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='fr' +lang='ang' #'fr' # Codage des strings qui accepte les accents (en remplacement de 'ascii') encoding='iso-8859-1' diff --git a/Telemac/Telemac_Cata.py b/Telemac/Telemac_Cata.py index b18f3b7a..6dc02cc4 100644 --- a/Telemac/Telemac_Cata.py +++ b/Telemac/Telemac_Cata.py @@ -1714,7 +1714,8 @@ OUTPUT_FILES = PROC(nom = "OUTPUT_FILES",op = None, "Friction coefficient", "Drift along X (m)", "Drift along Y (m)", "Courant number ", "Supplementary variable N ", "Supplementary variable O ", "Supplementary variable R ", "Supplementary variable Z ", "Maximum elevation", "Time of maximum elevation ", "Maximum velocity", "Time of maximum velocity", "Friction velocity "], - homo="SansOrdreNiDoublon"), + ), + #homo="SansOrdreNiDoublon"), # ------------------------------------ Graphic_Printout_Period = SIMP(statut = 'o', typ = 'I',defaut = 1, diff --git a/Telemac/Telemac_Cata_nouveau.py b/Telemac/Telemac_Cata_nouveau.py index 03a2ab0e..cd623b64 100644 --- a/Telemac/Telemac_Cata_nouveau.py +++ b/Telemac/Telemac_Cata_nouveau.py @@ -72,25 +72,6 @@ Maximum_Number_Of_Iterations_For_Solver = SIMP( statut='o',typ='I', ang= 'Since the algorithms used for solving the propagation step are iterative, the allowed number of iterations should be limited. NOTE: a maximum number of 40 iterations per time step seems to be reasonable.', ), -Initial_Guess_For_H = SIMP( statut='o',typ='I', - defaut=1 , - into =('1=previous', '0=zero', '2=extrapolation'), - fr = 'Tir initial du solveur de letape de propagation. Offre la possibilite de modifier la valeur initiale de DH, accroissement de H, a chaque iteration, dans letape de propagation en utilisant les valeurs finales de cette variable aux pas de temps precedents. Ceci peut permettre daccelerer la vitesse de convergence lors de la resolution du systeme. Trois possibilites sont offertes : 0 : DH = 0. 1 : DH = DHn (valeur finale de DH au pas de temps precedent), 2 : DH = 2DHn - DHn-1 (extrapolation).', - ang= 'Initial guess for the solver in the propagation step. Makes it possible to modify the initial value of C, upon each iteration in the propagation step, by using the ultimate values this variable had in the earlier time steps. Thus, the convergence can be speeded up when the system is being solved. 3 options are available: 0: DH = 0 1: DH = DHn (ultimate DH value in the next previous time step) 2: DH = 2DHn - DHn-1 (extrapolation)', - ), - -Maximum_Number_Of_Iterations_For_K_And_Epsilon = SIMP( statut='o',typ='I', - defaut=50 , - fr = 'Fixe le nombre maximum diterations accepte lors de la resolution du systeme diffusion-termes sources du modele k-epsilon.', - ang= 'Sets the maximum number of iterations that are acceptable when solving the diffusion source-terms step of the k-epsilon model.', - ), - -Law_Of_Bottom_Friction = SIMP( statut='o',typ='I', - defaut=0 , - into =('0="NO FRICTION"', '1="HAALAND"', '2="CHEZY"', '3="STRICKLER"', '4="MANNING"', '5="NIKURADSE"'), - fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur le fond. Les lois possibles sont les suivantes (cf. Note de principe) : - 0 : pas de frottement sur le fond, 1 : formule de Haaland 2 : formule de Chezy 3 : formule de STRICKLER 4 : formule de MANNING 5 : formule de NIKURADSE ', - ang= 'Selects the type of formulation used for the bottom friction. The possible laws are as follows (refer to the Principle note): 0: no friction against bottom, 1: Haalands formula 2: CHEZYs formula 3: STRICKLERs formula 4: MANNINGs formula 5: NIKURADSEs formula ', - ), Maximum_Number_Of_Iterations_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='I', defaut=60 , @@ -105,35 +86,7 @@ Solver_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='I', ang= '1 : conjugate gradient 2 : conjugate gradient 3 : conjugate gradient on a normal equation 4 : minimum error 5 : squared conjugate gradient 6 : cgstab 7 : gmres (see option for the solver for tracer diffusion) 8 : direct', ), -Propagation_Option = SIMP( statut='o',typ='I', - defaut=3 , - fr = 'Non active pour linstant.', - ang= 'Not yet implemented.', - ), -Free_Integer_17 = SIMP( statut='o',typ='I', - defaut=3 , - fr = ' ', - ang= ' ', - ), - -Free_Integer_18 = SIMP( statut='o',typ='I', - defaut=3 , - fr = ' ', - ang= ' ', - ), - -Free_Integer_20 = SIMP( statut='o',typ='I', - defaut=3 , - fr = ' ', - ang= ' ', - ), - -Number_Of_Sub_iterations_For_Non_linearities = SIMP( statut='o',typ='I', - defaut=1 , - fr = 'Permet de reactualiser, pour un meme pas de temps, les champs convecteur et propagateur au cours de plusieurs sous-iterations. A la premiere sous-iteration, ces champs sont donnes par C et le champ de vitesses au pas de temps precedent. Aux iterations suivantes, ils sont pris egaux au champ de vitesse obtenu a la fin de la sous-iteration precedente. Cette technique permet dameliorer la prise en compte des non linearites.', - ang= 'Used for updating, within one time step, the advection and propagation field. upon the first sub-iteration, these fields are given by C and the velocity field in the previous time step. At subsequent iterations, the results of the previous sub-iteration is used to update the advection and propagation field. The non-linearities can be taken into account through this technique.', - ), Number_Of_First_Time_Step_For_Graphic_Printouts = SIMP( statut='o',typ='I', defaut=0 , @@ -154,26 +107,7 @@ Preconditioning_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='I', ang= 'Preconditioning of the linear system in the tracer diffusion step. Same definition and possibilities as for the keyword PRECONDITIONING 0: no preconditioning 2: diagonal preconditioning 3: diagonal preconditioning with the condensed matrix 7: Crouts preconditioning per element.', ), -Solver_For_K_epsilon_Model = SIMP( statut='o',typ='I', - defaut=1 , - into =('1="conjugate gradient"', '2="conjugate residuals"', '3="conjugate gradient on normal equation"', '4="minimum error"', '5="conjugate gradient squared"', '6="conjugate gradient squared stabilised (cgstab)"', '7="gmres (see option for the solver for k-epsilon model)"', '8="direct"'), - fr = 'Permet de choisir le solveur utilise pour la resolution du systeme du modele k-epsilon : 1 : gradient conjugue 2 : residu conjugue 3 : gradient conjugue sur equation normale 4 : erreur minimale 5 : gradient conjugue carre 6 : gradient conjugue carre stabilise (cgstab) 7 : gmres (voir aussi option du solveur pour le modele k-epsilon) 8 : direct', - ang= 'Makes it possible to select the solver used for solving the system of the k-epsilon model. 1: conjugate gradient 2: conjugate residuals 3: conjugate gradient on normal equation 4: minimum error 5: conjugate gradient squared 6: conjugate gradient squared stabilised (cgstab) 7: gmres (see option for the solver for k-epsilon model) 8: direct', - ), - -Preconditioning_For_K_epsilon_Model = SIMP( statut='o',typ='I', - defaut=2 , - into =('2="diagonal"', '0="no preconditioning"', '3="diagonal condensed"', '7="crout"', '14="diagonal and crout"', '21="diagonal condensed and crout"'), - fr = 'Permet de preconditionner le systeme relatif au modele k-epsilon 0 : pas de preconditionnement, 2 : preconditionnement diagonal. 3 : preconditionnement diagonal avec la matrice condensee. 7 : preconditionnement de Crout par element.', - ang= 'Preconditioning of the linear system in the diffusion step of the k-epsilon model. 0: no preconditioning 2: diagonal preconditioning 3: diagonal preconditioning with the condensed matrix 7: Crouts preconditioning per element', - ), -Turbulence_Model_For_Solid_Boundaries = SIMP( statut='o',typ='I', - defaut=2 , - into =('1=smooth', '2=rough'), - fr = 'Permet de choisir le regime de turbulence aux parois 1 : regime turbulent lisse. 2 : regime turbulent rugueux.', - ang= 'Provided for selecting the type of friction on the walls 1: smooth 2: rough', - ), Number_Of_Drogues = SIMP( statut='o',typ='I', defaut=0 , @@ -193,11 +127,6 @@ Number_Of_Lagrangian_Drifts = SIMP( statut='o',typ='I', ang= 'Provided for performing several computations of lagrangian drifts starting at different times. Add A and G in the VARIABLES FOR GRAPHIC PRINTOUTS key-word', ), -Bottom_Smoothings = SIMP( statut='o',typ='I', - defaut=0 , - fr = 'Nombre de lissages effectues sur la topographie. chaque lissage, effectue a laide dune matrice de masse, est conservatif. Utilise lorsque les donnees de bathymetrie donnent des resultats trop irreguliers apres interpolation.', - ang= 'Number of smoothings on bottom topography. each smoothing is mass conservative. to be used when interpolation of bathymetry on the mesh gives very rough results.', - ), Solver_Option_For_Tracers_Diffusion = SIMP( statut='o',typ='I', defaut=2 , @@ -205,41 +134,7 @@ Solver_Option_For_Tracers_Diffusion = SIMP( statut='o',typ='I', ang= 'WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE TRY VALUES BETWEEN 2 AND 15', ), -Option_For_The_Solver_For_K_epsilon_Model = SIMP( statut='o',typ='I', - defaut=2 , - fr = 'si le solveur est GMRES (7) le mot cle est la dimension de lespace de KRILOV (valeurs conseillees entre 2 et 15)', - ang= 'WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE TRY VALUES BETWEEN 2 AND 15', - ), -Zero = SIMP( statut='o',typ='R', - defaut=1e-12 , - fr = 'Non active pour linstant.', - ang= 'Not yet implemented', - ), - -Friction_Coefficient = SIMP( statut='o',typ='R', - defaut=50.0 , - fr = 'Fixe la valeur du coefficient de frottement pour la formulation choisie. Attention, la signification de ce chiffre varie suivant la formule choisie : 1 : coefficient lineaire 2 : coefficient de Chezy 3 : coefficient de Strickler 4 : coefficient de Manning 5 : hauteur de rugosite de Nikuradse', - ang= 'Sets the value of the friction coefficient for the selected formulation. It is noteworthy that the meaning of this figure changes according to the selected formula (Chezy, Strickler, etc.) : 1 : linear coefficient 2 : Chezy coefficient 3 : Strickler coefficient 4 : Manning coefficient 5 : Nikuradse grain size', - ), - -Coefficient_Of_Wind_Influence = SIMP( statut='o',typ='R', - defaut=0.0 , - fr = 'Fixe la valeur du coefficient dentrainement du vent (cf. Note de principe).', - ang= 'Sets the value of the wind driving coefficient. Refer to principle note.', - ), - -Wind_Velocity_Along_X = SIMP( statut='o',typ='R', - defaut=0.0 , - fr = 'Composante de la vitesse du vent suivant laxe des x (m/s).', - ang= 'Wind velocity, component along x axis (m/s).', - ), - -Wind_Velocity_Along_Y = SIMP( statut='o',typ='R', - defaut=0.0 , - fr = 'Composante de la vitesse du vent suivant laxe des y (m/s).', - ang= 'Wind velocity, component along y axis (m/s).', - ), Initial_Values_Of_Tracers = SIMP( statut='o',typ='R', defaut=(0.0, 0.0) , @@ -272,72 +167,8 @@ Velocity_Diffusivity = SIMP( statut='o',typ='R', ang= 'Sets, in an even way for the whole domain, the value of the coefficient of global (dynamic+turbulent) viscosity. this value may have a significant effect both on the shapes and sizes of recirculation zones.', ), -Turbulence_Model = SIMP( statut='o',typ='I', - defaut=1 , - into =('1="CONSTANT VISCOSITY"', '2="ELDER"', '3="K-EPSILON MODEL"', '4="SMAGORINSKI"'), - fr = '3 choix sont possibles actuellement : viscosite constante (1) modele de Elder (2) ou modele k-epsilon (3). Attention : si on choisit loption 1 il ne faut pas oublier dajuster la valeur du mot-cle COEFFICIENT DE DIFFUSION DES VITESSES. si on choisit loption 2 il ne faut pas oublier dajuster les deux valeurs du mot-cle : COEFFICIENTS ADIMENSIONNELS DE DISPERSION Si on choisit loption 3, ce meme parametre doit retrouver sa vraie valeur physique car elle est utilisee comme telle dans le modele de turbulence', - ang= 'The current alternatives are as follows: constant viscosity (1) elders model (2) or k-epsilon model (3). NOTE: when option 1 is chosen, it should be kept in mind that the value of the keyword VELOCITY DIFFUSIVITY has to be ajusted. When option 2 is chosen, the two values of key-word : NON-DIMENSIONAL DISPERSION COEFFICIENTS are used When option 3 is chosen, this parameter should recover its true physical value, since it is used as such in the turbulence model.', - ), - -Threshold_Depth_For_Receding_Procedure = SIMP( statut='o',typ='R', - defaut=0.0 , - fr = 'Si > 0., declenche la procedure de ressuyage qui evite le franchissement parasite des digues mal discretisees', - ang= 'If > 0., will trigger the receding procedure that avoids overwhelming of dykes which are too loosely discretised ', - ), - -Implicitation_For_Depth = SIMP( statut='o',typ='R', - defaut=0.55 , - fr = 'Fixe la valeur du coefficient dimplicitation sur C dans letape de propagation (cf. Note de principe). Les valeurs inferieures a 0.5 donnent un schema instable.', - ang= 'Sets the value of the implicitation coefficient for C (the celerity of waves) in the propagation step (refer to principle note). Values below 0.5 result in an unstable scheme.', - ), - -Implicitation_For_Velocity = SIMP( statut='o',typ='R', - defaut=0.55 , - fr = 'Fixe la valeur du coefficient dimplicitation sur la vitesse dans letape de propagation (cf. Note de principe). Les valeurs inferieures a 0.5 donnent un schema instable.', - ang= 'Sets the value of the implicitation coefficient for velocity in the propagation step (refer to principle note). Values below 0.5 result in an unstable condition.', - ), - -Implicitation_For_Diffusion_Of_Velocity = SIMP( statut='o',typ='R', - defaut=1.0 , - fr = 'Fixe la valeur du coefficient dimplicitation sur les termes de diffusion des vitesses', - ang= 'Sets the value of the implicitation coefficient for the diffusion of velocity', - ), - -Mass_lumping_On_H = SIMP( statut='o',typ='R', - defaut=0.0 , - fr = 'TELEMAC offre la possibilite deffectuer du mass-lumping sur H ou U. Ceci revient a ramener tout ou partie (suivant la valeur de ce coefficient) des matrices AM1 (h) ou AM2 (U) et AM3 (V) sur leur diagonale. Cette technique permet daccelerer le code dans des proportions tres importantes et de le rendre egalement beaucoup plus stable. Cependant les solutions obtenues se trouvent lissees. Ce parametre fixe le taux de mass-lumping effectue sur h.', - ang= 'TELEMAC provides an opportunity to carry out mass-lumping either on C,H or on the velocity. This is equivalent to bringing the matrices AM1 (h) or AM2 (U) and AM3 (V) wholly or partly, back onto their diagonal. Thanks to that technique, the code can be speeded up to a quite significant extent and it can also be made much more stable. The resulting solutions, however, become artificially smoothed. This parameter sets the extent of mass-lumping that is performed on h.', - ), - -Mass_lumping_On_Velocity = SIMP( statut='o',typ='R', - defaut=0.0 , - fr = 'Fixe le taux de mass-lumping effectue sur la vitesse.', - ang= 'Sets the amount of mass-lumping that is performed on the velocity.', - ), - -Minimum_Value_Of_Depth = SIMP( statut='o',typ='R', - defaut=0.0 , - fr = 'Fixe la valeur minimale de a lorsque loption CLIPPING DE H est activee.', - ang= 'Sets the minimum H value when option H CLIPPING is implemented. Not fully implemented.', - ), - -Time_Step_Reduction_For_K_epsilon_Model = SIMP( statut='o',typ='R', - defaut=1.0 , - fr = 'Coefficient reducteur du pas de temps pour le modele k-epsilon (qui est normalement identique a celui du systeme hydrodynamique). Utilisation deconseillee', - ang= 'Time step reduction coefficient for k-epsilon model (which is normally same the same as that of the hydrodynamic system) Not recommended for use.', - ), -Accuracy_Of_K = SIMP( statut='o',typ='R', - defaut=1e-09 , - fr = 'Fixe la precision demandee sur k pour le test darret dans letape de diffusion et termes sources du modele k-epsilon.', - ang= 'Sets the required accuracy for computing k in the diffusion and source terms step of the k-epsilon model.', - ), -Accuracy_Of_Epsilon = SIMP( statut='o',typ='R', - defaut=1e-09 , - fr = 'Fixe la precision demandee sur epsilon pour le test darret dans letape de diffusion et termes sources de k et epsilon.', - ang= 'Sets the required accuracy for computing epsilon in the diffusion and source-terms step of the k-epsilon model.', - ), Mean_Depth_For_Linearization = SIMP( statut='o',typ='R', defaut=0.0 , @@ -345,11 +176,6 @@ Mean_Depth_For_Linearization = SIMP( statut='o',typ='R', ang= 'Sets the water depth about which the linearization is made when the LINEARIZED PROPAGATION OPTION is selected.', ), -Roughness_Coefficient_Of_Boundaries = SIMP( statut='o',typ='R', - defaut=100.0 , - fr = 'Fixe la valeur du coefficient de frottement sur les frontieres solides avec un regime turbulent rugueux sur les bords du domaine. meme convention que pour le coefficient de frottement: 1 : non programme 2 : coefficient de Chezy 3 : coefficient de Strickler 4 : coefficient de Manning 5 : hauteur de rugosite de Nikuradse', - ang= 'Sets the value of the friction coefficient of the solid boundary with the bed roughness option. Same meaning than friction coefficient', - ), Prescribed_Velocities = SIMP( statut='o',typ='R', max=2 , @@ -363,23 +189,7 @@ Prescribed_Tracers_Values = SIMP( statut='o',typ='R', ang= 'Tracer values prescribed at the inflow boundaries. Read the usermanual section dealing with the boundary conditions', ), -Abscissae_Of_Sources = SIMP( statut='o',typ='R', - max=2 , - fr = 'Valeurs des abscisses des sources de debit et de traceur.', - ang= 'abscissae of sources of flowrate and/or tracer', - ), - -Ordinates_Of_Sources = SIMP( statut='o',typ='R', - max=2 , - fr = 'Valeurs des ordonnees des sources de debit et de traceur.', - ang= 'ordinates of sources of flowrate and/or tracer', - ), -Water_Discharge_Of_Sources = SIMP( statut='o',typ='R', - max=2 , - fr = 'Valeurs des debits des sources.', - ang= 'values of water discharge of sources', - ), Values_Of_The_Tracers_At_The_Sources = SIMP( statut='o',typ='R', max=2 , @@ -387,17 +197,6 @@ Values_Of_The_Tracers_At_The_Sources = SIMP( statut='o',typ='R', ang= 'Values of the tracers at the sources', ), -Velocities_Of_The_Sources_Along_X = SIMP( statut='o',typ='R', - max=2 , - fr = 'Vitesses du courant a chacune des sources. Si elles ne sont pas donnees, on considere que la vitesse est celle du courant', - ang= 'Velocities at the sources. If they are not given, the velocity of the flow at this location is taken', - ), - -Velocities_Of_The_Sources_Along_Y = SIMP( statut='o',typ='R', - max=2 , - fr = 'Vitesses du courant a chacune des sources', - ang= 'Velocities at the sources', - ), Upwind_Coefficients = SIMP( statut='o',typ='R', defaut=(1.0, 1.0, 1.0, 1) , @@ -406,12 +205,6 @@ Upwind_Coefficients = SIMP( statut='o',typ='R', ang= 'Upwind coefficients used by the S.U.P.G. method These coefficients are applied respectively to 1) U and V 2) H or C 3) T 4) K and epsilon ', ), -North = SIMP( statut='o',typ='R', - defaut=0.0 , - fr = 'Direction du nord en degres, par rapport a laxe des y dans le sens trigonometrique. Notation decimale 10.5 signifie 10 degres et trente minutes.', - ang= 'Angle of the North with the y axis, in degrees. 10.5 means 10 degrees and 30 minutes.', - ), - Steering_File = SIMP( statut='o',typ='TXM', fr = 'Nom du fichier contenant les parametres du calcul a realiser.', ang= 'Name of the file containing the parameters of the computation Written by the user.', @@ -433,25 +226,6 @@ Account_Number = SIMP( statut='o',typ='TXM', ang= 'Account number to which the cost of computation shall be charged.', ), -Binary_Data_File_1 = SIMP( statut='o',typ='TXM', - fr = 'Fichier de donnees code en binaire mis a la disposition de lutilisateur. Les donnees de ce fichier seront a lire sur le canal 24.', - ang= 'Binary-coded data file made available to the user. The data in this file shall be read on channel 24.', - ), - -Binary_Data_File_2 = SIMP( statut='o',typ='TXM', - fr = 'Fichier de donnees code en binaire mis a la disposition de lutilisateur. Les donnees de ce fichier seront a lire sur le canal 25.', - ang= 'Binary-coded data file made available to the user. The data in this file shall be read on channel 25.', - ), - -Formatted_Data_File_1 = SIMP( statut='o',typ='TXM', - fr = 'Fichier de donnees formate mis a la disposition de lutilisateur. Les donnees de ce fichier seront a lire sur le canal 26.', - ang= 'Formatted data file made available to the user. The data in this file shall be read on channel 26.', - ), - -Formatted_Data_File_2 = SIMP( statut='o',typ='TXM', - fr = 'Fichier de donnees formate mis a la disposition de lutilisateur. Les donnees de ce fichier seront a lire sur le canal 27.', - ang= 'Formatted data file made available to the user. The data in this file shall be read on channel 27.', - ), Destination = SIMP( statut='o',typ='TXM', defaut='CHE43A' , @@ -471,473 +245,11 @@ Names_Of_Clandestine_Variables = SIMP( statut='o',typ='TXM', ang= 'Names of variables that are not used by TELEMAC, but should be preserved when it is being run. This keyword may be used, for instance when it if TELEMAC is coupled with another code. Thus, the clandestine variables belong to the other code and are given back in the results file.', ), -Formatted_Results_File = SIMP( statut='o',typ='TXM', - fr = 'Fichier de resultats formate mis a la disposition de lutilisateur. Les resultats a placer dans ce fichier seront a ecrire sur le canal 29.', - ang= 'Formatted file of results made available to the user. The results to be entered into this file shall be written on channel 29.', - ), - -Priority = SIMP( statut='o',typ='TXM', - defaut='JOUR' , - fr = 'Utilise par la procedure de lancement sur station de travail', - ang= 'Utilise par la procedure de lancement sur station de travail', - ), - -Computation_Continued = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'Determine si le calcul en cours est independant de tout autre resultat ou est une reprise effectuee a partir du resultat dun calcul precedent. NON : Il sagit du premier passage pour ce calcul et il est necessaire de definir un jeu complet de conditions initiales OUI : Il sagit dune reprise de calcul : les conditions initiales sont constituees par le dernier pas de temps du FICHIER DU CALCUL PRECEDENT du fichier des parametres utilise pour soumettre le calcul. Par contre, lensemble des donnees du fichier des parametres peuvent etre redefinies , ce qui offre la possibilite de changer par exemple, le pas de temps, le modele de turbulence, le frottement, dajouter ou retirer un traceur ... De meme, il est necessaire de definir des conditions aux limites (sous-programme BORD ou valeurs placees dans le fichier des parametres), qui peuvent egalement etre modifiees.', - ang= 'Determines whether the computation under way is independent result or is following an earlier result. NO: It is the first run for this computation and a whole set of initial conditions should be defined. YES: It follows a former computation: the initial conditions consist in the last time step of the PREVIOUS COMPUTATION FILE in the steering file used for submitting the computation. All the data from the steering file may be defined once again, which provides an opportunity to change, for example, the time step, the turbulence model, the friction, to add or remove a tracer... It is also possible to define new boundary conditions.', - ), - -Diffusion_Of_Tracers = SIMP( statut='o',typ='bool', - defaut=True , - fr = 'Prise en compte ou non de la diffusion du traceur passif.', - ang= 'The diffusion of the passive tracer is taken into account or ignored.', - ), - -Listing_Printout = SIMP( statut='o',typ='bool', - defaut=True , - fr = 'Sortie des resultats sur support papier. Si lon met NON le listing ne contient que lentete et la mention FIN NORMALE DU PROGRAMME Commande a eviter', - ang= 'Result printout on hard copy. When NO is selected, the listing only includes the heading and the phrase "NORMAL END OF PROGRAM" In addition, the options MASS BALANCE and VALIDATION are inhibited. Not recommended for use.', - ), - -Diffusion_Of_Velocity = SIMP( statut='o',typ='bool', - defaut=True , - fr = 'Permet de decider si lon prend ou non en compte la diffusion des vitesses.', - ang= 'Makes it possible to decide whether the diffusion of velocity (i.e. viscosity) is taken into account or not.', - ), - -Advection = SIMP( statut='o',typ='bool', - defaut=True , - fr = 'Prise en compte ou non des termes de convection. En cas de reponse positive, on peut encore supprimer certains termes de convection avec les mots-cles CONVECTION DE ...', - ang= 'Are the advection terms taken into account or not? If YES, some advection terms can still be deleted using the keywords -ADVECTION OF ..-', - ), - -Advection_Of_U_And_V = SIMP( statut='o',typ='bool', - defaut=True , - fr = 'Prise en compte ou non de la convection de U et V.', - ang= 'The advection of U and V is taken into account or ignored.', - ), - -Advection_Of_K_And_Epsilon = SIMP( statut='o',typ='bool', - defaut=True , - fr = 'Prise en compte ou non de la convection de k et epsilon.', - ang= 'The k and epsilon advection is taken into account or ignored.', - ), - -Propagation = SIMP( statut='o',typ='bool', - defaut=True , - fr = 'Prise en compte ou non de la propagation de la vitesse et de la hauteur deau. La diffusion etant contenue dans cette etape sera supprimee aussi.', - ang= 'Determines whether the propagation step is taken into account or not. The diffusion being included in that step will be deleted as well.', - ), - -Coriolis = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'Prise en compte ou non de la force de Coriolis.', - ang= 'The Coriolis force is taken into account or ignored.', - ), - -Mass_balance = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'Determine si lon effectue ou non le bilan de masse sur le domaine. Cette procedure calcule a chaque pas de temps : - les flux aux entrees et sorties du domaine, - le flux global a travers lensemble des parois du domaine (liquides ou solides) - lerreur relative sur la masse pour ce pas de temps. En fin de listing, on trouve lerreur relative sur la masse pour lensemble du calcul. Il ne sagit que dun calcul indicatif car il nexiste pas dexpression compatible du debit en formulation c,u,v.', - ang= 'Determines whether a check of the mass-balance over the domain is mader or not. This procedures computes the following at each time step: the domain inflows and outflows, the overall flow across all the boundaries, the relative error in the mass for that time step. The relative error in the mass over the whole computation can be found at the end of the listing.', - ), - -H_Clipping = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'Determine si lon desire ou non limiter par valeur inferieure la hauteur deau H (dans le cas des bancs decouvrants par exemple).', - ang= 'Determines whether limiting the water depth H by a lower value desirable or not. (for instance in the case of tidal flats) This key-word may have an influence on mass conservation since the truncation of depth is equivalent to adding mass.', - ), - -Spherical_Coordinates = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'Choix des coordonnees spheriques pour la realisation du calcul ( pour les grands domaines de calcul). Attention : cette option est etroitement liee au maillage qui doit avoir ete saisi sur une carte marine en projection de Mercator. Il faut de plus relever sur la carte la LATITUDE DU POINT ORIGINE (autre mot-cle) qui correspond dans le maillage a lordonnee y = 0.', - ang= 'Selection of spherical coordinates to perform the computation (for large computation domains). Warning: this option is closely related to the mesh that should have been entered onto a nautical chart drawn as per Mercator projection The LATITUDE OF ORIGIN POINT (another keyword), which corresponds to ordinate y=0 in the mesh, must moreover be given.', - ), - -Validation = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'Option utilisee principalement pour le dossier de validation. Le fichier des resultats du calcul precedent est alors considere comme une reference a laquelle on va comparer le calcul. La comparaison est effectuee par le sous-programme VALIDA qui peut etre une comparaison avec une solution exacte par exemple.', - ang= 'This option is primarily used for the validation documents. The PREVIOUS COMPUTATION FILE is then considered as a reference which the computation is going to be compared with. The comparison is made by the subroutine VALIDA, which can be modified as to so as to include, for example,a comparison with an exact solution.', - ), - -Information_About_K_epsilon_Model = SIMP( statut='o',typ='bool', - defaut=True , - fr = 'Donne le nombre diterations du solveur de letape de diffusion et termes sources du modele k-epsilon.', - ang= 'Gives the number of iterations of the solver in the diffusion and source terms step of the k-epsilon model.', - ), - -Tidal_Flats = SIMP( statut='o',typ='bool', - defaut=True , - fr = 'permet de supprimer les tests sur les bancs decouvrants, dans les cas ou lon est certain quil ny en aura pas. En cas de doute : oui', - ang= 'When no, the specific treatments for tidal flats are by-passed. This spares time, but of course you must be sure that you have no tidal flats', - ), - -Elements_Masked_By_User = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'SI OUI REMPLIR LE SOUS-PROGRAMME MASKOB', - ang= 'IF YES REWRITE SUBROUTINE MASKOB', - ), - -Density_Effects = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'PRISE EN COMPTE DU GRADIENT HORIZONTAL DE DENSITE LE TRACEUR EST ALORS LA SALINITE', - ang= 'THE HORIZONTAL GRADIENT OF DENSITY IS TAKEN INTO ACCOUNT THE TRACER IS THEN THE SALINITY', - ), - -Option_For_The_Treatment_Of_Tidal_Flats = SIMP( statut='o',typ='I', - defaut=1 , - fr = 'Utilise si BANCS DECOUVRANTS est vrai 1 : EQUATIONS RESOLUES PARTOUT AVEC CORRECTION SUR LES BANCS DECOUVRANTS 2 : GEL DES ELEMENTS DECOUVRANTS 3 : COMME 1 MAIS AVEC POROSITE (METHODE DEFINA)', - ang= 'Used if TIDAL FLATS is true 1 : EQUATIONS SOLVED EVERYWHERE WITH CORRECTION ON TIDAL FLATS 2 : DRY ELEMENTS FROZEN 3 : LIKE 1 BUT WITH POROSITY (DEFINA METHOD)', - ), - -Supg_Option = SIMP( statut='o',typ='I', - defaut=(2, 2, 2, 2) , - max=4 , - fr = '0:pas de decentrement SUPG 1:SUPG classique 2:SUPG modifiee ces coefficients sont respectivement appliques a 1) U et V 2) H 3) T 4) K ET EPSILON ', - ang= '0:no upwinding 1: classical SUPG 2:modified SUPG These coefficients are applied respectively to 1) U et V 2) H 3) T 4) K and EPSILON ', - ), - -Initial_Guess_For_U = SIMP( statut='o',typ='I', - defaut=1 , - into =('0=zero', '1=previous', '2=extrapolation'), - fr = 'Tir initial du solveur de letape de propagation. Offre la possibilite de modifier la valeur initiale de U, a chaque iteration, dans letape de propagation en utilisant les valeurs finales de cette variable aux pas de temps precedents. Ceci peut permettre daccelerer la vitesse de convergence lors de la resolution du systeme. Trois possibilites sont offertes : 0 : U = 0 1 : U = U(n) 2 : U = 2 U(n)- U(n-1) (extrapolation)', - ang= 'Initial guess for the solver in the propagation step. Makes it possible to modify the initial value of U, upon each iteration in the propagation step, by using the ultimate values this variable had in the earlier time steps. Thus, the convergence can be speeded up when the system is being solved. 3 options are available: 0 : U = 0 1 : U = U(n) 2 : U = 2 U(n)- U(n-1) (extrapolation)', - ), - -Water_Density = SIMP( statut='o',typ='R', - defaut=1000.0 , - fr = 'Fixe la valeur de la masse volumique de leau.', - ang= 'set the value of water density', - ), - -Latitude_Of_Origin_Point = SIMP( statut='o',typ='R', - defaut=48.0 , - fr = 'Determine lorigine utilisee pour le calcul de latitudes lorsque lon effectue un calcul en coordonnees spheriques.', - ang= 'Determines the origin used for computing latitudes when a computation is made in spherical coordinates. this latitude is in particular used to compute the Coriolis force. In cartesian coordinates, Coriolis coefficient is considered constant.', - ), - -Mean_Temperature = SIMP( statut='o',typ='R', - defaut=20.0 , - fr = 'TEMPERATURE DE REFERENCE POUR LE CALCUL DES EFFETS DE DENSITE A UTILISER AVEC LE MOT-CLE "EFFETS DE DENSITE"', - ang= 'REFERENCE TEMPERATURE FOR DENSITY EFFECTS TO BE USED WITH THE KEY-WORD "DENSITY EFFECTS"', - ), - -Gravity_Acceleration = SIMP( statut='o',typ='R', - defaut=9.81 , - fr = 'Fixe la valeur de lacceleration de la pesanteur.', - ang= 'Set the value of the acceleration due to gravity.', - ), - -Coriolis_Coefficient = SIMP( statut='o',typ='R', - defaut=0.0 , - fr = 'Fixe la valeur du coefficient de la force de Coriolis. Celui-ci doit etre calcule en fonction de la latitude l par la formule FCOR = 2w sin(l) , w etant la vitesse de rotation de la terre. w = 7.27 10-5 rad/s Les composantes de la force de Coriolis sont alors : FU = FCOR x V FV = - FCOR x U', - ang= 'Sets the value of the Coriolis force coefficient, in cartesian coordinates. This coefficient, denoted FCOR in the code, should be equal to 2 w sin(l)d where w denotes the earth angular speed of rotation and l the latitude. w = 7.27 10-5 rad/sec The Coriolis force components are then: FU = FCOR x V, FV = -FCOR x U In spherical coordinates, the latitudes are known', - ), - -Discretizations_In_Space = SIMP( statut='o',typ='I', - defaut=(11, 11, 11, 11) , - max=4 , - fr = 'Choix de la discretisation pour chaque variable ces coefficients sont respectivement appliques a 1) U et V 2) H 3) T 4) K ET EPSILON (NON PROGRAMME) 11 : lineaire 12 : quasi-bulle 13 : quadratique', - ang= 'Choice of space discretisation for every variable These coefficients are applied respectively to 1) U and V 2) H 3) T 4) K and EPSILON (NOT IMPLEMENTED) 11: linear 12: quasi-bubble 13: quadratic', - ), - -Non_dimensional_Dispersion_Coefficients = SIMP( statut='o',typ='R', - defaut=(6.0, 0.6) , - max=2 , - fr = 'coefficients longitudinal et transversal dans la formule de Elder. Utilises uniquement avec le modele de turbulence 2', - ang= 'Longitudinal and transversal coefficients in elder s formula. Used only with turbulence model number 2', - ), -Original_Date_Of_Time = SIMP( statut='o',typ='I', - defaut=(1900, 1, 1) , - max=3 , - fr = 'Permet de fixer la date dorigine des temps du modele lors de la prise en compte de la force generatrice de la maree.', - ang= 'Give the date of the time origin of the model when taking into account the tide generating force.', - ), -Original_Hour_Of_Time = SIMP( statut='o',typ='I', - defaut=(0, 0, 0) , - max=3 , - fr = 'Permet de fixer lheure dorigine des temps du modele lors de la prise en compte de la force generatrice de la maree.', - ang= 'Give the time of the time origin of the model when taking into account of the tide generator force.', - ), -Longitude_Of_Origin_Point = SIMP( statut='o',typ='R', - defaut=0.0 , - fr = 'Fixe la valeur de la longitude du point origine du modele, lors de lutilisation de la force generatrice de la maree.', - ang= 'Give the value of the longitude of the origin point of the model, when taking into account of the tide generator force.', - ), -Mass_lumping_On_Tracers = SIMP( statut='o',typ='R', - defaut=0.0 , - fr = 'Fixe le taux de mass-lumping effectue sur le traceur.', - ang= 'Sets the amount of mass-lumping that is performed on the tracer.', - ), -Initial_Time_Set_To_Zero = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'Remet le temps a zero en cas de suite de calcul', - ang= 'Initial time set to zero in case of restart', - ), - -Matrix_vector_Product = SIMP( statut='o',typ='I', - defaut=1 , - fr = '1 : classique 2 : frontal attention, avec 2, il faut une numerotation speciale des points', - ang= '1 : classic 2 : frontal beware, with option 2, a special numbering of points is required', - ), - -Control_Sections = SIMP( statut='o',typ='I', - max=2 , - fr = 'Couples de points (numeros globaux dans le maillage) entre lesquels les debits instantanes et cumules seront donnes.', - ang= 'Couples of points (global numbers in the mesh) defining sections where the instantaneous and cumulated discharges will be given', - ), - -Number_Of_Weirs = SIMP( statut='o',typ='I', - defaut=0 , - fr = 'Nombre de seuils qui seront traites par des conditions aux limites. Ces seuils doivent etre decrits comme des frontieres du domaine de calcul, et leurs caracteristiques sont donnees dans le fichier de donnees des seuils (voir la documentation ecrite)', - ang= 'Number of weirs that will be treated by boundary conditions. They must be described as boundaries of the domain and their features are given in the weir data file (see written documentation)', - ), - -Number_Of_Culverts = SIMP( statut='o',typ='I', - defaut=0 , - fr = 'Nombre de siphons traites comme des termes sources ou puits. Ces siphons doivent etre decrits comme des sources dans le fichier cas. Leurs caracteristiques sont donnees dans le fichier de donnees des siphons (voir la documentation ecrite)', - ang= 'Number of culverts treated as source terms. They must be described as sources in the domain and their features are given in the culvert data file (see written documentation)', - ), - -Option_For_Liquid_Boundaries = SIMP( statut='o',typ='I', - max=2 , - fr = 'On donne 1 entier par frontiere liquide 1 : conditions aux limites classiques 2 : methode de Thompson avec calcul de caracteristiques', - ang= 'One integer per liquid boundary is given 1 : classical boundary conditions 2 : Thompson method based on characteristics', - ), - -C_u_Preconditioning = SIMP( statut='o',typ='bool', - defaut=True , - fr = 'Changement de variable de H en C dans le systeme lineaire final', - ang= 'Change of variable from H to C in the final linear system', - ), - -Variable_Time_step = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'Pas de temps variable pour avoir un nombre de courant souhaite', - ang= 'Variable time-step to get a given Courant number', - ), - -Treatment_Of_The_Linear_System = SIMP( statut='o',typ='I', - defaut=1 , - into =('1="coupled"', '2="Wave equation"'), - fr = '1 : Traitement couple 2 : equation d onde', - ang= '1 : Coupled 2 : wave equation', - ), - -Parallel_Processors = SIMP( statut='o',typ='I', - defaut=0 , - fr = 'NOMBRE DE PROCESSEURS EN CALCUL PARALLELE 0 : 1 machine, compilation sans bibliotheque de parallelisme 1 : 1 machine, compilation avec bibliotheque de parallelisme 2 : 2 processeurs ou machines en parallele etc... ', - ang= 'NUMBER OF PROCESSORS FOR PARALLEL PROCESSING 0 : 1 machine, compiling without parallel library 1 : 1 machine, compiling with a parallel library 2 : 2 processors or machines in parallel etc....', - ), - -Velocity_Profiles = SIMP( statut='o',typ='I', - max=2 , - fr = '1:profil normal constant 2:u et v donnes dans le fichier conlim 3:vitesse normale donnee dans ubor dans le fichier conlim 4:profil en racine de la profondeur 5:profil en racine de la profondeur, variante', - ang= '1:constant normal profile 2:u and v given in the conlim file 3:normal velocity given in ubor in the conlim file 4:sqrt(depth) profile 5:sqrt(depth) profile, variant', - ), - -Option_For_The_Diffusion_Of_Tracers = SIMP( statut='o',typ='I', - defaut=1 , - fr = '1: Diffusion de la forme div( nu grad(T) ) 2: Diffusion de la forme 1/h div ( h nu grad(T) )', - ang= '1: Diffusion in the form div( nu grad(T) ) 2: Diffusion in the form 1/h div ( h nu grad(T) )', - ), - -Option_For_The_Diffusion_Of_Velocities = SIMP( statut='o',typ='I', - defaut=1 , - fr = '1: Diffusion de la forme div( nu grad(U) ) 2: Diffusion de la forme 1/h div ( h nu grad(U) )', - ang= '1: Diffusion in the form div( nu grad(U) ) 2: Diffusion in the form 1/h div ( h nu grad(U) )', - ), - -Type_Of_Sources = SIMP( statut='o',typ='I', - defaut=1 , - fr = '1: Source portee par une base elements finis 2: Source portee par une fonction de Dirac', - ang= '1: Source term multiplied by a finite element basis 2: Source term multiplied by a Dirac function', - ), - -Number_Of_Private_Arrays = SIMP( statut='o',typ='I', - defaut=0 , - fr = 'Nombre de tableaux mis a disposition de l utilisateur', - ang= 'Number of arrays for own user programming', - ), - -Language = SIMP( statut='o',typ='I', - defaut=2 , - into =('1="FRANCAIS"', '2="ANGLAIS"'), - fr = '1 : FRANCAIS 2 : ANGLAIS', - ang= '1: FRENCH 2: ENGLISH', - ), - -Liquid_Boundaries_File = SIMP( statut='o',typ='TXM', - fr = 'Fichier de variations en temps des conditions aux limites. Les donnees de ce fichier seront a lire sur le canal 12.', - ang= 'Variations in time of boundary conditions. Data of this file are read on channel 12.', - ), - -Wave_Driven_Currents = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'Active la prise en compte des courants de houle', - ang= 'Wave driven currents are taken into account. ', - ), - -Wave_Enhanced_Friction_Factor = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'Active la prise en compte des interactions non-lineaires entre la houle et les courant pour le calcul du courant de houle (cf OConnor and Yoo, 1988, Coast Eng.12.) ', - ang= 'Wave friction enhancement for the calculation of the wave generated longshore current (cf OConnor and Yoo, 1988, Coast Eng.12.)', - ), - -Record_Number_In_Wave_File = SIMP( statut='o',typ='I', - defaut=1 , - fr = 'Numero d enregistrement dans le fichier des courants de houle', - ang= 'Record number to read in the wave driven currents file', - ), - -Vertical_Structures = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'Prise en compte de la force de trainee de structures verticales (il faut alors remplir la subroutine DRAGFO)', - ang= 'drag forces from vertical structures are taken into account. (subroutine DRAGFO must then be implemented) ', - ), - -Coupling_Directory = SIMP( statut='o',typ='TXM', - fr = 'Nom complet du dossier d echange des fichiers pour couplage de codes', - ang= 'Name with full path of the directory where the files will be exchanged for coupling', - ), - -Coupling_With = SIMP( statut='o',typ='TXM', - into =('"SISYPHE"', '"TOMAWAC"', '"DELWAQ"'), - fr = 'Liste des codes avec lesquels on couple Telemac-2D SISYPHE : couplage interne avec Sisyphe TOMAWAC : couplage interne avec Tomawac DELWAQ : sortie de fichiers de resultats pour Delwaq', - ang= 'List of codes to be coupled with Telemac-2D SISYPHE : internal coupling with Sisyphe TOMAWAC : internal coupling with Tomawac DELWAQ: will yield results file for Delwaq', - ), - -Parameter_Estimation = SIMP( statut='o',typ='TXM', - into =('"FRICTION"', '"FROTTEMENT, STEADY"'), - fr = 'Liste des parametres a estimer, choix : FROTTEMENT ou FROTTEMENT, PERMANENT', - ang= 'List of parameter to be estimated, choice : FRICTION or FRICTION, STEADY', - ), - -Definition_Of_Zones = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'Declenche lappel a def_zones, pour donner un numero de zone a chaque point', - ang= 'Triggers the call to def_zones to give a zone number to every point', - ), - -Identification_Method = SIMP( statut='o',typ='I', - defaut=1 , - into =('0="list of tests"', '1="gradient simple"', '2="conj gradient"', '3="Lagrange interp."'), - fr = '0 : plan dexperience 1 : gradient simple 2 : gradient conj. 3 : interp. de Lagrange', - ang= '0 : list of tests 1: gradient 2 : conj. gradient 3 : lagrange interp.', - ), - -Fourier_Analysis_Periods = SIMP( statut='o',typ='R', - max=2 , - fr = 'Liste des periodes que lon veut analyser', - ang= 'List of periods to be analysed', - ), - -List_Of_Points = SIMP( statut='o',typ='I', - max=2 , - fr = 'Liste de points remarquables pour les impressions', - ang= 'List of remarkable points for printouts', - ), - -Names_Of_Points = SIMP( statut='o',typ='TXM', - max=2 , - fr = 'Noms des points remarquables pour les impressions', - ang= 'Names of remarkable points for printouts', - ), - -Cost_Function = SIMP( statut='o',typ='I', - defaut=1 , - fr = '1 : calculee sur h, u , v 2 : calculee avec c, u , v', - ang= '1: computed with h, u , v 2: computed with c, u , v', - ), - -Maximum_Number_Of_Iterations_For_Identification = SIMP( statut='o',typ='I', - defaut=20 , - fr = 'chaque iteration comprend au moins un calcul direct et un calcul adjoint', - ang= 'every iteration implies at least a direct and an adjoint computation', - ), - -Coupling_Period_For_Sisyphe = SIMP( statut='o',typ='I', - defaut=1 , - fr = 'pour eviter de faire le couplage a chaque pas de temps', - ang= 'to avoid coupling at every time-step', - ), - -Tolerances_For_Identification = SIMP( statut='o',typ='R', - defaut=(0.001, 0.001, 0.001, 0.0001) , - max=4 , - fr = '4 nombres : precision absolue sur H, U, V, et precision relative sur la fonction cout', - ang= '4 numbers: absolute precision on H, U V, and relative precision on the cost function', - ), - -Finite_Volume_Scheme = SIMP( statut='o',typ='I', - defaut=1 , - into =('0="Roe scheme"', '1="kinetic order 1"', '2="kinetic order 2"', '3="Zokagoa scheme order 1"', '4="Tchamen scheme order 1"', '5="HLLC scheme order 1"', '6="WAF scheme order 2"'), - fr = '0 : schema de Roe 1 : cinetique ordre 1 2 : cinetique ordre 2 3 : schema de Zokagoa 4 : schema de Tchamen 5 : HLLC ordre 1 6 : WAF ordre 2', - ang= '0: Roe scheme 1: kinetic order 1 2: kinetic order 2 3 : Zokagoa scheme 4 : Tchamen scheme 5 : HLLC order 1 6 : WAF order 2', - ), - -Sisyphe_Steering_File = SIMP( statut='o',typ='TXM', - fr = 'Fichier des parametres de Sisyphe en cas de couplage interne', - ang= 'Sisyphe parameter file in case of internal coupling', - ), - -Friction_Data = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'Lois de frottements definies par zone', - ang= 'Friction law defined by area', - ), - -Maximum_Number_Of_Friction_Domains = SIMP( statut='o',typ='I', - defaut=10 , - fr = 'nombre maximal de zones pouvant etre definies pour le frottement. Peut etre augmente si necessaire', - ang= 'maximal number of zones defined for the friction. Could be increased if needed', - ), - -Friction_Data_File = SIMP( statut='o',typ='TXM', - fr = 'fichier de donnees pour le frottement', - ang= 'friction data file', - ), - -Manning_Default_Value_For_Colebrook_white_Law = SIMP( statut='o',typ='R', - defaut=0.02 , - fr = 'valeur par defaut du manning pour la loi de frottement de Colebrook-White (loi numero 7)', - ang= 'Manning default value for the friction law of Colebrook-White (law number 7)', - ), - -Non_submerged_Vegetation_Friction = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'calcul du frottement du a la vegetation non submergee', - ang= 'friction calculation of the non-submerged vegetation', - ), - -Diameter_Of_Roughness_Elements = SIMP( statut='o',typ='R', - defaut=0.006 , - fr = 'diametre des elements de frottements', - ang= 'diameter of roughness element', - ), - -Spacing_Of_Roughness_Elements = SIMP( statut='o',typ='R', - defaut=0.14 , - fr = 'espacement des elements de frottement', - ang= 'spacing of rouhness element', - ), - -Printing_Cumulated_Flowrates = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'IMPRESSION DU FLUX CUMULE A TRAVERS LES SECTIONS DE CONTROLE', - ang= 'PRINTING THE CUMULATED FLOWRATES THROUGH CONTROL SECTIONS', - ), - -Compatible_Computation_Of_Fluxes = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'FLUX A TRAVERS LES SECTIONS DE CONTROLE, CALCUL COMPATIBLE AVEC LIMPERMEABILITE SOUS FORME FAIBLE', - ang= 'FLOWRATES THROUGH CONTROL SECTIONS, COMPUTATION COMPATIBLE WITH THE WEAK FORMULATION OF NO-FLUX BOUNDARY CONDITION', - ), Threshold_Depth_For_Wind = SIMP( statut='o',typ='R', defaut=1.0 , @@ -945,11 +257,6 @@ Threshold_Depth_For_Wind = SIMP( statut='o',typ='R', ang= 'Wind is not taken into account for small depths', ), -Threshold_For_Negative_Depths = SIMP( statut='o',typ='R', - defaut=0.0 , - fr = 'En dessous du seuil, les hauteurs negatives sont lissees', - ang= 'Below the threshold the negative depths are smoothed', - ), Origin_Coordinates = SIMP( statut='o',typ='I', defaut=(0, 0) , @@ -1062,63 +369,10 @@ Diffusivity_For_Delwaq = SIMP( statut='o',typ='bool', ang= 'Triggers output of diffusion for Delwaq', ), -Stage_discharge_Curves = SIMP( statut='o',typ='I', - max=2 , - into =('0="no"', '1="Z(Q)"', 'not programmed 2="Q(Z)"'), - fr = 'Indique si une courbe de tarage doit etre utilisee pour une frontiere 0:non 1:Z(Q) 2: Q(Z) (2 non programme)', - ang= 'Says if a discharge-elevation curve must be used for a given boundary :NO 1:Z(Q) 2: Q(Z) (2 not programmed)', - ), - -Stage_discharge_Curves_File = SIMP( statut='o',typ='TXM', - fr = 'Nom du fichier contenant les courbes de tarage', - ang= 'Name of the file containing stage-discharge curves', - ), - -Sources_File = SIMP( statut='o',typ='TXM', - fr = 'Nom du fichier contenant les informations variables en temps des sources', - ang= 'Name of the file containing time-dependent information on sources', - ), - -Treatment_Of_Negative_Depths = SIMP( statut='o',typ='I', - defaut=1 , - fr = 'Seulement avec OPTION DE TRAITEMENT DES BANCS DECOUVRANTS = 1 0 : pas de traitement 1 : lissage 2 : limitation des flux', - ang= 'Only with OPTION FOR THE TREATMENT OF TIDAL FLATS=1 0: no treatment 1:smoothing 2:flux control', - ), -Depth_In_Friction_Terms = SIMP( statut='o',typ='I', - defaut=1 , - into =('1="nodal"', '2="average"'), - fr = '1 : nodale 2 : moyenne', - ang= '1: nodal 2: average', - ), -Sections_Input_File = SIMP( statut='o',typ='TXM', - fr = 'sections input file, partitioned', - ang= 'sections input file, partitioned', - ), -Sections_Output_File = SIMP( statut='o',typ='TXM', - fr = 'sections output file, written by the master', - ang= 'sections output file, written by the master', - ), -Oil_Spill_Steering_File = SIMP( statut='o',typ='TXM', - fr = 'Contient les donnees pour le modele de derive de nappes', - ang= 'Contains data for the oil spill model', - ), - -Oil_Spill_Model = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'POUR DECLENCHER LE MODELE DE DERIVE DE NAPPES, DANS CE CAS LE FICHIER DE COMMANDES MIGRHYCAR EST NECESSAIRE', - ang= 'WILL TRIGGER THE OIL SPILL MODEL, IN THIS CASE THE MIGRHYCAR STEERING FILE IS NEEDED', - ), - -Law_Of_Friction_On_Lateral_Boundaries = SIMP( statut='o',typ='I', - defaut=0 , - into =('0="NO FRICTION"', '1="HAALAND"', '2="CHEZY"', '3="STRICKLER"', '4="MANNING"', '5="NIKURADSE"', '6="LOG LAW"', '7="COLEBROOK-WHITE"'), - fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur les parois laterales. Les lois possibles sont les suivantes (cf. Note de principe) : 0 : pas de frottement 1 : lineaire 2 : Chezy 3 : Strickler 4 : Manning 5 : formule de NIKURADSE 6 : loi en log 7 : Colebrook-White', - ang= 'Selects the type of formulation used for the friction on lateral boundaries. The possible laws are as follows (refer to the Principle note): 0: no friction 1: linear 2: Chezy 3: Strickler 4: Manning 5: NIKURADSEs formula 6 : law log 7 : Colebrook-White', - ), Tomawac_Steering_File = SIMP( statut='o',typ='TXM', fr = 'Fichier des parametres de Tomawac en cas de couplage interne', @@ -1131,26 +385,18 @@ Coupling_Period_For_Tomawac = SIMP( statut='o',typ='I', ang= 'to avoid coupling at every time-step', ), +Finite_Volume_Scheme = SIMP( statut='o',typ='TXM', +#CHoix de 0 a 6 + into=[ "Roe scheme", "kinetic order 1", "kinetic order 2", "Zokagoa scheme order 1", "Tchamen scheme order 1", "HLLC scheme order 1", "WAF scheme order 2"], + + defaut="kinetic order 1", +), Newmark_Time_Integration_Coefficient = SIMP( statut='o',typ='R', defaut=1.0 , fr = '1. : Euler explicite 0.5 : ordre 2 en temps', ang= '1. : Euler explicit 0.5 : order 2 in time', ), -Harmonic_Constants_File = SIMP( statut='o',typ='TXM', - fr = 'Constantes harmoniques extraites du fichier du modele de maree', - ang= 'Harmonic constants extracted from the tidalmodel file', - ), - -Tidal_Model_File = SIMP( statut='o',typ='TXM', - fr = 'Fichier de geometrie du modele dont sont extraites les constantes harmoniques', - ang= 'Geometry file of the model from which harmonic constituents are extracted', - ), - -Ascii_Database_For_Tide = SIMP( statut='o',typ='TXM', - fr = 'Base de donnees de constantes harmoniques tirees du fichier du modele de maree. Ancien nom en version 6.1 : BASE DE DONNEES DE MAREE', - ang= 'Tide data base of harmonic constituents extracted from the tidal model file. Old name in 6.1 version: TIDE DATA BASE', - ), Rain_Or_Evaporation = SIMP( statut='o',typ='bool', defaut=False , @@ -1193,26 +439,6 @@ Values_Of_Tracers_In_The_Rain = SIMP( statut='o',typ='R', ang= '', ), -Number_Of_Tubes = SIMP( statut='o',typ='I', - defaut=0 , - fr = 'Nombre de buses ou ponts traites comme des termes sources ou puits. Ces buses doivent etre decrits comme des sources dans le fichier cas. Leurs caracteristiques sont donnees dans le fichier de donnees des buses (voir la documentation ecrite)', - ang= 'Number of tubes or bridges treated as source terms. They must be described as sources in the domain and their features are given in the tubes data file (see written documentation)', - ), - -Weirs_Data_File = SIMP( statut='o',typ='TXM', - fr = 'Fichier de description des seuils presents dans le modele', - ang= 'Description of weirs existing in the model', - ), - -Culvert_Data_File = SIMP( statut='o',typ='TXM', - fr = 'Fichier de description des siphons presents dans le modele', - ang= 'Description of culvert existing in the model', - ), - -Tubes_Data_File = SIMP( statut='o',typ='TXM', - fr = 'Fichier de description des buses/ponts presents dans le modele', - ang= 'Description of tubes/bridges existing in the model', - ), Coefficient_To_Calibrate_Tidal_Velocities = SIMP( statut='o',typ='R', defaut=999999.0 , @@ -1226,12 +452,6 @@ Zone_Number_In_Geographic_System = SIMP( statut='o',typ='I', ang= 'Number of zone when using a plane projection. Indicate the geographic system in which the numerical model is built with the keyword GEOGRAPHIC SYSTEM', ), -Minor_Constituents_Inference = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'Pour la base de donnees TPXO uniquement. Interpolation de composantes harmoniques mineures a partir de celles lues dans les fichiers dentree lies aux mots-cles BASE BINAIRE 1 DE DONNEES DE MAREE et BASE BINAIRE 2 DE DONNEES DE MAREE', - ang= 'For TPXO tidal data base only. Inference of minor constituents from the one read in input files linked to keywords BINARY DATABASE 1 FOR TIDE and BINARY DATABASE 2 FOR TIDE', - ), - Law_Of_Tracers_Degradation = SIMP( statut='o',typ='I', defaut=(0, 0) , max=2 , @@ -1245,21 +465,6 @@ Coefficient_1_For_Law_Of_Tracers_Degradation = SIMP( statut='o',typ='R', ang= 'Coefficient 1 of law for tracers decrease', ), -Breach = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'Prise en compte de breches dans le calcul par modification altimetrique dans le maillage. La description des breches se fait avec le fichier de donnees des breches.', - ang= 'Take in account some breaches during the computation by modifying the bottom level of the mesh. Brech description is done with the breaches data file.', - ), - -Breaches_Data_File = SIMP( statut='o',typ='TXM', - fr = 'Fichier de description des breches', - ang= 'Description of breaches', - ), - -Drogues_File = SIMP( statut='o',typ='TXM', - fr = 'Fichier de resultat avec les positions des flotteurs', - ang= 'Results file with positions of drogues', - ), Spatial_Projection_Type = SIMP( statut='o',typ='I', defaut=1 , @@ -1268,36 +473,6 @@ Spatial_Projection_Type = SIMP( statut='o',typ='I', ang= 'Option 2 or 3 mandatory for spherical coordinates Option 3: latitude and longitude in degrees!', ), -Algae_Transport_Model = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'Si oui, les flotteurs seront des algues', - ang= 'If yes, the floats or particles will be algae', - ), - -Diametre_Of_Algae = SIMP( statut='o',typ='R', - defaut=0.1 , - fr = 'Diametre des algues en m', - ang= 'Diametre of algae in m', - ), - -Density_Of_Algae = SIMP( statut='o',typ='R', - defaut=1050.0 , - fr = 'Masse volumique des algues en kg/m3', - ang= 'Density of algae in kg/m3', - ), - -Thickness_Of_Algae = SIMP( statut='o',typ='R', - defaut=0.01 , - fr = 'Epaisseur des algues en m', - ang= 'Thickness of algae in m', - ), - -Algae_Type = SIMP( statut='o',typ='I', - defaut=1 , - fr = 'Type des algues. Pour le choix 1 les algues seront modelisees comme des spheres, pour les autres choix voir Gaylord et al. (1994).', - ang= 'Algae type. For choice 1 the algae particles will be modeled as spheres, and for the other choices see Gaylord et al. (1994)', - ), - Option_For_Characteristics = SIMP( statut='o',typ='I', defaut=1 , fr = '1: forme forte 2: forme faible', @@ -1310,11 +485,6 @@ Maximum_Number_Of_Iterations_For_Advection_Schemes = SIMP( statut='o',typ='I', ang= 'Only for schemes 13 and 14', ), -Stochastic_Diffusion_Model = SIMP( statut='o',typ='I', - defaut=0 , - fr = 'Pour les particules : flotteurs, algues, hydrocarbures', - ang= 'Meant for particles: drogues, algae, oil spills', - ), Number_Of_Gauss_Points_For_Weak_Characteristics = SIMP( statut='o',typ='I', defaut=3 , @@ -1328,27 +498,12 @@ Mass_lumping_For_Weak_Characteristics = SIMP( statut='o',typ='R', ang= 'To be applied to the mass matrix', ), -Type_Of_Weirs = SIMP( statut='o',typ='I', - defaut=1 , - fr = 'Méthode de traitement des seuils', - ang= 'Method for treatment of weirs', - ), Zones_File = SIMP( statut='o',typ='TXM', fr = 'Fichier des zones avec sur chaque ligne numero de point numero de zone', ang= 'Zones file, with on every line: point number zone number', ), -Waq_Steering_File = SIMP( statut='o',typ='TXM', - fr = 'fichier des parametres physiques pour les processus de qualite d eau (internes non ceux de DELWAQ)', - ang= 'file for physical parameters of waq processes (local ones of Telemac-tracer not those of DELWAQ)', - ), - -Waq_Dictionary = SIMP( statut='o',typ='TXM', - fr = 'fichier des parametres physiques pour les processus de qualite d eau (internes non ceux de DELWAQ)', - ang= 'file for physical parameters of waq processes (local ones of Telemac-tracer not those of DELWAQ)', - ), - Scheme_For_Advection_Of_Velocities = SIMP( statut='o',typ='I', defaut=1 , into =('0="NO ADVECTION"', '1="CHARACTERISTICS"', '2="EXPLICIT + SUPG"', '3="EXPLICIT LEO POSTMA"', '4="EXPLICIT + MURD SCHEME N"', '5="EXPLICIT + MURD SCHEME PSI"', '13="N-SCHEME FOR TIDAL FLATS"', '14="N-SCHEME FOR TIDAL FLATS"'), @@ -1412,31 +567,11 @@ Water_Quality = SIMP( statut='o',typ='bool', ang= 'waq effects are to be taken into account or not.', ), -Option_For_Wind = SIMP( statut='o',typ='I', - defaut=0 , - fr = 'donne les options pour introduire le vent: 0: pas de vent (enleve le mot cle VENT (logique)) 1: constant en temps et en espace (donne par le mot cle VITESSE ET DIRECTION DU VENT) 2: variable en temps donne par fichier formate 3: variable en temps et en espace donne par fichier formate', - ang= 'gives option for managing the wind: 0: no wind (we can remove keyword WIND (boolean)) 1: constant in time and space, given by keyword SPPED AND DIRECTION OF WIND 2: variable in time and (constant in space), given by formated file 3: variable in time and space', - ), - -Speed_And_Direction_Of_Wind = SIMP( statut='o',typ='R', - defaut=(0.0, 0.0) , - max=2 , - fr = 'Donne la vitesse et la direction (en degres de 0 a 360, 0 etant y=0 et x=+inf) du vent lorsqu ils sont consant en temps et en espace (mot cle OPTION DU VENT = 1)', - ang= 'gives the speed and direction (degre (from 0 to 360), 0 given y=0 anx x=+infinity) when they are constant in time and space (keyword OPTION FOR WIND = 1)', - ), - Value_Of_Atmospheric_Pressure = SIMP( statut='o',typ='R', defaut=100000.0 , fr = 'donne la valeur de la pression atmospherique lorsquelle est constante en temps et en espace', ang= 'gives the value of atmospheric pressure when it is contant in time and space', ), -List_Of_Files = SIMP( statut='o',typ='TXM', - defaut=('STEERING FILE',) , - max=46 , - fr = 'Noms des fichiers exploites par le code', - ang= 'File names of the used files', - ), - ) diff --git a/UiQT4/CMakeLists.txt b/UiQT4/CMakeLists.txt index 23fcb7b9..2bb2bd3c 100644 --- a/UiQT4/CMakeLists.txt +++ b/UiQT4/CMakeLists.txt @@ -33,21 +33,22 @@ endmacro ( eficas_compile_ui ) eficas_compile_ui ( myMain.ui ) eficas_compile_ui ( desBaseWidget.ui ) -eficas_compile_ui ( desWidgetCommande.ui ) eficas_compile_ui ( desChoixCata.ui ) eficas_compile_ui ( desChoixCommandes.ui ) eficas_compile_ui ( desRecherche.ui ) eficas_compile_ui ( desSelectVal.ui ) eficas_compile_ui ( desViewTexte.ui ) eficas_compile_ui ( desVisu.ui ) -eficas_compile_ui ( desWidgetOptionnel.ui ) eficas_compile_ui ( desWidgetCreeParam.ui ) +eficas_compile_ui ( desWidgetCommande.ui ) +eficas_compile_ui ( desWidgetOptionnel.ui ) +eficas_compile_ui ( Tuple2.ui ) +eficas_compile_ui ( Tuple3.ui ) # eficas_compile_ui ( desWidgetBloc.ui ) eficas_compile_ui ( desWidgetCB.ui ) eficas_compile_ui ( desWidgetCommentaire.ui ) eficas_compile_ui ( desWidgetDate.ui ) -eficas_compile_ui ( desWidgetPlusieursBase.ui ) eficas_compile_ui ( desWidgetFact.ui ) eficas_compile_ui ( desWidgetFactPlie.ui ) eficas_compile_ui ( desWidgetHeure.ui ) @@ -57,6 +58,7 @@ eficas_compile_ui ( desWidgetParam.ui ) eficas_compile_ui ( desWidgetPlusieursBase.ui ) eficas_compile_ui ( desWidgetPlusieursInto.ui ) eficas_compile_ui ( desWidgetPlusieursIntoOrdonne.ui ) +eficas_compile_ui ( desWidgetPlusieursTuple.ui ) eficas_compile_ui ( desWidgetRadioButton.ui ) eficas_compile_ui ( desWidget4a6RadioButton.ui ) eficas_compile_ui ( desWidgetSDCOInto.ui ) diff --git a/UiQT4/desWidgetMatrice.ui b/UiQT4/desWidgetMatrice.ui index ac04cd81..a1ee9033 100644 --- a/UiQT4/desWidgetMatrice.ui +++ b/UiQT4/desWidgetMatrice.ui @@ -14,6 +14,12 @@ Dialog + + 4 + + + 0 + @@ -96,6 +102,21 @@ + + + + <html><head/><body><p>Met à jour l'en-tête</p></body></html> + + + + + + + + + + + diff --git a/UiQT4/eficas_en.qm b/UiQT4/eficas_en.qm index 0cf59ce8..fd39c6ff 100644 Binary files a/UiQT4/eficas_en.qm and b/UiQT4/eficas_en.qm differ diff --git a/UiQT4/eficas_en.ts b/UiQT4/eficas_en.ts index a59f7212..3c73cca0 100644 --- a/UiQT4/eficas_en.ts +++ b/UiQT4/eficas_en.ts @@ -2566,7 +2566,7 @@ p, li { white-space: pre-wrap; } Rechercher dans l'arbre d'etude - Find in JdC Tree + Find in Data Tree @@ -2631,12 +2631,12 @@ p, li { white-space: pre-wrap; } Chercher Mot-Clef - find Keyword + Find Keyword Rechercher dans le catalogue - find Keyword in Catalog + Find Keyword in Catalog diff --git a/UiQT4/makefile b/UiQT4/makefile index 9ddd2e5e..8b27256c 100644 --- a/UiQT4/makefile +++ b/UiQT4/makefile @@ -4,15 +4,17 @@ QTRELEASE = lrelease-qt4 .SUFFIXES : .ui .py .ts .qm -PY_FILES = desSelectVal.py desViewTexte.py desChoixCommandes.py desWidgetCommande.py \ - desWidgetSimpBase.py desWidget4a6RadioButton.py desWidgetRadioButton.py desWidgetBloc.py \ - desWidgetCB.py desWidgetPlusieursBase.py desWidgetFact.py desWidgetFactPlie.py \ - desWidgetSimpBool.py desWidgetSimpComplexe.py myMain.py \ - desChoixCata.py desWidgetPlusieursInto.py desWidgetPlusieursIntoOrdonne.py desBaseWidget.py desWidgetOptionnel.py \ - desWidgetSimpFichier.py desWidgetSimpTxt.py desRecherche.py desWidgetCommentaire.py\ - desWidgetTuple2.py desWidgetTuple3.py desWidgetCreeParam.py desWidgetParam.py desWidgetHeure.py desWidgetDate.py\ - desWidgetVide.py desWidgetInformation.py desVisu.py desSelectVal.py desWidgetUniqueSDCO.py desWidgetSDCOInto.py\ - desWidgetMatrice.py desWidgetPlusieursTuple.py Tuple2.py Tuple3.py +PY_FILES = myMain.py desBaseWidget.py desChoixCata.py desChoixCommandes.py desRecherche.py \ + desSelectVal.py desViewTexte.py desVisu.py desWidgetCreeParam.py desWidgetCommande.py \ + desWidgetOptionnel.py Tuple2.py Tuple3.py \ + desWidgetBloc.py desWidgetCB.py desWidgetCommentaire.py desWidgetDate.py \ + desWidgetFact.py desWidgetFactPlie.py desWidgetHeure.py desWidgetInformation.py \ + desWidgetMatrice.py desWidgetParam.py desWidgetPlusieursBase.py desWidgetPlusieursInto.py \ + desWidgetPlusieursIntoOrdonne.py desWidgetPlusieursTuple.py desWidgetRadioButton.py \ + desWidget4a6RadioButton.py desWidgetSimpBase.py desWidgetSDCOInto.py desWidgetSimpBool.py \ + desWidgetSimpComplexe.py desWidgetSimpFichier.py desWidgetSimpTxt.py desWidgetTuple2.py \ + desWidgetTuple3.py desWidgetVide.py desWidgetUniqueSDCO.py + QM_FILES=eficas_en.qm